| 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; |