1
2 #line 1 "hb-ot-shape-complex-myanmar-machine.rl"
3 /*
4 * Copyright © 2011,2012 Google, Inc.
5 *
6 * This is part of HarfBuzz, a text shaping library.
7 *
8 * Permission is hereby granted, without written agreement and without
9 * license or royalty fees, to use, copy, modify, and distribute this
10 * software and its documentation for any purpose, provided that the
11 * above copyright notice and the following two paragraphs appear in
12 * all copies of this software.
13 *
14 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
15 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
16 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
17 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
18 * DAMAGE.
19 *
20 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
21 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
22 * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
23 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
24 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
25 *
26 * Google Author(s): Behdad Esfahbod
27 */
28
29 #ifndef HB_OT_SHAPE_COMPLEX_MYANMAR_MACHINE_HH
30 #define HB_OT_SHAPE_COMPLEX_MYANMAR_MACHINE_HH
31
32 #include "hb.hh"
33
34 enum myanmar_syllable_type_t {
35 myanmar_consonant_syllable,
36 myanmar_punctuation_cluster,
37 myanmar_broken_cluster,
38 myanmar_non_myanmar_cluster,
39 };
40
41
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
69
70
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,
80 0
81 };
82
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
91 };
92
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
101 };
102
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,
296 61, 1, 61, 62, 61, 0
297 };
298
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
308 };
309
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,
318 0, 0, 0, 0, 0, 9, 10
319 };
320
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
329 };
330
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
339 };
340
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
349 };
350
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;
354
355 static const int myanmar_syllable_machine_en_main = 0;
356
357
358 #line 44 "hb-ot-shape-complex-myanmar-machine.rl"
359
360
361
362 #line 102 "hb-ot-shape-complex-myanmar-machine.rl"
363
364
365 #define found_syllable(syllable_type) \
366 HB_STMT_START { \
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; \
370 syllable_serial++; \
371 if (unlikely (syllable_serial == 16)) syllable_serial = 1; \
372 } HB_STMT_END
373
374 static void
find_syllables_myanmar(hb_buffer_t * buffer)375 find_syllables_myanmar (hb_buffer_t *buffer)
376 {
377 unsigned int p, pe, eof, ts, te, act HB_UNUSED;
378 int cs;
379 hb_glyph_info_t *info = buffer->info;
380
381 #line 382 "hb-ot-shape-complex-myanmar-machine.hh"
382 {
383 cs = myanmar_syllable_machine_start;
384 ts = 0;
385 te = 0;
386 act = 0;
387 }
388
389 #line 122 "hb-ot-shape-complex-myanmar-machine.rl"
390
391
392 p = 0;
393 pe = eof = buffer->len;
394
395 unsigned int syllable_serial = 1;
396
397 #line 398 "hb-ot-shape-complex-myanmar-machine.hh"
398 {
399 int _slen;
400 int _trans;
401 const unsigned char *_keys;
402 const char *_inds;
403 if ( p == pe )
404 goto _test_eof;
405 _resume:
406 switch ( _myanmar_syllable_machine_from_state_actions[cs] ) {
407 case 2:
408 #line 1 "NONE"
409 {ts = p;}
410 break;
411 #line 412 "hb-ot-shape-complex-myanmar-machine.hh"
412 }
413
414 _keys = _myanmar_syllable_machine_trans_keys + (cs<<1);
415 _inds = _myanmar_syllable_machine_indicies + _myanmar_syllable_machine_index_offsets[cs];
416
417 _slen = _myanmar_syllable_machine_key_spans[cs];
418 _trans = _inds[ _slen > 0 && _keys[0] <=( info[p].myanmar_category()) &&
419 ( info[p].myanmar_category()) <= _keys[1] ?
420 ( info[p].myanmar_category()) - _keys[0] : _slen ];
421
422 _eof_trans:
423 cs = _myanmar_syllable_machine_trans_targs[_trans];
424
425 if ( _myanmar_syllable_machine_trans_actions[_trans] == 0 )
426 goto _again;
427
428 switch ( _myanmar_syllable_machine_trans_actions[_trans] ) {
429 case 6:
430 #line 94 "hb-ot-shape-complex-myanmar-machine.rl"
431 {te = p+1;{ found_syllable (myanmar_consonant_syllable); }}
432 break;
433 case 4:
434 #line 95 "hb-ot-shape-complex-myanmar-machine.rl"
435 {te = p+1;{ found_syllable (myanmar_non_myanmar_cluster); }}
436 break;
437 case 10:
438 #line 96 "hb-ot-shape-complex-myanmar-machine.rl"
439 {te = p+1;{ found_syllable (myanmar_punctuation_cluster); }}
440 break;
441 case 8:
442 #line 97 "hb-ot-shape-complex-myanmar-machine.rl"
443 {te = p+1;{ found_syllable (myanmar_broken_cluster); }}
444 break;
445 case 3:
446 #line 98 "hb-ot-shape-complex-myanmar-machine.rl"
447 {te = p+1;{ found_syllable (myanmar_non_myanmar_cluster); }}
448 break;
449 case 5:
450 #line 94 "hb-ot-shape-complex-myanmar-machine.rl"
451 {te = p;p--;{ found_syllable (myanmar_consonant_syllable); }}
452 break;
453 case 7:
454 #line 97 "hb-ot-shape-complex-myanmar-machine.rl"
455 {te = p;p--;{ found_syllable (myanmar_broken_cluster); }}
456 break;
457 case 9:
458 #line 98 "hb-ot-shape-complex-myanmar-machine.rl"
459 {te = p;p--;{ found_syllable (myanmar_non_myanmar_cluster); }}
460 break;
461 #line 462 "hb-ot-shape-complex-myanmar-machine.hh"
462 }
463
464 _again:
465 switch ( _myanmar_syllable_machine_to_state_actions[cs] ) {
466 case 1:
467 #line 1 "NONE"
468 {ts = 0;}
469 break;
470 #line 471 "hb-ot-shape-complex-myanmar-machine.hh"
471 }
472
473 if ( ++p != pe )
474 goto _resume;
475 _test_eof: {}
476 if ( p == eof )
477 {
478 if ( _myanmar_syllable_machine_eof_trans[cs] > 0 ) {
479 _trans = _myanmar_syllable_machine_eof_trans[cs] - 1;
480 goto _eof_trans;
481 }
482 }
483
484 }
485
486 #line 130 "hb-ot-shape-complex-myanmar-machine.rl"
487
488 }
489
490 #undef found_syllable
491
492 #endif /* HB_OT_SHAPE_COMPLEX_MYANMAR_MACHINE_HH */
493