2 #line 1 "hb-ot-shape-complex-myanmar-machine.rl"
29 #ifndef HB_OT_SHAPE_COMPLEX_MYANMAR_MACHINE_HH
30 #define HB_OT_SHAPE_COMPLEX_MYANMAR_MACHINE_HH
42 #line 43 "hb-ot-shape-complex-myanmar-machine.hh"
43 #define myanmar_syllable_machine_ex_A 10u
44 #define myanmar_syllable_machine_ex_As 18u
45 #define myanmar_syllable_machine_ex_C 1u
46 #define myanmar_syllable_machine_ex_CS 19u
47 #define myanmar_syllable_machine_ex_D 32u
48 #define myanmar_syllable_machine_ex_D0 20u
49 #define myanmar_syllable_machine_ex_DB 3u
50 #define myanmar_syllable_machine_ex_GB 11u
51 #define myanmar_syllable_machine_ex_H 4u
52 #define myanmar_syllable_machine_ex_IV 2u
53 #define myanmar_syllable_machine_ex_MH 21u
54 #define myanmar_syllable_machine_ex_ML 33u
55 #define myanmar_syllable_machine_ex_MR 22u
56 #define myanmar_syllable_machine_ex_MW 23u
57 #define myanmar_syllable_machine_ex_MY 24u
58 #define myanmar_syllable_machine_ex_P 31u
59 #define myanmar_syllable_machine_ex_PT 25u
60 #define myanmar_syllable_machine_ex_Ra 16u
61 #define myanmar_syllable_machine_ex_V 8u
62 #define myanmar_syllable_machine_ex_VAbv 26u
63 #define myanmar_syllable_machine_ex_VBlw 27u
64 #define myanmar_syllable_machine_ex_VPre 28u
65 #define myanmar_syllable_machine_ex_VPst 29u
66 #define myanmar_syllable_machine_ex_VS 30u
67 #define myanmar_syllable_machine_ex_ZWJ 6u
68 #define myanmar_syllable_machine_ex_ZWNJ 5u
71 #line 72 "hb-ot-shape-complex-myanmar-machine.hh"
72 static const unsigned char _myanmar_syllable_machine_trans_keys[] = {
73 1u, 33u, 3u, 33u, 5u, 29u, 5u, 8u, 5u, 29u, 3u, 25u, 5u, 25u, 5u, 25u,
74 3u, 33u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 33u, 1u, 16u, 3u, 33u, 3u, 33u,
75 3u, 29u, 3u, 29u, 3u, 29u, 3u, 30u, 3u, 29u, 3u, 33u, 3u, 33u, 3u, 33u,
76 3u, 33u, 3u, 33u, 5u, 29u, 5u, 8u, 5u, 29u, 3u, 25u, 5u, 25u, 5u, 25u,
77 3u, 33u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 33u, 1u, 16u, 3u, 33u, 3u, 33u,
78 3u, 33u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 30u, 3u, 29u, 3u, 33u, 3u, 33u,
79 3u, 33u, 3u, 33u, 3u, 33u, 3u, 33u, 3u, 33u, 1u, 33u, 1u, 32u, 8u, 8u,
83 static const char _myanmar_syllable_machine_key_spans[] = {
84 33, 31, 25, 4, 25, 23, 21, 21,
85 31, 27, 27, 27, 31, 16, 31, 31,
86 27, 27, 27, 28, 27, 31, 31, 31,
87 31, 31, 25, 4, 25, 23, 21, 21,
88 31, 27, 27, 27, 31, 16, 31, 31,
89 31, 27, 27, 27, 28, 27, 31, 31,
90 31, 31, 31, 31, 31, 33, 32, 1
93 static const short _myanmar_syllable_machine_index_offsets[] = {
94 0, 34, 66, 92, 97, 123, 147, 169,
95 191, 223, 251, 279, 307, 339, 356, 388,
96 420, 448, 476, 504, 533, 561, 593, 625,
97 657, 689, 721, 747, 752, 778, 802, 824,
98 846, 878, 906, 934, 962, 994, 1011, 1043,
99 1075, 1107, 1135, 1163, 1191, 1220, 1248, 1280,
100 1312, 1344, 1376, 1408, 1440, 1472, 1506, 1539
103 static const char _myanmar_syllable_machine_indicies[] = {
104 1, 1, 2, 3, 4, 4, 0, 5,
105 0, 6, 1, 0, 0, 0, 0, 7,
106 0, 8, 9, 0, 10, 11, 12, 13,
107 14, 15, 16, 17, 18, 19, 20, 1,
108 21, 0, 23, 24, 25, 25, 22, 26,
109 22, 27, 22, 22, 22, 22, 22, 22,
110 22, 28, 22, 22, 29, 30, 31, 32,
111 33, 34, 35, 36, 37, 38, 22, 22,
112 39, 22, 25, 25, 22, 26, 22, 22,
113 22, 22, 22, 22, 22, 22, 22, 40,
114 22, 22, 22, 22, 22, 22, 33, 22,
115 22, 22, 37, 22, 25, 25, 22, 26,
116 22, 25, 25, 22, 26, 22, 22, 22,
117 22, 22, 22, 22, 22, 22, 22, 22,
118 22, 22, 22, 22, 22, 33, 22, 22,
119 22, 37, 22, 41, 22, 25, 25, 22,
120 26, 22, 33, 22, 22, 22, 22, 22,
121 22, 22, 42, 22, 22, 22, 22, 22,
122 22, 33, 22, 25, 25, 22, 26, 22,
123 22, 22, 22, 22, 22, 22, 22, 22,
124 42, 22, 22, 22, 22, 22, 22, 33,
125 22, 25, 25, 22, 26, 22, 22, 22,
126 22, 22, 22, 22, 22, 22, 22, 22,
127 22, 22, 22, 22, 22, 33, 22, 23,
128 22, 25, 25, 22, 26, 22, 27, 22,
129 22, 22, 22, 22, 22, 22, 43, 22,
130 22, 44, 22, 22, 22, 33, 45, 22,
131 22, 37, 22, 22, 22, 43, 22, 23,
132 22, 25, 25, 22, 26, 22, 27, 22,
133 22, 22, 22, 22, 22, 22, 22, 22,
134 22, 22, 22, 22, 22, 33, 22, 22,
135 22, 37, 22, 23, 22, 25, 25, 22,
136 26, 22, 27, 22, 22, 22, 22, 22,
137 22, 22, 43, 22, 22, 22, 22, 22,
138 22, 33, 45, 22, 22, 37, 22, 23,
139 22, 25, 25, 22, 26, 22, 27, 22,
140 22, 22, 22, 22, 22, 22, 22, 22,
141 22, 22, 22, 22, 22, 33, 45, 22,
142 22, 37, 22, 23, 22, 25, 25, 22,
143 26, 22, 27, 22, 22, 22, 22, 22,
144 22, 22, 43, 22, 22, 22, 22, 22,
145 22, 33, 45, 22, 22, 37, 22, 22,
146 22, 43, 22, 1, 1, 22, 22, 22,
147 22, 22, 22, 22, 22, 22, 22, 22,
148 22, 22, 1, 22, 23, 22, 25, 25,
149 22, 26, 22, 27, 22, 22, 22, 22,
150 22, 22, 22, 28, 22, 22, 29, 30,
151 31, 32, 33, 34, 35, 36, 37, 22,
152 22, 22, 39, 22, 23, 22, 25, 25,
153 22, 26, 22, 27, 22, 22, 22, 22,
154 22, 22, 22, 46, 22, 22, 22, 22,
155 22, 22, 33, 34, 35, 36, 37, 22,
156 22, 22, 39, 22, 23, 22, 25, 25,
157 22, 26, 22, 27, 22, 22, 22, 22,
158 22, 22, 22, 22, 22, 22, 22, 22,
159 22, 22, 33, 34, 35, 36, 37, 22,
160 23, 22, 25, 25, 22, 26, 22, 27,
161 22, 22, 22, 22, 22, 22, 22, 22,
162 22, 22, 22, 22, 22, 22, 33, 34,
163 35, 22, 37, 22, 23, 22, 25, 25,
164 22, 26, 22, 27, 22, 22, 22, 22,
165 22, 22, 22, 22, 22, 22, 22, 22,
166 22, 22, 33, 22, 35, 22, 37, 22,
167 23, 22, 25, 25, 22, 26, 22, 27,
168 22, 22, 22, 22, 22, 22, 22, 22,
169 22, 22, 22, 22, 22, 22, 33, 34,
170 35, 36, 37, 46, 22, 23, 22, 25,
171 25, 22, 26, 22, 27, 22, 22, 22,
172 22, 22, 22, 22, 46, 22, 22, 22,
173 22, 22, 22, 33, 34, 35, 36, 37,
174 22, 23, 22, 25, 25, 22, 26, 22,
175 27, 22, 22, 22, 22, 22, 22, 22,
176 22, 22, 22, 29, 22, 31, 22, 33,
177 34, 35, 36, 37, 22, 22, 22, 39,
178 22, 23, 22, 25, 25, 22, 26, 22,
179 27, 22, 22, 22, 22, 22, 22, 22,
180 46, 22, 22, 29, 22, 22, 22, 33,
181 34, 35, 36, 37, 22, 22, 22, 39,
182 22, 23, 22, 25, 25, 22, 26, 22,
183 27, 22, 22, 22, 22, 22, 22, 22,
184 47, 22, 22, 29, 30, 31, 22, 33,
185 34, 35, 36, 37, 22, 22, 22, 39,
186 22, 23, 22, 25, 25, 22, 26, 22,
187 27, 22, 22, 22, 22, 22, 22, 22,
188 22, 22, 22, 29, 30, 31, 22, 33,
189 34, 35, 36, 37, 22, 22, 22, 39,
190 22, 23, 24, 25, 25, 22, 26, 22,
191 27, 22, 22, 22, 22, 22, 22, 22,
192 28, 22, 22, 29, 30, 31, 32, 33,
193 34, 35, 36, 37, 22, 22, 22, 39,
194 22, 49, 49, 48, 5, 48, 48, 48,
195 48, 48, 48, 48, 48, 48, 50, 48,
196 48, 48, 48, 48, 48, 14, 48, 48,
197 48, 18, 48, 49, 49, 48, 5, 48,
198 49, 49, 48, 5, 48, 48, 48, 48,
199 48, 48, 48, 48, 48, 48, 48, 48,
200 48, 48, 48, 48, 14, 48, 48, 48,
201 18, 48, 51, 48, 49, 49, 48, 5,
202 48, 14, 48, 48, 48, 48, 48, 48,
203 48, 52, 48, 48, 48, 48, 48, 48,
204 14, 48, 49, 49, 48, 5, 48, 48,
205 48, 48, 48, 48, 48, 48, 48, 52,
206 48, 48, 48, 48, 48, 48, 14, 48,
207 49, 49, 48, 5, 48, 48, 48, 48,
208 48, 48, 48, 48, 48, 48, 48, 48,
209 48, 48, 48, 48, 14, 48, 2, 48,
210 49, 49, 48, 5, 48, 6, 48, 48,
211 48, 48, 48, 48, 48, 53, 48, 48,
212 54, 48, 48, 48, 14, 55, 48, 48,
213 18, 48, 48, 48, 53, 48, 2, 48,
214 49, 49, 48, 5, 48, 6, 48, 48,
215 48, 48, 48, 48, 48, 48, 48, 48,
216 48, 48, 48, 48, 14, 48, 48, 48,
217 18, 48, 2, 48, 49, 49, 48, 5,
218 48, 6, 48, 48, 48, 48, 48, 48,
219 48, 53, 48, 48, 48, 48, 48, 48,
220 14, 55, 48, 48, 18, 48, 2, 48,
221 49, 49, 48, 5, 48, 6, 48, 48,
222 48, 48, 48, 48, 48, 48, 48, 48,
223 48, 48, 48, 48, 14, 55, 48, 48,
224 18, 48, 2, 48, 49, 49, 48, 5,
225 48, 6, 48, 48, 48, 48, 48, 48,
226 48, 53, 48, 48, 48, 48, 48, 48,
227 14, 55, 48, 48, 18, 48, 48, 48,
228 53, 48, 56, 56, 48, 48, 48, 48,
229 48, 48, 48, 48, 48, 48, 48, 48,
230 48, 56, 48, 2, 3, 49, 49, 48,
231 5, 48, 6, 48, 48, 48, 48, 48,
232 48, 48, 8, 48, 48, 10, 11, 12,
233 13, 14, 15, 16, 17, 18, 19, 48,
234 48, 21, 48, 2, 48, 49, 49, 48,
235 5, 48, 6, 48, 48, 48, 48, 48,
236 48, 48, 8, 48, 48, 10, 11, 12,
237 13, 14, 15, 16, 17, 18, 48, 48,
238 48, 21, 48, 2, 48, 49, 49, 48,
239 5, 48, 6, 48, 48, 48, 48, 48,
240 48, 48, 57, 48, 48, 48, 48, 48,
241 48, 14, 15, 16, 17, 18, 48, 48,
242 48, 21, 48, 2, 48, 49, 49, 48,
243 5, 48, 6, 48, 48, 48, 48, 48,
244 48, 48, 48, 48, 48, 48, 48, 48,
245 48, 14, 15, 16, 17, 18, 48, 2,
246 48, 49, 49, 48, 5, 48, 6, 48,
247 48, 48, 48, 48, 48, 48, 48, 48,
248 48, 48, 48, 48, 48, 14, 15, 16,
249 48, 18, 48, 2, 48, 49, 49, 48,
250 5, 48, 6, 48, 48, 48, 48, 48,
251 48, 48, 48, 48, 48, 48, 48, 48,
252 48, 14, 48, 16, 48, 18, 48, 2,
253 48, 49, 49, 48, 5, 48, 6, 48,
254 48, 48, 48, 48, 48, 48, 48, 48,
255 48, 48, 48, 48, 48, 14, 15, 16,
256 17, 18, 57, 48, 2, 48, 49, 49,
257 48, 5, 48, 6, 48, 48, 48, 48,
258 48, 48, 48, 57, 48, 48, 48, 48,
259 48, 48, 14, 15, 16, 17, 18, 48,
260 2, 48, 49, 49, 48, 5, 48, 6,
261 48, 48, 48, 48, 48, 48, 48, 48,
262 48, 48, 10, 48, 12, 48, 14, 15,
263 16, 17, 18, 48, 48, 48, 21, 48,
264 2, 48, 49, 49, 48, 5, 48, 6,
265 48, 48, 48, 48, 48, 48, 48, 57,
266 48, 48, 10, 48, 48, 48, 14, 15,
267 16, 17, 18, 48, 48, 48, 21, 48,
268 2, 48, 49, 49, 48, 5, 48, 6,
269 48, 48, 48, 48, 48, 48, 48, 58,
270 48, 48, 10, 11, 12, 48, 14, 15,
271 16, 17, 18, 48, 48, 48, 21, 48,
272 2, 48, 49, 49, 48, 5, 48, 6,
273 48, 48, 48, 48, 48, 48, 48, 48,
274 48, 48, 10, 11, 12, 48, 14, 15,
275 16, 17, 18, 48, 48, 48, 21, 48,
276 2, 3, 49, 49, 48, 5, 48, 6,
277 48, 48, 48, 48, 48, 48, 48, 8,
278 48, 48, 10, 11, 12, 13, 14, 15,
279 16, 17, 18, 48, 48, 48, 21, 48,
280 23, 24, 25, 25, 22, 26, 22, 27,
281 22, 22, 22, 22, 22, 22, 22, 59,
282 22, 22, 29, 30, 31, 32, 33, 34,
283 35, 36, 37, 38, 22, 22, 39, 22,
284 23, 60, 25, 25, 22, 26, 22, 27,
285 22, 22, 22, 22, 22, 22, 22, 28,
286 22, 22, 29, 30, 31, 32, 33, 34,
287 35, 36, 37, 22, 22, 22, 39, 22,
288 1, 1, 2, 3, 49, 49, 48, 5,
289 48, 6, 1, 48, 48, 48, 48, 1,
290 48, 8, 48, 48, 10, 11, 12, 13,
291 14, 15, 16, 17, 18, 19, 48, 1,
292 21, 48, 1, 1, 61, 61, 61, 61,
293 61, 61, 61, 61, 1, 61, 61, 61,
294 61, 1, 61, 61, 61, 61, 61, 61,
295 61, 61, 61, 61, 61, 61, 61, 61,
299 static const char _myanmar_syllable_machine_trans_targs[] = {
300 0, 1, 26, 37, 0, 27, 33, 51,
301 39, 54, 40, 46, 47, 48, 29, 42,
302 43, 44, 32, 50, 55, 45, 0, 2,
303 13, 0, 3, 9, 14, 15, 21, 22,
304 23, 5, 17, 18, 19, 8, 25, 20,
305 4, 6, 7, 10, 12, 11, 16, 24,
306 0, 0, 28, 30, 31, 34, 36, 35,
307 38, 41, 49, 52, 53, 0, 0
310 static const char _myanmar_syllable_machine_trans_actions[] = {
311 3, 0, 0, 0, 4, 0, 0, 0,
312 0, 0, 0, 0, 0, 0, 0, 0,
313 0, 0, 0, 0, 0, 0, 5, 0,
314 0, 6, 0, 0, 0, 0, 0, 0,
315 0, 0, 0, 0, 0, 0, 0, 0,
316 0, 0, 0, 0, 0, 0, 0, 0,
317 7, 8, 0, 0, 0, 0, 0, 0,
321 static const char _myanmar_syllable_machine_to_state_actions[] = {
322 1, 0, 0, 0, 0, 0, 0, 0,
323 0, 0, 0, 0, 0, 0, 0, 0,
324 0, 0, 0, 0, 0, 0, 0, 0,
325 0, 0, 0, 0, 0, 0, 0, 0,
326 0, 0, 0, 0, 0, 0, 0, 0,
327 0, 0, 0, 0, 0, 0, 0, 0,
328 0, 0, 0, 0, 0, 0, 0, 0
331 static const char _myanmar_syllable_machine_from_state_actions[] = {
332 2, 0, 0, 0, 0, 0, 0, 0,
333 0, 0, 0, 0, 0, 0, 0, 0,
334 0, 0, 0, 0, 0, 0, 0, 0,
335 0, 0, 0, 0, 0, 0, 0, 0,
336 0, 0, 0, 0, 0, 0, 0, 0,
337 0, 0, 0, 0, 0, 0, 0, 0,
338 0, 0, 0, 0, 0, 0, 0, 0
341 static const short _myanmar_syllable_machine_eof_trans[] = {
342 0, 23, 23, 23, 23, 23, 23, 23,
343 23, 23, 23, 23, 23, 23, 23, 23,
344 23, 23, 23, 23, 23, 23, 23, 23,
345 23, 23, 49, 49, 49, 49, 49, 49,
346 49, 49, 49, 49, 49, 49, 49, 49,
347 49, 49, 49, 49, 49, 49, 49, 49,
348 49, 49, 49, 23, 23, 49, 62, 62
351 static const int myanmar_syllable_machine_start = 0;
352 static const int myanmar_syllable_machine_first_final = 0;
353 static const int myanmar_syllable_machine_error = -1;
355 static const int myanmar_syllable_machine_en_main = 0;
358 #line 44 "hb-ot-shape-complex-myanmar-machine.rl"
362 #line 102 "hb-ot-shape-complex-myanmar-machine.rl"
365 #define found_syllable(syllable_type) \
367 if (0) fprintf (stderr, "syllable %d..%d %s\n", ts, te, #syllable_type); \
368 for (unsigned int i = ts; i < te; i++) \
369 info[i].syllable() = (syllable_serial << 4) | syllable_type; \
371 if (unlikely (syllable_serial == 16)) syllable_serial = 1; \
377 unsigned int p, pe, eof, ts, te, act
HB_UNUSED;
381 #line 382 "hb-ot-shape-complex-myanmar-machine.hh"
383 cs = myanmar_syllable_machine_start;
389 #line 122 "hb-ot-shape-complex-myanmar-machine.rl"
395 unsigned int syllable_serial = 1;
397 #line 398 "hb-ot-shape-complex-myanmar-machine.hh"
401 const unsigned char *_keys;
406 switch ( _myanmar_syllable_machine_from_state_actions[cs] ) {
411 #line 412 "hb-ot-shape-complex-myanmar-machine.hh"
414 _keys = _myanmar_syllable_machine_trans_keys + (cs<<1);
415 _inds = _myanmar_syllable_machine_indicies + _myanmar_syllable_machine_index_offsets[cs];
417 _slen = _myanmar_syllable_machine_key_spans[cs];
418 _trans = _inds[ _slen > 0 && _keys[0] <=(
info[
p].myanmar_category()) &&
423 cs = _myanmar_syllable_machine_trans_targs[_trans];
425 if ( _myanmar_syllable_machine_trans_actions[_trans] == 0 )
428 switch ( _myanmar_syllable_machine_trans_actions[_trans] ) {
430 #line 94 "hb-ot-shape-complex-myanmar-machine.rl"
434 #line 95 "hb-ot-shape-complex-myanmar-machine.rl"
438 #line 96 "hb-ot-shape-complex-myanmar-machine.rl"
442 #line 97 "hb-ot-shape-complex-myanmar-machine.rl"
446 #line 98 "hb-ot-shape-complex-myanmar-machine.rl"
450 #line 94 "hb-ot-shape-complex-myanmar-machine.rl"
454 #line 97 "hb-ot-shape-complex-myanmar-machine.rl"
458 #line 98 "hb-ot-shape-complex-myanmar-machine.rl"
461 #line 462 "hb-ot-shape-complex-myanmar-machine.hh"
465 switch ( _myanmar_syllable_machine_to_state_actions[cs] ) {
470 #line 471 "hb-ot-shape-complex-myanmar-machine.hh"
478 if ( _myanmar_syllable_machine_eof_trans[cs] > 0 ) {
479 _trans = _myanmar_syllable_machine_eof_trans[cs] - 1;
486 #line 130 "hb-ot-shape-complex-myanmar-machine.rl"
490 #undef found_syllable
void const void *obj HB_UNUSED
#define found_syllable(syllable_type)
@ myanmar_consonant_syllable
@ myanmar_non_myanmar_cluster
@ myanmar_punctuation_cluster
#define myanmar_category()
backing_store_ptr info
[4]