1#![allow(
2 dead_code,
3 non_upper_case_globals,
4 unused_assignments,
5 unused_parens,
6 while_true,
7 clippy::assign_op_pattern,
8 clippy::collapsible_if,
9 clippy::comparison_chain,
10 clippy::double_parens,
11 clippy::unnecessary_cast,
12 clippy::single_match,
13 clippy::never_loop
14)]
15
16use super::buffer::{hb_buffer_t, HB_BUFFER_SCRATCH_FLAG_HAS_BROKEN_SYLLABLE};
17
18static _myanmar_syllable_machine_actions: [i8; 21] = [
19 0, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 0, 0,
20];
21static _myanmar_syllable_machine_key_offsets: [i16; 57] = [
22 0, 24, 42, 48, 51, 62, 69, 76, 81, 85, 93, 102, 112, 117, 120, 129, 137, 148, 158, 174, 186,
23 197, 210, 223, 238, 252, 269, 275, 278, 289, 296, 303, 308, 312, 320, 329, 339, 344, 347, 365,
24 374, 382, 393, 403, 419, 431, 442, 455, 468, 483, 497, 514, 532, 549, 572, 0, 0,
25];
26static _myanmar_syllable_machine_trans_keys: [u8; 579] = [
27 3, 4, 8, 9, 15, 18, 20, 21, 22, 23, 32, 35, 36, 37, 38, 39, 40, 41, 1, 2, 5, 6, 10, 11, 3, 4,
28 8, 9, 20, 21, 22, 23, 32, 35, 36, 37, 38, 39, 40, 41, 5, 6, 8, 23, 32, 39, 5, 6, 8, 5, 6, 3, 8,
29 9, 20, 23, 32, 35, 39, 41, 5, 6, 3, 8, 9, 23, 39, 5, 6, 3, 8, 9, 32, 39, 5, 6, 8, 32, 39, 5, 6,
30 8, 39, 5, 6, 3, 8, 9, 20, 23, 39, 5, 6, 3, 8, 9, 20, 23, 32, 39, 5, 6, 3, 8, 9, 20, 23, 32, 39,
31 41, 5, 6, 8, 23, 39, 5, 6, 15, 1, 2, 3, 8, 9, 20, 21, 23, 39, 5, 6, 3, 8, 9, 21, 23, 39, 5, 6,
32 3, 8, 9, 20, 21, 22, 23, 39, 40, 5, 6, 3, 8, 9, 20, 21, 22, 23, 39, 5, 6, 3, 8, 9, 20, 21, 22,
33 23, 32, 35, 36, 37, 38, 39, 41, 5, 6, 3, 8, 9, 20, 21, 22, 23, 32, 39, 41, 5, 6, 3, 8, 9, 20,
34 21, 22, 23, 32, 39, 5, 6, 3, 8, 9, 20, 21, 22, 23, 35, 37, 39, 41, 5, 6, 3, 8, 9, 20, 21, 22,
35 23, 32, 35, 39, 41, 5, 6, 3, 8, 9, 20, 21, 22, 23, 32, 35, 36, 37, 39, 41, 5, 6, 3, 8, 9, 20,
36 21, 22, 23, 35, 36, 37, 39, 41, 5, 6, 3, 4, 8, 9, 20, 21, 22, 23, 32, 35, 36, 37, 38, 39, 41,
37 5, 6, 8, 23, 32, 39, 5, 6, 8, 5, 6, 3, 8, 9, 20, 23, 32, 35, 39, 41, 5, 6, 3, 8, 9, 23, 39, 5,
38 6, 3, 8, 9, 32, 39, 5, 6, 8, 32, 39, 5, 6, 8, 39, 5, 6, 3, 8, 9, 20, 23, 39, 5, 6, 3, 8, 9, 20,
39 23, 32, 39, 5, 6, 3, 8, 9, 20, 23, 32, 39, 41, 5, 6, 8, 23, 39, 5, 6, 15, 1, 2, 3, 4, 8, 9, 20,
40 21, 22, 23, 32, 35, 36, 37, 38, 39, 40, 41, 5, 6, 3, 8, 9, 20, 21, 23, 39, 5, 6, 3, 8, 9, 21,
41 23, 39, 5, 6, 3, 8, 9, 20, 21, 22, 23, 39, 40, 5, 6, 3, 8, 9, 20, 21, 22, 23, 39, 5, 6, 3, 8,
42 9, 20, 21, 22, 23, 32, 35, 36, 37, 38, 39, 41, 5, 6, 3, 8, 9, 20, 21, 22, 23, 32, 39, 41, 5, 6,
43 3, 8, 9, 20, 21, 22, 23, 32, 39, 5, 6, 3, 8, 9, 20, 21, 22, 23, 35, 37, 39, 41, 5, 6, 3, 8, 9,
44 20, 21, 22, 23, 32, 35, 39, 41, 5, 6, 3, 8, 9, 20, 21, 22, 23, 32, 35, 36, 37, 39, 41, 5, 6, 3,
45 8, 9, 20, 21, 22, 23, 35, 36, 37, 39, 41, 5, 6, 3, 4, 8, 9, 20, 21, 22, 23, 32, 35, 36, 37, 38,
46 39, 41, 5, 6, 3, 4, 8, 9, 20, 21, 22, 23, 32, 35, 36, 37, 38, 39, 40, 41, 5, 6, 3, 4, 8, 9, 20,
47 21, 22, 23, 32, 35, 36, 37, 38, 39, 41, 5, 6, 3, 4, 8, 9, 15, 20, 21, 22, 23, 32, 35, 36, 37,
48 38, 39, 40, 41, 1, 2, 5, 6, 10, 11, 15, 1, 2, 10, 11, 0, 0,
49];
50static _myanmar_syllable_machine_single_lengths: [i8; 57] = [
51 18, 16, 4, 1, 9, 5, 5, 3, 2, 6, 7, 8, 3, 1, 7, 6, 9, 8, 14, 10, 9, 11, 11, 13, 12, 15, 4, 1, 9,
52 5, 5, 3, 2, 6, 7, 8, 3, 1, 16, 7, 6, 9, 8, 14, 10, 9, 11, 11, 13, 12, 15, 16, 15, 17, 1, 0, 0,
53];
54static _myanmar_syllable_machine_range_lengths: [i8; 57] = [
55 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
56 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 0, 0,
57];
58static _myanmar_syllable_machine_index_offsets: [i16; 57] = [
59 0, 22, 40, 46, 49, 60, 67, 74, 79, 83, 91, 100, 110, 115, 118, 127, 135, 146, 156, 172, 184,
60 195, 208, 221, 236, 250, 267, 273, 276, 287, 294, 301, 306, 310, 318, 327, 337, 342, 345, 363,
61 372, 380, 391, 401, 417, 429, 440, 453, 466, 481, 495, 512, 530, 547, 568, 0, 0,
62];
63static _myanmar_syllable_machine_cond_targs: [i8; 629] = [
64 26, 37, 27, 29, 51, 54, 39, 40, 41, 28, 43, 44, 46, 47, 48, 30, 50, 45, 1, 0, 1, 0, 2, 13, 3,
65 5, 14, 15, 16, 4, 18, 19, 21, 22, 23, 6, 25, 20, 0, 0, 3, 4, 12, 6, 0, 0, 3, 0, 0, 2, 3, 5, 9,
66 4, 10, 11, 6, 10, 0, 0, 2, 3, 5, 4, 6, 0, 0, 7, 3, 6, 8, 6, 0, 0, 3, 8, 6, 0, 0, 3, 6, 0, 0, 2,
67 3, 5, 9, 4, 6, 0, 0, 2, 3, 5, 9, 4, 10, 6, 0, 0, 2, 3, 5, 9, 4, 10, 6, 10, 0, 0, 3, 4, 6, 0, 0,
68 1, 1, 0, 2, 3, 5, 14, 15, 4, 6, 0, 0, 2, 3, 5, 15, 4, 6, 0, 0, 2, 3, 5, 14, 15, 16, 4, 6, 17,
69 0, 0, 2, 3, 5, 14, 15, 16, 4, 6, 0, 0, 2, 3, 5, 14, 15, 16, 4, 18, 19, 21, 22, 23, 6, 20, 0, 0,
70 2, 3, 5, 14, 15, 16, 4, 17, 6, 20, 0, 0, 2, 3, 5, 14, 15, 16, 4, 17, 6, 0, 0, 2, 3, 5, 14, 15,
71 16, 4, 19, 22, 6, 20, 0, 0, 2, 3, 5, 14, 15, 16, 4, 17, 19, 6, 20, 0, 0, 2, 3, 5, 14, 15, 16,
72 4, 24, 19, 21, 22, 6, 20, 0, 0, 2, 3, 5, 14, 15, 16, 4, 19, 21, 22, 6, 20, 0, 0, 2, 13, 3, 5,
73 14, 15, 16, 4, 18, 19, 21, 22, 23, 6, 20, 0, 0, 27, 28, 36, 30, 0, 0, 27, 0, 0, 26, 27, 29, 33,
74 28, 34, 35, 30, 34, 0, 0, 26, 27, 29, 28, 30, 0, 0, 31, 27, 30, 32, 30, 0, 0, 27, 32, 30, 0, 0,
75 27, 30, 0, 0, 26, 27, 29, 33, 28, 30, 0, 0, 26, 27, 29, 33, 28, 34, 30, 0, 0, 26, 27, 29, 33,
76 28, 34, 30, 34, 0, 0, 27, 28, 30, 0, 0, 38, 38, 0, 26, 37, 27, 29, 39, 40, 41, 28, 43, 44, 46,
77 47, 48, 30, 50, 45, 0, 0, 26, 27, 29, 39, 40, 28, 30, 0, 0, 26, 27, 29, 40, 28, 30, 0, 0, 26,
78 27, 29, 39, 40, 41, 28, 30, 42, 0, 0, 26, 27, 29, 39, 40, 41, 28, 30, 0, 0, 26, 27, 29, 39, 40,
79 41, 28, 43, 44, 46, 47, 48, 30, 45, 0, 0, 26, 27, 29, 39, 40, 41, 28, 42, 30, 45, 0, 0, 26, 27,
80 29, 39, 40, 41, 28, 42, 30, 0, 0, 26, 27, 29, 39, 40, 41, 28, 44, 47, 30, 45, 0, 0, 26, 27, 29,
81 39, 40, 41, 28, 42, 44, 30, 45, 0, 0, 26, 27, 29, 39, 40, 41, 28, 49, 44, 46, 47, 30, 45, 0, 0,
82 26, 27, 29, 39, 40, 41, 28, 44, 46, 47, 30, 45, 0, 0, 26, 37, 27, 29, 39, 40, 41, 28, 43, 44,
83 46, 47, 48, 30, 45, 0, 0, 2, 13, 3, 5, 14, 15, 16, 4, 52, 19, 21, 22, 23, 6, 25, 20, 0, 0, 2,
84 53, 3, 5, 14, 15, 16, 4, 18, 19, 21, 22, 23, 6, 20, 0, 0, 26, 37, 27, 29, 1, 39, 40, 41, 28,
85 43, 44, 46, 47, 48, 30, 50, 45, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
86 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
87 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
88];
89static _myanmar_syllable_machine_cond_actions: [i8; 629] = [
90 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
91 0, 0, 0, 0, 0, 0, 0, 5, 13, 0, 0, 0, 0, 5, 13, 0, 5, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 13, 0,
92 0, 0, 0, 0, 5, 13, 0, 0, 0, 0, 0, 5, 13, 0, 0, 0, 5, 13, 0, 0, 5, 13, 0, 0, 0, 0, 0, 0, 5, 13,
93 0, 0, 0, 0, 0, 0, 0, 5, 13, 0, 0, 0, 0, 0, 0, 0, 0, 5, 13, 0, 0, 0, 5, 13, 0, 0, 13, 0, 0, 0,
94 0, 0, 0, 0, 5, 13, 0, 0, 0, 0, 0, 0, 5, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 13, 0, 0, 0, 0, 0, 0,
95 0, 0, 5, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,
96 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 13, 0, 0, 0, 0, 0, 0,
97 0, 0, 0, 0, 0, 5, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0,
98 0, 0, 0, 5, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 13, 0, 0, 0, 0, 9, 15, 0, 9,
99 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 15, 0, 0, 0, 0, 0, 9, 15, 0, 0, 0, 0, 0, 9, 15, 0, 0, 0, 9,
100 15, 0, 0, 9, 15, 0, 0, 0, 0, 0, 0, 9, 15, 0, 0, 0, 0, 0, 0, 0, 9, 15, 0, 0, 0, 0, 0, 0, 0, 0,
101 9, 15, 0, 0, 0, 9, 15, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 15, 0, 0,
102 0, 0, 0, 0, 0, 9, 15, 0, 0, 0, 0, 0, 0, 9, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 15, 0, 0, 0, 0, 0,
103 0, 0, 0, 9, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
104 9, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 15, 0, 0, 0, 0, 0,
105 0, 0, 0, 0, 0, 0, 9, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 15, 0, 0, 0, 0, 0, 0, 0, 0,
106 0, 0, 0, 0, 9, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 15, 0, 0, 0, 0, 0, 0, 0, 0,
107 0, 0, 0, 0, 0, 0, 0, 0, 5, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 13, 0, 0, 0, 0,
108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 15, 0, 0, 0, 17, 0, 13, 13, 13, 13, 13, 13, 13,
109 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 15, 15, 15, 15, 15, 15,
110 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 13, 13, 15, 17, 0,
111 0,
112];
113static _myanmar_syllable_machine_to_state_actions: [i8; 57] = [
114 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
116];
117static _myanmar_syllable_machine_from_state_actions: [i8; 57] = [
118 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
120];
121static _myanmar_syllable_machine_eof_trans: [i16; 57] = [
122 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
123 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
124 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 0, 0,
125];
126static myanmar_syllable_machine_start: i32 = 0;
127static myanmar_syllable_machine_first_final: i32 = 0;
128static myanmar_syllable_machine_error: i32 = -1;
129static myanmar_syllable_machine_en_main: i32 = 0;
130#[derive(Clone, Copy)]
131pub enum SyllableType {
132 ConsonantSyllable = 0,
133 PunctuationCluster,
134 BrokenCluster,
135 NonMyanmarCluster,
136}
137
138pub fn find_syllables_myanmar(buffer: &mut hb_buffer_t) {
139 let mut cs = 0;
140 let mut ts = 0;
141 let mut te;
142 let mut p = 0;
143 let pe = buffer.len;
144 let eof = buffer.len;
145 let mut syllable_serial = 1u8;
146
147 macro_rules! found_syllable {
148 ($kind:expr) => {{
149 found_syllable(ts, te, &mut syllable_serial, $kind, buffer);
150 }};
151 }
152
153 {
154 cs = (myanmar_syllable_machine_start) as i32;
155 ts = 0;
156 te = 0;
157 }
158
159 {
160 let mut _klen = 0;
161 let mut _trans = 0;
162 let mut _keys: i32 = 0;
163 let mut _acts: i32 = 0;
164 let mut _nacts = 0;
165 let mut __have = 0;
166 '_resume: while (p != pe || p == eof) {
167 '_again: while (true) {
168 _acts = (_myanmar_syllable_machine_from_state_actions[(cs) as usize]) as i32;
169 _nacts = (_myanmar_syllable_machine_actions[(_acts) as usize]) as u32;
170 _acts += 1;
171 while (_nacts > 0) {
172 match (_myanmar_syllable_machine_actions[(_acts) as usize]) {
173 1 => {
174 ts = p;
175 }
176
177 _ => {}
178 }
179 _nacts -= 1;
180 _acts += 1;
181 }
182 if (p == eof) {
183 {
184 if (_myanmar_syllable_machine_eof_trans[(cs) as usize] > 0) {
185 {
186 _trans =
187 (_myanmar_syllable_machine_eof_trans[(cs) as usize]) as u32 - 1;
188 }
189 }
190 }
191 } else {
192 {
193 _keys = (_myanmar_syllable_machine_key_offsets[(cs) as usize]) as i32;
194 _trans = (_myanmar_syllable_machine_index_offsets[(cs) as usize]) as u32;
195 _klen = (_myanmar_syllable_machine_single_lengths[(cs) as usize]) as i32;
196 __have = 0;
197 if (_klen > 0) {
198 {
199 let mut _lower: i32 = _keys;
200 let mut _upper: i32 = _keys + _klen - 1;
201 let mut _mid: i32 = 0;
202 while (true) {
203 if (_upper < _lower) {
204 {
205 _keys += _klen;
206 _trans += (_klen) as u32;
207 break;
208 }
209 }
210 _mid = _lower + ((_upper - _lower) >> 1);
211 if ((buffer.info[p].myanmar_category() as u8)
212 < _myanmar_syllable_machine_trans_keys[(_mid) as usize])
213 {
214 _upper = _mid - 1;
215 } else if ((buffer.info[p].myanmar_category() as u8)
216 > _myanmar_syllable_machine_trans_keys[(_mid) as usize])
217 {
218 _lower = _mid + 1;
219 } else {
220 {
221 __have = 1;
222 _trans += (_mid - _keys) as u32;
223 break;
224 }
225 }
226 }
227 }
228 }
229 _klen = (_myanmar_syllable_machine_range_lengths[(cs) as usize]) as i32;
230 if (__have == 0 && _klen > 0) {
231 {
232 let mut _lower: i32 = _keys;
233 let mut _upper: i32 = _keys + (_klen << 1) - 2;
234 let mut _mid: i32 = 0;
235 while (true) {
236 if (_upper < _lower) {
237 {
238 _trans += (_klen) as u32;
239 break;
240 }
241 }
242 _mid = _lower + (((_upper - _lower) >> 1) & !1);
243 if ((buffer.info[p].myanmar_category() as u8)
244 < _myanmar_syllable_machine_trans_keys[(_mid) as usize])
245 {
246 _upper = _mid - 2;
247 } else if ((buffer.info[p].myanmar_category() as u8)
248 > _myanmar_syllable_machine_trans_keys[(_mid + 1) as usize])
249 {
250 _lower = _mid + 2;
251 } else {
252 {
253 _trans += ((_mid - _keys) >> 1) as u32;
254 break;
255 }
256 }
257 }
258 }
259 }
260 }
261 }
262 cs = (_myanmar_syllable_machine_cond_targs[(_trans) as usize]) as i32;
263 if (_myanmar_syllable_machine_cond_actions[(_trans) as usize] != 0) {
264 {
265 _acts = (_myanmar_syllable_machine_cond_actions[(_trans) as usize]) as i32;
266 _nacts = (_myanmar_syllable_machine_actions[(_acts) as usize]) as u32;
267 _acts += 1;
268 while (_nacts > 0) {
269 match (_myanmar_syllable_machine_actions[(_acts) as usize]) {
270 2 => {
271 te = p + 1;
272 {
273 found_syllable!(SyllableType::ConsonantSyllable);
274 }
275 }
276 3 => {
277 te = p + 1;
278 {
279 found_syllable!(SyllableType::NonMyanmarCluster);
280 }
281 }
282 4 => {
283 te = p + 1;
284 {
285 found_syllable!(SyllableType::BrokenCluster);
286 buffer.scratch_flags |=
287 HB_BUFFER_SCRATCH_FLAG_HAS_BROKEN_SYLLABLE;
288 }
289 }
290 5 => {
291 te = p + 1;
292 {
293 found_syllable!(SyllableType::NonMyanmarCluster);
294 }
295 }
296 6 => {
297 te = p;
298 p = p - 1;
299 {
300 found_syllable!(SyllableType::ConsonantSyllable);
301 }
302 }
303 7 => {
304 te = p;
305 p = p - 1;
306 {
307 found_syllable!(SyllableType::BrokenCluster);
308 buffer.scratch_flags |=
309 HB_BUFFER_SCRATCH_FLAG_HAS_BROKEN_SYLLABLE;
310 }
311 }
312 8 => {
313 te = p;
314 p = p - 1;
315 {
316 found_syllable!(SyllableType::NonMyanmarCluster);
317 }
318 }
319
320 _ => {}
321 }
322 _nacts -= 1;
323 _acts += 1;
324 }
325 }
326 }
327 break '_again;
328 }
329 if (p == eof) {
330 {
331 if (cs >= 0) {
332 break '_resume;
333 }
334 }
335 } else {
336 {
337 _acts = (_myanmar_syllable_machine_to_state_actions[(cs) as usize]) as i32;
338 _nacts = (_myanmar_syllable_machine_actions[(_acts) as usize]) as u32;
339 _acts += 1;
340 while (_nacts > 0) {
341 match (_myanmar_syllable_machine_actions[(_acts) as usize]) {
342 0 => {
343 ts = 0;
344 }
345
346 _ => {}
347 }
348 _nacts -= 1;
349 _acts += 1;
350 }
351 p += 1;
352 continue '_resume;
353 }
354 }
355 break '_resume;
356 }
357 }
358}
359
360#[inline]
361fn found_syllable(
362 start: usize,
363 end: usize,
364 syllable_serial: &mut u8,
365 kind: SyllableType,
366 buffer: &mut hb_buffer_t,
367) {
368 for i: usize in start..end {
369 buffer.info[i].set_syllable((*syllable_serial << 4) | kind as u8);
370 }
371
372 *syllable_serial += 1;
373
374 if *syllable_serial == 16 {
375 *syllable_serial = 1;
376 }
377}
378