xref: /aosp_15_r20/external/harfbuzz_ng/src/hb-ot-shaper-myanmar-machine.hh (revision 2d1272b857b1f7575e6e246373e1cb218663db8a)
1*2d1272b8SAndroid Build Coastguard Worker 
2*2d1272b8SAndroid Build Coastguard Worker #line 1 "hb-ot-shaper-myanmar-machine.rl"
3*2d1272b8SAndroid Build Coastguard Worker /*
4*2d1272b8SAndroid Build Coastguard Worker  * Copyright © 2011,2012  Google, Inc.
5*2d1272b8SAndroid Build Coastguard Worker  *
6*2d1272b8SAndroid Build Coastguard Worker  *  This is part of HarfBuzz, a text shaping library.
7*2d1272b8SAndroid Build Coastguard Worker  *
8*2d1272b8SAndroid Build Coastguard Worker  * Permission is hereby granted, without written agreement and without
9*2d1272b8SAndroid Build Coastguard Worker  * license or royalty fees, to use, copy, modify, and distribute this
10*2d1272b8SAndroid Build Coastguard Worker  * software and its documentation for any purpose, provided that the
11*2d1272b8SAndroid Build Coastguard Worker  * above copyright notice and the following two paragraphs appear in
12*2d1272b8SAndroid Build Coastguard Worker  * all copies of this software.
13*2d1272b8SAndroid Build Coastguard Worker  *
14*2d1272b8SAndroid Build Coastguard Worker  * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
15*2d1272b8SAndroid Build Coastguard Worker  * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
16*2d1272b8SAndroid Build Coastguard Worker  * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
17*2d1272b8SAndroid Build Coastguard Worker  * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
18*2d1272b8SAndroid Build Coastguard Worker  * DAMAGE.
19*2d1272b8SAndroid Build Coastguard Worker  *
20*2d1272b8SAndroid Build Coastguard Worker  * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
21*2d1272b8SAndroid Build Coastguard Worker  * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
22*2d1272b8SAndroid Build Coastguard Worker  * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
23*2d1272b8SAndroid Build Coastguard Worker  * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
24*2d1272b8SAndroid Build Coastguard Worker  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
25*2d1272b8SAndroid Build Coastguard Worker  *
26*2d1272b8SAndroid Build Coastguard Worker  * Google Author(s): Behdad Esfahbod
27*2d1272b8SAndroid Build Coastguard Worker  */
28*2d1272b8SAndroid Build Coastguard Worker 
29*2d1272b8SAndroid Build Coastguard Worker #ifndef HB_OT_SHAPER_MYANMAR_MACHINE_HH
30*2d1272b8SAndroid Build Coastguard Worker #define HB_OT_SHAPER_MYANMAR_MACHINE_HH
31*2d1272b8SAndroid Build Coastguard Worker 
32*2d1272b8SAndroid Build Coastguard Worker #include "hb.hh"
33*2d1272b8SAndroid Build Coastguard Worker 
34*2d1272b8SAndroid Build Coastguard Worker #include "hb-ot-layout.hh"
35*2d1272b8SAndroid Build Coastguard Worker #include "hb-ot-shaper-indic.hh"
36*2d1272b8SAndroid Build Coastguard Worker 
37*2d1272b8SAndroid Build Coastguard Worker /* buffer var allocations */
38*2d1272b8SAndroid Build Coastguard Worker #define myanmar_category() ot_shaper_var_u8_category() /* myanmar_category_t */
39*2d1272b8SAndroid Build Coastguard Worker #define myanmar_position() ot_shaper_var_u8_auxiliary() /* myanmar_position_t */
40*2d1272b8SAndroid Build Coastguard Worker 
41*2d1272b8SAndroid Build Coastguard Worker using myanmar_category_t = unsigned;
42*2d1272b8SAndroid Build Coastguard Worker using myanmar_position_t = ot_position_t;
43*2d1272b8SAndroid Build Coastguard Worker 
44*2d1272b8SAndroid Build Coastguard Worker #define M_Cat(Cat) myanmar_syllable_machine_ex_##Cat
45*2d1272b8SAndroid Build Coastguard Worker 
46*2d1272b8SAndroid Build Coastguard Worker enum myanmar_syllable_type_t {
47*2d1272b8SAndroid Build Coastguard Worker   myanmar_consonant_syllable,
48*2d1272b8SAndroid Build Coastguard Worker   myanmar_broken_cluster,
49*2d1272b8SAndroid Build Coastguard Worker   myanmar_non_myanmar_cluster,
50*2d1272b8SAndroid Build Coastguard Worker };
51*2d1272b8SAndroid Build Coastguard Worker 
52*2d1272b8SAndroid Build Coastguard Worker 
53*2d1272b8SAndroid Build Coastguard Worker #line 54 "hb-ot-shaper-myanmar-machine.hh"
54*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_A 9u
55*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_As 32u
56*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_C 1u
57*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_CS 18u
58*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_DB 3u
59*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_DOTTEDCIRCLE 11u
60*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_GB 10u
61*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_H 4u
62*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_IV 2u
63*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_MH 35u
64*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_ML 41u
65*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_MR 36u
66*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_MW 37u
67*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_MY 38u
68*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_PT 39u
69*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_Ra 15u
70*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_SM 8u
71*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_VAbv 20u
72*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_VBlw 21u
73*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_VPre 22u
74*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_VPst 23u
75*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_VS 40u
76*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_ZWJ 6u
77*2d1272b8SAndroid Build Coastguard Worker #define myanmar_syllable_machine_ex_ZWNJ 5u
78*2d1272b8SAndroid Build Coastguard Worker 
79*2d1272b8SAndroid Build Coastguard Worker 
80*2d1272b8SAndroid Build Coastguard Worker #line 81 "hb-ot-shaper-myanmar-machine.hh"
81*2d1272b8SAndroid Build Coastguard Worker static const unsigned char _myanmar_syllable_machine_trans_keys[] = {
82*2d1272b8SAndroid Build Coastguard Worker 	1u, 41u, 3u, 41u, 5u, 39u, 5u, 8u, 3u, 41u, 3u, 39u, 3u, 39u, 5u, 39u,
83*2d1272b8SAndroid Build Coastguard Worker 	5u, 39u, 3u, 39u, 3u, 39u, 3u, 41u, 5u, 39u, 1u, 15u, 3u, 39u, 3u, 39u,
84*2d1272b8SAndroid Build Coastguard Worker 	3u, 40u, 3u, 39u, 3u, 41u, 3u, 41u, 3u, 39u, 3u, 41u, 3u, 41u, 3u, 41u,
85*2d1272b8SAndroid Build Coastguard Worker 	3u, 41u, 3u, 41u, 5u, 39u, 5u, 8u, 3u, 41u, 3u, 39u, 3u, 39u, 5u, 39u,
86*2d1272b8SAndroid Build Coastguard Worker 	5u, 39u, 3u, 39u, 3u, 39u, 3u, 41u, 5u, 39u, 1u, 15u, 3u, 41u, 3u, 39u,
87*2d1272b8SAndroid Build Coastguard Worker 	3u, 39u, 3u, 40u, 3u, 39u, 3u, 41u, 3u, 41u, 3u, 39u, 3u, 41u, 3u, 41u,
88*2d1272b8SAndroid Build Coastguard Worker 	3u, 41u, 3u, 41u, 3u, 41u, 3u, 41u, 3u, 41u, 1u, 41u, 1u, 15u, 0
89*2d1272b8SAndroid Build Coastguard Worker };
90*2d1272b8SAndroid Build Coastguard Worker 
91*2d1272b8SAndroid Build Coastguard Worker static const char _myanmar_syllable_machine_key_spans[] = {
92*2d1272b8SAndroid Build Coastguard Worker 	41, 39, 35, 4, 39, 37, 37, 35,
93*2d1272b8SAndroid Build Coastguard Worker 	35, 37, 37, 39, 35, 15, 37, 37,
94*2d1272b8SAndroid Build Coastguard Worker 	38, 37, 39, 39, 37, 39, 39, 39,
95*2d1272b8SAndroid Build Coastguard Worker 	39, 39, 35, 4, 39, 37, 37, 35,
96*2d1272b8SAndroid Build Coastguard Worker 	35, 37, 37, 39, 35, 15, 39, 37,
97*2d1272b8SAndroid Build Coastguard Worker 	37, 38, 37, 39, 39, 37, 39, 39,
98*2d1272b8SAndroid Build Coastguard Worker 	39, 39, 39, 39, 39, 41, 15
99*2d1272b8SAndroid Build Coastguard Worker };
100*2d1272b8SAndroid Build Coastguard Worker 
101*2d1272b8SAndroid Build Coastguard Worker static const short _myanmar_syllable_machine_index_offsets[] = {
102*2d1272b8SAndroid Build Coastguard Worker 	0, 42, 82, 118, 123, 163, 201, 239,
103*2d1272b8SAndroid Build Coastguard Worker 	275, 311, 349, 387, 427, 463, 479, 517,
104*2d1272b8SAndroid Build Coastguard Worker 	555, 594, 632, 672, 712, 750, 790, 830,
105*2d1272b8SAndroid Build Coastguard Worker 	870, 910, 950, 986, 991, 1031, 1069, 1107,
106*2d1272b8SAndroid Build Coastguard Worker 	1143, 1179, 1217, 1255, 1295, 1331, 1347, 1387,
107*2d1272b8SAndroid Build Coastguard Worker 	1425, 1463, 1502, 1540, 1580, 1620, 1658, 1698,
108*2d1272b8SAndroid Build Coastguard Worker 	1738, 1778, 1818, 1858, 1898, 1938, 1980
109*2d1272b8SAndroid Build Coastguard Worker };
110*2d1272b8SAndroid Build Coastguard Worker 
111*2d1272b8SAndroid Build Coastguard Worker static const char _myanmar_syllable_machine_indicies[] = {
112*2d1272b8SAndroid Build Coastguard Worker 	1, 1, 2, 3, 4, 4, 0, 5,
113*2d1272b8SAndroid Build Coastguard Worker 	6, 1, 1, 0, 0, 0, 7, 0,
114*2d1272b8SAndroid Build Coastguard Worker 	0, 8, 0, 9, 10, 11, 12, 0,
115*2d1272b8SAndroid Build Coastguard Worker 	0, 0, 0, 0, 0, 0, 0, 13,
116*2d1272b8SAndroid Build Coastguard Worker 	0, 0, 14, 15, 16, 17, 18, 19,
117*2d1272b8SAndroid Build Coastguard Worker 	20, 0, 22, 23, 24, 24, 21, 25,
118*2d1272b8SAndroid Build Coastguard Worker 	26, 21, 21, 21, 21, 21, 21, 21,
119*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 27, 28, 29, 30, 21,
120*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 31,
121*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 32, 33, 34, 35, 36, 37,
122*2d1272b8SAndroid Build Coastguard Worker 	38, 21, 24, 24, 21, 25, 21, 21,
123*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
124*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 30, 21, 21, 21,
125*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 39, 21, 21,
126*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 36, 21, 24, 24,
127*2d1272b8SAndroid Build Coastguard Worker 	21, 25, 21, 22, 21, 24, 24, 21,
128*2d1272b8SAndroid Build Coastguard Worker 	25, 26, 21, 21, 21, 21, 21, 21,
129*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 40, 21, 21, 30,
130*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
131*2d1272b8SAndroid Build Coastguard Worker 	41, 21, 21, 42, 21, 21, 21, 36,
132*2d1272b8SAndroid Build Coastguard Worker 	21, 41, 21, 22, 21, 24, 24, 21,
133*2d1272b8SAndroid Build Coastguard Worker 	25, 26, 21, 21, 21, 21, 21, 21,
134*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 30,
135*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
136*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 36,
137*2d1272b8SAndroid Build Coastguard Worker 	21, 43, 21, 24, 24, 21, 25, 36,
138*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
139*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
140*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 44, 21,
141*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 36, 21, 24,
142*2d1272b8SAndroid Build Coastguard Worker 	24, 21, 25, 21, 21, 21, 21, 21,
143*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
144*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
145*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 44, 21, 21, 21, 21, 21,
146*2d1272b8SAndroid Build Coastguard Worker 	21, 36, 21, 24, 24, 21, 25, 21,
147*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
148*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
149*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
150*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 36, 21, 22,
151*2d1272b8SAndroid Build Coastguard Worker 	21, 24, 24, 21, 25, 26, 21, 21,
152*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
153*2d1272b8SAndroid Build Coastguard Worker 	40, 21, 21, 30, 21, 21, 21, 21,
154*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
155*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 36, 21, 22, 21, 24,
156*2d1272b8SAndroid Build Coastguard Worker 	24, 21, 25, 26, 21, 21, 21, 21,
157*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 40, 21,
158*2d1272b8SAndroid Build Coastguard Worker 	21, 30, 21, 21, 21, 21, 21, 21,
159*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 41, 21, 21, 21, 21, 21,
160*2d1272b8SAndroid Build Coastguard Worker 	21, 36, 21, 22, 21, 24, 24, 21,
161*2d1272b8SAndroid Build Coastguard Worker 	25, 26, 21, 21, 21, 21, 21, 21,
162*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 40, 21, 21, 30,
163*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
164*2d1272b8SAndroid Build Coastguard Worker 	41, 21, 21, 21, 21, 21, 21, 36,
165*2d1272b8SAndroid Build Coastguard Worker 	21, 41, 21, 24, 24, 21, 25, 21,
166*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
167*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 30, 21, 21,
168*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
169*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 36, 21, 1,
170*2d1272b8SAndroid Build Coastguard Worker 	1, 21, 21, 21, 21, 21, 21, 21,
171*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 1, 21, 22,
172*2d1272b8SAndroid Build Coastguard Worker 	21, 24, 24, 21, 25, 26, 21, 21,
173*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
174*2d1272b8SAndroid Build Coastguard Worker 	27, 28, 21, 30, 21, 21, 21, 21,
175*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
176*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 36, 21, 22, 21, 24,
177*2d1272b8SAndroid Build Coastguard Worker 	24, 21, 25, 26, 21, 21, 21, 21,
178*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 28,
179*2d1272b8SAndroid Build Coastguard Worker 	21, 30, 21, 21, 21, 21, 21, 21,
180*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
181*2d1272b8SAndroid Build Coastguard Worker 	21, 36, 21, 22, 21, 24, 24, 21,
182*2d1272b8SAndroid Build Coastguard Worker 	25, 26, 21, 21, 21, 21, 21, 21,
183*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 27, 28, 29, 30,
184*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
185*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 36,
186*2d1272b8SAndroid Build Coastguard Worker 	45, 21, 22, 21, 24, 24, 21, 25,
187*2d1272b8SAndroid Build Coastguard Worker 	26, 21, 21, 21, 21, 21, 21, 21,
188*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 27, 28, 29, 30, 21,
189*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
190*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 36, 21,
191*2d1272b8SAndroid Build Coastguard Worker 	22, 21, 24, 24, 21, 25, 26, 21,
192*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
193*2d1272b8SAndroid Build Coastguard Worker 	21, 27, 28, 29, 30, 21, 21, 21,
194*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 31, 21, 21,
195*2d1272b8SAndroid Build Coastguard Worker 	32, 33, 34, 35, 36, 21, 38, 21,
196*2d1272b8SAndroid Build Coastguard Worker 	22, 21, 24, 24, 21, 25, 26, 21,
197*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
198*2d1272b8SAndroid Build Coastguard Worker 	21, 27, 28, 29, 30, 21, 21, 21,
199*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 45, 21, 21,
200*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 36, 21, 38, 21,
201*2d1272b8SAndroid Build Coastguard Worker 	22, 21, 24, 24, 21, 25, 26, 21,
202*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 21,
203*2d1272b8SAndroid Build Coastguard Worker 	21, 27, 28, 29, 30, 21, 21, 21,
204*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 45, 21, 21,
205*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 36, 21, 22, 21,
206*2d1272b8SAndroid Build Coastguard Worker 	24, 24, 21, 25, 26, 21, 21, 21,
207*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 27,
208*2d1272b8SAndroid Build Coastguard Worker 	28, 29, 30, 21, 21, 21, 21, 21,
209*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 32, 21,
210*2d1272b8SAndroid Build Coastguard Worker 	34, 21, 36, 21, 38, 21, 22, 21,
211*2d1272b8SAndroid Build Coastguard Worker 	24, 24, 21, 25, 26, 21, 21, 21,
212*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 27,
213*2d1272b8SAndroid Build Coastguard Worker 	28, 29, 30, 21, 21, 21, 21, 21,
214*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 45, 21, 21, 32, 21,
215*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 36, 21, 38, 21, 22, 21,
216*2d1272b8SAndroid Build Coastguard Worker 	24, 24, 21, 25, 26, 21, 21, 21,
217*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 27,
218*2d1272b8SAndroid Build Coastguard Worker 	28, 29, 30, 21, 21, 21, 21, 21,
219*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 46, 21, 21, 32, 33,
220*2d1272b8SAndroid Build Coastguard Worker 	34, 21, 36, 21, 38, 21, 22, 21,
221*2d1272b8SAndroid Build Coastguard Worker 	24, 24, 21, 25, 26, 21, 21, 21,
222*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 27,
223*2d1272b8SAndroid Build Coastguard Worker 	28, 29, 30, 21, 21, 21, 21, 21,
224*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 32, 33,
225*2d1272b8SAndroid Build Coastguard Worker 	34, 21, 36, 21, 38, 21, 22, 23,
226*2d1272b8SAndroid Build Coastguard Worker 	24, 24, 21, 25, 26, 21, 21, 21,
227*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 27,
228*2d1272b8SAndroid Build Coastguard Worker 	28, 29, 30, 21, 21, 21, 21, 21,
229*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 31, 21, 21, 32, 33,
230*2d1272b8SAndroid Build Coastguard Worker 	34, 35, 36, 21, 38, 21, 48, 48,
231*2d1272b8SAndroid Build Coastguard Worker 	47, 5, 47, 47, 47, 47, 47, 47,
232*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
233*2d1272b8SAndroid Build Coastguard Worker 	12, 47, 47, 47, 47, 47, 47, 47,
234*2d1272b8SAndroid Build Coastguard Worker 	47, 49, 47, 47, 47, 47, 47, 47,
235*2d1272b8SAndroid Build Coastguard Worker 	18, 47, 48, 48, 47, 5, 47, 2,
236*2d1272b8SAndroid Build Coastguard Worker 	47, 48, 48, 47, 5, 6, 47, 47,
237*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
238*2d1272b8SAndroid Build Coastguard Worker 	50, 47, 47, 12, 47, 47, 47, 47,
239*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 51, 47, 47, 52,
240*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 18, 47, 51, 47, 2,
241*2d1272b8SAndroid Build Coastguard Worker 	47, 48, 48, 47, 5, 6, 47, 47,
242*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
243*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 12, 47, 47, 47, 47,
244*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
245*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 18, 47, 53, 47, 48,
246*2d1272b8SAndroid Build Coastguard Worker 	48, 47, 5, 18, 47, 47, 47, 47,
247*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
248*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
249*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 54, 47, 47, 47, 47, 47,
250*2d1272b8SAndroid Build Coastguard Worker 	47, 18, 47, 48, 48, 47, 5, 47,
251*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
252*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
253*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 54, 47,
254*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 18, 47, 48,
255*2d1272b8SAndroid Build Coastguard Worker 	48, 47, 5, 47, 47, 47, 47, 47,
256*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
257*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
258*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
259*2d1272b8SAndroid Build Coastguard Worker 	47, 18, 47, 2, 47, 48, 48, 47,
260*2d1272b8SAndroid Build Coastguard Worker 	5, 6, 47, 47, 47, 47, 47, 47,
261*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 50, 47, 47, 12,
262*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
263*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 18,
264*2d1272b8SAndroid Build Coastguard Worker 	47, 2, 47, 48, 48, 47, 5, 6,
265*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
266*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 50, 47, 47, 12, 47, 47,
267*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 51, 47,
268*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 18, 47, 2,
269*2d1272b8SAndroid Build Coastguard Worker 	47, 48, 48, 47, 5, 6, 47, 47,
270*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
271*2d1272b8SAndroid Build Coastguard Worker 	50, 47, 47, 12, 47, 47, 47, 47,
272*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 51, 47, 47, 47,
273*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 18, 47, 51, 47, 48,
274*2d1272b8SAndroid Build Coastguard Worker 	48, 47, 5, 47, 47, 47, 47, 47,
275*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
276*2d1272b8SAndroid Build Coastguard Worker 	47, 12, 47, 47, 47, 47, 47, 47,
277*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
278*2d1272b8SAndroid Build Coastguard Worker 	47, 18, 47, 55, 55, 47, 47, 47,
279*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
280*2d1272b8SAndroid Build Coastguard Worker 	47, 55, 47, 2, 3, 48, 48, 47,
281*2d1272b8SAndroid Build Coastguard Worker 	5, 6, 47, 47, 47, 47, 47, 47,
282*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 9, 10, 11, 12,
283*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
284*2d1272b8SAndroid Build Coastguard Worker 	13, 47, 47, 14, 15, 16, 17, 18,
285*2d1272b8SAndroid Build Coastguard Worker 	19, 20, 47, 2, 47, 48, 48, 47,
286*2d1272b8SAndroid Build Coastguard Worker 	5, 6, 47, 47, 47, 47, 47, 47,
287*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 9, 10, 47, 12,
288*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
289*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 18,
290*2d1272b8SAndroid Build Coastguard Worker 	47, 2, 47, 48, 48, 47, 5, 6,
291*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
292*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 10, 47, 12, 47, 47,
293*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
294*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 18, 47, 2,
295*2d1272b8SAndroid Build Coastguard Worker 	47, 48, 48, 47, 5, 6, 47, 47,
296*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
297*2d1272b8SAndroid Build Coastguard Worker 	9, 10, 11, 12, 47, 47, 47, 47,
298*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
299*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 18, 56, 47, 2, 47,
300*2d1272b8SAndroid Build Coastguard Worker 	48, 48, 47, 5, 6, 47, 47, 47,
301*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 9,
302*2d1272b8SAndroid Build Coastguard Worker 	10, 11, 12, 47, 47, 47, 47, 47,
303*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
304*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 18, 47, 2, 47, 48, 48,
305*2d1272b8SAndroid Build Coastguard Worker 	47, 5, 6, 47, 47, 47, 47, 47,
306*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 9, 10, 11,
307*2d1272b8SAndroid Build Coastguard Worker 	12, 47, 47, 47, 47, 47, 47, 47,
308*2d1272b8SAndroid Build Coastguard Worker 	47, 13, 47, 47, 14, 15, 16, 17,
309*2d1272b8SAndroid Build Coastguard Worker 	18, 47, 20, 47, 2, 47, 48, 48,
310*2d1272b8SAndroid Build Coastguard Worker 	47, 5, 6, 47, 47, 47, 47, 47,
311*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 9, 10, 11,
312*2d1272b8SAndroid Build Coastguard Worker 	12, 47, 47, 47, 47, 47, 47, 47,
313*2d1272b8SAndroid Build Coastguard Worker 	47, 56, 47, 47, 47, 47, 47, 47,
314*2d1272b8SAndroid Build Coastguard Worker 	18, 47, 20, 47, 2, 47, 48, 48,
315*2d1272b8SAndroid Build Coastguard Worker 	47, 5, 6, 47, 47, 47, 47, 47,
316*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 9, 10, 11,
317*2d1272b8SAndroid Build Coastguard Worker 	12, 47, 47, 47, 47, 47, 47, 47,
318*2d1272b8SAndroid Build Coastguard Worker 	47, 56, 47, 47, 47, 47, 47, 47,
319*2d1272b8SAndroid Build Coastguard Worker 	18, 47, 2, 47, 48, 48, 47, 5,
320*2d1272b8SAndroid Build Coastguard Worker 	6, 47, 47, 47, 47, 47, 47, 47,
321*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 9, 10, 11, 12, 47,
322*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
323*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 14, 47, 16, 47, 18, 47,
324*2d1272b8SAndroid Build Coastguard Worker 	20, 47, 2, 47, 48, 48, 47, 5,
325*2d1272b8SAndroid Build Coastguard Worker 	6, 47, 47, 47, 47, 47, 47, 47,
326*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 9, 10, 11, 12, 47,
327*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 56,
328*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 14, 47, 47, 47, 18, 47,
329*2d1272b8SAndroid Build Coastguard Worker 	20, 47, 2, 47, 48, 48, 47, 5,
330*2d1272b8SAndroid Build Coastguard Worker 	6, 47, 47, 47, 47, 47, 47, 47,
331*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 9, 10, 11, 12, 47,
332*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 57,
333*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 14, 15, 16, 47, 18, 47,
334*2d1272b8SAndroid Build Coastguard Worker 	20, 47, 2, 47, 48, 48, 47, 5,
335*2d1272b8SAndroid Build Coastguard Worker 	6, 47, 47, 47, 47, 47, 47, 47,
336*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 9, 10, 11, 12, 47,
337*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 47,
338*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 14, 15, 16, 47, 18, 47,
339*2d1272b8SAndroid Build Coastguard Worker 	20, 47, 2, 3, 48, 48, 47, 5,
340*2d1272b8SAndroid Build Coastguard Worker 	6, 47, 47, 47, 47, 47, 47, 47,
341*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 9, 10, 11, 12, 47,
342*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 47, 47, 47, 47, 47, 13,
343*2d1272b8SAndroid Build Coastguard Worker 	47, 47, 14, 15, 16, 17, 18, 47,
344*2d1272b8SAndroid Build Coastguard Worker 	20, 47, 22, 23, 24, 24, 21, 25,
345*2d1272b8SAndroid Build Coastguard Worker 	26, 21, 21, 21, 21, 21, 21, 21,
346*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 27, 28, 29, 30, 21,
347*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 58,
348*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 32, 33, 34, 35, 36, 37,
349*2d1272b8SAndroid Build Coastguard Worker 	38, 21, 22, 59, 24, 24, 21, 25,
350*2d1272b8SAndroid Build Coastguard Worker 	26, 21, 21, 21, 21, 21, 21, 21,
351*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 27, 28, 29, 30, 21,
352*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 21, 21, 21, 21, 21, 31,
353*2d1272b8SAndroid Build Coastguard Worker 	21, 21, 32, 33, 34, 35, 36, 21,
354*2d1272b8SAndroid Build Coastguard Worker 	38, 21, 1, 1, 2, 3, 48, 48,
355*2d1272b8SAndroid Build Coastguard Worker 	47, 5, 6, 1, 1, 47, 47, 47,
356*2d1272b8SAndroid Build Coastguard Worker 	1, 47, 47, 47, 47, 9, 10, 11,
357*2d1272b8SAndroid Build Coastguard Worker 	12, 47, 47, 47, 47, 47, 47, 47,
358*2d1272b8SAndroid Build Coastguard Worker 	47, 13, 47, 47, 14, 15, 16, 17,
359*2d1272b8SAndroid Build Coastguard Worker 	18, 19, 20, 47, 1, 1, 60, 60,
360*2d1272b8SAndroid Build Coastguard Worker 	60, 60, 60, 60, 60, 1, 1, 60,
361*2d1272b8SAndroid Build Coastguard Worker 	60, 60, 1, 60, 0
362*2d1272b8SAndroid Build Coastguard Worker };
363*2d1272b8SAndroid Build Coastguard Worker 
364*2d1272b8SAndroid Build Coastguard Worker static const char _myanmar_syllable_machine_trans_targs[] = {
365*2d1272b8SAndroid Build Coastguard Worker 	0, 1, 26, 37, 0, 27, 29, 51,
366*2d1272b8SAndroid Build Coastguard Worker 	54, 39, 40, 41, 28, 43, 44, 46,
367*2d1272b8SAndroid Build Coastguard Worker 	47, 48, 30, 50, 45, 0, 2, 13,
368*2d1272b8SAndroid Build Coastguard Worker 	0, 3, 5, 14, 15, 16, 4, 18,
369*2d1272b8SAndroid Build Coastguard Worker 	19, 21, 22, 23, 6, 25, 20, 12,
370*2d1272b8SAndroid Build Coastguard Worker 	9, 10, 11, 7, 8, 17, 24, 0,
371*2d1272b8SAndroid Build Coastguard Worker 	0, 36, 33, 34, 35, 31, 32, 38,
372*2d1272b8SAndroid Build Coastguard Worker 	42, 49, 52, 53, 0
373*2d1272b8SAndroid Build Coastguard Worker };
374*2d1272b8SAndroid Build Coastguard Worker 
375*2d1272b8SAndroid Build Coastguard Worker static const char _myanmar_syllable_machine_trans_actions[] = {
376*2d1272b8SAndroid Build Coastguard Worker 	3, 0, 0, 0, 4, 0, 0, 0,
377*2d1272b8SAndroid Build Coastguard Worker 	0, 0, 0, 0, 0, 0, 0, 0,
378*2d1272b8SAndroid Build Coastguard Worker 	0, 0, 0, 0, 0, 5, 0, 0,
379*2d1272b8SAndroid Build Coastguard Worker 	6, 0, 0, 0, 0, 0, 0, 0,
380*2d1272b8SAndroid Build Coastguard Worker 	0, 0, 0, 0, 0, 0, 0, 0,
381*2d1272b8SAndroid Build Coastguard Worker 	0, 0, 0, 0, 0, 0, 0, 7,
382*2d1272b8SAndroid Build Coastguard Worker 	8, 0, 0, 0, 0, 0, 0, 0,
383*2d1272b8SAndroid Build Coastguard Worker 	0, 0, 0, 0, 9
384*2d1272b8SAndroid Build Coastguard Worker };
385*2d1272b8SAndroid Build Coastguard Worker 
386*2d1272b8SAndroid Build Coastguard Worker static const char _myanmar_syllable_machine_to_state_actions[] = {
387*2d1272b8SAndroid Build Coastguard Worker 	1, 0, 0, 0, 0, 0, 0, 0,
388*2d1272b8SAndroid Build Coastguard Worker 	0, 0, 0, 0, 0, 0, 0, 0,
389*2d1272b8SAndroid Build Coastguard Worker 	0, 0, 0, 0, 0, 0, 0, 0,
390*2d1272b8SAndroid Build Coastguard Worker 	0, 0, 0, 0, 0, 0, 0, 0,
391*2d1272b8SAndroid Build Coastguard Worker 	0, 0, 0, 0, 0, 0, 0, 0,
392*2d1272b8SAndroid Build Coastguard Worker 	0, 0, 0, 0, 0, 0, 0, 0,
393*2d1272b8SAndroid Build Coastguard Worker 	0, 0, 0, 0, 0, 0, 0
394*2d1272b8SAndroid Build Coastguard Worker };
395*2d1272b8SAndroid Build Coastguard Worker 
396*2d1272b8SAndroid Build Coastguard Worker static const char _myanmar_syllable_machine_from_state_actions[] = {
397*2d1272b8SAndroid Build Coastguard Worker 	2, 0, 0, 0, 0, 0, 0, 0,
398*2d1272b8SAndroid Build Coastguard Worker 	0, 0, 0, 0, 0, 0, 0, 0,
399*2d1272b8SAndroid Build Coastguard Worker 	0, 0, 0, 0, 0, 0, 0, 0,
400*2d1272b8SAndroid Build Coastguard Worker 	0, 0, 0, 0, 0, 0, 0, 0,
401*2d1272b8SAndroid Build Coastguard Worker 	0, 0, 0, 0, 0, 0, 0, 0,
402*2d1272b8SAndroid Build Coastguard Worker 	0, 0, 0, 0, 0, 0, 0, 0,
403*2d1272b8SAndroid Build Coastguard Worker 	0, 0, 0, 0, 0, 0, 0
404*2d1272b8SAndroid Build Coastguard Worker };
405*2d1272b8SAndroid Build Coastguard Worker 
406*2d1272b8SAndroid Build Coastguard Worker static const short _myanmar_syllable_machine_eof_trans[] = {
407*2d1272b8SAndroid Build Coastguard Worker 	0, 22, 22, 22, 22, 22, 22, 22,
408*2d1272b8SAndroid Build Coastguard Worker 	22, 22, 22, 22, 22, 22, 22, 22,
409*2d1272b8SAndroid Build Coastguard Worker 	22, 22, 22, 22, 22, 22, 22, 22,
410*2d1272b8SAndroid Build Coastguard Worker 	22, 22, 48, 48, 48, 48, 48, 48,
411*2d1272b8SAndroid Build Coastguard Worker 	48, 48, 48, 48, 48, 48, 48, 48,
412*2d1272b8SAndroid Build Coastguard Worker 	48, 48, 48, 48, 48, 48, 48, 48,
413*2d1272b8SAndroid Build Coastguard Worker 	48, 48, 48, 22, 22, 48, 61
414*2d1272b8SAndroid Build Coastguard Worker };
415*2d1272b8SAndroid Build Coastguard Worker 
416*2d1272b8SAndroid Build Coastguard Worker static const int myanmar_syllable_machine_start = 0;
417*2d1272b8SAndroid Build Coastguard Worker static const int myanmar_syllable_machine_first_final = 0;
418*2d1272b8SAndroid Build Coastguard Worker static const int myanmar_syllable_machine_error = -1;
419*2d1272b8SAndroid Build Coastguard Worker 
420*2d1272b8SAndroid Build Coastguard Worker static const int myanmar_syllable_machine_en_main = 0;
421*2d1272b8SAndroid Build Coastguard Worker 
422*2d1272b8SAndroid Build Coastguard Worker 
423*2d1272b8SAndroid Build Coastguard Worker #line 55 "hb-ot-shaper-myanmar-machine.rl"
424*2d1272b8SAndroid Build Coastguard Worker 
425*2d1272b8SAndroid Build Coastguard Worker 
426*2d1272b8SAndroid Build Coastguard Worker 
427*2d1272b8SAndroid Build Coastguard Worker #line 117 "hb-ot-shaper-myanmar-machine.rl"
428*2d1272b8SAndroid Build Coastguard Worker 
429*2d1272b8SAndroid Build Coastguard Worker 
430*2d1272b8SAndroid Build Coastguard Worker #define found_syllable(syllable_type) \
431*2d1272b8SAndroid Build Coastguard Worker   HB_STMT_START { \
432*2d1272b8SAndroid Build Coastguard Worker     if (0) fprintf (stderr, "syllable %u..%u %s\n", ts, te, #syllable_type); \
433*2d1272b8SAndroid Build Coastguard Worker     for (unsigned int i = ts; i < te; i++) \
434*2d1272b8SAndroid Build Coastguard Worker       info[i].syllable() = (syllable_serial << 4) | syllable_type; \
435*2d1272b8SAndroid Build Coastguard Worker     syllable_serial++; \
436*2d1272b8SAndroid Build Coastguard Worker     if (syllable_serial == 16) syllable_serial = 1; \
437*2d1272b8SAndroid Build Coastguard Worker   } HB_STMT_END
438*2d1272b8SAndroid Build Coastguard Worker 
439*2d1272b8SAndroid Build Coastguard Worker inline void
find_syllables_myanmar(hb_buffer_t * buffer)440*2d1272b8SAndroid Build Coastguard Worker find_syllables_myanmar (hb_buffer_t *buffer)
441*2d1272b8SAndroid Build Coastguard Worker {
442*2d1272b8SAndroid Build Coastguard Worker   unsigned int p, pe, eof, ts, te, act HB_UNUSED;
443*2d1272b8SAndroid Build Coastguard Worker   int cs;
444*2d1272b8SAndroid Build Coastguard Worker   hb_glyph_info_t *info = buffer->info;
445*2d1272b8SAndroid Build Coastguard Worker 
446*2d1272b8SAndroid Build Coastguard Worker #line 447 "hb-ot-shaper-myanmar-machine.hh"
447*2d1272b8SAndroid Build Coastguard Worker 	{
448*2d1272b8SAndroid Build Coastguard Worker 	cs = myanmar_syllable_machine_start;
449*2d1272b8SAndroid Build Coastguard Worker 	ts = 0;
450*2d1272b8SAndroid Build Coastguard Worker 	te = 0;
451*2d1272b8SAndroid Build Coastguard Worker 	act = 0;
452*2d1272b8SAndroid Build Coastguard Worker 	}
453*2d1272b8SAndroid Build Coastguard Worker 
454*2d1272b8SAndroid Build Coastguard Worker #line 137 "hb-ot-shaper-myanmar-machine.rl"
455*2d1272b8SAndroid Build Coastguard Worker 
456*2d1272b8SAndroid Build Coastguard Worker 
457*2d1272b8SAndroid Build Coastguard Worker   p = 0;
458*2d1272b8SAndroid Build Coastguard Worker   pe = eof = buffer->len;
459*2d1272b8SAndroid Build Coastguard Worker 
460*2d1272b8SAndroid Build Coastguard Worker   unsigned int syllable_serial = 1;
461*2d1272b8SAndroid Build Coastguard Worker 
462*2d1272b8SAndroid Build Coastguard Worker #line 463 "hb-ot-shaper-myanmar-machine.hh"
463*2d1272b8SAndroid Build Coastguard Worker 	{
464*2d1272b8SAndroid Build Coastguard Worker 	int _slen;
465*2d1272b8SAndroid Build Coastguard Worker 	int _trans;
466*2d1272b8SAndroid Build Coastguard Worker 	const unsigned char *_keys;
467*2d1272b8SAndroid Build Coastguard Worker 	const char *_inds;
468*2d1272b8SAndroid Build Coastguard Worker 	if ( p == pe )
469*2d1272b8SAndroid Build Coastguard Worker 		goto _test_eof;
470*2d1272b8SAndroid Build Coastguard Worker _resume:
471*2d1272b8SAndroid Build Coastguard Worker 	switch ( _myanmar_syllable_machine_from_state_actions[cs] ) {
472*2d1272b8SAndroid Build Coastguard Worker 	case 2:
473*2d1272b8SAndroid Build Coastguard Worker #line 1 "NONE"
474*2d1272b8SAndroid Build Coastguard Worker 	{ts = p;}
475*2d1272b8SAndroid Build Coastguard Worker 	break;
476*2d1272b8SAndroid Build Coastguard Worker #line 477 "hb-ot-shaper-myanmar-machine.hh"
477*2d1272b8SAndroid Build Coastguard Worker 	}
478*2d1272b8SAndroid Build Coastguard Worker 
479*2d1272b8SAndroid Build Coastguard Worker 	_keys = _myanmar_syllable_machine_trans_keys + (cs<<1);
480*2d1272b8SAndroid Build Coastguard Worker 	_inds = _myanmar_syllable_machine_indicies + _myanmar_syllable_machine_index_offsets[cs];
481*2d1272b8SAndroid Build Coastguard Worker 
482*2d1272b8SAndroid Build Coastguard Worker 	_slen = _myanmar_syllable_machine_key_spans[cs];
483*2d1272b8SAndroid Build Coastguard Worker 	_trans = _inds[ _slen > 0 && _keys[0] <=( info[p].myanmar_category()) &&
484*2d1272b8SAndroid Build Coastguard Worker 		( info[p].myanmar_category()) <= _keys[1] ?
485*2d1272b8SAndroid Build Coastguard Worker 		( info[p].myanmar_category()) - _keys[0] : _slen ];
486*2d1272b8SAndroid Build Coastguard Worker 
487*2d1272b8SAndroid Build Coastguard Worker _eof_trans:
488*2d1272b8SAndroid Build Coastguard Worker 	cs = _myanmar_syllable_machine_trans_targs[_trans];
489*2d1272b8SAndroid Build Coastguard Worker 
490*2d1272b8SAndroid Build Coastguard Worker 	if ( _myanmar_syllable_machine_trans_actions[_trans] == 0 )
491*2d1272b8SAndroid Build Coastguard Worker 		goto _again;
492*2d1272b8SAndroid Build Coastguard Worker 
493*2d1272b8SAndroid Build Coastguard Worker 	switch ( _myanmar_syllable_machine_trans_actions[_trans] ) {
494*2d1272b8SAndroid Build Coastguard Worker 	case 6:
495*2d1272b8SAndroid Build Coastguard Worker #line 110 "hb-ot-shaper-myanmar-machine.rl"
496*2d1272b8SAndroid Build Coastguard Worker 	{te = p+1;{ found_syllable (myanmar_consonant_syllable); }}
497*2d1272b8SAndroid Build Coastguard Worker 	break;
498*2d1272b8SAndroid Build Coastguard Worker 	case 4:
499*2d1272b8SAndroid Build Coastguard Worker #line 111 "hb-ot-shaper-myanmar-machine.rl"
500*2d1272b8SAndroid Build Coastguard Worker 	{te = p+1;{ found_syllable (myanmar_non_myanmar_cluster); }}
501*2d1272b8SAndroid Build Coastguard Worker 	break;
502*2d1272b8SAndroid Build Coastguard Worker 	case 8:
503*2d1272b8SAndroid Build Coastguard Worker #line 112 "hb-ot-shaper-myanmar-machine.rl"
504*2d1272b8SAndroid Build Coastguard Worker 	{te = p+1;{ found_syllable (myanmar_broken_cluster); buffer->scratch_flags |= HB_BUFFER_SCRATCH_FLAG_HAS_BROKEN_SYLLABLE; }}
505*2d1272b8SAndroid Build Coastguard Worker 	break;
506*2d1272b8SAndroid Build Coastguard Worker 	case 3:
507*2d1272b8SAndroid Build Coastguard Worker #line 113 "hb-ot-shaper-myanmar-machine.rl"
508*2d1272b8SAndroid Build Coastguard Worker 	{te = p+1;{ found_syllable (myanmar_non_myanmar_cluster); }}
509*2d1272b8SAndroid Build Coastguard Worker 	break;
510*2d1272b8SAndroid Build Coastguard Worker 	case 5:
511*2d1272b8SAndroid Build Coastguard Worker #line 110 "hb-ot-shaper-myanmar-machine.rl"
512*2d1272b8SAndroid Build Coastguard Worker 	{te = p;p--;{ found_syllable (myanmar_consonant_syllable); }}
513*2d1272b8SAndroid Build Coastguard Worker 	break;
514*2d1272b8SAndroid Build Coastguard Worker 	case 7:
515*2d1272b8SAndroid Build Coastguard Worker #line 112 "hb-ot-shaper-myanmar-machine.rl"
516*2d1272b8SAndroid Build Coastguard Worker 	{te = p;p--;{ found_syllable (myanmar_broken_cluster); buffer->scratch_flags |= HB_BUFFER_SCRATCH_FLAG_HAS_BROKEN_SYLLABLE; }}
517*2d1272b8SAndroid Build Coastguard Worker 	break;
518*2d1272b8SAndroid Build Coastguard Worker 	case 9:
519*2d1272b8SAndroid Build Coastguard Worker #line 113 "hb-ot-shaper-myanmar-machine.rl"
520*2d1272b8SAndroid Build Coastguard Worker 	{te = p;p--;{ found_syllable (myanmar_non_myanmar_cluster); }}
521*2d1272b8SAndroid Build Coastguard Worker 	break;
522*2d1272b8SAndroid Build Coastguard Worker #line 523 "hb-ot-shaper-myanmar-machine.hh"
523*2d1272b8SAndroid Build Coastguard Worker 	}
524*2d1272b8SAndroid Build Coastguard Worker 
525*2d1272b8SAndroid Build Coastguard Worker _again:
526*2d1272b8SAndroid Build Coastguard Worker 	switch ( _myanmar_syllable_machine_to_state_actions[cs] ) {
527*2d1272b8SAndroid Build Coastguard Worker 	case 1:
528*2d1272b8SAndroid Build Coastguard Worker #line 1 "NONE"
529*2d1272b8SAndroid Build Coastguard Worker 	{ts = 0;}
530*2d1272b8SAndroid Build Coastguard Worker 	break;
531*2d1272b8SAndroid Build Coastguard Worker #line 532 "hb-ot-shaper-myanmar-machine.hh"
532*2d1272b8SAndroid Build Coastguard Worker 	}
533*2d1272b8SAndroid Build Coastguard Worker 
534*2d1272b8SAndroid Build Coastguard Worker 	if ( ++p != pe )
535*2d1272b8SAndroid Build Coastguard Worker 		goto _resume;
536*2d1272b8SAndroid Build Coastguard Worker 	_test_eof: {}
537*2d1272b8SAndroid Build Coastguard Worker 	if ( p == eof )
538*2d1272b8SAndroid Build Coastguard Worker 	{
539*2d1272b8SAndroid Build Coastguard Worker 	if ( _myanmar_syllable_machine_eof_trans[cs] > 0 ) {
540*2d1272b8SAndroid Build Coastguard Worker 		_trans = _myanmar_syllable_machine_eof_trans[cs] - 1;
541*2d1272b8SAndroid Build Coastguard Worker 		goto _eof_trans;
542*2d1272b8SAndroid Build Coastguard Worker 	}
543*2d1272b8SAndroid Build Coastguard Worker 	}
544*2d1272b8SAndroid Build Coastguard Worker 
545*2d1272b8SAndroid Build Coastguard Worker 	}
546*2d1272b8SAndroid Build Coastguard Worker 
547*2d1272b8SAndroid Build Coastguard Worker #line 145 "hb-ot-shaper-myanmar-machine.rl"
548*2d1272b8SAndroid Build Coastguard Worker 
549*2d1272b8SAndroid Build Coastguard Worker }
550*2d1272b8SAndroid Build Coastguard Worker 
551*2d1272b8SAndroid Build Coastguard Worker #undef found_syllable
552*2d1272b8SAndroid Build Coastguard Worker 
553*2d1272b8SAndroid Build Coastguard Worker #endif /* HB_OT_SHAPER_MYANMAR_MACHINE_HH */
554