fonttools/Tests/feaLib/data/lookupflag.fea
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

137 lines
2.2 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;