2 #line 1 "../../src/hb-ot-shape-complex-indic-machine.rl"
4 * Copyright © 2011,2012 Google, Inc.
6 * This is part of HarfBuzz, a text shaping library.
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.
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
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.
26 * Google Author(s): Behdad Esfahbod
29 #ifndef HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH
30 #define HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH
32 #include "hb-private.hh"
35 #line 36 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
36 static const unsigned char _indic_syllable_machine_trans_keys[] = {
37 1u, 16u, 13u, 13u, 4u, 14u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u,
38 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u,
39 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u,
40 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
41 4u, 14u, 4u, 14u, 4u, 14u, 1u, 16u, 13u, 13u, 4u, 14u, 5u, 7u, 7u, 7u,
42 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u,
43 7u, 7u, 4u, 4u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u,
44 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u,
45 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 1u, 16u, 13u, 13u,
46 4u, 14u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u,
47 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u, 16u, 16u, 4u, 7u,
48 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u,
49 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
50 4u, 14u, 1u, 16u, 3u, 14u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 14u, 3u, 14u,
51 4u, 14u, 1u, 16u, 3u, 14u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 14u, 3u, 14u,
52 4u, 14u, 1u, 16u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 8u, 14u, 5u, 14u,
53 9u, 14u, 9u, 9u, 3u, 13u, 3u, 9u, 9u, 9u, 3u, 9u, 6u, 14u, 3u, 14u,
54 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
55 3u, 14u, 4u, 14u, 4u, 14u, 1u, 16u, 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u,
56 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u,
57 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 14u, 3u, 14u, 3u, 14u, 4u, 14u,
58 1u, 16u, 3u, 14u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 14u, 3u, 14u, 4u, 14u,
59 1u, 16u, 3u, 14u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 14u, 3u, 14u, 4u, 14u,
60 5u, 14u, 8u, 14u, 5u, 14u, 9u, 14u, 9u, 9u, 3u, 13u, 3u, 9u, 9u, 9u,
61 3u, 9u, 6u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
62 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 14u, 1u, 16u,
63 1u, 16u, 1u, 16u, 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 14u, 1u, 16u,
64 1u, 16u, 1u, 16u, 3u, 14u, 1u, 16u, 1u, 16u, 4u, 14u, 1u, 16u, 3u, 14u,
65 3u, 14u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 14u, 3u, 14u, 4u, 14u, 1u, 16u,
66 3u, 14u, 3u, 14u, 4u, 14u, 1u, 16u, 3u, 14u, 3u, 14u, 4u, 14u, 1u, 16u,
67 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 8u, 14u, 5u, 14u, 9u, 14u, 9u, 9u,
68 3u, 13u, 3u, 9u, 9u, 9u, 3u, 9u, 6u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
69 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
70 1u, 16u, 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 14u, 1u, 16u, 1u, 16u,
71 1u, 16u, 3u, 14u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 14u, 1u, 16u, 1u, 16u,
72 1u, 16u, 3u, 14u, 1u, 16u, 3u, 14u, 1u, 16u, 0
75 static const char _indic_syllable_machine_key_spans[] = {
76 16, 1, 11, 3, 1, 3, 3, 1,
77 3, 3, 1, 3, 3, 1, 1, 1,
78 1, 4, 1, 1, 4, 1, 1, 4,
79 1, 1, 11, 11, 11, 11, 11, 11,
80 11, 11, 11, 16, 1, 11, 3, 1,
81 3, 3, 1, 3, 3, 1, 3, 3,
82 1, 1, 1, 1, 4, 1, 1, 4,
83 1, 1, 4, 1, 1, 11, 11, 11,
84 11, 11, 11, 11, 11, 11, 16, 1,
85 11, 3, 1, 3, 3, 1, 3, 3,
86 1, 3, 3, 1, 1, 1, 1, 4,
87 1, 1, 4, 1, 1, 4, 1, 1,
88 11, 11, 11, 11, 11, 11, 11, 11,
89 11, 16, 12, 12, 11, 16, 12, 12,
90 11, 16, 12, 12, 11, 16, 12, 12,
91 11, 16, 12, 12, 11, 10, 7, 10,
92 6, 1, 11, 7, 1, 7, 9, 12,
93 11, 10, 12, 11, 10, 12, 11, 10,
94 12, 11, 11, 16, 12, 16, 16, 16,
95 12, 16, 16, 16, 12, 16, 16, 16,
96 12, 16, 16, 16, 12, 12, 12, 11,
97 16, 12, 12, 11, 16, 12, 12, 11,
98 16, 12, 12, 11, 16, 12, 12, 11,
99 10, 7, 10, 6, 1, 11, 7, 1,
100 7, 9, 12, 11, 10, 12, 11, 10,
101 12, 11, 10, 12, 11, 16, 12, 16,
102 16, 16, 12, 16, 16, 16, 12, 16,
103 16, 16, 12, 16, 16, 11, 16, 12,
104 12, 12, 11, 16, 12, 12, 11, 16,
105 12, 12, 11, 16, 12, 12, 11, 16,
106 12, 12, 11, 10, 7, 10, 6, 1,
107 11, 7, 1, 7, 9, 12, 11, 10,
108 12, 11, 10, 12, 11, 10, 12, 11,
109 16, 12, 16, 16, 16, 12, 16, 16,
110 16, 12, 16, 16, 16, 12, 16, 16,
114 static const short _indic_syllable_machine_index_offsets[] = {
115 0, 17, 19, 31, 35, 37, 41, 45,
116 47, 51, 55, 57, 61, 65, 67, 69,
117 71, 73, 78, 80, 82, 87, 89, 91,
118 96, 98, 100, 112, 124, 136, 148, 160,
119 172, 184, 196, 208, 225, 227, 239, 243,
120 245, 249, 253, 255, 259, 263, 265, 269,
121 273, 275, 277, 279, 281, 286, 288, 290,
122 295, 297, 299, 304, 306, 308, 320, 332,
123 344, 356, 368, 380, 392, 404, 416, 433,
124 435, 447, 451, 453, 457, 461, 463, 467,
125 471, 473, 477, 481, 483, 485, 487, 489,
126 494, 496, 498, 503, 505, 507, 512, 514,
127 516, 528, 540, 552, 564, 576, 588, 600,
128 612, 624, 641, 654, 667, 679, 696, 709,
129 722, 734, 751, 764, 777, 789, 806, 819,
130 832, 844, 861, 874, 887, 899, 910, 918,
131 929, 936, 938, 950, 958, 960, 968, 978,
132 991, 1003, 1014, 1027, 1039, 1050, 1063, 1075,
133 1086, 1099, 1111, 1123, 1140, 1153, 1170, 1187,
134 1204, 1217, 1234, 1251, 1268, 1281, 1298, 1315,
135 1332, 1345, 1362, 1379, 1396, 1409, 1422, 1435,
136 1447, 1464, 1477, 1490, 1502, 1519, 1532, 1545,
137 1557, 1574, 1587, 1600, 1612, 1629, 1642, 1655,
138 1667, 1678, 1686, 1697, 1704, 1706, 1718, 1726,
139 1728, 1736, 1746, 1759, 1771, 1782, 1795, 1807,
140 1818, 1831, 1843, 1854, 1867, 1879, 1896, 1909,
141 1926, 1943, 1960, 1973, 1990, 2007, 2024, 2037,
142 2054, 2071, 2088, 2101, 2118, 2135, 2147, 2164,
143 2177, 2190, 2203, 2215, 2232, 2245, 2258, 2270,
144 2287, 2300, 2313, 2325, 2342, 2355, 2368, 2380,
145 2397, 2410, 2423, 2435, 2446, 2454, 2465, 2472,
146 2474, 2486, 2494, 2496, 2504, 2514, 2527, 2539,
147 2550, 2563, 2575, 2586, 2599, 2611, 2622, 2635,
148 2647, 2664, 2677, 2694, 2711, 2728, 2741, 2758,
149 2775, 2792, 2805, 2822, 2839, 2856, 2869, 2886,
150 2903, 2920, 2933, 2950, 2963
153 static const short _indic_syllable_machine_indicies[] = {
154 1, 2, 0, 0, 0, 0, 0, 0,
155 0, 0, 0, 0, 0, 0, 0, 1,
156 0, 3, 0, 4, 5, 5, 6, 0,
157 0, 0, 0, 0, 0, 4, 0, 7,
158 7, 6, 0, 6, 0, 8, 8, 9,
159 0, 10, 10, 9, 0, 9, 0, 11,
160 11, 12, 0, 13, 13, 12, 0, 12,
161 0, 14, 14, 15, 0, 16, 16, 15,
162 0, 15, 0, 17, 0, 18, 0, 19,
163 0, 20, 14, 14, 15, 0, 21, 0,
164 22, 0, 23, 11, 11, 12, 0, 24,
165 0, 25, 0, 26, 8, 8, 9, 0,
166 27, 0, 28, 0, 4, 5, 5, 6,
167 0, 0, 0, 0, 0, 29, 4, 0,
168 30, 5, 5, 6, 0, 0, 0, 0,
169 0, 0, 30, 0, 30, 5, 5, 6,
170 0, 0, 0, 0, 0, 31, 30, 0,
171 32, 5, 5, 6, 0, 0, 0, 0,
172 0, 0, 32, 0, 32, 5, 5, 6,
173 0, 0, 0, 0, 0, 33, 32, 0,
174 34, 5, 5, 6, 0, 0, 0, 0,
175 0, 0, 34, 0, 34, 5, 5, 6,
176 0, 0, 0, 0, 0, 35, 34, 0,
177 36, 5, 5, 6, 0, 0, 0, 0,
178 0, 0, 36, 0, 36, 5, 5, 6,
179 0, 0, 0, 0, 0, 37, 36, 0,
180 39, 40, 38, 38, 38, 38, 38, 38,
181 38, 38, 38, 38, 38, 38, 38, 39,
182 38, 41, 38, 42, 43, 43, 44, 38,
183 38, 38, 38, 38, 38, 42, 38, 45,
184 45, 44, 38, 44, 38, 46, 46, 47,
185 38, 48, 48, 47, 38, 47, 38, 49,
186 49, 50, 38, 51, 51, 50, 38, 50,
187 38, 52, 52, 53, 38, 54, 54, 53,
188 38, 53, 38, 55, 38, 56, 38, 57,
189 38, 58, 52, 52, 53, 38, 59, 38,
190 60, 38, 61, 49, 49, 50, 38, 62,
191 38, 63, 38, 64, 46, 46, 47, 38,
192 65, 38, 66, 38, 42, 43, 43, 44,
193 38, 38, 38, 38, 38, 67, 42, 38,
194 68, 43, 43, 44, 38, 38, 38, 38,
195 38, 38, 68, 38, 68, 43, 43, 44,
196 38, 38, 38, 38, 38, 69, 68, 38,
197 70, 43, 43, 44, 38, 38, 38, 38,
198 38, 38, 70, 38, 70, 43, 43, 44,
199 38, 38, 38, 38, 38, 71, 70, 38,
200 72, 43, 43, 44, 38, 38, 38, 38,
201 38, 38, 72, 38, 72, 43, 43, 44,
202 38, 38, 38, 38, 38, 73, 72, 38,
203 74, 43, 43, 44, 38, 38, 38, 38,
204 38, 38, 74, 38, 74, 43, 43, 44,
205 38, 38, 38, 38, 38, 75, 74, 38,
206 77, 78, 76, 76, 76, 76, 76, 76,
207 76, 76, 76, 76, 76, 76, 76, 77,
208 76, 79, 76, 80, 81, 81, 82, 76,
209 76, 76, 76, 76, 76, 80, 76, 83,
210 83, 82, 76, 82, 76, 84, 84, 85,
211 76, 86, 86, 85, 76, 85, 76, 87,
212 87, 88, 76, 89, 89, 88, 76, 88,
213 76, 90, 90, 91, 76, 92, 92, 91,
214 76, 91, 76, 93, 76, 94, 76, 95,
215 76, 96, 90, 90, 91, 76, 97, 76,
216 98, 76, 99, 87, 87, 88, 76, 100,
217 76, 101, 76, 102, 84, 84, 85, 76,
218 103, 76, 104, 76, 80, 81, 81, 82,
219 76, 76, 76, 76, 76, 105, 80, 76,
220 106, 81, 81, 82, 76, 76, 76, 76,
221 76, 76, 106, 76, 106, 81, 81, 82,
222 76, 76, 76, 76, 76, 107, 106, 76,
223 108, 81, 81, 82, 76, 76, 76, 76,
224 76, 76, 108, 76, 108, 81, 81, 82,
225 76, 76, 76, 76, 76, 109, 108, 76,
226 110, 81, 81, 82, 76, 76, 76, 76,
227 76, 76, 110, 76, 110, 81, 81, 82,
228 76, 76, 76, 76, 76, 111, 110, 76,
229 112, 81, 81, 82, 76, 76, 76, 76,
230 76, 76, 112, 76, 112, 81, 81, 82,
231 76, 76, 76, 76, 76, 113, 112, 76,
232 115, 116, 114, 114, 114, 114, 114, 114,
233 114, 114, 117, 117, 114, 114, 118, 119,
234 114, 121, 122, 123, 124, 6, 125, 126,
235 127, 120, 120, 37, 128, 120, 129, 122,
236 124, 124, 6, 125, 126, 127, 120, 120,
237 120, 128, 120, 122, 124, 124, 6, 125,
238 126, 127, 120, 120, 120, 128, 120, 130,
239 120, 120, 120, 19, 131, 120, 125, 126,
240 120, 120, 120, 120, 132, 120, 130, 120,
241 133, 134, 135, 136, 6, 125, 126, 127,
242 120, 120, 35, 137, 120, 138, 134, 136,
243 136, 6, 125, 126, 127, 120, 120, 120,
244 137, 120, 134, 136, 136, 6, 125, 126,
245 127, 120, 120, 120, 137, 120, 139, 120,
246 120, 120, 19, 140, 120, 125, 126, 120,
247 120, 120, 120, 132, 120, 139, 120, 141,
248 142, 143, 144, 6, 125, 126, 127, 120,
249 120, 33, 145, 120, 146, 142, 144, 144,
250 6, 125, 126, 127, 120, 120, 120, 145,
251 120, 142, 144, 144, 6, 125, 126, 127,
252 120, 120, 120, 145, 120, 147, 120, 120,
253 120, 19, 148, 120, 125, 126, 120, 120,
254 120, 120, 132, 120, 147, 120, 149, 150,
255 151, 152, 6, 125, 126, 127, 120, 120,
256 31, 153, 120, 154, 150, 152, 152, 6,
257 125, 126, 127, 120, 120, 120, 153, 120,
258 150, 152, 152, 6, 125, 126, 127, 120,
259 120, 120, 153, 120, 155, 120, 120, 120,
260 19, 156, 120, 125, 126, 120, 120, 120,
261 120, 132, 120, 155, 120, 157, 158, 159,
262 160, 6, 125, 126, 127, 120, 120, 29,
263 161, 120, 162, 158, 160, 160, 6, 125,
264 126, 127, 120, 120, 120, 161, 120, 158,
265 160, 160, 6, 125, 126, 127, 120, 120,
266 120, 161, 120, 19, 19, 120, 125, 126,
267 120, 120, 120, 120, 132, 120, 125, 126,
268 120, 120, 120, 120, 132, 120, 163, 120,
269 120, 120, 126, 120, 120, 120, 120, 132,
270 120, 126, 120, 120, 120, 120, 132, 120,
271 164, 120, 165, 120, 166, 120, 120, 120,
272 126, 120, 120, 120, 3, 120, 2, 120,
273 120, 120, 120, 120, 126, 120, 126, 120,
274 165, 120, 120, 120, 120, 120, 126, 120,
275 19, 120, 125, 126, 120, 120, 120, 120,
276 132, 120, 167, 28, 168, 169, 9, 125,
277 126, 120, 120, 120, 120, 132, 120, 28,
278 168, 169, 9, 125, 126, 120, 120, 120,
279 120, 132, 120, 168, 168, 9, 125, 126,
280 120, 120, 120, 120, 132, 120, 170, 25,
281 171, 172, 12, 125, 126, 120, 120, 120,
282 120, 132, 120, 25, 171, 172, 12, 125,
283 126, 120, 120, 120, 120, 132, 120, 171,
284 171, 12, 125, 126, 120, 120, 120, 120,
285 132, 120, 173, 22, 174, 175, 15, 125,
286 126, 120, 120, 120, 120, 132, 120, 22,
287 174, 175, 15, 125, 126, 120, 120, 120,
288 120, 132, 120, 174, 174, 15, 125, 126,
289 120, 120, 120, 120, 132, 120, 176, 19,
290 120, 177, 120, 125, 126, 120, 120, 120,
291 120, 132, 120, 19, 120, 177, 120, 125,
292 126, 120, 120, 120, 120, 132, 120, 158,
293 160, 160, 6, 125, 126, 120, 120, 120,
294 120, 161, 120, 1, 2, 120, 120, 19,
295 19, 120, 125, 126, 120, 120, 120, 120,
296 132, 120, 1, 120, 157, 158, 160, 160,
297 6, 125, 126, 127, 120, 120, 120, 161,
298 120, 155, 120, 120, 120, 120, 120, 120,
299 125, 126, 120, 120, 120, 120, 132, 120,
300 155, 120, 155, 120, 120, 120, 120, 156,
301 120, 125, 126, 120, 120, 120, 120, 132,
302 120, 155, 120, 155, 2, 120, 120, 19,
303 156, 120, 125, 126, 120, 120, 120, 120,
304 132, 120, 155, 120, 149, 150, 152, 152,
305 6, 125, 126, 127, 120, 120, 120, 153,
306 120, 147, 120, 120, 120, 120, 120, 120,
307 125, 126, 120, 120, 120, 120, 132, 120,
308 147, 120, 147, 120, 120, 120, 120, 148,
309 120, 125, 126, 120, 120, 120, 120, 132,
310 120, 147, 120, 147, 2, 120, 120, 19,
311 148, 120, 125, 126, 120, 120, 120, 120,
312 132, 120, 147, 120, 141, 142, 144, 144,
313 6, 125, 126, 127, 120, 120, 120, 145,
314 120, 139, 120, 120, 120, 120, 120, 120,
315 125, 126, 120, 120, 120, 120, 132, 120,
316 139, 120, 139, 120, 120, 120, 120, 140,
317 120, 125, 126, 120, 120, 120, 120, 132,
318 120, 139, 120, 139, 2, 120, 120, 19,
319 140, 120, 125, 126, 120, 120, 120, 120,
320 132, 120, 139, 120, 133, 134, 136, 136,
321 6, 125, 126, 127, 120, 120, 120, 137,
322 120, 130, 120, 120, 120, 120, 120, 120,
323 125, 126, 120, 120, 120, 120, 132, 120,
324 130, 120, 130, 120, 120, 120, 120, 131,
325 120, 125, 126, 120, 120, 120, 120, 132,
326 120, 130, 120, 130, 2, 120, 120, 19,
327 131, 120, 125, 126, 120, 120, 120, 120,
328 132, 120, 130, 120, 121, 122, 124, 124,
329 6, 125, 126, 127, 120, 120, 120, 128,
330 120, 179, 180, 181, 182, 44, 183, 184,
331 178, 178, 178, 75, 185, 178, 186, 180,
332 187, 182, 44, 183, 184, 178, 178, 178,
333 178, 185, 178, 180, 187, 182, 44, 183,
334 184, 178, 178, 178, 178, 185, 178, 188,
335 178, 178, 178, 57, 189, 178, 183, 184,
336 178, 178, 178, 178, 190, 178, 188, 178,
337 191, 192, 193, 194, 44, 183, 184, 178,
338 178, 178, 73, 195, 178, 196, 192, 194,
339 194, 44, 183, 184, 178, 178, 178, 178,
340 195, 178, 192, 194, 194, 44, 183, 184,
341 178, 178, 178, 178, 195, 178, 197, 178,
342 178, 178, 57, 198, 178, 183, 184, 178,
343 178, 178, 178, 190, 178, 197, 178, 199,
344 200, 201, 202, 44, 183, 184, 178, 178,
345 178, 71, 203, 178, 204, 200, 202, 202,
346 44, 183, 184, 178, 178, 178, 178, 203,
347 178, 200, 202, 202, 44, 183, 184, 178,
348 178, 178, 178, 203, 178, 205, 178, 178,
349 178, 57, 206, 178, 183, 184, 178, 178,
350 178, 178, 190, 178, 205, 178, 207, 208,
351 209, 210, 44, 183, 184, 178, 178, 178,
352 69, 211, 178, 212, 208, 210, 210, 44,
353 183, 184, 178, 178, 178, 178, 211, 178,
354 208, 210, 210, 44, 183, 184, 178, 178,
355 178, 178, 211, 178, 213, 178, 178, 178,
356 57, 214, 178, 183, 184, 178, 178, 178,
357 178, 190, 178, 213, 178, 215, 216, 217,
358 218, 44, 183, 184, 178, 178, 178, 67,
359 219, 178, 220, 216, 218, 218, 44, 183,
360 184, 178, 178, 178, 178, 219, 178, 216,
361 218, 218, 44, 183, 184, 178, 178, 178,
362 178, 219, 178, 57, 57, 178, 183, 184,
363 178, 178, 178, 178, 190, 178, 183, 184,
364 178, 178, 178, 178, 190, 178, 221, 178,
365 178, 178, 184, 178, 178, 178, 178, 190,
366 178, 184, 178, 178, 178, 178, 190, 178,
367 222, 178, 223, 178, 224, 178, 178, 178,
368 184, 178, 178, 178, 41, 178, 40, 178,
369 178, 178, 178, 178, 184, 178, 184, 178,
370 223, 178, 178, 178, 178, 178, 184, 178,
371 57, 178, 183, 184, 178, 178, 178, 178,
372 190, 178, 225, 66, 226, 227, 47, 183,
373 184, 178, 178, 178, 178, 190, 178, 66,
374 226, 227, 47, 183, 184, 178, 178, 178,
375 178, 190, 178, 226, 226, 47, 183, 184,
376 178, 178, 178, 178, 190, 178, 228, 63,
377 229, 230, 50, 183, 184, 178, 178, 178,
378 178, 190, 178, 63, 229, 230, 50, 183,
379 184, 178, 178, 178, 178, 190, 178, 229,
380 229, 50, 183, 184, 178, 178, 178, 178,
381 190, 178, 231, 60, 232, 233, 53, 183,
382 184, 178, 178, 178, 178, 190, 178, 60,
383 232, 233, 53, 183, 184, 178, 178, 178,
384 178, 190, 178, 232, 232, 53, 183, 184,
385 178, 178, 178, 178, 190, 178, 234, 57,
386 178, 235, 178, 183, 184, 178, 178, 178,
387 178, 190, 178, 57, 178, 235, 178, 183,
388 184, 178, 178, 178, 178, 190, 178, 39,
389 40, 178, 178, 57, 57, 178, 183, 184,
390 178, 178, 178, 178, 190, 178, 39, 178,
391 215, 216, 218, 218, 44, 183, 184, 178,
392 178, 178, 178, 219, 178, 213, 178, 178,
393 178, 178, 178, 178, 183, 184, 178, 178,
394 178, 178, 190, 178, 213, 178, 213, 178,
395 178, 178, 178, 214, 178, 183, 184, 178,
396 178, 178, 178, 190, 178, 213, 178, 213,
397 40, 178, 178, 57, 214, 178, 183, 184,
398 178, 178, 178, 178, 190, 178, 213, 178,
399 207, 208, 210, 210, 44, 183, 184, 178,
400 178, 178, 178, 211, 178, 205, 178, 178,
401 178, 178, 178, 178, 183, 184, 178, 178,
402 178, 178, 190, 178, 205, 178, 205, 178,
403 178, 178, 178, 206, 178, 183, 184, 178,
404 178, 178, 178, 190, 178, 205, 178, 205,
405 40, 178, 178, 57, 206, 178, 183, 184,
406 178, 178, 178, 178, 190, 178, 205, 178,
407 199, 200, 202, 202, 44, 183, 184, 178,
408 178, 178, 178, 203, 178, 197, 178, 178,
409 178, 178, 178, 178, 183, 184, 178, 178,
410 178, 178, 190, 178, 197, 178, 197, 178,
411 178, 178, 178, 198, 178, 183, 184, 178,
412 178, 178, 178, 190, 178, 197, 178, 197,
413 40, 178, 178, 57, 198, 178, 183, 184,
414 178, 178, 178, 178, 190, 178, 197, 178,
415 191, 192, 194, 194, 44, 183, 184, 178,
416 178, 178, 178, 195, 178, 188, 178, 178,
417 178, 178, 178, 178, 183, 184, 178, 178,
418 178, 178, 190, 178, 188, 178, 188, 178,
419 178, 178, 178, 189, 178, 183, 184, 178,
420 178, 178, 178, 190, 178, 188, 178, 74,
421 43, 43, 44, 178, 178, 178, 178, 178,
422 178, 74, 178, 188, 40, 178, 178, 57,
423 189, 178, 183, 184, 178, 178, 178, 178,
424 190, 178, 188, 178, 179, 180, 187, 182,
425 44, 183, 184, 178, 178, 178, 178, 185,
426 178, 237, 238, 239, 240, 82, 241, 242,
427 236, 236, 236, 113, 243, 236, 244, 238,
428 240, 240, 82, 241, 242, 236, 236, 236,
429 236, 243, 236, 238, 240, 240, 82, 241,
430 242, 236, 236, 236, 236, 243, 236, 245,
431 236, 236, 236, 95, 246, 236, 241, 242,
432 236, 236, 236, 236, 247, 236, 245, 236,
433 248, 249, 250, 251, 82, 241, 242, 236,
434 236, 236, 111, 252, 236, 253, 249, 251,
435 251, 82, 241, 242, 236, 236, 236, 236,
436 252, 236, 249, 251, 251, 82, 241, 242,
437 236, 236, 236, 236, 252, 236, 254, 236,
438 236, 236, 95, 255, 236, 241, 242, 236,
439 236, 236, 236, 247, 236, 254, 236, 256,
440 257, 258, 259, 82, 241, 242, 236, 236,
441 236, 109, 260, 236, 261, 257, 259, 259,
442 82, 241, 242, 236, 236, 236, 236, 260,
443 236, 257, 259, 259, 82, 241, 242, 236,
444 236, 236, 236, 260, 236, 262, 236, 236,
445 236, 95, 263, 236, 241, 242, 236, 236,
446 236, 236, 247, 236, 262, 236, 264, 265,
447 266, 267, 82, 241, 242, 236, 236, 236,
448 107, 268, 236, 269, 265, 267, 267, 82,
449 241, 242, 236, 236, 236, 236, 268, 236,
450 265, 267, 267, 82, 241, 242, 236, 236,
451 236, 236, 268, 236, 270, 236, 236, 236,
452 95, 271, 236, 241, 242, 236, 236, 236,
453 236, 247, 236, 270, 236, 272, 273, 274,
454 275, 82, 241, 242, 236, 236, 236, 105,
455 276, 236, 277, 273, 275, 275, 82, 241,
456 242, 236, 236, 236, 236, 276, 236, 273,
457 275, 275, 82, 241, 242, 236, 236, 236,
458 236, 276, 236, 95, 95, 236, 241, 242,
459 236, 236, 236, 236, 247, 236, 241, 242,
460 236, 236, 236, 236, 247, 236, 278, 236,
461 236, 236, 242, 236, 236, 236, 236, 247,
462 236, 242, 236, 236, 236, 236, 247, 236,
463 279, 236, 280, 236, 281, 236, 236, 236,
464 242, 236, 236, 236, 79, 236, 78, 236,
465 236, 236, 236, 236, 242, 236, 242, 236,
466 280, 236, 236, 236, 236, 236, 242, 236,
467 95, 236, 241, 242, 236, 236, 236, 236,
468 247, 236, 282, 104, 283, 284, 85, 241,
469 242, 236, 236, 236, 236, 247, 236, 104,
470 283, 284, 85, 241, 242, 236, 236, 236,
471 236, 247, 236, 283, 283, 85, 241, 242,
472 236, 236, 236, 236, 247, 236, 285, 101,
473 286, 287, 88, 241, 242, 236, 236, 236,
474 236, 247, 236, 101, 286, 287, 88, 241,
475 242, 236, 236, 236, 236, 247, 236, 286,
476 286, 88, 241, 242, 236, 236, 236, 236,
477 247, 236, 288, 98, 289, 290, 91, 241,
478 242, 236, 236, 236, 236, 247, 236, 98,
479 289, 290, 91, 241, 242, 236, 236, 236,
480 236, 247, 236, 289, 289, 91, 241, 242,
481 236, 236, 236, 236, 247, 236, 291, 95,
482 236, 292, 236, 241, 242, 236, 236, 236,
483 236, 247, 236, 95, 236, 292, 236, 241,
484 242, 236, 236, 236, 236, 247, 236, 77,
485 78, 236, 236, 95, 95, 236, 241, 242,
486 236, 236, 236, 236, 247, 236, 77, 236,
487 272, 273, 275, 275, 82, 241, 242, 236,
488 236, 236, 236, 276, 236, 270, 236, 236,
489 236, 236, 236, 236, 241, 242, 236, 236,
490 236, 236, 247, 236, 270, 236, 270, 236,
491 236, 236, 236, 271, 236, 241, 242, 236,
492 236, 236, 236, 247, 236, 270, 236, 270,
493 78, 236, 236, 95, 271, 236, 241, 242,
494 236, 236, 236, 236, 247, 236, 270, 236,
495 264, 265, 267, 267, 82, 241, 242, 236,
496 236, 236, 236, 268, 236, 262, 236, 236,
497 236, 236, 236, 236, 241, 242, 236, 236,
498 236, 236, 247, 236, 262, 236, 262, 236,
499 236, 236, 236, 263, 236, 241, 242, 236,
500 236, 236, 236, 247, 236, 262, 236, 262,
501 78, 236, 236, 95, 263, 236, 241, 242,
502 236, 236, 236, 236, 247, 236, 262, 236,
503 256, 257, 259, 259, 82, 241, 242, 236,
504 236, 236, 236, 260, 236, 254, 236, 236,
505 236, 236, 236, 236, 241, 242, 236, 236,
506 236, 236, 247, 236, 254, 236, 254, 236,
507 236, 236, 236, 255, 236, 241, 242, 236,
508 236, 236, 236, 247, 236, 254, 236, 254,
509 78, 236, 236, 95, 255, 236, 241, 242,
510 236, 236, 236, 236, 247, 236, 254, 236,
511 248, 249, 251, 251, 82, 241, 242, 236,
512 236, 236, 236, 252, 236, 245, 236, 236,
513 236, 236, 236, 236, 241, 242, 236, 236,
514 236, 236, 247, 236, 245, 236, 245, 236,
515 236, 236, 236, 246, 236, 241, 242, 236,
516 236, 236, 236, 247, 236, 245, 236, 245,
517 78, 236, 236, 95, 246, 236, 241, 242,
518 236, 236, 236, 236, 247, 236, 245, 236,
519 237, 238, 240, 240, 82, 241, 242, 236,
520 236, 236, 236, 243, 236, 115, 116, 293,
521 293, 293, 293, 293, 293, 293, 293, 117,
522 117, 293, 293, 293, 115, 293, 121, 294,
523 123, 124, 6, 125, 126, 127, 120, 120,
524 37, 128, 120, 130, 116, 120, 120, 19,
525 131, 120, 125, 126, 120, 117, 117, 120,
526 132, 120, 130, 120, 0
529 static const short _indic_syllable_machine_trans_targs[] = {
530 105, 130, 132, 133, 134, 3, 135, 4,
531 6, 138, 7, 9, 141, 10, 12, 144,
532 13, 15, 16, 126, 18, 19, 143, 21,
533 22, 140, 24, 25, 137, 148, 150, 152,
534 154, 156, 158, 160, 162, 164, 105, 189,
535 191, 192, 193, 38, 194, 39, 41, 197,
536 42, 44, 200, 45, 47, 203, 48, 50,
537 51, 185, 53, 54, 202, 56, 57, 199,
538 59, 60, 196, 206, 208, 210, 212, 214,
539 216, 218, 220, 223, 105, 248, 250, 251,
540 252, 73, 253, 74, 76, 256, 77, 79,
541 259, 80, 82, 262, 83, 85, 86, 244,
542 88, 89, 261, 91, 92, 258, 94, 95,
543 255, 265, 267, 269, 271, 273, 275, 277,
544 279, 281, 105, 106, 165, 224, 282, 283,
545 105, 107, 109, 34, 33, 127, 129, 146,
546 163, 108, 110, 161, 0, 111, 113, 32,
547 31, 159, 112, 114, 157, 115, 117, 30,
548 29, 155, 116, 118, 153, 119, 121, 28,
549 27, 151, 120, 122, 149, 123, 125, 26,
550 2, 147, 124, 128, 105, 131, 1, 136,
551 5, 23, 139, 8, 20, 142, 11, 17,
552 145, 14, 105, 166, 168, 69, 221, 186,
553 188, 222, 167, 68, 169, 219, 35, 170,
554 172, 67, 66, 217, 171, 173, 215, 174,
555 176, 65, 64, 213, 175, 177, 211, 178,
556 180, 63, 62, 209, 179, 181, 207, 182,
557 184, 61, 37, 205, 183, 187, 105, 190,
558 36, 195, 40, 58, 198, 43, 55, 201,
559 46, 52, 204, 49, 105, 225, 227, 104,
560 103, 245, 247, 280, 226, 228, 278, 70,
561 229, 231, 102, 101, 276, 230, 232, 274,
562 233, 235, 100, 99, 272, 234, 236, 270,
563 237, 239, 98, 97, 268, 238, 240, 266,
564 241, 243, 96, 72, 264, 242, 246, 105,
565 249, 71, 254, 75, 93, 257, 78, 90,
566 260, 81, 87, 263, 84, 105, 284
569 static const char _indic_syllable_machine_trans_actions[] = {
570 1, 2, 0, 0, 2, 0, 2, 0,
571 0, 2, 0, 0, 2, 0, 0, 2,
572 0, 0, 0, 2, 0, 0, 2, 0,
573 0, 2, 0, 0, 2, 2, 2, 2,
574 2, 2, 2, 2, 2, 2, 3, 2,
575 0, 0, 2, 0, 2, 0, 0, 2,
576 0, 0, 2, 0, 0, 2, 0, 0,
577 0, 2, 0, 0, 2, 0, 0, 2,
578 0, 0, 2, 2, 2, 2, 2, 2,
579 2, 2, 2, 2, 4, 2, 0, 0,
580 2, 0, 2, 0, 0, 2, 0, 0,
581 2, 0, 0, 2, 0, 0, 0, 2,
582 0, 0, 2, 0, 0, 2, 0, 0,
583 2, 2, 2, 2, 2, 2, 2, 2,
584 2, 2, 7, 2, 2, 2, 0, 2,
585 8, 2, 2, 0, 0, 2, 0, 2,
586 2, 2, 2, 2, 0, 2, 2, 0,
587 0, 2, 2, 2, 2, 2, 2, 0,
588 0, 2, 2, 2, 2, 2, 2, 0,
589 0, 2, 2, 2, 2, 2, 2, 0,
590 0, 2, 2, 2, 9, 0, 0, 2,
591 0, 0, 2, 0, 0, 2, 0, 0,
592 2, 0, 10, 2, 2, 0, 2, 2,
593 0, 2, 2, 0, 2, 2, 0, 2,
594 2, 0, 0, 2, 2, 2, 2, 2,
595 2, 0, 0, 2, 2, 2, 2, 2,
596 2, 0, 0, 2, 2, 2, 2, 2,
597 2, 0, 0, 2, 2, 2, 11, 0,
598 0, 2, 0, 0, 2, 0, 0, 2,
599 0, 0, 2, 0, 12, 2, 2, 0,
600 0, 2, 0, 2, 2, 2, 2, 0,
601 2, 2, 0, 0, 2, 2, 2, 2,
602 2, 2, 0, 0, 2, 2, 2, 2,
603 2, 2, 0, 0, 2, 2, 2, 2,
604 2, 2, 0, 0, 2, 2, 2, 13,
605 0, 0, 2, 0, 0, 2, 0, 0,
609 static const char _indic_syllable_machine_to_state_actions[] = {
610 0, 0, 0, 0, 0, 0, 0, 0,
611 0, 0, 0, 0, 0, 0, 0, 0,
612 0, 0, 0, 0, 0, 0, 0, 0,
613 0, 0, 0, 0, 0, 0, 0, 0,
614 0, 0, 0, 0, 0, 0, 0, 0,
615 0, 0, 0, 0, 0, 0, 0, 0,
616 0, 0, 0, 0, 0, 0, 0, 0,
617 0, 0, 0, 0, 0, 0, 0, 0,
618 0, 0, 0, 0, 0, 0, 0, 0,
619 0, 0, 0, 0, 0, 0, 0, 0,
620 0, 0, 0, 0, 0, 0, 0, 0,
621 0, 0, 0, 0, 0, 0, 0, 0,
622 0, 0, 0, 0, 0, 0, 0, 0,
623 0, 5, 0, 0, 0, 0, 0, 0,
624 0, 0, 0, 0, 0, 0, 0, 0,
625 0, 0, 0, 0, 0, 0, 0, 0,
626 0, 0, 0, 0, 0, 0, 0, 0,
627 0, 0, 0, 0, 0, 0, 0, 0,
628 0, 0, 0, 0, 0, 0, 0, 0,
629 0, 0, 0, 0, 0, 0, 0, 0,
630 0, 0, 0, 0, 0, 0, 0, 0,
631 0, 0, 0, 0, 0, 0, 0, 0,
632 0, 0, 0, 0, 0, 0, 0, 0,
633 0, 0, 0, 0, 0, 0, 0, 0,
634 0, 0, 0, 0, 0, 0, 0, 0,
635 0, 0, 0, 0, 0, 0, 0, 0,
636 0, 0, 0, 0, 0, 0, 0, 0,
637 0, 0, 0, 0, 0, 0, 0, 0,
638 0, 0, 0, 0, 0, 0, 0, 0,
639 0, 0, 0, 0, 0, 0, 0, 0,
640 0, 0, 0, 0, 0, 0, 0, 0,
641 0, 0, 0, 0, 0, 0, 0, 0,
642 0, 0, 0, 0, 0, 0, 0, 0,
643 0, 0, 0, 0, 0, 0, 0, 0,
644 0, 0, 0, 0, 0, 0, 0, 0,
648 static const char _indic_syllable_machine_from_state_actions[] = {
649 0, 0, 0, 0, 0, 0, 0, 0,
650 0, 0, 0, 0, 0, 0, 0, 0,
651 0, 0, 0, 0, 0, 0, 0, 0,
652 0, 0, 0, 0, 0, 0, 0, 0,
653 0, 0, 0, 0, 0, 0, 0, 0,
654 0, 0, 0, 0, 0, 0, 0, 0,
655 0, 0, 0, 0, 0, 0, 0, 0,
656 0, 0, 0, 0, 0, 0, 0, 0,
657 0, 0, 0, 0, 0, 0, 0, 0,
658 0, 0, 0, 0, 0, 0, 0, 0,
659 0, 0, 0, 0, 0, 0, 0, 0,
660 0, 0, 0, 0, 0, 0, 0, 0,
661 0, 0, 0, 0, 0, 0, 0, 0,
662 0, 6, 0, 0, 0, 0, 0, 0,
663 0, 0, 0, 0, 0, 0, 0, 0,
664 0, 0, 0, 0, 0, 0, 0, 0,
665 0, 0, 0, 0, 0, 0, 0, 0,
666 0, 0, 0, 0, 0, 0, 0, 0,
667 0, 0, 0, 0, 0, 0, 0, 0,
668 0, 0, 0, 0, 0, 0, 0, 0,
669 0, 0, 0, 0, 0, 0, 0, 0,
670 0, 0, 0, 0, 0, 0, 0, 0,
671 0, 0, 0, 0, 0, 0, 0, 0,
672 0, 0, 0, 0, 0, 0, 0, 0,
673 0, 0, 0, 0, 0, 0, 0, 0,
674 0, 0, 0, 0, 0, 0, 0, 0,
675 0, 0, 0, 0, 0, 0, 0, 0,
676 0, 0, 0, 0, 0, 0, 0, 0,
677 0, 0, 0, 0, 0, 0, 0, 0,
678 0, 0, 0, 0, 0, 0, 0, 0,
679 0, 0, 0, 0, 0, 0, 0, 0,
680 0, 0, 0, 0, 0, 0, 0, 0,
681 0, 0, 0, 0, 0, 0, 0, 0,
682 0, 0, 0, 0, 0, 0, 0, 0,
683 0, 0, 0, 0, 0, 0, 0, 0,
687 static const short _indic_syllable_machine_eof_trans[] = {
688 1, 1, 1, 1, 1, 1, 1, 1,
689 1, 1, 1, 1, 1, 1, 1, 1,
690 1, 1, 1, 1, 1, 1, 1, 1,
691 1, 1, 1, 1, 1, 1, 1, 1,
692 1, 1, 1, 39, 39, 39, 39, 39,
693 39, 39, 39, 39, 39, 39, 39, 39,
694 39, 39, 39, 39, 39, 39, 39, 39,
695 39, 39, 39, 39, 39, 39, 39, 39,
696 39, 39, 39, 39, 39, 39, 77, 77,
697 77, 77, 77, 77, 77, 77, 77, 77,
698 77, 77, 77, 77, 77, 77, 77, 77,
699 77, 77, 77, 77, 77, 77, 77, 77,
700 77, 77, 77, 77, 77, 77, 77, 77,
701 77, 0, 121, 121, 121, 121, 121, 121,
702 121, 121, 121, 121, 121, 121, 121, 121,
703 121, 121, 121, 121, 121, 121, 121, 121,
704 121, 121, 121, 121, 121, 121, 121, 121,
705 121, 121, 121, 121, 121, 121, 121, 121,
706 121, 121, 121, 121, 121, 121, 121, 121,
707 121, 121, 121, 121, 121, 121, 121, 121,
708 121, 121, 121, 121, 121, 179, 179, 179,
709 179, 179, 179, 179, 179, 179, 179, 179,
710 179, 179, 179, 179, 179, 179, 179, 179,
711 179, 179, 179, 179, 179, 179, 179, 179,
712 179, 179, 179, 179, 179, 179, 179, 179,
713 179, 179, 179, 179, 179, 179, 179, 179,
714 179, 179, 179, 179, 179, 179, 179, 179,
715 179, 179, 179, 179, 179, 179, 179, 179,
716 237, 237, 237, 237, 237, 237, 237, 237,
717 237, 237, 237, 237, 237, 237, 237, 237,
718 237, 237, 237, 237, 237, 237, 237, 237,
719 237, 237, 237, 237, 237, 237, 237, 237,
720 237, 237, 237, 237, 237, 237, 237, 237,
721 237, 237, 237, 237, 237, 237, 237, 237,
722 237, 237, 237, 237, 237, 237, 237, 237,
723 237, 237, 294, 121, 121
726 static const int indic_syllable_machine_start = 105;
727 static const int indic_syllable_machine_first_final = 105;
728 static const int indic_syllable_machine_error = -1;
730 static const int indic_syllable_machine_en_main = 105;
733 #line 36 "../../src/hb-ot-shape-complex-indic-machine.rl"
737 #line 88 "../../src/hb-ot-shape-complex-indic-machine.rl"
740 #define process_syllable(func) \
742 if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #func); \
743 for (unsigned int i = last; i < p+1; i++) \
744 info[i].syllable() = syllable_serial; \
745 PASTE (initial_reordering_, func) (plan, buffer, last, p+1); \
748 if (unlikely (!syllable_serial)) syllable_serial++; \
752 find_syllables (const hb_ot_shape_plan_t *plan, hb_buffer_t *buffer)
754 unsigned int p, pe, eof, ts, te, act;
756 hb_glyph_info_t *info = buffer->info;
758 #line 759 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
760 cs = indic_syllable_machine_start;
766 #line 110 "../../src/hb-ot-shape-complex-indic-machine.rl"
770 pe = eof = buffer->len;
772 unsigned int last = 0;
773 uint8_t syllable_serial = 1;
775 #line 776 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
779 const unsigned char *_keys;
784 switch ( _indic_syllable_machine_from_state_actions[cs] ) {
786 #line 1 "../../src/hb-ot-shape-complex-indic-machine.rl"
789 #line 790 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
792 _keys = _indic_syllable_machine_trans_keys + (cs<<1);
793 _inds = _indic_syllable_machine_indicies + _indic_syllable_machine_index_offsets[cs];
795 _slen = _indic_syllable_machine_key_spans[cs];
796 _trans = _inds[ _slen > 0 && _keys[0] <=( info[p].indic_category()) &&
797 ( info[p].indic_category()) <= _keys[1] ?
798 ( info[p].indic_category()) - _keys[0] : _slen ];
801 cs = _indic_syllable_machine_trans_targs[_trans];
803 if ( _indic_syllable_machine_trans_actions[_trans] == 0 )
806 switch ( _indic_syllable_machine_trans_actions[_trans] ) {
808 #line 1 "../../src/hb-ot-shape-complex-indic-machine.rl"
812 #line 81 "../../src/hb-ot-shape-complex-indic-machine.rl"
813 {te = p+1;{ process_syllable (consonant_syllable); }}
816 #line 82 "../../src/hb-ot-shape-complex-indic-machine.rl"
817 {te = p+1;{ process_syllable (vowel_syllable); }}
820 #line 83 "../../src/hb-ot-shape-complex-indic-machine.rl"
821 {te = p+1;{ process_syllable (standalone_cluster); }}
824 #line 84 "../../src/hb-ot-shape-complex-indic-machine.rl"
825 {te = p+1;{ process_syllable (non_indic); }}
828 #line 81 "../../src/hb-ot-shape-complex-indic-machine.rl"
829 {te = p;p--;{ process_syllable (consonant_syllable); }}
832 #line 82 "../../src/hb-ot-shape-complex-indic-machine.rl"
833 {te = p;p--;{ process_syllable (vowel_syllable); }}
836 #line 83 "../../src/hb-ot-shape-complex-indic-machine.rl"
837 {te = p;p--;{ process_syllable (standalone_cluster); }}
840 #line 84 "../../src/hb-ot-shape-complex-indic-machine.rl"
841 {te = p;p--;{ process_syllable (non_indic); }}
844 #line 81 "../../src/hb-ot-shape-complex-indic-machine.rl"
845 {{p = ((te))-1;}{ process_syllable (consonant_syllable); }}
848 #line 82 "../../src/hb-ot-shape-complex-indic-machine.rl"
849 {{p = ((te))-1;}{ process_syllable (vowel_syllable); }}
852 #line 83 "../../src/hb-ot-shape-complex-indic-machine.rl"
853 {{p = ((te))-1;}{ process_syllable (standalone_cluster); }}
855 #line 856 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
859 switch ( _indic_syllable_machine_to_state_actions[cs] ) {
861 #line 1 "../../src/hb-ot-shape-complex-indic-machine.rl"
864 #line 865 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
872 if ( _indic_syllable_machine_eof_trans[cs] > 0 ) {
873 _trans = _indic_syllable_machine_eof_trans[cs] - 1;
880 #line 119 "../../src/hb-ot-shape-complex-indic-machine.rl"
884 #endif /* HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH */