xref: /aosp_15_r20/external/fonttools/Tests/feaLib/data/lookupflag.fea (revision e1fe3e4ad2793916b15cccdc4a7da52a7e1dd0e9)
1*e1fe3e4aSElliott Hugheslanguagesystem DFLT dflt;
2*e1fe3e4aSElliott Hughes
3*e1fe3e4aSElliott Hughes@TOP_MARKS = [acute grave macron];
4*e1fe3e4aSElliott HughesmarkClass [cedilla ogonek] <anchor 350 -20> @BOTTOM_MARKS;
5*e1fe3e4aSElliott Hughes@FRENCH_MARKS = [acute grave cedilla dieresis circumflex];
6*e1fe3e4aSElliott Hughes@MARKS_WITH_DUPLICATES = [breve caron umlaut breve caron umlaut];
7*e1fe3e4aSElliott Hughes
8*e1fe3e4aSElliott Hugheslookup A {
9*e1fe3e4aSElliott Hughes    lookupflag RightToLeft;
10*e1fe3e4aSElliott Hughes    pos one 1;
11*e1fe3e4aSElliott Hughes} A;
12*e1fe3e4aSElliott Hughes
13*e1fe3e4aSElliott Hugheslookup B {
14*e1fe3e4aSElliott Hughes    lookupflag IgnoreBaseGlyphs;
15*e1fe3e4aSElliott Hughes    pos two 2;
16*e1fe3e4aSElliott Hughes} B;
17*e1fe3e4aSElliott Hughes
18*e1fe3e4aSElliott Hugheslookup C {
19*e1fe3e4aSElliott Hughes    lookupflag IgnoreLigatures;
20*e1fe3e4aSElliott Hughes    pos four 4;
21*e1fe3e4aSElliott Hughes} C;
22*e1fe3e4aSElliott Hughes
23*e1fe3e4aSElliott Hugheslookup D {
24*e1fe3e4aSElliott Hughes#test-fea2fea: lookupflag RightToLeft IgnoreBaseGlyphs IgnoreLigatures;
25*e1fe3e4aSElliott Hughes    lookupflag 7;
26*e1fe3e4aSElliott Hughes    pos seven 7;
27*e1fe3e4aSElliott Hughes} D;
28*e1fe3e4aSElliott Hughes
29*e1fe3e4aSElliott Hugheslookup E {
30*e1fe3e4aSElliott Hughes    lookupflag IgnoreMarks;
31*e1fe3e4aSElliott Hughes    pos eight 8;
32*e1fe3e4aSElliott Hughes} E;
33*e1fe3e4aSElliott Hughes
34*e1fe3e4aSElliott Hugheslookup F {
35*e1fe3e4aSElliott Hughes    lookupflag MarkAttachmentType @TOP_MARKS;
36*e1fe3e4aSElliott Hughes    pos F 1;
37*e1fe3e4aSElliott Hughes} F;
38*e1fe3e4aSElliott Hughes
39*e1fe3e4aSElliott Hugheslookup G {
40*e1fe3e4aSElliott Hughes    lookupflag MarkAttachmentType @BOTTOM_MARKS;
41*e1fe3e4aSElliott Hughes    pos G 1;
42*e1fe3e4aSElliott Hughes} G;
43*e1fe3e4aSElliott Hughes
44*e1fe3e4aSElliott Hugheslookup H {
45*e1fe3e4aSElliott Hughes    lookupflag IgnoreLigatures MarkAttachmentType @TOP_MARKS;
46*e1fe3e4aSElliott Hughes    pos H 1;
47*e1fe3e4aSElliott Hughes} H;
48*e1fe3e4aSElliott Hughes
49*e1fe3e4aSElliott Hugheslookup I {
50*e1fe3e4aSElliott Hughes    lookupflag UseMarkFilteringSet @TOP_MARKS;
51*e1fe3e4aSElliott Hughes    pos I 1;
52*e1fe3e4aSElliott Hughes} I;
53*e1fe3e4aSElliott Hughes
54*e1fe3e4aSElliott Hugheslookup J {
55*e1fe3e4aSElliott Hughes    # @FRENCH_MARKS overlaps with @TOP_MARKS.
56*e1fe3e4aSElliott Hughes    # Other than with MarkAttachmentType, the same glyph may appear
57*e1fe3e4aSElliott Hughes    # in multiple glyphsets for UseMarkFilteringSet. Make sure that
58*e1fe3e4aSElliott Hughes    # our implementation can handle this.
59*e1fe3e4aSElliott Hughes    lookupflag UseMarkFilteringSet @FRENCH_MARKS;
60*e1fe3e4aSElliott Hughes    pos J 1;
61*e1fe3e4aSElliott Hughes} J;
62*e1fe3e4aSElliott Hughes
63*e1fe3e4aSElliott Hugheslookup K {
64*e1fe3e4aSElliott Hughes    lookupflag IgnoreLigatures UseMarkFilteringSet @TOP_MARKS;
65*e1fe3e4aSElliott Hughes    pos K 1;
66*e1fe3e4aSElliott Hughes} K;
67*e1fe3e4aSElliott Hughes
68*e1fe3e4aSElliott Hugheslookup L {
69*e1fe3e4aSElliott Hughes    pos L 1;
70*e1fe3e4aSElliott Hughes} L;
71*e1fe3e4aSElliott Hughes
72*e1fe3e4aSElliott Hugheslookup M {
73*e1fe3e4aSElliott Hughes    lookupflag UseMarkFilteringSet @MARKS_WITH_DUPLICATES;
74*e1fe3e4aSElliott Hughes    pos M 1;
75*e1fe3e4aSElliott Hughes} M;
76*e1fe3e4aSElliott Hughes
77*e1fe3e4aSElliott Hugheslookup N {
78*e1fe3e4aSElliott Hughes    lookupflag MarkAttachmentType @MARKS_WITH_DUPLICATES;
79*e1fe3e4aSElliott Hughes    pos N 1;
80*e1fe3e4aSElliott Hughes} N;
81*e1fe3e4aSElliott Hughes
82*e1fe3e4aSElliott Hughesfeature test {
83*e1fe3e4aSElliott Hughes    lookup A;
84*e1fe3e4aSElliott Hughes    lookup B;
85*e1fe3e4aSElliott Hughes    lookup C;
86*e1fe3e4aSElliott Hughes    lookup D;
87*e1fe3e4aSElliott Hughes    lookup E;
88*e1fe3e4aSElliott Hughes    lookup F;
89*e1fe3e4aSElliott Hughes    lookup G;
90*e1fe3e4aSElliott Hughes    lookup H;
91*e1fe3e4aSElliott Hughes    lookup I;
92*e1fe3e4aSElliott Hughes    lookup J;
93*e1fe3e4aSElliott Hughes    lookup K;
94*e1fe3e4aSElliott Hughes    lookup L;
95*e1fe3e4aSElliott Hughes    lookup M;
96*e1fe3e4aSElliott Hughes    lookup N;
97*e1fe3e4aSElliott Hughes} test;
98*e1fe3e4aSElliott Hughes
99*e1fe3e4aSElliott Hughesfeature test {
100*e1fe3e4aSElliott Hughes    lookupflag IgnoreMarks;
101*e1fe3e4aSElliott Hughes    lookup O {
102*e1fe3e4aSElliott Hughes        pos one 1;
103*e1fe3e4aSElliott Hughes    } O;
104*e1fe3e4aSElliott Hughes    lookup P {
105*e1fe3e4aSElliott Hughes       pos one 1;
106*e1fe3e4aSElliott Hughes    } P;
107*e1fe3e4aSElliott Hughes} test;
108*e1fe3e4aSElliott Hughes
109*e1fe3e4aSElliott Hughesfeature test {
110*e1fe3e4aSElliott Hughes    lookup Q {
111*e1fe3e4aSElliott Hughes         pos one 1;
112*e1fe3e4aSElliott Hughes    } Q;
113*e1fe3e4aSElliott Hughes    lookup R {
114*e1fe3e4aSElliott Hughes         pos one 1;
115*e1fe3e4aSElliott Hughes    } R;
116*e1fe3e4aSElliott Hughes} test;
117*e1fe3e4aSElliott Hughes
118*e1fe3e4aSElliott Hughesfeature test {
119*e1fe3e4aSElliott Hughes    lookup S {
120*e1fe3e4aSElliott Hughes        lookupflag IgnoreMarks;
121*e1fe3e4aSElliott Hughes        pos one 1;
122*e1fe3e4aSElliott Hughes    } S;
123*e1fe3e4aSElliott Hughes    lookup T {
124*e1fe3e4aSElliott Hughes        pos one 1;
125*e1fe3e4aSElliott Hughes    } T;
126*e1fe3e4aSElliott Hughes} test;
127*e1fe3e4aSElliott Hughes
128*e1fe3e4aSElliott Hughesfeature test {
129*e1fe3e4aSElliott Hughes    lookup U {
130*e1fe3e4aSElliott Hughes        pos one 1;
131*e1fe3e4aSElliott Hughes    } U;
132*e1fe3e4aSElliott Hughes    lookup V {
133*e1fe3e4aSElliott Hughes        lookupflag IgnoreMarks;
134*e1fe3e4aSElliott Hughes        pos one 1;
135*e1fe3e4aSElliott Hughes    } V;
136*e1fe3e4aSElliott Hughes} test;
137*e1fe3e4aSElliott Hughes
138*e1fe3e4aSElliott Hughesfeature test {
139*e1fe3e4aSElliott Hughes    lookup W {
140*e1fe3e4aSElliott Hughes        lookupflag IgnoreMarks;
141*e1fe3e4aSElliott Hughes        script latn;
142*e1fe3e4aSElliott Hughes        pos one 1;
143*e1fe3e4aSElliott Hughes    } W;
144*e1fe3e4aSElliott Hughes    lookup X {
145*e1fe3e4aSElliott Hughes        lookupflag IgnoreMarks;
146*e1fe3e4aSElliott Hughes        script latn;
147*e1fe3e4aSElliott Hughes        pos two 2;
148*e1fe3e4aSElliott Hughes    } X;
149*e1fe3e4aSElliott Hughes} test;
150*e1fe3e4aSElliott Hughes
151*e1fe3e4aSElliott Hugheslookup Y {
152*e1fe3e4aSElliott Hughes    lookupflag UseMarkFilteringSet [acute grave macron];
153*e1fe3e4aSElliott Hughes    pos Y 1;
154*e1fe3e4aSElliott Hughes} Y;
155*e1fe3e4aSElliott Hughes
156*e1fe3e4aSElliott Hugheslookup Z {
157*e1fe3e4aSElliott Hughes    lookupflag MarkAttachmentType [acute grave macron];
158*e1fe3e4aSElliott Hughes    pos Z 1;
159*e1fe3e4aSElliott Hughes} Z;
160