xref: /aosp_15_r20/external/fonttools/Tests/feaLib/data/GSUB_6_formats.ttx (revision e1fe3e4ad2793916b15cccdc4a7da52a7e1dd0e9)
1<?xml version="1.0" encoding="UTF-8"?>
2<ttFont>
3
4  <GSUB>
5    <Version value="0x00010000"/>
6    <ScriptList>
7      <!-- ScriptCount=1 -->
8      <ScriptRecord index="0">
9        <ScriptTag value="DFLT"/>
10        <Script>
11          <DefaultLangSys>
12            <ReqFeatureIndex value="65535"/>
13            <!-- FeatureCount=1 -->
14            <FeatureIndex index="0" value="0"/>
15          </DefaultLangSys>
16          <!-- LangSysCount=0 -->
17        </Script>
18      </ScriptRecord>
19    </ScriptList>
20    <FeatureList>
21      <!-- FeatureCount=1 -->
22      <FeatureRecord index="0">
23        <FeatureTag value="test"/>
24        <Feature>
25          <!-- LookupCount=3 -->
26          <LookupListIndex index="0" value="0"/>
27          <LookupListIndex index="1" value="1"/>
28          <LookupListIndex index="2" value="2"/>
29        </Feature>
30      </FeatureRecord>
31    </FeatureList>
32    <LookupList>
33      <!-- LookupCount=3 -->
34      <Lookup index="0">
35        <LookupType value="6"/>
36        <LookupFlag value="0"/>
37        <!-- SubTableCount=1 -->
38        <ChainContextSubst index="0" Format="1">
39          <Coverage>
40            <Glyph value="three"/>
41          </Coverage>
42          <!-- ChainSubRuleSetCount=1 -->
43          <ChainSubRuleSet index="0">
44            <!-- ChainSubRuleCount=2 -->
45            <ChainSubRule index="0">
46              <!-- BacktrackGlyphCount=2 -->
47              <Backtrack index="0" value="two"/>
48              <Backtrack index="1" value="one"/>
49              <!-- InputGlyphCount=2 -->
50              <Input index="0" value="four"/>
51              <!-- LookAheadGlyphCount=3 -->
52              <LookAhead index="0" value="five"/>
53              <LookAhead index="1" value="six"/>
54              <LookAhead index="2" value="seven"/>
55              <!-- SubstCount=0 -->
56            </ChainSubRule>
57            <ChainSubRule index="1">
58              <!-- BacktrackGlyphCount=2 -->
59              <Backtrack index="0" value="one"/>
60              <Backtrack index="1" value="two"/>
61              <!-- InputGlyphCount=2 -->
62              <Input index="0" value="four"/>
63              <!-- LookAheadGlyphCount=3 -->
64              <LookAhead index="0" value="six"/>
65              <LookAhead index="1" value="five"/>
66              <LookAhead index="2" value="seven"/>
67              <!-- SubstCount=0 -->
68            </ChainSubRule>
69          </ChainSubRuleSet>
70        </ChainContextSubst>
71      </Lookup>
72      <Lookup index="1">
73        <LookupType value="6"/>
74        <LookupFlag value="0"/>
75        <!-- SubTableCount=3 -->
76        <ChainContextSubst index="0" Format="3">
77          <!-- BacktrackGlyphCount=2 -->
78          <BacktrackCoverage index="0">
79            <Glyph value="I"/>
80            <Glyph value="J"/>
81            <Glyph value="K"/>
82            <Glyph value="L"/>
83            <Glyph value="M"/>
84            <Glyph value="N"/>
85            <Glyph value="O"/>
86            <Glyph value="P"/>
87            <Glyph value="Q"/>
88            <Glyph value="R"/>
89            <Glyph value="S"/>
90            <Glyph value="T"/>
91            <Glyph value="U"/>
92            <Glyph value="V"/>
93            <Glyph value="W"/>
94            <Glyph value="X"/>
95            <Glyph value="Y"/>
96            <Glyph value="Z"/>
97          </BacktrackCoverage>
98          <BacktrackCoverage index="1">
99            <Glyph value="A"/>
100            <Glyph value="B"/>
101            <Glyph value="C"/>
102            <Glyph value="D"/>
103            <Glyph value="E"/>
104            <Glyph value="F"/>
105            <Glyph value="G"/>
106            <Glyph value="H"/>
107          </BacktrackCoverage>
108          <!-- InputGlyphCount=3 -->
109          <InputCoverage index="0">
110            <Glyph value="a"/>
111            <Glyph value="b"/>
112            <Glyph value="c"/>
113            <Glyph value="d"/>
114            <Glyph value="e"/>
115            <Glyph value="f"/>
116            <Glyph value="g"/>
117            <Glyph value="h"/>
118            <Glyph value="i"/>
119            <Glyph value="j"/>
120            <Glyph value="k"/>
121            <Glyph value="l"/>
122            <Glyph value="m"/>
123            <Glyph value="n"/>
124            <Glyph value="o"/>
125            <Glyph value="p"/>
126            <Glyph value="q"/>
127            <Glyph value="r"/>
128            <Glyph value="s"/>
129            <Glyph value="t"/>
130            <Glyph value="u"/>
131            <Glyph value="v"/>
132            <Glyph value="w"/>
133            <Glyph value="x"/>
134            <Glyph value="y"/>
135            <Glyph value="z"/>
136          </InputCoverage>
137          <InputCoverage index="1">
138            <Glyph value="A"/>
139            <Glyph value="B"/>
140            <Glyph value="C"/>
141            <Glyph value="D"/>
142            <Glyph value="E"/>
143            <Glyph value="F"/>
144            <Glyph value="G"/>
145            <Glyph value="H"/>
146          </InputCoverage>
147          <InputCoverage index="2">
148            <Glyph value="I"/>
149            <Glyph value="J"/>
150            <Glyph value="K"/>
151            <Glyph value="L"/>
152            <Glyph value="M"/>
153            <Glyph value="N"/>
154            <Glyph value="O"/>
155            <Glyph value="P"/>
156            <Glyph value="Q"/>
157            <Glyph value="R"/>
158            <Glyph value="S"/>
159            <Glyph value="T"/>
160            <Glyph value="U"/>
161            <Glyph value="V"/>
162            <Glyph value="W"/>
163            <Glyph value="X"/>
164            <Glyph value="Y"/>
165            <Glyph value="Z"/>
166          </InputCoverage>
167          <!-- LookAheadGlyphCount=0 -->
168          <!-- SubstCount=0 -->
169        </ChainContextSubst>
170        <ChainContextSubst index="1" Format="3">
171          <!-- BacktrackGlyphCount=2 -->
172          <BacktrackCoverage index="0">
173            <Glyph value="A"/>
174            <Glyph value="B"/>
175            <Glyph value="C"/>
176            <Glyph value="D"/>
177            <Glyph value="E"/>
178            <Glyph value="F"/>
179            <Glyph value="G"/>
180            <Glyph value="H"/>
181          </BacktrackCoverage>
182          <BacktrackCoverage index="1">
183            <Glyph value="I"/>
184            <Glyph value="J"/>
185            <Glyph value="K"/>
186            <Glyph value="L"/>
187            <Glyph value="M"/>
188            <Glyph value="N"/>
189            <Glyph value="O"/>
190            <Glyph value="P"/>
191            <Glyph value="Q"/>
192            <Glyph value="R"/>
193            <Glyph value="S"/>
194            <Glyph value="T"/>
195            <Glyph value="U"/>
196            <Glyph value="V"/>
197            <Glyph value="W"/>
198            <Glyph value="X"/>
199            <Glyph value="Y"/>
200            <Glyph value="Z"/>
201          </BacktrackCoverage>
202          <!-- InputGlyphCount=3 -->
203          <InputCoverage index="0">
204            <Glyph value="a"/>
205            <Glyph value="b"/>
206            <Glyph value="c"/>
207            <Glyph value="d"/>
208            <Glyph value="e"/>
209            <Glyph value="f"/>
210            <Glyph value="g"/>
211            <Glyph value="h"/>
212            <Glyph value="i"/>
213            <Glyph value="j"/>
214            <Glyph value="k"/>
215            <Glyph value="l"/>
216            <Glyph value="m"/>
217            <Glyph value="n"/>
218            <Glyph value="o"/>
219            <Glyph value="p"/>
220            <Glyph value="q"/>
221            <Glyph value="r"/>
222            <Glyph value="s"/>
223            <Glyph value="t"/>
224            <Glyph value="u"/>
225            <Glyph value="v"/>
226            <Glyph value="w"/>
227            <Glyph value="x"/>
228            <Glyph value="y"/>
229            <Glyph value="z"/>
230          </InputCoverage>
231          <InputCoverage index="1">
232            <Glyph value="A"/>
233            <Glyph value="B"/>
234            <Glyph value="C"/>
235            <Glyph value="D"/>
236            <Glyph value="E"/>
237            <Glyph value="F"/>
238            <Glyph value="G"/>
239            <Glyph value="H"/>
240          </InputCoverage>
241          <InputCoverage index="2">
242            <Glyph value="I"/>
243            <Glyph value="J"/>
244            <Glyph value="K"/>
245            <Glyph value="L"/>
246            <Glyph value="M"/>
247            <Glyph value="N"/>
248            <Glyph value="O"/>
249            <Glyph value="P"/>
250            <Glyph value="Q"/>
251            <Glyph value="R"/>
252            <Glyph value="S"/>
253            <Glyph value="T"/>
254            <Glyph value="U"/>
255            <Glyph value="V"/>
256            <Glyph value="W"/>
257            <Glyph value="X"/>
258            <Glyph value="Y"/>
259            <Glyph value="Z"/>
260          </InputCoverage>
261          <!-- LookAheadGlyphCount=0 -->
262          <!-- SubstCount=0 -->
263        </ChainContextSubst>
264        <ChainContextSubst index="2" Format="3">
265          <!-- BacktrackGlyphCount=2 -->
266          <BacktrackCoverage index="0">
267            <Glyph value="I"/>
268            <Glyph value="J"/>
269            <Glyph value="K"/>
270            <Glyph value="L"/>
271            <Glyph value="M"/>
272            <Glyph value="N"/>
273            <Glyph value="O"/>
274            <Glyph value="P"/>
275            <Glyph value="Q"/>
276            <Glyph value="R"/>
277            <Glyph value="S"/>
278            <Glyph value="T"/>
279            <Glyph value="U"/>
280            <Glyph value="V"/>
281            <Glyph value="W"/>
282            <Glyph value="X"/>
283            <Glyph value="Y"/>
284            <Glyph value="Z"/>
285          </BacktrackCoverage>
286          <BacktrackCoverage index="1">
287            <Glyph value="A"/>
288            <Glyph value="B"/>
289            <Glyph value="C"/>
290            <Glyph value="D"/>
291            <Glyph value="E"/>
292            <Glyph value="F"/>
293            <Glyph value="G"/>
294            <Glyph value="H"/>
295          </BacktrackCoverage>
296          <!-- InputGlyphCount=3 -->
297          <InputCoverage index="0">
298            <Glyph value="a"/>
299            <Glyph value="b"/>
300            <Glyph value="c"/>
301            <Glyph value="d"/>
302            <Glyph value="e"/>
303            <Glyph value="f"/>
304            <Glyph value="g"/>
305            <Glyph value="h"/>
306            <Glyph value="i"/>
307            <Glyph value="j"/>
308            <Glyph value="k"/>
309            <Glyph value="l"/>
310            <Glyph value="m"/>
311            <Glyph value="n"/>
312            <Glyph value="o"/>
313            <Glyph value="p"/>
314            <Glyph value="q"/>
315            <Glyph value="r"/>
316            <Glyph value="s"/>
317            <Glyph value="t"/>
318            <Glyph value="u"/>
319            <Glyph value="v"/>
320            <Glyph value="w"/>
321            <Glyph value="x"/>
322            <Glyph value="y"/>
323            <Glyph value="z"/>
324          </InputCoverage>
325          <InputCoverage index="1">
326            <Glyph value="I"/>
327            <Glyph value="J"/>
328            <Glyph value="K"/>
329            <Glyph value="L"/>
330            <Glyph value="M"/>
331            <Glyph value="N"/>
332            <Glyph value="O"/>
333            <Glyph value="P"/>
334            <Glyph value="Q"/>
335            <Glyph value="R"/>
336            <Glyph value="S"/>
337            <Glyph value="T"/>
338            <Glyph value="U"/>
339            <Glyph value="V"/>
340            <Glyph value="W"/>
341            <Glyph value="X"/>
342            <Glyph value="Y"/>
343            <Glyph value="Z"/>
344          </InputCoverage>
345          <InputCoverage index="2">
346            <Glyph value="A"/>
347            <Glyph value="B"/>
348            <Glyph value="C"/>
349            <Glyph value="D"/>
350            <Glyph value="E"/>
351            <Glyph value="F"/>
352            <Glyph value="G"/>
353            <Glyph value="H"/>
354          </InputCoverage>
355          <!-- LookAheadGlyphCount=0 -->
356          <!-- SubstCount=0 -->
357        </ChainContextSubst>
358      </Lookup>
359      <Lookup index="2">
360        <LookupType value="6"/>
361        <LookupFlag value="0"/>
362        <!-- SubTableCount=1 -->
363        <ChainContextSubst index="0" Format="3">
364          <!-- BacktrackGlyphCount=1 -->
365          <BacktrackCoverage index="0">
366            <Glyph value="space"/>
367            <Glyph value="semicolon"/>
368            <Glyph value="comma"/>
369          </BacktrackCoverage>
370          <!-- InputGlyphCount=1 -->
371          <InputCoverage index="0">
372            <Glyph value="e"/>
373          </InputCoverage>
374          <!-- LookAheadGlyphCount=0 -->
375          <!-- SubstCount=0 -->
376        </ChainContextSubst>
377      </Lookup>
378    </LookupList>
379  </GSUB>
380
381</ttFont>
382