• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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