fonttools/Tests/feaLib/data/lookupflag.fea
Khaled Hosny 259e586f5d [feaLib] Ignore superfluous script statements
Setting script that is the same as current language system should make
no effect. This is not documented in the spec, but it is what makeotf
does. This as the effect of preserving lookupflag when set before such a
script statement.

Fixes https://github.com/fonttools/fonttools/issues/1824
2020-04-20 23:45:45 +02:00

150 lines
2.5 KiB
Plaintext

languagesystem DFLT dflt;
@TOP_MARKS = [acute grave macron];
markClass [cedilla ogonek] <anchor 350 -20> @BOTTOM_MARKS;
@FRENCH_MARKS = [acute grave cedilla dieresis circumflex];
@MARKS_WITH_DUPLICATES = [breve caron umlaut breve caron umlaut];
lookup A {
lookupflag RightToLeft;
pos one 1;
} A;
lookup B {
lookupflag IgnoreBaseGlyphs;
pos two 2;
} B;
lookup C {
lookupflag IgnoreLigatures;
pos four 4;
} C;
lookup D {
#test-fea2fea: lookupflag RightToLeft IgnoreBaseGlyphs IgnoreLigatures;
lookupflag 7;
pos seven 7;
} D;
lookup E {
lookupflag IgnoreMarks;
pos eight 8;
} E;
lookup F {
lookupflag MarkAttachmentType @TOP_MARKS;
pos F 1;
} F;
lookup G {
lookupflag MarkAttachmentType @BOTTOM_MARKS;
pos G 1;
} G;
lookup H {
lookupflag IgnoreLigatures MarkAttachmentType @TOP_MARKS;
pos H 1;
} H;
lookup I {
lookupflag UseMarkFilteringSet @TOP_MARKS;
pos I 1;
} I;
lookup J {
# @FRENCH_MARKS overlaps with @TOP_MARKS.
# Other than with MarkAttachmentType, the same glyph may appear
# in multiple glyphsets for UseMarkFilteringSet. Make sure that
# our implementation can handle this.
lookupflag UseMarkFilteringSet @FRENCH_MARKS;
pos J 1;
} J;
lookup K {
lookupflag IgnoreLigatures UseMarkFilteringSet @TOP_MARKS;
pos K 1;
} K;
lookup L {
pos L 1;
} L;
lookup M {
lookupflag UseMarkFilteringSet @MARKS_WITH_DUPLICATES;
pos M 1;
} M;
lookup N {
lookupflag MarkAttachmentType @MARKS_WITH_DUPLICATES;
pos N 1;
} N;
feature test {
lookup A;
lookup B;
lookup C;
lookup D;
lookup E;
lookup F;
lookup G;
lookup H;
lookup I;
lookup J;
lookup K;
lookup L;
lookup M;
lookup N;
} test;
feature test {
lookupflag IgnoreMarks;
lookup O {
pos one 1;
} O;
lookup P {
pos one 1;
} P;
} test;
feature test {
lookup Q {
pos one 1;
} Q;
lookup R {
pos one 1;
} R;
} test;
feature test {
lookup S {
lookupflag IgnoreMarks;
pos one 1;
} S;
lookup T {
pos one 1;
} T;
} test;
feature test {
lookup U {
pos one 1;
} U;
lookup V {
lookupflag IgnoreMarks;
pos one 1;
} V;
} test;
feature test {
lookup W {
lookupflag IgnoreMarks;
script latn;
pos one 1;
} W;
lookup X {
lookupflag IgnoreMarks;
script latn;
pos two 2;
} X;
} test;