Coverage Report

Created: 2024-05-20 07:14

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