blob: 0210ab42f4566ce0335dba44f5fdf457374701ac [file] [log] [blame]
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;
lookup Y {
lookupflag UseMarkFilteringSet [acute grave macron];
pos Y 1;
} Y;
lookup Z {
lookupflag MarkAttachmentType [acute grave macron];
pos Z 1;
} Z;