41 Commits

Author SHA1 Message Date
David Corbett
ec4273bbfd [feaLib] Emit spaces around hyphens in ranges 2020-04-03 17:36:34 -04:00
Simon Cozens
8fac69b0ea Also output mark attachment class 2020-03-11 13:59:05 +00:00
Simon Cozens
d6d21e067d Someone wrote more tests while I wasn't looking 2020-03-10 21:48:45 +00:00
Simon Cozens
ab075a9957 Annotate LookupFlag ttx dump 2020-03-10 21:42:28 +00:00
Khaled Hosny
eed252cb92 [feaLib] Don’t reset lookupflag in nested lookups
In makeotf, lookups defined inside feature blocks inherit the current
lookupflag of the feature, so don’t reset the lookupflag for such
lookups.
2020-01-29 23:46:40 +02:00
Khaled Hosny
b99ae0d469 [feaLib] Fix handing of duplicate LigatureCaret
The spec has been updated for a while to allow only one rule per glyph,
and makeotf uses the first and ignores the rest.

See https://github.com/adobe-type-tools/afdko/issues/95, and
https://github.com/adobe-type-tools/afdko/issues/155
2019-09-26 16:44:46 +02:00
Martin Hosken
27d8d1bda0 Update tests 2019-03-15 11:16:51 +07:00
justvanrossum
e22453c933 followup to #1531 2019-03-06 16:47:16 +01:00
Khaled Hosny
226f5518b7 [feaLib] "subtable" in single substitutions 2019-03-01 01:48:48 +02:00
Khaled Hosny
d9893ab05a [feaLib] "subtable" in multiple substitutions 2019-03-01 01:48:48 +02:00
Khaled Hosny
c87e5cf4ad [feaLib] "subtable" in alternate lookups 2019-03-01 01:48:48 +02:00
Khaled Hosny
7454a3eb48 [feaLib] "subtable" in ligature lookups 2019-03-01 01:48:48 +02:00
Khaled Hosny
cc1b6baff7 [feaLib] "subtable" in contextual positioning 2019-03-01 01:48:48 +02:00
Khaled Hosny
47d30499a5 [feaLib] "subtable" in contextual substitution 2019-03-01 01:48:48 +02:00
Cosimo Lupo
baf11f64f4
feaLib/builder_test: add test for #1459 2019-01-19 12:17:38 +00:00
Khaled Hosny
baf4f560bb [feaLib] Skip noop class PairPos subtables
If Coverage is None then the subtable is a noop that does nothing and
there is no point in building it. As a bonus, it makes OTS happy since
it will reject subtables where coverageOffset is NULL (0) and the spec
does not say whether this is allowed or not.
2018-09-16 12:23:34 +02:00
Martin Hosken
fecf163d79 Revert spec4h2.fea 2018-09-07 15:46:29 +07:00
Martin Hosken
e048c3772c Revert comment changes to spec4h1.fea 2018-09-07 15:43:53 +07:00
Martin Hosken
59a4e934ee Get the fix we want 2018-09-07 15:37:33 +07:00
Martin Hosken
299ae2fb0b Fix tests 2018-08-17 11:51:05 +07:00
Denis Moyogo Jacquerye
fdf96904b3 feaLib tests: update PairPos subtable tests
The subtable break is being forced after every pos, it shouldn’t.
2018-07-26 11:06:17 +01:00
Cosimo Lupo
33084b74cf
Tests: add tests for 'subtable' breaks 2018-07-24 17:14:39 +01:00
Martin Hosken
6d6b9c69d4 Fix tests 2018-07-09 17:02:48 +01:00
Denis Moyogo Jacquerye
632192804f Add PairPosSubtable test 2018-06-15 11:10:49 +01:00
Miguel Sousa
6ea8c184d9
[feaLib] Add test-fea2fea comments 2018-03-01 10:25:24 +00:00
Miguel Sousa
a7fcde030e
[feaLib] cvXX feature test 2018-03-01 10:25:23 +00:00
Cosimo Lupo
bdeb9f8925
[Tests/feaLib/data] minor: update comments referring to issue #976 2017-05-30 11:01:39 +01:00
Cosimo Lupo
12b90f073e [feaLib] don't de-duplicate lookups
keep original lookup order and preserve the feature file's semantics

Fixes https://github.com/fonttools/fonttools/issues/448
2017-05-30 11:45:03 +02:00
Cosimo Lupo
01ed5a43e7 data/lookupflag.{fea,ttx}: add tests for duplicate glyphs in MarkAttachClass and MarkGlyphSets 2017-02-26 10:48:54 +08:00
Sascha Brawer
dc7bf89648 [feaLib] Test compiling zero values for SinglePos in vertical context
https://github.com/fonttools/fonttools/issues/633
2017-02-17 14:19:54 +01:00
Sascha Brawer
45c266441e [feaLib] Add tests for zero values in contextual positioning
Specifically, contextual positioning statements with in-line single
positioning rules, in horizontal and in vertical contexts. For these
test cases, feaLib and makeotf produce the exact same output.

https://github.com/fonttools/fonttools/issues/633
2017-02-17 13:49:32 +01:00
Sascha Brawer
a2e7d96cf4 [feaLib] Merge SinglePos chain targets
Fixes https://github.com/fonttools/fonttools/issues/514.
2017-02-17 12:49:12 +01:00
Sascha Brawer
fa69c64466 [feaLib] Add test case for class-based pair kerning with zero values
https://github.com/fonttools/fonttools/issues/633
2017-02-16 17:38:47 +01:00
Sascha Brawer
7c67e4a63d [feaLib] Compile zero values to different formats based on context
If a zero value appears in a SinglePos statement, feaLib continues to
produce ValueRecords of format 0. But if a zero value appears in a
PairPos statement inside a horizontal compilation context, feaLib now
produces ValueRecords of format 4. Likewise, if a zero value appears
in a PairPos statement inside a vertical compilation context, feaLib
now produces ValueRecords of format 8.

The OpenType Feature Syntax specification is completely silent about this,
but the new behavior matches that of makeotf.

https://github.com/fonttools/fonttools/issues/633
2017-02-16 15:37:40 +01:00
Sascha Brawer
790c93d5cf [feaLib] Test compilation of zero values in SinglePos statements
In context of SinglePos, makeotf compiles zero values to value records
of format 0. feaLib already does the same, but it's good to have tests
to make sure that this doesn't accidentally change.

https://github.com/fonttools/fonttools/issues/633
2017-02-16 13:59:53 +01:00
Sascha Brawer
40474f1aab Distinguish value records format A from format B with zero values
Fixes https://github.com/fonttools/fonttools/issues/848.
2017-02-16 13:53:55 +01:00
Sascha Brawer
eac7ef89c0 [feaLib] Make nameid parsing more robust
We now correctly handle nameid statements with surrogate pairs and
old-style macOS-encoded names (provided that fonttools supports the
specified encoding).

Resolves https://github.com/fonttools/fonttools/issues/842.
2017-02-14 14:28:10 +01:00
Sascha Brawer
b22df7ff48 [feaLib]Escape nameid strings when writing feature files
https://github.com/fonttools/fonttools/issues/780
2017-02-14 11:02:12 +01:00
Sascha Brawer
7cf22d01ae [feaLib] Move test file include0.fea into test data subdirectory
Move the other include files into a new subdirectory inside `data`.
Mention the changed behavior of include statements in NEWS.
See https://github.com/fonttools/fonttools/pull/838.
2017-02-13 09:19:41 +01:00
Miguel Sousa
75133fc4d1 [feaLib] Make include() work like makeotf 2017-02-13 08:42:03 +01:00
Cosimo Lupo
3cdc800873
[Tests] rename all 'testdata' folders to simply 'data'
as it's now obvious what kind of data they are
2017-01-17 13:33:46 +00:00