2 #line 1 "hb-ot-shape-complex-use-machine.rl"
4 * Copyright © 2015 Mozilla Foundation.
5 * Copyright © 2015 Google, Inc.
7 * This is part of HarfBuzz, a text shaping library.
9 * Permission is hereby granted, without written agreement and without
10 * license or royalty fees, to use, copy, modify, and distribute this
11 * software and its documentation for any purpose, provided that the
12 * above copyright notice and the following two paragraphs appear in
13 * all copies of this software.
15 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
16 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
17 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
18 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
21 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
22 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
23 * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
24 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
25 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
27 * Mozilla Author(s): Jonathan Kew
28 * Google Author(s): Behdad Esfahbod
31 #ifndef HB_OT_SHAPE_COMPLEX_USE_MACHINE_HH
32 #define HB_OT_SHAPE_COMPLEX_USE_MACHINE_HH
37 #line 38 "hb-ot-shape-complex-use-machine.hh"
38 static const unsigned char _use_syllable_machine_trans_keys[] = {
39 12u, 44u, 1u, 15u, 1u, 1u, 12u, 44u, 0u, 44u, 21u, 21u, 8u, 44u, 8u, 44u,
40 1u, 15u, 1u, 1u, 8u, 44u, 8u, 44u, 8u, 39u, 8u, 26u, 8u, 26u, 8u, 26u,
41 8u, 39u, 8u, 39u, 8u, 39u, 8u, 44u, 8u, 44u, 8u, 44u, 8u, 44u, 8u, 44u,
42 8u, 44u, 8u, 44u, 8u, 44u, 1u, 39u, 8u, 44u, 13u, 21u, 4u, 4u, 13u, 13u,
43 8u, 44u, 8u, 44u, 8u, 44u, 8u, 39u, 8u, 26u, 8u, 26u, 8u, 26u, 8u, 39u,
44 8u, 39u, 8u, 39u, 8u, 44u, 8u, 44u, 8u, 44u, 8u, 44u, 8u, 44u, 8u, 44u,
45 8u, 44u, 8u, 44u, 1u, 39u, 1u, 15u, 12u, 44u, 1u, 44u, 8u, 44u, 21u, 42u,
46 41u, 42u, 42u, 42u, 1u, 5u, 0
49 static const char _use_syllable_machine_key_spans[] = {
50 33, 15, 1, 33, 45, 1, 37, 37,
51 15, 1, 37, 37, 32, 19, 19, 19,
52 32, 32, 32, 37, 37, 37, 37, 37,
53 37, 37, 37, 39, 37, 9, 1, 1,
54 37, 37, 37, 32, 19, 19, 19, 32,
55 32, 32, 37, 37, 37, 37, 37, 37,
56 37, 37, 39, 15, 33, 44, 37, 22,
60 static const short _use_syllable_machine_index_offsets[] = {
61 0, 34, 50, 52, 86, 132, 134, 172,
62 210, 226, 228, 266, 304, 337, 357, 377,
63 397, 430, 463, 496, 534, 572, 610, 648,
64 686, 724, 762, 800, 840, 878, 888, 890,
65 892, 930, 968, 1006, 1039, 1059, 1079, 1099,
66 1132, 1165, 1198, 1236, 1274, 1312, 1350, 1388,
67 1426, 1464, 1502, 1542, 1558, 1592, 1637, 1675,
71 static const char _use_syllable_machine_indicies[] = {
72 1, 0, 0, 0, 0, 0, 0, 0,
73 0, 0, 0, 0, 0, 0, 0, 0,
74 0, 0, 0, 0, 0, 0, 0, 0,
75 0, 0, 0, 0, 0, 0, 0, 0,
76 1, 0, 3, 2, 2, 2, 2, 2,
77 2, 2, 2, 2, 2, 2, 2, 2,
78 4, 2, 3, 2, 6, 5, 5, 5,
79 5, 5, 5, 5, 5, 5, 5, 5,
80 5, 5, 5, 5, 5, 5, 5, 5,
81 5, 5, 5, 5, 5, 5, 5, 5,
82 5, 5, 5, 5, 6, 5, 7, 8,
83 9, 7, 10, 8, 9, 9, 11, 9,
84 9, 3, 12, 9, 9, 13, 7, 7,
85 14, 15, 9, 9, 16, 17, 18, 19,
86 20, 21, 22, 16, 23, 24, 25, 26,
87 27, 28, 9, 29, 30, 31, 9, 9,
88 9, 32, 33, 9, 35, 34, 37, 36,
89 36, 38, 1, 36, 36, 39, 36, 36,
90 36, 36, 36, 40, 41, 42, 43, 44,
91 45, 46, 47, 41, 48, 40, 49, 50,
92 51, 52, 36, 53, 54, 55, 36, 36,
93 36, 36, 56, 36, 37, 36, 36, 38,
94 1, 36, 36, 39, 36, 36, 36, 36,
95 36, 57, 41, 42, 43, 44, 45, 46,
96 47, 41, 48, 49, 49, 50, 51, 52,
97 36, 53, 54, 55, 36, 36, 36, 36,
98 56, 36, 38, 58, 58, 58, 58, 58,
99 58, 58, 58, 58, 58, 58, 58, 58,
100 59, 58, 38, 58, 37, 36, 36, 38,
101 1, 36, 36, 39, 36, 36, 36, 36,
102 36, 36, 41, 42, 43, 44, 45, 46,
103 47, 41, 48, 49, 49, 50, 51, 52,
104 36, 53, 54, 55, 36, 36, 36, 36,
105 56, 36, 37, 36, 36, 36, 36, 36,
106 36, 36, 36, 36, 36, 36, 36, 36,
107 41, 42, 43, 44, 45, 36, 36, 36,
108 36, 36, 36, 50, 51, 52, 36, 53,
109 54, 55, 36, 36, 36, 36, 42, 36,
110 37, 36, 36, 36, 36, 36, 36, 36,
111 36, 36, 36, 36, 36, 36, 36, 42,
112 43, 44, 45, 36, 36, 36, 36, 36,
113 36, 36, 36, 36, 36, 53, 54, 55,
114 36, 37, 36, 36, 36, 36, 36, 36,
115 36, 36, 36, 36, 36, 36, 36, 36,
116 36, 43, 44, 45, 36, 37, 36, 36,
117 36, 36, 36, 36, 36, 36, 36, 36,
118 36, 36, 36, 36, 36, 36, 44, 45,
119 36, 37, 36, 36, 36, 36, 36, 36,
120 36, 36, 36, 36, 36, 36, 36, 36,
121 36, 36, 36, 45, 36, 37, 36, 36,
122 36, 36, 36, 36, 36, 36, 36, 36,
123 36, 36, 36, 36, 36, 43, 44, 45,
124 36, 36, 36, 36, 36, 36, 36, 36,
125 36, 36, 53, 54, 55, 36, 37, 36,
126 36, 36, 36, 36, 36, 36, 36, 36,
127 36, 36, 36, 36, 36, 36, 43, 44,
128 45, 36, 36, 36, 36, 36, 36, 36,
129 36, 36, 36, 36, 54, 55, 36, 37,
130 36, 36, 36, 36, 36, 36, 36, 36,
131 36, 36, 36, 36, 36, 36, 36, 43,
132 44, 45, 36, 36, 36, 36, 36, 36,
133 36, 36, 36, 36, 36, 36, 55, 36,
134 37, 36, 36, 36, 36, 36, 36, 36,
135 36, 36, 36, 36, 36, 36, 36, 42,
136 43, 44, 45, 36, 36, 36, 36, 36,
137 36, 50, 51, 52, 36, 53, 54, 55,
138 36, 36, 36, 36, 42, 36, 37, 36,
139 36, 36, 36, 36, 36, 36, 36, 36,
140 36, 36, 36, 36, 36, 42, 43, 44,
141 45, 36, 36, 36, 36, 36, 36, 36,
142 51, 52, 36, 53, 54, 55, 36, 36,
143 36, 36, 42, 36, 37, 36, 36, 36,
144 36, 36, 36, 36, 36, 36, 36, 36,
145 36, 36, 36, 42, 43, 44, 45, 36,
146 36, 36, 36, 36, 36, 36, 36, 52,
147 36, 53, 54, 55, 36, 36, 36, 36,
148 42, 36, 37, 36, 36, 36, 36, 36,
149 36, 36, 36, 36, 36, 36, 36, 36,
150 41, 42, 43, 44, 45, 36, 47, 41,
151 36, 36, 36, 50, 51, 52, 36, 53,
152 54, 55, 36, 36, 36, 36, 42, 36,
153 37, 36, 36, 36, 36, 36, 36, 36,
154 36, 36, 36, 36, 36, 36, 41, 42,
155 43, 44, 45, 36, 60, 41, 36, 36,
156 36, 50, 51, 52, 36, 53, 54, 55,
157 36, 36, 36, 36, 42, 36, 37, 36,
158 36, 36, 36, 36, 36, 36, 36, 36,
159 36, 36, 36, 36, 41, 42, 43, 44,
160 45, 36, 36, 41, 36, 36, 36, 50,
161 51, 52, 36, 53, 54, 55, 36, 36,
162 36, 36, 42, 36, 37, 36, 36, 36,
163 36, 36, 36, 36, 36, 36, 36, 36,
164 36, 36, 41, 42, 43, 44, 45, 46,
165 47, 41, 36, 36, 36, 50, 51, 52,
166 36, 53, 54, 55, 36, 36, 36, 36,
167 42, 36, 37, 36, 36, 38, 1, 36,
168 36, 39, 36, 36, 36, 36, 36, 36,
169 41, 42, 43, 44, 45, 46, 47, 41,
170 48, 36, 49, 50, 51, 52, 36, 53,
171 54, 55, 36, 36, 36, 36, 56, 36,
172 38, 58, 58, 58, 58, 58, 58, 37,
173 58, 58, 58, 58, 58, 58, 59, 58,
174 58, 58, 58, 58, 58, 58, 42, 43,
175 44, 45, 58, 58, 58, 58, 58, 58,
176 58, 58, 58, 58, 53, 54, 55, 58,
177 37, 36, 36, 38, 1, 36, 36, 39,
178 36, 36, 36, 36, 36, 36, 41, 42,
179 43, 44, 45, 46, 47, 41, 48, 40,
180 49, 50, 51, 52, 36, 53, 54, 55,
181 36, 36, 36, 36, 56, 36, 62, 61,
182 61, 61, 61, 61, 61, 61, 63, 61,
183 10, 64, 62, 61, 11, 65, 65, 3,
184 6, 65, 65, 66, 65, 65, 65, 65,
185 65, 67, 16, 17, 18, 19, 20, 21,
186 22, 16, 23, 25, 25, 26, 27, 28,
187 65, 29, 30, 31, 65, 65, 65, 65,
188 33, 65, 11, 65, 65, 3, 6, 65,
189 65, 66, 65, 65, 65, 65, 65, 65,
190 16, 17, 18, 19, 20, 21, 22, 16,
191 23, 25, 25, 26, 27, 28, 65, 29,
192 30, 31, 65, 65, 65, 65, 33, 65,
193 11, 65, 65, 65, 65, 65, 65, 65,
194 65, 65, 65, 65, 65, 65, 16, 17,
195 18, 19, 20, 65, 65, 65, 65, 65,
196 65, 26, 27, 28, 65, 29, 30, 31,
197 65, 65, 65, 65, 17, 65, 11, 65,
198 65, 65, 65, 65, 65, 65, 65, 65,
199 65, 65, 65, 65, 65, 17, 18, 19,
200 20, 65, 65, 65, 65, 65, 65, 65,
201 65, 65, 65, 29, 30, 31, 65, 11,
202 65, 65, 65, 65, 65, 65, 65, 65,
203 65, 65, 65, 65, 65, 65, 65, 18,
204 19, 20, 65, 11, 65, 65, 65, 65,
205 65, 65, 65, 65, 65, 65, 65, 65,
206 65, 65, 65, 65, 19, 20, 65, 11,
207 65, 65, 65, 65, 65, 65, 65, 65,
208 65, 65, 65, 65, 65, 65, 65, 65,
209 65, 20, 65, 11, 65, 65, 65, 65,
210 65, 65, 65, 65, 65, 65, 65, 65,
211 65, 65, 65, 18, 19, 20, 65, 65,
212 65, 65, 65, 65, 65, 65, 65, 65,
213 29, 30, 31, 65, 11, 65, 65, 65,
214 65, 65, 65, 65, 65, 65, 65, 65,
215 65, 65, 65, 65, 18, 19, 20, 65,
216 65, 65, 65, 65, 65, 65, 65, 65,
217 65, 65, 30, 31, 65, 11, 65, 65,
218 65, 65, 65, 65, 65, 65, 65, 65,
219 65, 65, 65, 65, 65, 18, 19, 20,
220 65, 65, 65, 65, 65, 65, 65, 65,
221 65, 65, 65, 65, 31, 65, 11, 65,
222 65, 65, 65, 65, 65, 65, 65, 65,
223 65, 65, 65, 65, 65, 17, 18, 19,
224 20, 65, 65, 65, 65, 65, 65, 26,
225 27, 28, 65, 29, 30, 31, 65, 65,
226 65, 65, 17, 65, 11, 65, 65, 65,
227 65, 65, 65, 65, 65, 65, 65, 65,
228 65, 65, 65, 17, 18, 19, 20, 65,
229 65, 65, 65, 65, 65, 65, 27, 28,
230 65, 29, 30, 31, 65, 65, 65, 65,
231 17, 65, 11, 65, 65, 65, 65, 65,
232 65, 65, 65, 65, 65, 65, 65, 65,
233 65, 17, 18, 19, 20, 65, 65, 65,
234 65, 65, 65, 65, 65, 28, 65, 29,
235 30, 31, 65, 65, 65, 65, 17, 65,
236 11, 65, 65, 65, 65, 65, 65, 65,
237 65, 65, 65, 65, 65, 65, 16, 17,
238 18, 19, 20, 65, 22, 16, 65, 65,
239 65, 26, 27, 28, 65, 29, 30, 31,
240 65, 65, 65, 65, 17, 65, 11, 65,
241 65, 65, 65, 65, 65, 65, 65, 65,
242 65, 65, 65, 65, 16, 17, 18, 19,
243 20, 65, 68, 16, 65, 65, 65, 26,
244 27, 28, 65, 29, 30, 31, 65, 65,
245 65, 65, 17, 65, 11, 65, 65, 65,
246 65, 65, 65, 65, 65, 65, 65, 65,
247 65, 65, 16, 17, 18, 19, 20, 65,
248 65, 16, 65, 65, 65, 26, 27, 28,
249 65, 29, 30, 31, 65, 65, 65, 65,
250 17, 65, 11, 65, 65, 65, 65, 65,
251 65, 65, 65, 65, 65, 65, 65, 65,
252 16, 17, 18, 19, 20, 21, 22, 16,
253 65, 65, 65, 26, 27, 28, 65, 29,
254 30, 31, 65, 65, 65, 65, 17, 65,
255 11, 65, 65, 3, 6, 65, 65, 66,
256 65, 65, 65, 65, 65, 65, 16, 17,
257 18, 19, 20, 21, 22, 16, 23, 65,
258 25, 26, 27, 28, 65, 29, 30, 31,
259 65, 65, 65, 65, 33, 65, 3, 65,
260 65, 65, 65, 65, 65, 11, 65, 65,
261 65, 65, 65, 65, 4, 65, 65, 65,
262 65, 65, 65, 65, 17, 18, 19, 20,
263 65, 65, 65, 65, 65, 65, 65, 65,
264 65, 65, 29, 30, 31, 65, 3, 69,
265 69, 69, 69, 69, 69, 69, 69, 69,
266 69, 69, 69, 69, 4, 69, 6, 69,
267 69, 69, 69, 69, 69, 69, 69, 69,
268 69, 69, 69, 69, 69, 69, 69, 69,
269 69, 69, 69, 69, 69, 69, 69, 69,
270 69, 69, 69, 69, 69, 69, 6, 69,
271 8, 65, 65, 65, 8, 65, 65, 11,
272 65, 65, 3, 6, 65, 65, 66, 65,
273 65, 65, 65, 65, 65, 16, 17, 18,
274 19, 20, 21, 22, 16, 23, 24, 25,
275 26, 27, 28, 65, 29, 30, 31, 65,
276 65, 65, 65, 33, 65, 11, 65, 65,
277 3, 6, 65, 65, 66, 65, 65, 65,
278 65, 65, 65, 16, 17, 18, 19, 20,
279 21, 22, 16, 23, 24, 25, 26, 27,
280 28, 65, 29, 30, 31, 65, 65, 65,
281 65, 33, 65, 71, 70, 70, 70, 70,
282 70, 70, 70, 70, 70, 70, 70, 70,
283 70, 70, 70, 70, 70, 70, 70, 71,
284 72, 70, 71, 72, 70, 72, 70, 8,
288 static const char _use_syllable_machine_trans_targs[] = {
289 4, 8, 4, 32, 2, 4, 1, 5,
290 6, 4, 29, 4, 51, 52, 53, 55,
291 34, 35, 36, 37, 38, 45, 46, 48,
292 54, 49, 42, 43, 44, 39, 40, 41,
293 58, 50, 4, 4, 4, 4, 7, 0,
294 28, 11, 12, 13, 14, 15, 22, 23,
295 25, 26, 19, 20, 21, 16, 17, 18,
296 27, 10, 4, 9, 24, 4, 30, 31,
297 4, 4, 3, 33, 47, 4, 4, 56,
301 static const char _use_syllable_machine_trans_actions[] = {
302 1, 0, 2, 3, 0, 4, 0, 0,
303 7, 8, 0, 9, 10, 10, 3, 0,
304 0, 0, 0, 0, 0, 0, 0, 0,
305 3, 3, 0, 0, 0, 0, 0, 0,
306 0, 3, 11, 12, 13, 14, 7, 0,
307 7, 0, 0, 0, 0, 0, 0, 0,
308 0, 7, 0, 0, 0, 0, 0, 0,
309 0, 7, 15, 0, 0, 16, 0, 0,
310 17, 18, 0, 3, 0, 19, 20, 0,
314 static const char _use_syllable_machine_to_state_actions[] = {
315 0, 0, 0, 0, 5, 0, 0, 0,
316 0, 0, 0, 0, 0, 0, 0, 0,
317 0, 0, 0, 0, 0, 0, 0, 0,
318 0, 0, 0, 0, 0, 0, 0, 0,
319 0, 0, 0, 0, 0, 0, 0, 0,
320 0, 0, 0, 0, 0, 0, 0, 0,
321 0, 0, 0, 0, 0, 0, 0, 0,
325 static const char _use_syllable_machine_from_state_actions[] = {
326 0, 0, 0, 0, 6, 0, 0, 0,
327 0, 0, 0, 0, 0, 0, 0, 0,
328 0, 0, 0, 0, 0, 0, 0, 0,
329 0, 0, 0, 0, 0, 0, 0, 0,
330 0, 0, 0, 0, 0, 0, 0, 0,
331 0, 0, 0, 0, 0, 0, 0, 0,
332 0, 0, 0, 0, 0, 0, 0, 0,
336 static const short _use_syllable_machine_eof_trans[] = {
337 1, 3, 3, 6, 0, 35, 37, 37,
338 59, 59, 37, 37, 37, 37, 37, 37,
339 37, 37, 37, 37, 37, 37, 37, 37,
340 37, 37, 37, 59, 37, 62, 65, 62,
341 66, 66, 66, 66, 66, 66, 66, 66,
342 66, 66, 66, 66, 66, 66, 66, 66,
343 66, 66, 66, 70, 70, 66, 66, 71,
347 static const int use_syllable_machine_start = 4;
348 static const int use_syllable_machine_first_final = 4;
349 static const int use_syllable_machine_error = -1;
351 static const int use_syllable_machine_en_main = 4;
354 #line 38 "hb-ot-shape-complex-use-machine.rl"
358 #line 143 "hb-ot-shape-complex-use-machine.rl"
361 #define found_syllable(syllable_type) \
363 if (0) fprintf (stderr, "syllable %d..%d %s\n", ts, te, #syllable_type); \
364 for (unsigned int i = ts; i < te; i++) \
365 info[i].syllable() = (syllable_serial << 4) | syllable_type; \
367 if (unlikely (syllable_serial == 16)) syllable_serial = 1; \
371 find_syllables (hb_buffer_t *buffer)
373 unsigned int p, pe, eof, ts, te, act;
375 hb_glyph_info_t *info = buffer->info;
377 #line 378 "hb-ot-shape-complex-use-machine.hh"
379 cs = use_syllable_machine_start;
385 #line 163 "hb-ot-shape-complex-use-machine.rl"
389 pe = eof = buffer->len;
391 unsigned int syllable_serial = 1;
393 #line 394 "hb-ot-shape-complex-use-machine.hh"
397 const unsigned char *_keys;
402 switch ( _use_syllable_machine_from_state_actions[cs] ) {
407 #line 408 "hb-ot-shape-complex-use-machine.hh"
410 _keys = _use_syllable_machine_trans_keys + (cs<<1);
411 _inds = _use_syllable_machine_indicies + _use_syllable_machine_index_offsets[cs];
413 _slen = _use_syllable_machine_key_spans[cs];
414 _trans = _inds[ _slen > 0 && _keys[0] <=( info[p].use_category()) &&
415 ( info[p].use_category()) <= _keys[1] ?
416 ( info[p].use_category()) - _keys[0] : _slen ];
419 cs = _use_syllable_machine_trans_targs[_trans];
421 if ( _use_syllable_machine_trans_actions[_trans] == 0 )
424 switch ( _use_syllable_machine_trans_actions[_trans] ) {
430 #line 132 "hb-ot-shape-complex-use-machine.rl"
431 {te = p+1;{ found_syllable (independent_cluster); }}
434 #line 134 "hb-ot-shape-complex-use-machine.rl"
435 {te = p+1;{ found_syllable (standard_cluster); }}
438 #line 138 "hb-ot-shape-complex-use-machine.rl"
439 {te = p+1;{ found_syllable (broken_cluster); }}
442 #line 139 "hb-ot-shape-complex-use-machine.rl"
443 {te = p+1;{ found_syllable (non_cluster); }}
446 #line 132 "hb-ot-shape-complex-use-machine.rl"
447 {te = p;p--;{ found_syllable (independent_cluster); }}
450 #line 133 "hb-ot-shape-complex-use-machine.rl"
451 {te = p;p--;{ found_syllable (virama_terminated_cluster); }}
454 #line 134 "hb-ot-shape-complex-use-machine.rl"
455 {te = p;p--;{ found_syllable (standard_cluster); }}
458 #line 135 "hb-ot-shape-complex-use-machine.rl"
459 {te = p;p--;{ found_syllable (number_joiner_terminated_cluster); }}
462 #line 136 "hb-ot-shape-complex-use-machine.rl"
463 {te = p;p--;{ found_syllable (numeral_cluster); }}
466 #line 137 "hb-ot-shape-complex-use-machine.rl"
467 {te = p;p--;{ found_syllable (symbol_cluster); }}
470 #line 138 "hb-ot-shape-complex-use-machine.rl"
471 {te = p;p--;{ found_syllable (broken_cluster); }}
474 #line 139 "hb-ot-shape-complex-use-machine.rl"
475 {te = p;p--;{ found_syllable (non_cluster); }}
478 #line 134 "hb-ot-shape-complex-use-machine.rl"
479 {{p = ((te))-1;}{ found_syllable (standard_cluster); }}
482 #line 138 "hb-ot-shape-complex-use-machine.rl"
483 {{p = ((te))-1;}{ found_syllable (broken_cluster); }}
489 {{p = ((te))-1;} found_syllable (broken_cluster); }
492 {{p = ((te))-1;} found_syllable (non_cluster); }
500 #line 138 "hb-ot-shape-complex-use-machine.rl"
506 #line 139 "hb-ot-shape-complex-use-machine.rl"
509 #line 510 "hb-ot-shape-complex-use-machine.hh"
513 switch ( _use_syllable_machine_to_state_actions[cs] ) {
518 #line 519 "hb-ot-shape-complex-use-machine.hh"
526 if ( _use_syllable_machine_eof_trans[cs] > 0 ) {
527 _trans = _use_syllable_machine_eof_trans[cs] - 1;
534 #line 171 "hb-ot-shape-complex-use-machine.rl"
538 #undef found_syllable
540 #endif /* HB_OT_SHAPE_COMPLEX_USE_MACHINE_HH */