blob: dbab7e0428e5b442c56bf60a0a6785060abcc1f2 [file] [log] [blame]
/*
* Copyright © 2011,2012 Google, Inc.
*
* This is part of HarfBuzz, a text shaping library.
*
* Permission is hereby granted, without written agreement and without
* license or royalty fees, to use, copy, modify, and distribute this
* software and its documentation for any purpose, provided that the
* above copyright notice and the following two paragraphs appear in
* all copies of this software.
*
* IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
* DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
* ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
* IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
*
* THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
* BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
* ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
* PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
*
* Google Author(s): Behdad Esfahbod
*/
#ifndef HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH
#define HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH
#include "hb.hh"
static const unsigned char _indic_syllable_machine_trans_keys[] = {
7u, 7u, 3u, 7u, 4u, 6u, 6u, 6u,
4u, 7u, 4u, 6u, 6u, 6u, 4u, 7u,
4u, 6u, 6u, 6u, 4u, 7u, 4u, 6u,
6u, 6u, 3u, 7u, 5u, 5u, 14u, 14u,
3u, 7u, 5u, 5u, 14u, 14u, 3u, 7u,
5u, 5u, 14u, 14u, 3u, 7u, 5u, 5u,
14u, 14u, 3u, 12u, 3u, 7u, 3u, 12u,
3u, 7u, 3u, 12u, 3u, 7u, 3u, 12u,
3u, 7u, 3u, 12u, 7u, 7u, 3u, 7u,
4u, 6u, 6u, 6u, 4u, 7u, 4u, 6u,
6u, 6u, 4u, 7u, 4u, 6u, 6u, 6u,
4u, 7u, 4u, 6u, 6u, 6u, 3u, 7u,
5u, 5u, 14u, 14u, 3u, 7u, 5u, 5u,
14u, 14u, 3u, 7u, 5u, 5u, 14u, 14u,
3u, 7u, 5u, 5u, 14u, 14u, 3u, 12u,
3u, 7u, 3u, 12u, 3u, 7u, 3u, 12u,
3u, 7u, 3u, 12u, 3u, 7u, 3u, 12u,
7u, 7u, 3u, 7u, 4u, 6u, 6u, 6u,
4u, 7u, 4u, 6u, 6u, 6u, 4u, 7u,
4u, 6u, 6u, 6u, 4u, 7u, 4u, 6u,
6u, 6u, 3u, 7u, 5u, 5u, 14u, 14u,
3u, 7u, 5u, 5u, 14u, 14u, 3u, 7u,
5u, 5u, 14u, 14u, 3u, 7u, 5u, 5u,
14u, 14u, 3u, 12u, 3u, 7u, 3u, 12u,
3u, 7u, 3u, 12u, 3u, 7u, 3u, 12u,
3u, 7u, 7u, 7u, 3u, 7u, 4u, 6u,
6u, 6u, 4u, 7u, 4u, 6u, 6u, 6u,
4u, 7u, 4u, 6u, 6u, 6u, 4u, 7u,
4u, 6u, 6u, 6u, 3u, 7u, 5u, 5u,
14u, 14u, 3u, 7u, 5u, 5u, 14u, 14u,
3u, 7u, 5u, 5u, 14u, 14u, 3u, 7u,
5u, 5u, 14u, 14u, 3u, 12u, 3u, 7u,
3u, 12u, 3u, 7u, 3u, 12u, 3u, 7u,
3u, 12u, 3u, 7u, 3u, 12u, 3u, 12u,
4u, 7u, 7u, 7u, 0u, 17u, 2u, 15u,
2u, 15u, 3u, 15u, 0u, 14u, 2u, 15u,
2u, 15u, 3u, 15u, 0u, 14u, 2u, 15u,
2u, 15u, 3u, 15u, 0u, 14u, 2u, 15u,
2u, 15u, 3u, 15u, 0u, 14u, 2u, 15u,
2u, 15u, 3u, 15u, 4u, 9u, 4u, 9u,
4u, 9u, 9u, 9u, 9u, 9u, 9u, 9u,
4u, 9u, 2u, 9u, 4u, 9u, 2u, 9u,
3u, 9u, 4u, 9u, 2u, 9u, 3u, 9u,
4u, 9u, 2u, 9u, 3u, 9u, 4u, 9u,
2u, 9u, 3u, 9u, 3u, 9u, 2u, 15u,
2u, 15u, 0u, 14u, 0u, 14u, 0u, 14u,
2u, 15u, 2u, 15u, 0u, 14u, 0u, 14u,
0u, 14u, 2u, 15u, 2u, 15u, 0u, 14u,
0u, 14u, 0u, 14u, 2u, 15u, 2u, 15u,
0u, 14u, 0u, 14u, 0u, 14u, 2u, 15u,
2u, 15u, 2u, 15u, 2u, 15u, 3u, 15u,
0u, 14u, 2u, 15u, 2u, 15u, 3u, 15u,
0u, 14u, 2u, 15u, 2u, 15u, 3u, 15u,
0u, 14u, 2u, 15u, 2u, 15u, 3u, 15u,
0u, 14u, 2u, 15u, 2u, 15u, 3u, 15u,
4u, 9u, 4u, 9u, 4u, 9u, 9u, 9u,
9u, 9u, 9u, 9u, 4u, 9u, 2u, 9u,
4u, 9u, 2u, 9u, 3u, 9u, 4u, 9u,
2u, 9u, 3u, 9u, 4u, 9u, 2u, 9u,
3u, 9u, 4u, 9u, 2u, 9u, 3u, 9u,
3u, 9u, 2u, 15u, 2u, 15u, 0u, 14u,
0u, 14u, 0u, 14u, 2u, 15u, 2u, 15u,
0u, 14u, 0u, 14u, 0u, 14u, 2u, 15u,
2u, 15u, 0u, 14u, 0u, 14u, 0u, 14u,
2u, 15u, 2u, 15u, 0u, 14u, 0u, 14u,
0u, 14u, 3u, 7u, 2u, 15u, 2u, 15u,
3u, 15u, 0u, 14u, 2u, 15u, 2u, 15u,
3u, 15u, 0u, 14u, 2u, 15u, 2u, 15u,
3u, 15u, 0u, 14u, 2u, 15u, 2u, 15u,
3u, 15u, 0u, 14u, 2u, 15u, 2u, 15u,
3u, 15u, 4u, 9u, 4u, 9u, 4u, 9u,
9u, 9u, 9u, 9u, 9u, 9u, 4u, 9u,
2u, 9u, 4u, 9u, 2u, 9u, 3u, 9u,
4u, 9u, 2u, 9u, 3u, 9u, 4u, 9u,
2u, 9u, 3u, 9u, 4u, 9u, 2u, 9u,
3u, 9u, 3u, 9u, 2u, 15u, 2u, 15u,
0u, 14u, 0u, 14u, 0u, 14u, 2u, 15u,
2u, 15u, 0u, 14u, 0u, 14u, 0u, 14u,
2u, 15u, 2u, 15u, 0u, 14u, 0u, 14u,
0u, 14u, 2u, 15u, 2u, 15u, 0u, 14u,
0u, 14u, 0u, 14u, 3u, 12u, 2u, 15u,
3u, 7u, 2u, 15u, 2u, 15u, 3u, 15u,
0u, 14u, 2u, 15u, 2u, 15u, 3u, 15u,
0u, 14u, 2u, 15u, 2u, 15u, 3u, 15u,
0u, 14u, 2u, 15u, 2u, 15u, 3u, 15u,
0u, 14u, 2u, 15u, 2u, 15u, 3u, 15u,
4u, 9u, 4u, 9u, 4u, 9u, 9u, 9u,
9u, 9u, 9u, 9u, 4u, 9u, 2u, 9u,
4u, 9u, 2u, 9u, 3u, 9u, 4u, 9u,
2u, 9u, 3u, 9u, 4u, 9u, 2u, 9u,
3u, 9u, 4u, 9u, 2u, 9u, 3u, 9u,
3u, 9u, 2u, 15u, 2u, 15u, 0u, 14u,
0u, 14u, 0u, 14u, 2u, 15u, 2u, 15u,
0u, 14u, 0u, 14u, 0u, 14u, 2u, 15u,
2u, 15u, 0u, 14u, 0u, 14u, 0u, 14u,
2u, 15u, 2u, 15u, 0u, 14u, 0u, 14u,
0u, 14u, 2u, 15u, 0u, 15u, 2u, 15u,
0u, 15u, 3u, 12u, 4u, 9u, 9u, 9u,
9u, 9u, 9u, 9u, 4u, 9u, 0u, 14u,
2u, 9u, 4u, 9u, 4u, 9u, 9u, 9u,
9u, 9u, 9u, 9u, 4u, 9u, 0u, 14u,
0u
};
static const char _indic_syllable_machine_char_class[] = {
0, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 8, 13, 14,
15, 16, 17, 0
};
static const short _indic_syllable_machine_index_offsets[] = {
0, 1, 6, 9, 10, 14, 17, 18,
22, 25, 26, 30, 33, 34, 39, 40,
41, 46, 47, 48, 53, 54, 55, 60,
61, 62, 72, 77, 87, 92, 102, 107,
117, 122, 132, 133, 138, 141, 142, 146,
149, 150, 154, 157, 158, 162, 165, 166,
171, 172, 173, 178, 179, 180, 185, 186,
187, 192, 193, 194, 204, 209, 219, 224,
234, 239, 249, 254, 264, 265, 270, 273,
274, 278, 281, 282, 286, 289, 290, 294,
297, 298, 303, 304, 305, 310, 311, 312,
317, 318, 319, 324, 325, 326, 336, 341,
351, 356, 366, 371, 381, 386, 387, 392,
395, 396, 400, 403, 404, 408, 411, 412,
416, 419, 420, 425, 426, 427, 432, 433,
434, 439, 440, 441, 446, 447, 448, 458,
463, 473, 478, 488, 493, 503, 508, 518,
528, 532, 533, 551, 565, 579, 592, 607,
621, 635, 648, 663, 677, 691, 704, 719,
733, 747, 760, 775, 789, 803, 816, 822,
828, 834, 835, 836, 837, 843, 851, 857,
865, 872, 878, 886, 893, 899, 907, 914,
920, 928, 935, 942, 956, 970, 985, 1000,
1015, 1029, 1043, 1058, 1073, 1088, 1102, 1116,
1131, 1146, 1161, 1175, 1189, 1204, 1219, 1234,
1248, 1262, 1276, 1290, 1303, 1318, 1332, 1346,
1359, 1374, 1388, 1402, 1415, 1430, 1444, 1458,
1471, 1486, 1500, 1514, 1527, 1533, 1539, 1545,
1546, 1547, 1548, 1554, 1562, 1568, 1576, 1583,
1589, 1597, 1604, 1610, 1618, 1625, 1631, 1639,
1646, 1653, 1667, 1681, 1696, 1711, 1726, 1740,
1754, 1769, 1784, 1799, 1813, 1827, 1842, 1857,
1872, 1886, 1900, 1915, 1930, 1945, 1950, 1964,
1978, 1991, 2006, 2020, 2034, 2047, 2062, 2076,
2090, 2103, 2118, 2132, 2146, 2159, 2174, 2188,
2202, 2215, 2221, 2227, 2233, 2234, 2235, 2236,
2242, 2250, 2256, 2264, 2271, 2277, 2285, 2292,
2298, 2306, 2313, 2319, 2327, 2334, 2341, 2355,
2369, 2384, 2399, 2414, 2428, 2442, 2457, 2472,
2487, 2501, 2515, 2530, 2545, 2560, 2574, 2588,
2603, 2618, 2633, 2643, 2657, 2662, 2676, 2690,
2703, 2718, 2732, 2746, 2759, 2774, 2788, 2802,
2815, 2830, 2844, 2858, 2871, 2886, 2900, 2914,
2927, 2933, 2939, 2945, 2946, 2947, 2948, 2954,
2962, 2968, 2976, 2983, 2989, 2997, 3004, 3010,
3018, 3025, 3031, 3039, 3046, 3053, 3067, 3081,
3096, 3111, 3126, 3140, 3154, 3169, 3184, 3199,
3213, 3227, 3242, 3257, 3272, 3286, 3300, 3315,
3330, 3345, 3359, 3375, 3389, 3405, 3415, 3421,
3422, 3423, 3424, 3430, 3445, 3453, 3459, 3465,
3466, 3467, 3468, 3474, 0
};
static const short _indic_syllable_machine_indicies[] = {
1, 2, 3, 3, 4, 1, 5, 5,
4, 4, 6, 6, 7, 1, 8, 8,
7, 7, 9, 9, 10, 1, 11, 11,
10, 10, 12, 12, 13, 1, 14, 14,
13, 13, 15, 0, 0, 0, 1, 16,
17, 18, 12, 12, 13, 1, 19, 20,
21, 9, 9, 10, 1, 22, 23, 24,
6, 6, 7, 1, 25, 26, 2, 3,
3, 4, 1, 0, 0, 0, 0, 27,
28, 3, 3, 4, 1, 28, 3, 3,
4, 1, 0, 0, 0, 0, 29, 30,
3, 3, 4, 1, 30, 3, 3, 4,
1, 0, 0, 0, 0, 31, 32, 3,
3, 4, 1, 32, 3, 3, 4, 1,
0, 0, 0, 0, 33, 34, 3, 3,
4, 1, 34, 3, 3, 4, 1, 0,
0, 0, 0, 35, 37, 38, 39, 39,
40, 37, 41, 41, 40, 40, 42, 42,
43, 37, 44, 44, 43, 43, 45, 45,
46, 37, 47, 47, 46, 46, 48, 48,
49, 37, 50, 50, 49, 49, 51, 36,
36, 36, 37, 52, 53, 54, 48, 48,
49, 37, 55, 56, 57, 45, 45, 46,
37, 58, 59, 60, 42, 42, 43, 37,
61, 62, 38, 39, 39, 40, 37, 36,
36, 36, 36, 63, 64, 39, 39, 40,
37, 64, 39, 39, 40, 37, 36, 36,
36, 36, 65, 66, 39, 39, 40, 37,
66, 39, 39, 40, 37, 36, 36, 36,
36, 67, 68, 39, 39, 40, 37, 68,
39, 39, 40, 37, 36, 36, 36, 36,
69, 70, 39, 39, 40, 37, 70, 39,
39, 40, 37, 36, 36, 36, 36, 71,
73, 74, 75, 75, 76, 73, 78, 78,
76, 76, 79, 79, 80, 73, 81, 81,
80, 80, 82, 82, 83, 73, 84, 84,
83, 83, 85, 85, 86, 73, 87, 87,
86, 86, 88, 72, 72, 72, 73, 89,
90, 91, 85, 85, 86, 73, 92, 93,
94, 82, 82, 83, 73, 95, 96, 97,
79, 79, 80, 73, 98, 99, 74, 75,
75, 76, 73, 72, 72, 72, 72, 100,
101, 75, 75, 76, 73, 101, 75, 75,
76, 73, 72, 72, 72, 72, 102, 103,
75, 75, 76, 73, 103, 75, 75, 76,
73, 72, 72, 72, 72, 104, 105, 75,
75, 76, 73, 105, 75, 75, 76, 73,
72, 72, 72, 72, 106, 107, 75, 75,
76, 73, 109, 110, 111, 111, 112, 109,
113, 113, 112, 112, 114, 114, 115, 109,
116, 116, 115, 115, 117, 117, 118, 109,
119, 119, 118, 118, 120, 120, 121, 109,
122, 122, 121, 121, 123, 108, 108, 108,
109, 124, 125, 126, 120, 120, 121, 109,
127, 128, 129, 117, 117, 118, 109, 130,
131, 132, 114, 114, 115, 109, 133, 134,
110, 111, 111, 112, 109, 108, 108, 108,
108, 135, 136, 111, 111, 112, 109, 136,
111, 111, 112, 109, 108, 108, 108, 108,
137, 138, 111, 111, 112, 109, 138, 111,
111, 112, 109, 108, 108, 108, 108, 139,
140, 111, 111, 112, 109, 140, 111, 111,
112, 109, 108, 108, 108, 108, 141, 142,
111, 111, 112, 109, 142, 111, 111, 112,
109, 108, 108, 108, 108, 143, 107, 75,
75, 76, 73, 72, 72, 72, 72, 144,
78, 78, 76, 1, 146, 148, 149, 150,
151, 152, 153, 76, 73, 147, 154, 155,
155, 144, 156, 157, 158, 159, 160, 162,
163, 164, 165, 4, 1, 161, 166, 161,
161, 35, 161, 161, 167, 168, 163, 169,
169, 4, 1, 161, 166, 161, 161, 161,
161, 161, 167, 163, 169, 169, 4, 1,
161, 166, 161, 161, 161, 161, 161, 167,
170, 161, 161, 161, 17, 171, 161, 1,
161, 166, 161, 161, 161, 161, 170, 172,
173, 174, 175, 4, 1, 161, 166, 161,
161, 33, 161, 161, 167, 176, 173, 177,
177, 4, 1, 161, 166, 161, 161, 161,
161, 161, 167, 173, 177, 177, 4, 1,
161, 166, 161, 161, 161, 161, 161, 167,
178, 161, 161, 161, 17, 179, 161, 1,
161, 166, 161, 161, 161, 161, 178, 180,
181, 182, 183, 4, 1, 161, 166, 161,
161, 31, 161, 161, 167, 184, 181, 185,
185, 4, 1, 161, 166, 161, 161, 161,
161, 161, 167, 181, 185, 185, 4, 1,
161, 166, 161, 161, 161, 161, 161, 167,
186, 161, 161, 161, 17, 187, 161, 1,
161, 166, 161, 161, 161, 161, 186, 188,
189, 190, 191, 4, 1, 161, 166, 161,
161, 29, 161, 161, 167, 192, 189, 193,
193, 4, 1, 161, 166, 161, 161, 161,
161, 161, 167, 189, 193, 193, 4, 1,
161, 166, 161, 161, 161, 161, 161, 167,
194, 161, 161, 161, 17, 195, 161, 1,
161, 166, 161, 161, 161, 161, 194, 196,
197, 198, 199, 4, 1, 161, 166, 161,
161, 27, 161, 161, 167, 200, 197, 201,
201, 4, 1, 161, 166, 161, 161, 161,
161, 161, 167, 197, 201, 201, 4, 1,
161, 166, 161, 161, 161, 161, 161, 167,
17, 202, 161, 1, 161, 166, 203, 203,
161, 1, 161, 166, 204, 161, 161, 205,
161, 166, 166, 206, 207, 204, 161, 161,
161, 161, 166, 17, 161, 203, 203, 161,
1, 161, 166, 203, 202, 161, 1, 161,
166, 208, 26, 209, 210, 7, 1, 161,
166, 26, 209, 210, 7, 1, 161, 166,
209, 209, 7, 1, 161, 166, 211, 23,
212, 213, 10, 1, 161, 166, 23, 212,
213, 10, 1, 161, 166, 212, 212, 10,
1, 161, 166, 214, 20, 215, 216, 13,
1, 161, 166, 20, 215, 216, 13, 1,
161, 166, 215, 215, 13, 1, 161, 166,
217, 17, 203, 218, 161, 1, 161, 166,
17, 203, 218, 161, 1, 161, 166, 197,
201, 201, 4, 1, 161, 166, 196, 197,
201, 201, 4, 1, 161, 166, 161, 161,
161, 161, 161, 167, 196, 197, 198, 201,
4, 1, 161, 166, 161, 161, 27, 161,
161, 167, 194, 161, 219, 161, 203, 203,
161, 1, 161, 166, 161, 161, 161, 161,
194, 194, 161, 161, 161, 203, 203, 161,
1, 161, 166, 161, 161, 161, 161, 194,
194, 161, 161, 161, 203, 195, 161, 1,
161, 166, 161, 161, 161, 161, 194, 188,
189, 193, 193, 4, 1, 161, 166, 161,
161, 161, 161, 161, 167, 188, 189, 190,
193, 4, 1, 161, 166, 161, 161, 29,
161, 161, 167, 186, 161, 220, 161, 203,
203, 161, 1, 161, 166, 161, 161, 161,
161, 186, 186, 161, 161, 161, 203, 203,
161, 1, 161, 166, 161, 161, 161, 161,
186, 186, 161, 161, 161, 203, 187, 161,
1, 161, 166, 161, 161, 161, 161, 186,
180, 181, 185, 185, 4, 1, 161, 166,
161, 161, 161, 161, 161, 167, 180, 181,
182, 185, 4, 1, 161, 166, 161, 161,
31, 161, 161, 167, 178, 161, 221, 161,
203, 203, 161, 1, 161, 166, 161, 161,
161, 161, 178, 178, 161, 161, 161, 203,
203, 161, 1, 161, 166, 161, 161, 161,
161, 178, 178, 161, 161, 161, 203, 179,
161, 1, 161, 166, 161, 161, 161, 161,
178, 172, 173, 177, 177, 4, 1, 161,
166, 161, 161, 161, 161, 161, 167, 172,
173, 174, 177, 4, 1, 161, 166, 161,
161, 33, 161, 161, 167, 170, 161, 222,
161, 203, 203, 161, 1, 161, 166, 161,
161, 161, 161, 170, 170, 161, 161, 161,
203, 203, 161, 1, 161, 166, 161, 161,
161, 161, 170, 170, 161, 161, 161, 203,
171, 161, 1, 161, 166, 161, 161, 161,
161, 170, 162, 163, 169, 169, 4, 1,
161, 166, 161, 161, 161, 161, 161, 167,
162, 163, 164, 169, 4, 1, 161, 166,
161, 161, 35, 161, 161, 167, 224, 225,
226, 227, 40, 37, 223, 228, 223, 223,
71, 223, 223, 229, 230, 225, 231, 227,
40, 37, 223, 228, 223, 223, 223, 223,
223, 229, 225, 231, 227, 40, 37, 223,
228, 223, 223, 223, 223, 223, 229, 232,
223, 223, 223, 53, 233, 223, 37, 223,
228, 223, 223, 223, 223, 232, 234, 235,
236, 237, 40, 37, 223, 228, 223, 223,
69, 223, 223, 229, 238, 235, 239, 239,
40, 37, 223, 228, 223, 223, 223, 223,
223, 229, 235, 239, 239, 40, 37, 223,
228, 223, 223, 223, 223, 223, 229, 240,
223, 223, 223, 53, 241, 223, 37, 223,
228, 223, 223, 223, 223, 240, 242, 243,
244, 245, 40, 37, 223, 228, 223, 223,
67, 223, 223, 229, 246, 243, 247, 247,
40, 37, 223, 228, 223, 223, 223, 223,
223, 229, 243, 247, 247, 40, 37, 223,
228, 223, 223, 223, 223, 223, 229, 248,
223, 223, 223, 53, 249, 223, 37, 223,
228, 223, 223, 223, 223, 248, 250, 251,
252, 253, 40, 37, 223, 228, 223, 223,
65, 223, 223, 229, 254, 251, 255, 255,
40, 37, 223, 228, 223, 223, 223, 223,
223, 229, 251, 255, 255, 40, 37, 223,
228, 223, 223, 223, 223, 223, 229, 256,
223, 223, 223, 53, 257, 223, 37, 223,
228, 223, 223, 223, 223, 256, 258, 259,
260, 261, 40, 37, 223, 228, 223, 223,
63, 223, 223, 229, 262, 259, 263, 263,
40, 37, 223, 228, 223, 223, 223, 223,
223, 229, 259, 263, 263, 40, 37, 223,
228, 223, 223, 223, 223, 223, 229, 53,
264, 223, 37, 223, 228, 265, 265, 223,
37, 223, 228, 266, 223, 223, 267, 223,
228, 228, 268, 269, 266, 223, 223, 223,
223, 228, 53, 223, 265, 265, 223, 37,
223, 228, 265, 264, 223, 37, 223, 228,
270, 62, 271, 272, 43, 37, 223, 228,
62, 271, 272, 43, 37, 223, 228, 271,
271, 43, 37, 223, 228, 273, 59, 274,
275, 46, 37, 223, 228, 59, 274, 275,
46, 37, 223, 228, 274, 274, 46, 37,
223, 228, 276, 56, 277, 278, 49, 37,
223, 228, 56, 277, 278, 49, 37, 223,
228, 277, 277, 49, 37, 223, 228, 279,
53, 265, 280, 223, 37, 223, 228, 53,
265, 280, 223, 37, 223, 228, 259, 263,
263, 40, 37, 223, 228, 258, 259, 263,
263, 40, 37, 223, 228, 223, 223, 223,
223, 223, 229, 258, 259, 260, 263, 40,
37, 223, 228, 223, 223, 63, 223, 223,
229, 256, 223, 281, 223, 265, 265, 223,
37, 223, 228, 223, 223, 223, 223, 256,
256, 223, 223, 223, 265, 265, 223, 37,
223, 228, 223, 223, 223, 223, 256, 256,
223, 223, 223, 265, 257, 223, 37, 223,
228, 223, 223, 223, 223, 256, 250, 251,
255, 255, 40, 37, 223, 228, 223, 223,
223, 223, 223, 229, 250, 251, 252, 255,
40, 37, 223, 228, 223, 223, 65, 223,
223, 229, 248, 223, 282, 223, 265, 265,
223, 37, 223, 228, 223, 223, 223, 223,
248, 248, 223, 223, 223, 265, 265, 223,
37, 223, 228, 223, 223, 223, 223, 248,
248, 223, 223, 223, 265, 249, 223, 37,
223, 228, 223, 223, 223, 223, 248, 242,
243, 247, 247, 40, 37, 223, 228, 223,
223, 223, 223, 223, 229, 242, 243, 244,
247, 40, 37, 223, 228, 223, 223, 67,
223, 223, 229, 240, 223, 283, 223, 265,
265, 223, 37, 223, 228, 223, 223, 223,
223, 240, 240, 223, 223, 223, 265, 265,
223, 37, 223, 228, 223, 223, 223, 223,
240, 240, 223, 223, 223, 265, 241, 223,
37, 223, 228, 223, 223, 223, 223, 240,
234, 235, 239, 239, 40, 37, 223, 228,
223, 223, 223, 223, 223, 229, 234, 235,
236, 239, 40, 37, 223, 228, 223, 223,
69, 223, 223, 229, 232, 223, 284, 223,
265, 265, 223, 37, 223, 228, 223, 223,
223, 223, 232, 232, 223, 223, 223, 265,
265, 223, 37, 223, 228, 223, 223, 223,
223, 232, 232, 223, 223, 223, 265, 233,
223, 37, 223, 228, 223, 223, 223, 223,
232, 70, 39, 39, 40, 37, 224, 225,
231, 227, 40, 37, 223, 228, 223, 223,
223, 223, 223, 229, 286, 151, 287, 287,
76, 73, 285, 154, 285, 285, 285, 285,
285, 158, 151, 287, 287, 76, 73, 285,
154, 285, 285, 285, 285, 285, 158, 288,
285, 285, 285, 90, 289, 285, 73, 285,
154, 285, 285, 285, 285, 288, 290, 291,
292, 293, 76, 73, 285, 154, 285, 285,
106, 285, 285, 158, 294, 291, 295, 295,
76, 73, 285, 154, 285, 285, 285, 285,
285, 158, 291, 295, 295, 76, 73, 285,
154, 285, 285, 285, 285, 285, 158, 296,
285, 285, 285, 90, 297, 285, 73, 285,
154, 285, 285, 285, 285, 296, 298, 299,
300, 301, 76, 73, 285, 154, 285, 285,
104, 285, 285, 158, 302, 299, 303, 303,
76, 73, 285, 154, 285, 285, 285, 285,
285, 158, 299, 303, 303, 76, 73, 285,
154, 285, 285, 285, 285, 285, 158, 304,
285, 285, 285, 90, 305, 285, 73, 285,
154, 285, 285, 285, 285, 304, 306, 307,
308, 309, 76, 73, 285, 154, 285, 285,
102, 285, 285, 158, 310, 307, 311, 311,
76, 73, 285, 154, 285, 285, 285, 285,
285, 158, 307, 311, 311, 76, 73, 285,
154, 285, 285, 285, 285, 285, 158, 312,
285, 285, 285, 90, 313, 285, 73, 285,
154, 285, 285, 285, 285, 312, 314, 315,
316, 317, 76, 73, 285, 154, 285, 285,
100, 285, 285, 158, 318, 315, 319, 319,
76, 73, 285, 154, 285, 285, 285, 285,
285, 158, 315, 319, 319, 76, 73, 285,
154, 285, 285, 285, 285, 285, 158, 90,
320, 285, 73, 285, 154, 321, 321, 285,
73, 285, 154, 322, 285, 285, 323, 285,
154, 154, 324, 325, 322, 285, 285, 285,
285, 154, 90, 285, 321, 321, 285, 73,
285, 154, 321, 320, 285, 73, 285, 154,
326, 99, 327, 328, 80, 73, 285, 154,
99, 327, 328, 80, 73, 285, 154, 327,
327, 80, 73, 285, 154, 329, 96, 330,
331, 83, 73, 285, 154, 96, 330, 331,
83, 73, 285, 154, 330, 330, 83, 73,
285, 154, 332, 93, 333, 334, 86, 73,
285, 154, 93, 333, 334, 86, 73, 285,
154, 333, 333, 86, 73, 285, 154, 335,
90, 321, 336, 285, 73, 285, 154, 90,
321, 336, 285, 73, 285, 154, 315, 319,
319, 76, 73, 285, 154, 314, 315, 319,
319, 76, 73, 285, 154, 285, 285, 285,
285, 285, 158, 314, 315, 316, 319, 76,
73, 285, 154, 285, 285, 100, 285, 285,
158, 312, 285, 337, 285, 321, 321, 285,
73, 285, 154, 285, 285, 285, 285, 312,
312, 285, 285, 285, 321, 321, 285, 73,
285, 154, 285, 285, 285, 285, 312, 312,
285, 285, 285, 321, 313, 285, 73, 285,
154, 285, 285, 285, 285, 312, 306, 307,
311, 311, 76, 73, 285, 154, 285, 285,
285, 285, 285, 158, 306, 307, 308, 311,
76, 73, 285, 154, 285, 285, 102, 285,
285, 158, 304, 285, 338, 285, 321, 321,
285, 73, 285, 154, 285, 285, 285, 285,
304, 304, 285, 285, 285, 321, 321, 285,
73, 285, 154, 285, 285, 285, 285, 304,
304, 285, 285, 285, 321, 305, 285, 73,
285, 154, 285, 285, 285, 285, 304, 298,
299, 303, 303, 76, 73, 285, 154, 285,
285, 285, 285, 285, 158, 298, 299, 300,
303, 76, 73, 285, 154, 285, 285, 104,
285, 285, 158, 296, 285, 339, 285, 321,
321, 285, 73, 285, 154, 285, 285, 285,
285, 296, 296, 285, 285, 285, 321, 321,
285, 73, 285, 154, 285, 285, 285, 285,
296, 296, 285, 285, 285, 321, 297, 285,
73, 285, 154, 285, 285, 285, 285, 296,
290, 291, 295, 295, 76, 73, 285, 154,
285, 285, 285, 285, 285, 158, 290, 291,
292, 295, 76, 73, 285, 154, 285, 285,
106, 285, 285, 158, 288, 285, 340, 285,
321, 321, 285, 73, 285, 154, 285, 285,
285, 285, 288, 288, 285, 285, 285, 321,
321, 285, 73, 285, 154, 285, 285, 285,
285, 288, 288, 285, 285, 285, 321, 289,
285, 73, 285, 154, 285, 285, 285, 285,
288, 107, 75, 75, 76, 73, 341, 341,
341, 341, 144, 150, 151, 287, 287, 76,
73, 285, 154, 285, 285, 285, 285, 285,
158, 107, 75, 75, 76, 73, 343, 344,
345, 346, 112, 109, 342, 347, 342, 342,
143, 342, 342, 348, 349, 344, 346, 346,
112, 109, 342, 347, 342, 342, 342, 342,
342, 348, 344, 346, 346, 112, 109, 342,
347, 342, 342, 342, 342, 342, 348, 350,
342, 342, 342, 125, 351, 342, 109, 342,
347, 342, 342, 342, 342, 350, 352, 353,
354, 355, 112, 109, 342, 347, 342, 342,
141, 342, 342, 348, 356, 353, 357, 357,
112, 109, 342, 347, 342, 342, 342, 342,
342, 348, 353, 357, 357, 112, 109, 342,
347, 342, 342, 342, 342, 342, 348, 358,
342, 342, 342, 125, 359, 342, 109, 342,
347, 342, 342, 342, 342, 358, 360, 361,
362, 363, 112, 109, 342, 347, 342, 342,
139, 342, 342, 348, 364, 361, 365, 365,
112, 109, 342, 347, 342, 342, 342, 342,
342, 348, 361, 365, 365, 112, 109, 342,
347, 342, 342, 342, 342, 342, 348, 366,
342, 342, 342, 125, 367, 342, 109, 342,
347, 342, 342, 342, 342, 366, 368, 369,
370, 371, 112, 109, 342, 347, 342, 342,
137, 342, 342, 348, 372, 369, 373, 373,
112, 109, 342, 347, 342, 342, 342, 342,
342, 348, 369, 373, 373, 112, 109, 342,
347, 342, 342, 342, 342, 342, 348, 374,
342, 342, 342, 125, 375, 342, 109, 342,
347, 342, 342, 342, 342, 374, 376, 377,
378, 379, 112, 109, 342, 347, 342, 342,
135, 342, 342, 348, 380, 377, 381, 381,
112, 109, 342, 347, 342, 342, 342, 342,
342, 348, 377, 381, 381, 112, 109, 342,
347, 342, 342, 342, 342, 342, 348, 125,
382, 342, 109, 342, 347, 383, 383, 342,
109, 342, 347, 384, 342, 342, 385, 342,
347, 347, 386, 387, 384, 342, 342, 342,
342, 347, 125, 342, 383, 383, 342, 109,
342, 347, 383, 382, 342, 109, 342, 347,
388, 134, 389, 390, 115, 109, 342, 347,
134, 389, 390, 115, 109, 342, 347, 389,
389, 115, 109, 342, 347, 391, 131, 392,
393, 118, 109, 342, 347, 131, 392, 393,
118, 109, 342, 347, 392, 392, 118, 109,
342, 347, 394, 128, 395, 396, 121, 109,
342, 347, 128, 395, 396, 121, 109, 342,
347, 395, 395, 121, 109, 342, 347, 397,
125, 383, 398, 342, 109, 342, 347, 125,
383, 398, 342, 109, 342, 347, 377, 381,
381, 112, 109, 342, 347, 376, 377, 381,
381, 112, 109, 342, 347, 342, 342, 342,
342, 342, 348, 376, 377, 378, 381, 112,
109, 342, 347, 342, 342, 135, 342, 342,
348, 374, 342, 399, 342, 383, 383, 342,
109, 342, 347, 342, 342, 342, 342, 374,
374, 342, 342, 342, 383, 383, 342, 109,
342, 347, 342, 342, 342, 342, 374, 374,
342, 342, 342, 383, 375, 342, 109, 342,
347, 342, 342, 342, 342, 374, 368, 369,
373, 373, 112, 109, 342, 347, 342, 342,
342, 342, 342, 348, 368, 369, 370, 373,
112, 109, 342, 347, 342, 342, 137, 342,
342, 348, 366, 342, 400, 342, 383, 383,
342, 109, 342, 347, 342, 342, 342, 342,
366, 366, 342, 342, 342, 383, 383, 342,
109, 342, 347, 342, 342, 342, 342, 366,
366, 342, 342, 342, 383, 367, 342, 109,
342, 347, 342, 342, 342, 342, 366, 360,
361, 365, 365, 112, 109, 342, 347, 342,
342, 342, 342, 342, 348, 360, 361, 362,
365, 112, 109, 342, 347, 342, 342, 139,
342, 342, 348, 358, 342, 401, 342, 383,
383, 342, 109, 342, 347, 342, 342, 342,
342, 358, 358, 342, 342, 342, 383, 383,
342, 109, 342, 347, 342, 342, 342, 342,
358, 358, 342, 342, 342, 383, 359, 342,
109, 342, 347, 342, 342, 342, 342, 358,
352, 353, 357, 357, 112, 109, 342, 347,
342, 342, 342, 342, 342, 348, 352, 353,
354, 357, 112, 109, 342, 347, 342, 342,
141, 342, 342, 348, 350, 342, 402, 342,
383, 383, 342, 109, 342, 347, 342, 342,
342, 342, 350, 350, 342, 342, 342, 383,
383, 342, 109, 342, 347, 342, 342, 342,
342, 350, 350, 342, 342, 342, 383, 351,
342, 109, 342, 347, 342, 342, 342, 342,
350, 343, 344, 346, 346, 112, 109, 342,
347, 342, 342, 342, 342, 342, 348, 148,
149, 150, 151, 403, 287, 76, 73, 285,
154, 155, 155, 144, 285, 148, 158, 162,
404, 164, 165, 4, 1, 161, 166, 161,
161, 35, 161, 161, 167, 170, 149, 150,
151, 405, 406, 76, 407, 161, 408, 161,
155, 144, 161, 170, 158, 107, 409, 409,
76, 407, 161, 166, 161, 161, 144, 410,
161, 161, 411, 161, 408, 408, 412, 207,
410, 161, 161, 161, 161, 408, 170, 161,
222, 107, 409, 409, 76, 407, 161, 166,
161, 161, 161, 161, 170, 414, 413, 415,
415, 413, 146, 413, 416, 415, 415, 413,
146, 413, 416, 417, 413, 413, 418, 413,
416, 416, 419, 420, 417, 413, 413, 413,
413, 416, 148, 341, 341, 341, 341, 341,
341, 341, 341, 341, 155, 341, 341, 341,
148, 0
};
static const short _indic_syllable_machine_index_defaults[] = {
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,
0, 0, 36, 36, 36, 36, 36, 36,
36, 36, 36, 36, 36, 36, 36, 36,
36, 36, 36, 36, 36, 36, 36, 36,
36, 36, 36, 36, 36, 36, 36, 36,
36, 36, 36, 36, 72, 72, 77, 77,
72, 72, 72, 72, 72, 72, 72, 72,
72, 72, 72, 72, 72, 72, 72, 72,
72, 72, 72, 72, 72, 72, 72, 72,
72, 72, 72, 72, 72, 108, 108, 108,
108, 108, 108, 108, 108, 108, 108, 108,
108, 108, 108, 108, 108, 108, 108, 108,
108, 108, 108, 108, 108, 108, 108, 108,
108, 108, 108, 108, 108, 108, 108, 72,
0, 145, 147, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161,
161, 223, 223, 223, 223, 223, 223, 223,
223, 223, 223, 223, 223, 223, 223, 223,
223, 223, 223, 223, 223, 223, 223, 223,
223, 223, 223, 223, 223, 223, 223, 223,
223, 223, 223, 223, 223, 223, 223, 223,
223, 223, 223, 223, 223, 223, 223, 223,
223, 223, 223, 223, 223, 223, 223, 223,
223, 223, 223, 223, 223, 223, 223, 285,
285, 285, 285, 285, 285, 285, 285, 285,
285, 285, 285, 285, 285, 285, 285, 285,
285, 285, 285, 285, 285, 285, 285, 285,
285, 285, 285, 285, 285, 285, 285, 285,
285, 285, 285, 285, 285, 285, 285, 285,
285, 285, 285, 285, 285, 285, 285, 285,
285, 285, 285, 285, 285, 285, 285, 285,
285, 285, 341, 285, 341, 342, 342, 342,
342, 342, 342, 342, 342, 342, 342, 342,
342, 342, 342, 342, 342, 342, 342, 342,
342, 342, 342, 342, 342, 342, 342, 342,
342, 342, 342, 342, 342, 342, 342, 342,
342, 342, 342, 342, 342, 342, 342, 342,
342, 342, 342, 342, 342, 342, 342, 342,
342, 342, 342, 342, 342, 342, 342, 342,
342, 342, 285, 161, 161, 161, 161, 161,
161, 161, 161, 161, 413, 413, 413, 413,
413, 413, 413, 341, 0
};
static const char _indic_syllable_machine_trans_cond_spaces[] = {
-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, -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, -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, -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, -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, -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, -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, -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,
-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, -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, -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, -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, -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, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 0
};
static const short _indic_syllable_machine_cond_targs[] = {
138, 160, 166, 2, 167, 3, 5, 170,
6, 8, 173, 9, 11, 176, 12, 14,
15, 159, 17, 18, 175, 20, 21, 172,
23, 24, 169, 179, 183, 184, 188, 189,
193, 194, 198, 199, 138, 222, 228, 36,
229, 37, 39, 232, 40, 42, 235, 43,
45, 238, 46, 48, 49, 221, 51, 52,
237, 54, 55, 234, 57, 58, 231, 241,
245, 246, 250, 251, 255, 256, 260, 262,
138, 283, 289, 70, 290, 138, 71, 73,
293, 74, 76, 296, 77, 79, 299, 80,
82, 83, 282, 85, 86, 298, 88, 89,
295, 91, 92, 292, 302, 306, 307, 311,
312, 316, 317, 321, 138, 346, 352, 103,
353, 104, 106, 356, 107, 109, 359, 110,
112, 362, 113, 115, 116, 345, 118, 119,
361, 121, 122, 358, 124, 125, 355, 365,
369, 370, 374, 375, 379, 380, 384, 385,
323, 138, 398, 138, 139, 201, 263, 265,
322, 324, 285, 325, 386, 387, 301, 396,
403, 138, 140, 142, 33, 200, 162, 178,
141, 32, 143, 196, 144, 146, 31, 195,
145, 30, 147, 191, 148, 150, 29, 190,
149, 28, 151, 186, 152, 154, 27, 185,
153, 26, 155, 181, 156, 158, 25, 180,
157, 1, 165, 0, 161, 164, 163, 138,
168, 4, 22, 171, 7, 19, 174, 10,
16, 177, 13, 182, 187, 192, 197, 138,
202, 204, 67, 261, 224, 240, 203, 66,
205, 258, 206, 208, 65, 257, 207, 64,
209, 253, 210, 212, 63, 252, 211, 62,
213, 248, 214, 216, 61, 247, 215, 60,
217, 243, 218, 220, 59, 242, 219, 35,
227, 34, 223, 226, 225, 138, 230, 38,
56, 233, 41, 53, 236, 44, 50, 239,
47, 244, 249, 254, 259, 138, 264, 100,
266, 319, 267, 269, 99, 318, 268, 98,
270, 314, 271, 273, 97, 313, 272, 96,
274, 309, 275, 277, 95, 308, 276, 94,
278, 304, 279, 281, 93, 303, 280, 69,
288, 68, 284, 287, 286, 138, 291, 72,
90, 294, 75, 87, 297, 78, 84, 300,
81, 305, 310, 315, 320, 138, 138, 326,
328, 134, 133, 348, 364, 327, 329, 382,
330, 332, 132, 381, 331, 131, 333, 377,
334, 336, 130, 376, 335, 129, 337, 372,
338, 340, 128, 371, 339, 127, 341, 367,
342, 344, 126, 366, 343, 102, 351, 101,
347, 350, 349, 138, 354, 105, 123, 357,
108, 120, 360, 111, 117, 363, 114, 368,
373, 378, 383, 135, 388, 389, 395, 390,
392, 136, 391, 394, 393, 138, 397, 137,
400, 399, 402, 401, 138, 0
};
static const char _indic_syllable_machine_cond_actions[] = {
1, 0, 2, 0, 2, 0, 0, 2,
0, 0, 2, 0, 0, 2, 0, 0,
0, 2, 0, 0, 2, 0, 0, 2,
0, 0, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 3, 0, 2, 0,
2, 0, 0, 2, 0, 0, 2, 0,
0, 2, 0, 0, 0, 2, 0, 0,
2, 0, 0, 2, 0, 0, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
4, 0, 2, 0, 2, 5, 0, 0,
2, 0, 0, 2, 0, 0, 2, 0,
0, 0, 2, 0, 0, 2, 0, 0,
2, 0, 0, 2, 6, 2, 6, 2,
6, 2, 6, 2, 7, 0, 2, 0,
2, 0, 0, 2, 0, 0, 2, 0,
0, 2, 0, 0, 0, 2, 0, 0,
2, 0, 0, 2, 0, 0, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
6, 8, 0, 11, 2, 2, 6, 0,
12, 12, 0, 2, 6, 2, 6, 2,
0, 13, 2, 0, 0, 2, 0, 2,
2, 0, 2, 2, 2, 0, 0, 2,
2, 0, 2, 2, 2, 0, 0, 2,
2, 0, 2, 2, 2, 0, 0, 2,
2, 0, 2, 2, 2, 0, 0, 2,
2, 0, 2, 0, 0, 0, 0, 14,
2, 0, 0, 2, 0, 0, 2, 0,
0, 2, 0, 2, 2, 2, 2, 15,
2, 0, 0, 2, 0, 2, 2, 0,
2, 2, 2, 0, 0, 2, 2, 0,
2, 2, 2, 0, 0, 2, 2, 0,
2, 2, 2, 0, 0, 2, 2, 0,
2, 2, 2, 0, 0, 2, 2, 0,
2, 0, 0, 0, 0, 16, 2, 0,
0, 2, 0, 0, 2, 0, 0, 2,
0, 2, 2, 2, 2, 17, 6, 0,
6, 2, 6, 0, 0, 6, 6, 0,
6, 2, 6, 0, 0, 6, 6, 0,
6, 2, 6, 0, 0, 6, 6, 0,
6, 2, 6, 0, 0, 6, 6, 0,
2, 0, 0, 0, 0, 18, 2, 0,
0, 2, 0, 0, 2, 0, 0, 2,
0, 2, 2, 2, 2, 19, 20, 2,
0, 0, 0, 0, 2, 2, 2, 2,
2, 0, 0, 2, 2, 0, 2, 2,
2, 0, 0, 2, 2, 0, 2, 2,
2, 0, 0, 2, 2, 0, 2, 2,
2, 0, 0, 2, 2, 0, 2, 0,
0, 0, 0, 21, 2, 0, 0, 2,
0, 0, 2, 0, 0, 2, 0, 2,
2, 2, 2, 0, 0, 22, 22, 0,
0, 0, 0, 0, 0, 23, 2, 0,
0, 0, 0, 0, 24, 0
};
static const char _indic_syllable_machine_to_state_actions[] = {
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,
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,
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,
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,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 9, 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, 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, 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, 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, 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, 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, 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, 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, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0
};
static const char _indic_syllable_machine_from_state_actions[] = {
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,
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,
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,
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,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 10, 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, 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, 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, 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, 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, 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, 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, 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, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0
};
static const char _indic_syllable_machine_eof_cond_spaces[] = {
-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, -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, -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, -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, -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,
-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, -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, -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, -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, -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, -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, -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, -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,
-1, 0
};
static const char _indic_syllable_machine_eof_cond_key_offs[] = {
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0
};
static const char _indic_syllable_machine_eof_cond_key_lens[] = {
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0
};
static const char _indic_syllable_machine_eof_cond_keys[] = {
0
};
static const short _indic_syllable_machine_eof_trans[] = {
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, 1,
1, 1, 37, 37, 37, 37, 37, 37,
37, 37, 37, 37, 37, 37, 37, 37,
37, 37, 37, 37, 37, 37, 37, 37,
37, 37, 37, 37, 37, 37, 37, 37,
37, 37, 37, 37, 73, 73, 78, 78,
73, 73, 73, 73, 73, 73, 73, 73,
73, 73, 73, 73, 73, 73, 73, 73,
73, 73, 73, 73, 73, 73, 73, 73,
73, 73, 73, 73, 73, 109, 109, 109,
109, 109, 109, 109, 109, 109, 109, 109,
109, 109, 109, 109, 109, 109, 109, 109,
109, 109, 109, 109, 109, 109, 109, 109,
109, 109, 109, 109, 109, 109, 109, 73,
1, 146, 0, 162, 162, 162, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162,
162, 224, 224, 224, 224, 224, 224, 224,
224, 224, 224, 224, 224, 224, 224, 224,
224, 224, 224, 224, 224, 224, 224, 224,
224, 224, 224, 224, 224, 224, 224, 224,
224, 224, 224, 224, 224, 224, 224, 224,
224, 224, 224, 224, 224, 224, 224, 224,
224, 224, 224, 224, 224, 224, 224, 224,
224, 224, 224, 224, 224, 224, 224, 286,
286, 286, 286, 286, 286, 286, 286, 286,
286, 286, 286, 286, 286, 286, 286, 286,
286, 286, 286, 286, 286, 286, 286, 286,
286, 286, 286, 286, 286, 286, 286, 286,
286, 286, 286, 286, 286, 286, 286, 286,
286, 286, 286, 286, 286, 286, 286, 286,
286, 286, 286, 286, 286, 286, 286, 286,
286, 286, 342, 286, 342, 343, 343, 343,
343, 343, 343, 343, 343, 343, 343, 343,
343, 343, 343, 343, 343, 343, 343, 343,
343, 343, 343, 343, 343, 343, 343, 343,
343, 343, 343, 343, 343, 343, 343, 343,
343, 343, 343, 343, 343, 343, 343, 343,
343, 343, 343, 343, 343, 343, 343, 343,
343, 343, 343, 343, 343, 343, 343, 343,
343, 343, 286, 162, 162, 162, 162, 162,
162, 162, 162, 162, 414, 414, 414, 414,
414, 414, 414, 342, 0
};
static const char _indic_syllable_machine_nfa_targs[] = {
0, 0
};
static const char _indic_syllable_machine_nfa_offsets[] = {
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0
};
static const char _indic_syllable_machine_nfa_push_actions[] = {
0, 0
};
static const char _indic_syllable_machine_nfa_pop_trans[] = {
0, 0
};
static const int indic_syllable_machine_start = 138;
static const int indic_syllable_machine_first_final = 138;
static const int indic_syllable_machine_error = -1;
static const int indic_syllable_machine_en_main = 138;
#define found_syllable(syllable_type) \
HB_STMT_START { \
if (0) fprintf (stderr, "syllable %d..%d %s\n", ts, te, #syllable_type); \
for (unsigned int i = ts; i < te; i++) \
info[i].syllable() = (syllable_serial << 4) | syllable_type; \
syllable_serial++; \
if (unlikely (syllable_serial == 16)) syllable_serial=1; \
} HB_STMT_END
static void
find_syllables (hb_buffer_t *buffer)
{
unsigned int p, pe, eof, ts, te, act;
int cs;
hb_glyph_info_t *info = buffer->info;
{
cs = (int)indic_syllable_machine_start;
ts = 0;
te = 0;
act = 0;
}
p=0;
pe = eof = buffer->len;
unsigned int syllable_serial=1;
{
int _cpc;
int _klen;const char * _cekeys;unsigned int _trans = 0;const unsigned char * _keys;const short * _inds; {
if ( p == pe )
goto _test_eof;
_resume: {
switch ( _indic_syllable_machine_from_state_actions[cs] ) {
case 10: {
{
#line 1 "NONE"
{ts = p;}}
break; }
}
_keys = ( _indic_syllable_machine_trans_keys + ((cs<<1)));
_inds = ( _indic_syllable_machine_indicies + (_indic_syllable_machine_index_offsets[cs]));
if ( (info[p].indic_category()) <= 19 && (info[p].indic_category()) >= 1 )
{
int _ic = (int)_indic_syllable_machine_char_class[(int)(info[p].indic_category()) - 1];
if ( _ic <= (int)(*( _keys+1)) && _ic >= (int)(*( _keys)) )
_trans = (unsigned int)(*( _inds + (int)( _ic - (int)(*( _keys)) ) ));
else
_trans = (unsigned int)_indic_syllable_machine_index_defaults[cs];
}
else {
_trans = (unsigned int)_indic_syllable_machine_index_defaults[cs];
}
goto _match_cond;
}
_match_cond: {
cs = (int)_indic_syllable_machine_cond_targs[_trans];
if ( _indic_syllable_machine_cond_actions[_trans] == 0 )
goto _again;
switch ( _indic_syllable_machine_cond_actions[_trans] ) {
case 2: {
{
#line 1 "NONE"
{te = p+1;}}
break; }
case 14: {
{
#line 84 "hb-ot-shape-complex-indic-machine.rl"
{te = p+1;{
#line 84 "hb-ot-shape-complex-indic-machine.rl"
found_syllable (consonant_syllable); }}}
break; }
case 16: {
{
#line 85 "hb-ot-shape-complex-indic-machine.rl"
{te = p+1;{
#line 85 "hb-ot-shape-complex-indic-machine.rl"
found_syllable (vowel_syllable); }}}
break; }
case 21: {
{
#line 86 "hb-ot-shape-complex-indic-machine.rl"
{te = p+1;{
#line 86 "hb-ot-shape-complex-indic-machine.rl"
found_syllable (standalone_cluster); }}}
break; }
case 24: {
{
#line 87 "hb-ot-shape-complex-indic-machine.rl"
{te = p+1;{
#line 87 "hb-ot-shape-complex-indic-machine.rl"
found_syllable (symbol_cluster); }}}
break; }
case 18: {
{
#line 88 "hb-ot-shape-complex-indic-machine.rl"
{te = p+1;{
#line 88 "hb-ot-shape-complex-indic-machine.rl"
found_syllable (broken_cluster); }}}
break; }
case 11: {
{
#line 89 "hb-ot-shape-complex-indic-machine.rl"
{te = p+1;{
#line 89 "hb-ot-shape-complex-indic-machine.rl"
found_syllable (non_indic_cluster); }}}
break; }
case 13: {
{
#line 84 "hb-ot-shape-complex-indic-machine.rl"
{te = p;p = p - 1;{
#line 84 "hb-ot-shape-complex-indic-machine.rl"
found_syllable (consonant_syllable); }}}
break; }
case 15: {
{
#line 85 "hb-ot-shape-complex-indic-machine.rl"
{te = p;p = p - 1;{
#line 85 "hb-ot-shape-complex-indic-machine.rl"
found_syllable (vowel_syllable); }}}
break; }
case 20: {
{
#line 86 "hb-ot-shape-complex-indic-machine.rl"
{te = p;p = p - 1;{
#line 86 "hb-ot-shape-complex-indic-machine.rl"
found_syllable (standalone_cluster); }}}
break; }
case 23: {
{
#line 87 "hb-ot-shape-complex-indic-machine.rl"
{te = p;p = p - 1;{
#line 87 "hb-ot-shape-complex-indic-machine.rl"
found_syllable (symbol_cluster); }}}
break; }
case 17: {
{
#line 88 "hb-ot-shape-complex-indic-machine.rl"
{te = p;p = p - 1;{
#line 88 "hb-ot-shape-complex-indic-machine.rl"
found_syllable (broken_cluster); }}}
break; }
case 19: {
{
#line 89 "hb-ot-shape-complex-indic-machine.rl"
{te = p;p = p - 1;{
#line 89 "hb-ot-shape-complex-indic-machine.rl"
found_syllable (non_indic_cluster); }}}
break; }
case 1: {
{
#line 84 "hb-ot-shape-complex-indic-machine.rl"
{p = ((te))-1;
{
#line 84 "hb-ot-shape-complex-indic-machine.rl"
found_syllable (consonant_syllable); }}}
break; }
case 3: {
{
#line 85 "hb-ot-shape-complex-indic-machine.rl"
{p = ((te))-1;
{
#line 85 "hb-ot-shape-complex-indic-machine.rl"
found_syllable (vowel_syllable); }}}
break; }
case 7: {
{
#line 86 "hb-ot-shape-complex-indic-machine.rl"
{p = ((te))-1;
{
#line 86 "hb-ot-shape-complex-indic-machine.rl"
found_syllable (standalone_cluster); }}}
break; }
case 8: {
{
#line 87 "hb-ot-shape-complex-indic-machine.rl"
{p = ((te))-1;
{
#line 87 "hb-ot-shape-complex-indic-machine.rl"
found_syllable (symbol_cluster); }}}
break; }
case 4: {
{
#line 88 "hb-ot-shape-complex-indic-machine.rl"
{p = ((te))-1;
{
#line 88 "hb-ot-shape-complex-indic-machine.rl"
found_syllable (broken_cluster); }}}
break; }
case 5: {
{
#line 1 "NONE"
{switch( act ) {
case 1: {
p = ((te))-1;
{
#line 84 "hb-ot-shape-complex-indic-machine.rl"
found_syllable (consonant_syllable); } break; }
case 5: {
p = ((te))-1;
{
#line 88 "hb-ot-shape-complex-indic-machine.rl"
found_syllable (broken_cluster); } break; }
case 6: {
p = ((te))-1;
{
#line 89 "hb-ot-shape-complex-indic-machine.rl"
found_syllable (non_indic_cluster); } break; }
}}
}
break; }
case 22: {
{
#line 1 "NONE"
{te = p+1;}}
{
#line 84 "hb-ot-shape-complex-indic-machine.rl"
{act = 1;}}
break; }
case 6: {
{
#line 1 "NONE"
{te = p+1;}}
{
#line 88 "hb-ot-shape-complex-indic-machine.rl"
{act = 5;}}
break; }
case 12: {
{
#line 1 "NONE"
{te = p+1;}}
{
#line 89 "hb-ot-shape-complex-indic-machine.rl"
{act = 6;}}
break; }
}
}
_again: {
switch ( _indic_syllable_machine_to_state_actions[cs] ) {
case 9: {
{
#line 1 "NONE"
{ts = 0;}}
break; }
}
p += 1;
if ( p != pe )
goto _resume;
}
_test_eof: { {}
if ( p == eof )
{
if ( _indic_syllable_machine_eof_cond_spaces[cs] != -1 ) {
_cekeys = ( _indic_syllable_machine_eof_cond_keys + (_indic_syllable_machine_eof_cond_key_offs[cs]));
_klen = (int)_indic_syllable_machine_eof_cond_key_lens[cs];
_cpc = 0;
{
const char *_lower = _cekeys;
const char *_upper = _cekeys + _klen - 1;
const char *_mid;
while ( 1 ) {
if ( _upper < _lower )
break;
_mid = _lower + ((_upper-_lower) >> 1);
if ( _cpc < (int)(*( _mid)) )
_upper = _mid - 1;
else if ( _cpc > (int)(*( _mid)) )
_lower = _mid + 1;
else {
goto _ok;
}
}
cs = -1;
goto _out;
}
_ok: {}
}
if ( _indic_syllable_machine_eof_trans[cs] > 0 ) {
_trans = (unsigned int)_indic_syllable_machine_eof_trans[cs] - 1;
goto _match_cond;
}
}
}
_out: { {}
}
}
}
}
#endif /* HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH */