[indic/khmer/myanmar] Shift category numbers around to avoid overlap

Fixes https://github.com/harfbuzz/harfbuzz/issues/3632
This commit is contained in:
Behdad Esfahbod 2022-06-05 01:14:32 -06:00
parent d6dbc0d175
commit 92e81ab1df
7 changed files with 500 additions and 514 deletions

View File

@ -42,88 +42,88 @@ enum indic_syllable_type_t {
#line 45 "hb-ot-shaper-indic-machine.hh"
#define indic_syllable_machine_ex_A 10u
#define indic_syllable_machine_ex_A 9u
#define indic_syllable_machine_ex_C 1u
#define indic_syllable_machine_ex_CM 17u
#define indic_syllable_machine_ex_CS 19u
#define indic_syllable_machine_ex_DOTTEDCIRCLE 12u
#define indic_syllable_machine_ex_CM 16u
#define indic_syllable_machine_ex_CS 18u
#define indic_syllable_machine_ex_DOTTEDCIRCLE 11u
#define indic_syllable_machine_ex_H 4u
#define indic_syllable_machine_ex_M 7u
#define indic_syllable_machine_ex_N 3u
#define indic_syllable_machine_ex_PLACEHOLDER 11u
#define indic_syllable_machine_ex_RS 13u
#define indic_syllable_machine_ex_Ra 16u
#define indic_syllable_machine_ex_Repha 15u
#define indic_syllable_machine_ex_PLACEHOLDER 10u
#define indic_syllable_machine_ex_RS 12u
#define indic_syllable_machine_ex_Ra 15u
#define indic_syllable_machine_ex_Repha 14u
#define indic_syllable_machine_ex_SM 8u
#define indic_syllable_machine_ex_Symbol 18u
#define indic_syllable_machine_ex_Symbol 17u
#define indic_syllable_machine_ex_V 2u
#define indic_syllable_machine_ex_VD 10u
#define indic_syllable_machine_ex_VD 9u
#define indic_syllable_machine_ex_ZWJ 6u
#define indic_syllable_machine_ex_ZWNJ 5u
#line 66 "hb-ot-shaper-indic-machine.hh"
static const unsigned char _indic_syllable_machine_trans_keys[] = {
8u, 8u, 4u, 8u, 5u, 7u, 5u, 8u, 4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u,
4u, 13u, 4u, 8u, 8u, 8u, 5u, 7u, 5u, 8u, 4u, 8u, 6u, 6u, 16u, 16u,
4u, 8u, 4u, 13u, 4u, 13u, 4u, 13u, 8u, 8u, 5u, 7u, 5u, 8u, 4u, 8u,
6u, 6u, 16u, 16u, 4u, 8u, 4u, 8u, 4u, 13u, 8u, 8u, 5u, 7u, 5u, 8u,
4u, 8u, 6u, 6u, 16u, 16u, 4u, 8u, 4u, 8u, 5u, 8u, 8u, 8u, 1u, 19u,
3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 5u, 10u, 5u, 10u, 10u, 10u, 5u, 10u,
1u, 16u, 1u, 16u, 1u, 16u, 3u, 10u, 4u, 10u, 5u, 10u, 4u, 10u, 5u, 10u,
3u, 10u, 5u, 10u, 3u, 17u, 3u, 17u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u,
3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 5u, 10u, 10u, 10u, 5u, 10u, 1u, 16u,
1u, 16u, 3u, 10u, 4u, 10u, 5u, 10u, 4u, 10u, 5u, 10u, 5u, 10u, 3u, 10u,
5u, 10u, 3u, 17u, 3u, 17u, 4u, 8u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u,
3u, 17u, 1u, 16u, 5u, 10u, 10u, 10u, 5u, 10u, 1u, 16u, 1u, 16u, 3u, 10u,
4u, 10u, 5u, 10u, 3u, 17u, 4u, 10u, 5u, 10u, 5u, 10u, 3u, 10u, 5u, 10u,
3u, 17u, 4u, 13u, 4u, 8u, 3u, 17u, 3u, 17u, 4u, 17u, 1u, 16u, 3u, 17u,
1u, 16u, 5u, 10u, 10u, 10u, 5u, 10u, 1u, 16u, 1u, 16u, 3u, 10u, 4u, 10u,
5u, 10u, 3u, 17u, 4u, 10u, 5u, 10u, 5u, 10u, 3u, 10u, 5u, 10u, 1u, 17u,
3u, 17u, 1u, 17u, 4u, 13u, 5u, 10u, 10u, 10u, 5u, 10u, 1u, 16u, 3u, 10u,
5u, 10u, 5u, 10u, 10u, 10u, 5u, 10u, 1u, 16u, 0
8u, 8u, 4u, 8u, 5u, 7u, 5u, 8u, 4u, 8u, 6u, 6u, 15u, 15u, 4u, 8u,
4u, 12u, 4u, 8u, 8u, 8u, 5u, 7u, 5u, 8u, 4u, 8u, 6u, 6u, 15u, 15u,
4u, 8u, 4u, 12u, 4u, 12u, 4u, 12u, 8u, 8u, 5u, 7u, 5u, 8u, 4u, 8u,
6u, 6u, 15u, 15u, 4u, 8u, 4u, 8u, 4u, 12u, 8u, 8u, 5u, 7u, 5u, 8u,
4u, 8u, 6u, 6u, 15u, 15u, 4u, 8u, 4u, 8u, 5u, 8u, 8u, 8u, 1u, 18u,
3u, 16u, 3u, 16u, 4u, 16u, 1u, 15u, 5u, 9u, 5u, 9u, 9u, 9u, 5u, 9u,
1u, 15u, 1u, 15u, 1u, 15u, 3u, 9u, 4u, 9u, 5u, 9u, 4u, 9u, 5u, 9u,
3u, 9u, 5u, 9u, 3u, 16u, 3u, 16u, 3u, 16u, 3u, 16u, 4u, 16u, 1u, 15u,
3u, 16u, 3u, 16u, 4u, 16u, 1u, 15u, 5u, 9u, 9u, 9u, 5u, 9u, 1u, 15u,
1u, 15u, 3u, 9u, 4u, 9u, 5u, 9u, 4u, 9u, 5u, 9u, 5u, 9u, 3u, 9u,
5u, 9u, 3u, 16u, 3u, 16u, 4u, 8u, 3u, 16u, 3u, 16u, 4u, 16u, 1u, 15u,
3u, 16u, 1u, 15u, 5u, 9u, 9u, 9u, 5u, 9u, 1u, 15u, 1u, 15u, 3u, 9u,
4u, 9u, 5u, 9u, 3u, 16u, 4u, 9u, 5u, 9u, 5u, 9u, 3u, 9u, 5u, 9u,
3u, 16u, 4u, 12u, 4u, 8u, 3u, 16u, 3u, 16u, 4u, 16u, 1u, 15u, 3u, 16u,
1u, 15u, 5u, 9u, 9u, 9u, 5u, 9u, 1u, 15u, 1u, 15u, 3u, 9u, 4u, 9u,
5u, 9u, 3u, 16u, 4u, 9u, 5u, 9u, 5u, 9u, 3u, 9u, 5u, 9u, 1u, 16u,
3u, 16u, 1u, 16u, 4u, 12u, 5u, 9u, 9u, 9u, 5u, 9u, 1u, 15u, 3u, 9u,
5u, 9u, 5u, 9u, 9u, 9u, 5u, 9u, 1u, 15u, 0
};
static const char _indic_syllable_machine_key_spans[] = {
1, 5, 3, 4, 5, 1, 1, 5,
10, 5, 1, 3, 4, 5, 1, 1,
5, 10, 10, 10, 1, 3, 4, 5,
1, 1, 5, 5, 10, 1, 3, 4,
5, 1, 1, 5, 5, 4, 1, 19,
15, 15, 14, 16, 6, 6, 1, 6,
16, 16, 16, 8, 7, 6, 7, 6,
8, 6, 15, 15, 15, 15, 14, 16,
15, 15, 14, 16, 6, 1, 6, 16,
16, 8, 7, 6, 7, 6, 6, 8,
6, 15, 15, 5, 15, 15, 14, 16,
15, 16, 6, 1, 6, 16, 16, 8,
7, 6, 15, 7, 6, 6, 8, 6,
15, 10, 5, 15, 15, 14, 16, 15,
16, 6, 1, 6, 16, 16, 8, 7,
6, 15, 7, 6, 6, 8, 6, 17,
15, 17, 10, 6, 1, 6, 16, 8,
6, 6, 1, 6, 16
9, 5, 1, 3, 4, 5, 1, 1,
5, 9, 9, 9, 1, 3, 4, 5,
1, 1, 5, 5, 9, 1, 3, 4,
5, 1, 1, 5, 5, 4, 1, 18,
14, 14, 13, 15, 5, 5, 1, 5,
15, 15, 15, 7, 6, 5, 6, 5,
7, 5, 14, 14, 14, 14, 13, 15,
14, 14, 13, 15, 5, 1, 5, 15,
15, 7, 6, 5, 6, 5, 5, 7,
5, 14, 14, 5, 14, 14, 13, 15,
14, 15, 5, 1, 5, 15, 15, 7,
6, 5, 14, 6, 5, 5, 7, 5,
14, 9, 5, 14, 14, 13, 15, 14,
15, 5, 1, 5, 15, 15, 7, 6,
5, 14, 6, 5, 5, 7, 5, 16,
14, 16, 9, 5, 1, 5, 15, 7,
5, 5, 1, 5, 15
};
static const short _indic_syllable_machine_index_offsets[] = {
0, 2, 8, 12, 17, 23, 25, 27,
33, 44, 50, 52, 56, 61, 67, 69,
71, 77, 88, 99, 110, 112, 116, 121,
127, 129, 131, 137, 143, 154, 156, 160,
165, 171, 173, 175, 181, 187, 192, 194,
214, 230, 246, 261, 278, 285, 292, 294,
301, 318, 335, 352, 361, 369, 376, 384,
391, 400, 407, 423, 439, 455, 471, 486,
503, 519, 535, 550, 567, 574, 576, 583,
600, 617, 626, 634, 641, 649, 656, 663,
672, 679, 695, 711, 717, 733, 749, 764,
781, 797, 814, 821, 823, 830, 847, 864,
873, 881, 888, 904, 912, 919, 926, 935,
942, 958, 969, 975, 991, 1007, 1022, 1039,
1055, 1072, 1079, 1081, 1088, 1105, 1122, 1131,
1139, 1146, 1162, 1170, 1177, 1184, 1193, 1200,
1218, 1234, 1252, 1263, 1270, 1272, 1279, 1296,
1305, 1312, 1319, 1321, 1328
33, 43, 49, 51, 55, 60, 66, 68,
70, 76, 86, 96, 106, 108, 112, 117,
123, 125, 127, 133, 139, 149, 151, 155,
160, 166, 168, 170, 176, 182, 187, 189,
208, 223, 238, 252, 268, 274, 280, 282,
288, 304, 320, 336, 344, 351, 357, 364,
370, 378, 384, 399, 414, 429, 444, 458,
474, 489, 504, 518, 534, 540, 542, 548,
564, 580, 588, 595, 601, 608, 614, 620,
628, 634, 649, 664, 670, 685, 700, 714,
730, 745, 761, 767, 769, 775, 791, 807,
815, 822, 828, 843, 850, 856, 862, 870,
876, 891, 901, 907, 922, 937, 951, 967,
982, 998, 1004, 1006, 1012, 1028, 1044, 1052,
1059, 1065, 1080, 1087, 1093, 1099, 1107, 1113,
1130, 1145, 1162, 1172, 1178, 1180, 1186, 1202,
1210, 1216, 1222, 1224, 1230
};
static const unsigned char _indic_syllable_machine_indicies[] = {
@ -132,170 +132,157 @@ static const unsigned char _indic_syllable_machine_indicies[] = {
0, 5, 3, 3, 4, 1, 0, 6,
0, 7, 0, 8, 3, 3, 4, 1,
0, 2, 3, 3, 4, 1, 0, 0,
0, 0, 9, 0, 11, 12, 12, 13,
14, 10, 14, 10, 12, 12, 13, 10,
12, 12, 13, 14, 10, 15, 12, 12,
13, 14, 10, 16, 10, 17, 10, 18,
12, 12, 13, 14, 10, 11, 12, 12,
13, 14, 10, 10, 10, 10, 19, 10,
11, 12, 12, 13, 14, 10, 10, 10,
10, 20, 10, 22, 23, 23, 24, 25,
21, 21, 21, 21, 26, 21, 25, 21,
23, 23, 24, 27, 23, 23, 24, 25,
21, 28, 23, 23, 24, 25, 21, 29,
21, 30, 21, 22, 23, 23, 24, 25,
21, 31, 23, 23, 24, 25, 21, 33,
34, 34, 35, 36, 32, 32, 32, 32,
37, 32, 36, 32, 34, 34, 35, 32,
34, 34, 35, 36, 32, 38, 34, 34,
35, 36, 32, 39, 32, 40, 32, 33,
34, 34, 35, 36, 32, 41, 34, 34,
35, 36, 32, 23, 23, 24, 1, 0,
43, 42, 45, 46, 47, 48, 49, 50,
24, 25, 44, 51, 52, 52, 26, 44,
53, 54, 55, 56, 57, 44, 59, 60,
61, 62, 4, 1, 58, 63, 58, 58,
9, 58, 58, 58, 64, 58, 65, 60,
66, 66, 4, 1, 58, 63, 58, 58,
0, 9, 0, 11, 12, 12, 13, 14,
10, 14, 10, 12, 12, 13, 10, 12,
12, 13, 14, 10, 15, 12, 12, 13,
14, 10, 16, 10, 17, 10, 18, 12,
12, 13, 14, 10, 11, 12, 12, 13,
14, 10, 10, 10, 19, 10, 11, 12,
12, 13, 14, 10, 10, 10, 20, 10,
22, 23, 23, 24, 25, 21, 21, 21,
26, 21, 25, 21, 23, 23, 24, 27,
23, 23, 24, 25, 21, 28, 23, 23,
24, 25, 21, 29, 21, 30, 21, 22,
23, 23, 24, 25, 21, 31, 23, 23,
24, 25, 21, 33, 34, 34, 35, 36,
32, 32, 32, 37, 32, 36, 32, 34,
34, 35, 32, 34, 34, 35, 36, 32,
38, 34, 34, 35, 36, 32, 39, 32,
40, 32, 33, 34, 34, 35, 36, 32,
41, 34, 34, 35, 36, 32, 23, 23,
24, 1, 0, 43, 42, 45, 46, 47,
48, 49, 50, 24, 25, 51, 52, 52,
26, 44, 53, 54, 55, 56, 57, 44,
59, 60, 61, 62, 4, 1, 63, 58,
58, 9, 58, 58, 58, 64, 58, 65,
60, 66, 66, 4, 1, 63, 58, 58,
58, 58, 58, 58, 64, 58, 60, 66,
66, 4, 1, 58, 63, 58, 58, 58,
58, 58, 58, 64, 58, 45, 58, 58,
58, 67, 68, 58, 1, 58, 63, 58,
58, 58, 58, 58, 45, 58, 69, 69,
58, 1, 58, 63, 58, 63, 58, 58,
70, 58, 63, 58, 63, 58, 63, 58,
58, 58, 58, 63, 58, 45, 58, 71,
58, 69, 69, 58, 1, 58, 63, 58,
58, 58, 58, 58, 45, 58, 45, 58,
58, 58, 69, 69, 58, 1, 58, 63,
58, 58, 58, 58, 58, 45, 58, 45,
58, 58, 58, 69, 68, 58, 1, 58,
66, 4, 1, 63, 58, 58, 58, 58,
58, 58, 64, 58, 45, 58, 58, 58,
67, 68, 58, 1, 63, 58, 58, 58,
58, 58, 45, 58, 69, 69, 58, 1,
63, 58, 63, 58, 58, 70, 63, 58,
63, 58, 63, 58, 58, 58, 63, 58,
45, 58, 71, 58, 69, 69, 58, 1,
63, 58, 58, 58, 58, 58, 45, 58,
72, 7, 73, 74, 4, 1, 58, 63,
58, 7, 73, 74, 4, 1, 58, 63,
58, 73, 73, 4, 1, 58, 63, 58,
75, 76, 76, 4, 1, 58, 63, 58,
67, 77, 58, 1, 58, 63, 58, 67,
58, 69, 69, 58, 1, 58, 63, 58,
69, 77, 58, 1, 58, 63, 58, 59,
60, 66, 66, 4, 1, 58, 63, 58,
45, 58, 58, 58, 69, 69, 58, 1,
63, 58, 58, 58, 58, 58, 45, 58,
45, 58, 58, 58, 69, 68, 58, 1,
63, 58, 58, 58, 58, 58, 45, 58,
72, 7, 73, 74, 4, 1, 63, 58,
7, 73, 74, 4, 1, 63, 58, 73,
73, 4, 1, 63, 58, 75, 76, 76,
4, 1, 63, 58, 67, 77, 58, 1,
63, 58, 67, 58, 69, 69, 58, 1,
63, 58, 69, 77, 58, 1, 63, 58,
59, 60, 66, 66, 4, 1, 63, 58,
58, 58, 58, 58, 58, 64, 58, 59,
60, 61, 66, 4, 1, 58, 63, 58,
58, 9, 58, 58, 58, 64, 58, 79,
80, 81, 82, 13, 14, 78, 83, 78,
78, 20, 78, 78, 78, 84, 78, 85,
80, 86, 82, 13, 14, 78, 83, 78,
78, 78, 78, 78, 78, 84, 78, 80,
86, 82, 13, 14, 78, 83, 78, 78,
60, 61, 66, 4, 1, 63, 58, 58,
9, 58, 58, 58, 64, 58, 79, 80,
81, 82, 13, 14, 83, 78, 78, 20,
78, 78, 78, 84, 78, 85, 80, 86,
82, 13, 14, 83, 78, 78, 78, 78,
78, 78, 84, 78, 80, 86, 82, 13,
14, 83, 78, 78, 78, 78, 78, 78,
84, 78, 87, 78, 78, 78, 88, 89,
78, 14, 83, 78, 78, 78, 78, 78,
87, 78, 90, 80, 91, 92, 13, 14,
83, 78, 78, 19, 78, 78, 78, 84,
78, 93, 80, 86, 86, 13, 14, 83,
78, 78, 78, 78, 78, 78, 84, 78,
80, 86, 86, 13, 14, 83, 78, 78,
78, 78, 78, 78, 84, 78, 87, 78,
78, 78, 88, 89, 78, 14, 78, 83,
78, 78, 78, 78, 78, 87, 78, 90,
80, 91, 92, 13, 14, 78, 83, 78,
78, 19, 78, 78, 78, 84, 78, 93,
80, 86, 86, 13, 14, 78, 83, 78,
78, 78, 78, 78, 78, 84, 78, 80,
86, 86, 13, 14, 78, 83, 78, 78,
78, 78, 78, 78, 84, 78, 87, 78,
78, 78, 94, 89, 78, 14, 78, 83,
78, 78, 78, 78, 78, 87, 78, 83,
78, 78, 95, 78, 83, 78, 83, 78,
83, 78, 78, 78, 78, 83, 78, 87,
78, 96, 78, 94, 94, 78, 14, 78,
83, 78, 78, 78, 78, 78, 87, 78,
87, 78, 78, 78, 94, 94, 78, 14,
78, 83, 78, 78, 78, 78, 78, 87,
78, 97, 17, 98, 99, 13, 14, 78,
83, 78, 17, 98, 99, 13, 14, 78,
83, 78, 98, 98, 13, 14, 78, 83,
78, 100, 101, 101, 13, 14, 78, 83,
78, 88, 102, 78, 14, 78, 83, 78,
94, 94, 78, 14, 78, 83, 78, 88,
78, 94, 94, 78, 14, 78, 83, 78,
94, 102, 78, 14, 78, 83, 78, 90,
80, 86, 86, 13, 14, 78, 83, 78,
78, 78, 78, 78, 78, 84, 78, 90,
80, 91, 86, 13, 14, 78, 83, 78,
78, 19, 78, 78, 78, 84, 78, 11,
12, 12, 13, 14, 78, 79, 80, 86,
82, 13, 14, 78, 83, 78, 78, 78,
78, 78, 94, 89, 78, 14, 83, 78,
78, 78, 78, 78, 87, 78, 83, 78,
78, 95, 83, 78, 83, 78, 83, 78,
78, 78, 83, 78, 87, 78, 96, 78,
94, 94, 78, 14, 83, 78, 78, 78,
78, 78, 87, 78, 87, 78, 78, 78,
94, 94, 78, 14, 83, 78, 78, 78,
78, 78, 87, 78, 97, 17, 98, 99,
13, 14, 83, 78, 17, 98, 99, 13,
14, 83, 78, 98, 98, 13, 14, 83,
78, 100, 101, 101, 13, 14, 83, 78,
88, 102, 78, 14, 83, 78, 94, 94,
78, 14, 83, 78, 88, 78, 94, 94,
78, 14, 83, 78, 94, 102, 78, 14,
83, 78, 90, 80, 86, 86, 13, 14,
83, 78, 78, 78, 78, 78, 78, 84,
78, 90, 80, 91, 86, 13, 14, 83,
78, 78, 19, 78, 78, 78, 84, 78,
11, 12, 12, 13, 14, 78, 79, 80,
86, 82, 13, 14, 83, 78, 78, 78,
78, 78, 78, 84, 78, 104, 48, 105,
105, 24, 25, 103, 51, 103, 103, 103,
103, 103, 103, 55, 103, 48, 105, 105,
24, 25, 103, 51, 103, 103, 103, 103,
103, 103, 55, 103, 106, 103, 103, 103,
107, 108, 103, 25, 103, 51, 103, 103,
103, 103, 103, 106, 103, 47, 48, 109,
110, 24, 25, 103, 51, 103, 103, 26,
103, 103, 103, 55, 103, 106, 103, 103,
103, 111, 108, 103, 25, 103, 51, 103,
103, 103, 103, 103, 106, 103, 51, 103,
103, 112, 103, 51, 103, 51, 103, 51,
103, 103, 103, 103, 51, 103, 106, 103,
113, 103, 111, 111, 103, 25, 103, 51,
105, 24, 25, 51, 103, 103, 103, 103,
103, 103, 55, 103, 48, 105, 105, 24,
25, 51, 103, 103, 103, 103, 103, 103,
55, 103, 106, 103, 103, 103, 107, 108,
103, 25, 51, 103, 103, 103, 103, 103,
106, 103, 47, 48, 109, 110, 24, 25,
51, 103, 103, 26, 103, 103, 103, 55,
103, 106, 103, 103, 103, 111, 108, 103,
25, 51, 103, 103, 103, 103, 103, 106,
103, 51, 103, 103, 112, 51, 103, 51,
103, 51, 103, 103, 103, 51, 103, 106,
103, 113, 103, 111, 111, 103, 25, 51,
103, 103, 103, 103, 103, 106, 103, 106,
103, 103, 103, 111, 111, 103, 25, 103,
51, 103, 103, 103, 103, 103, 106, 103,
114, 30, 115, 116, 24, 25, 103, 51,
103, 30, 115, 116, 24, 25, 103, 51,
103, 115, 115, 24, 25, 103, 51, 103,
47, 48, 105, 105, 24, 25, 103, 51,
103, 103, 103, 103, 103, 103, 55, 103,
117, 118, 118, 24, 25, 103, 51, 103,
107, 119, 103, 25, 103, 51, 103, 111,
111, 103, 25, 103, 51, 103, 107, 103,
111, 111, 103, 25, 103, 51, 103, 111,
119, 103, 25, 103, 51, 103, 47, 48,
109, 105, 24, 25, 103, 51, 103, 103,
26, 103, 103, 103, 55, 103, 22, 23,
23, 24, 25, 120, 120, 120, 120, 26,
120, 22, 23, 23, 24, 25, 120, 122,
123, 124, 125, 35, 36, 121, 126, 121,
121, 37, 121, 121, 121, 127, 121, 128,
123, 125, 125, 35, 36, 121, 126, 121,
121, 121, 121, 121, 121, 127, 121, 123,
125, 125, 35, 36, 121, 126, 121, 121,
121, 121, 121, 121, 127, 121, 129, 121,
121, 121, 130, 131, 121, 36, 121, 126,
103, 103, 103, 111, 111, 103, 25, 51,
103, 103, 103, 103, 103, 106, 103, 114,
30, 115, 116, 24, 25, 51, 103, 30,
115, 116, 24, 25, 51, 103, 115, 115,
24, 25, 51, 103, 47, 48, 105, 105,
24, 25, 51, 103, 103, 103, 103, 103,
103, 55, 103, 117, 118, 118, 24, 25,
51, 103, 107, 119, 103, 25, 51, 103,
111, 111, 103, 25, 51, 103, 107, 103,
111, 111, 103, 25, 51, 103, 111, 119,
103, 25, 51, 103, 47, 48, 109, 105,
24, 25, 51, 103, 103, 26, 103, 103,
103, 55, 103, 22, 23, 23, 24, 25,
120, 120, 120, 26, 120, 22, 23, 23,
24, 25, 120, 122, 123, 124, 125, 35,
36, 126, 121, 121, 37, 121, 121, 121,
127, 121, 128, 123, 125, 125, 35, 36,
126, 121, 121, 121, 121, 121, 121, 127,
121, 123, 125, 125, 35, 36, 126, 121,
121, 121, 121, 121, 121, 127, 121, 129,
121, 121, 121, 130, 131, 121, 36, 126,
121, 121, 121, 121, 121, 129, 121, 122,
123, 124, 52, 35, 36, 121, 126, 121,
121, 37, 121, 121, 121, 127, 121, 129,
121, 121, 121, 132, 131, 121, 36, 121,
126, 121, 121, 121, 121, 121, 129, 121,
126, 121, 121, 133, 121, 126, 121, 126,
121, 126, 121, 121, 121, 121, 126, 121,
129, 121, 134, 121, 132, 132, 121, 36,
121, 126, 121, 121, 121, 121, 121, 129,
121, 129, 121, 121, 121, 132, 132, 121,
36, 121, 126, 121, 121, 121, 121, 121,
129, 121, 135, 40, 136, 137, 35, 36,
121, 126, 121, 40, 136, 137, 35, 36,
121, 126, 121, 136, 136, 35, 36, 121,
126, 121, 122, 123, 125, 125, 35, 36,
121, 126, 121, 121, 121, 121, 121, 121,
127, 121, 138, 139, 139, 35, 36, 121,
126, 121, 130, 140, 121, 36, 121, 126,
121, 132, 132, 121, 36, 121, 126, 121,
130, 121, 132, 132, 121, 36, 121, 126,
121, 132, 140, 121, 36, 121, 126, 121,
45, 46, 47, 48, 109, 105, 24, 25,
103, 51, 52, 52, 26, 103, 103, 45,
123, 124, 52, 35, 36, 126, 121, 121,
37, 121, 121, 121, 127, 121, 129, 121,
121, 121, 132, 131, 121, 36, 126, 121,
121, 121, 121, 121, 129, 121, 126, 121,
121, 133, 126, 121, 126, 121, 126, 121,
121, 121, 126, 121, 129, 121, 134, 121,
132, 132, 121, 36, 126, 121, 121, 121,
121, 121, 129, 121, 129, 121, 121, 121,
132, 132, 121, 36, 126, 121, 121, 121,
121, 121, 129, 121, 135, 40, 136, 137,
35, 36, 126, 121, 40, 136, 137, 35,
36, 126, 121, 136, 136, 35, 36, 126,
121, 122, 123, 125, 125, 35, 36, 126,
121, 121, 121, 121, 121, 121, 127, 121,
138, 139, 139, 35, 36, 126, 121, 130,
140, 121, 36, 126, 121, 132, 132, 121,
36, 126, 121, 130, 121, 132, 132, 121,
36, 126, 121, 132, 140, 121, 36, 126,
121, 45, 46, 47, 48, 109, 105, 24,
25, 51, 52, 52, 26, 103, 103, 45,
55, 103, 59, 141, 61, 62, 4, 1,
58, 63, 58, 58, 9, 58, 58, 58,
64, 58, 45, 46, 47, 48, 142, 143,
24, 144, 58, 145, 58, 52, 26, 58,
58, 45, 55, 58, 22, 146, 146, 24,
144, 58, 63, 58, 58, 26, 58, 145,
58, 58, 147, 58, 145, 58, 145, 58,
145, 58, 58, 58, 58, 145, 58, 45,
58, 71, 22, 146, 146, 24, 144, 58,
63, 58, 58, 58, 58, 58, 45, 58,
149, 148, 150, 150, 148, 43, 148, 151,
148, 150, 150, 148, 43, 148, 151, 148,
151, 148, 148, 152, 148, 151, 148, 151,
148, 151, 148, 148, 148, 148, 151, 148,
45, 120, 120, 120, 120, 120, 120, 120,
120, 120, 52, 120, 120, 120, 120, 45,
120, 0
63, 58, 58, 9, 58, 58, 58, 64,
58, 45, 46, 47, 48, 142, 143, 24,
144, 145, 58, 52, 26, 58, 58, 45,
55, 58, 22, 146, 146, 24, 144, 63,
58, 58, 26, 58, 145, 58, 58, 147,
145, 58, 145, 58, 145, 58, 58, 58,
145, 58, 45, 58, 71, 22, 146, 146,
24, 144, 63, 58, 58, 58, 58, 58,
45, 58, 149, 148, 150, 150, 148, 43,
151, 148, 150, 150, 148, 43, 151, 148,
151, 148, 148, 152, 151, 148, 151, 148,
151, 148, 148, 148, 151, 148, 45, 120,
120, 120, 120, 120, 120, 120, 120, 52,
120, 120, 120, 120, 45, 120, 0
};
static const unsigned char _indic_syllable_machine_trans_targs[] = {
@ -437,7 +424,7 @@ find_syllables_indic (hb_buffer_t *buffer)
int cs;
hb_glyph_info_t *info = buffer->info;
#line 441 "hb-ot-shaper-indic-machine.hh"
#line 428 "hb-ot-shaper-indic-machine.hh"
{
cs = indic_syllable_machine_start;
ts = 0;
@ -453,7 +440,7 @@ find_syllables_indic (hb_buffer_t *buffer)
unsigned int syllable_serial = 1;
#line 457 "hb-ot-shaper-indic-machine.hh"
#line 444 "hb-ot-shaper-indic-machine.hh"
{
int _slen;
int _trans;
@ -467,7 +454,7 @@ _resume:
#line 1 "NONE"
{ts = p;}
break;
#line 471 "hb-ot-shaper-indic-machine.hh"
#line 458 "hb-ot-shaper-indic-machine.hh"
}
_keys = _indic_syllable_machine_trans_keys + (cs<<1);
@ -570,7 +557,7 @@ _eof_trans:
#line 99 "hb-ot-shaper-indic-machine.rl"
{act = 6;}
break;
#line 574 "hb-ot-shaper-indic-machine.hh"
#line 561 "hb-ot-shaper-indic-machine.hh"
}
_again:
@ -579,7 +566,7 @@ _again:
#line 1 "NONE"
{ts = 0;}
break;
#line 583 "hb-ot-shaper-indic-machine.hh"
#line 570 "hb-ot-shaper-indic-machine.hh"
}
if ( ++p != pe )

View File

@ -55,16 +55,16 @@ export ZWNJ = 5;
export ZWJ = 6;
export M = 7;
export SM = 8;
export A = 10;
export VD = 10;
export PLACEHOLDER = 11;
export DOTTEDCIRCLE = 12;
export RS = 13;
export Repha = 15;
export Ra = 16;
export CM = 17;
export Symbol= 18;
export CS = 19;
export A = 9;
export VD = 9;
export PLACEHOLDER = 10;
export DOTTEDCIRCLE = 11;
export RS = 12;
export Repha = 14;
export Ra = 15;
export CM = 16;
export Symbol= 17;
export CS = 18;
c = (C | Ra); # is_consonant
n = ((ZWNJ?.RS)? (N.N?)?); # is_consonant_modifier

View File

@ -52,18 +52,17 @@ enum indic_category_t {
OT_ZWJ = 6,
OT_M = 7,
OT_SM = 8,
// 9 unused as of now
OT_A = 10,
OT_A = 9,
OT_VD = OT_A,
OT_PLACEHOLDER = 11,
OT_DOTTEDCIRCLE = 12,
OT_RS = 13, /* Register Shifter, used in Khmer OT spec. */
OT_Coeng = 14, /* Khmer-style Virama. */
OT_Repha = 15, /* Atomically-encoded logical or visual repha. */
OT_Ra = 16,
OT_CM = 17, /* Consonant-Medial. */
OT_Symbol = 18, /* Avagraha, etc that take marks (SM,A,VD). */
OT_CS = 19,
OT_PLACEHOLDER = 10,
OT_DOTTEDCIRCLE = 11,
OT_RS = 12, /* Register Shifter, used in Khmer OT spec. */
OT_Coeng = 13, /* Khmer-style Virama. */
OT_Repha = 14, /* Atomically-encoded logical or visual repha. */
OT_Ra = 15,
OT_CM = 16, /* Consonant-Medial. */
OT_Symbol = 17, /* Avagraha, etc that take marks (SM,A,VD). */
OT_CS = 18,
/* The following are used by Khmer & Myanmar shapers. Defined
* here for them to share. */

View File

@ -40,10 +40,10 @@ enum khmer_syllable_type_t {
#line 42 "hb-ot-shaper-khmer-machine.hh"
#define khmer_syllable_machine_ex_C 1u
#define khmer_syllable_machine_ex_Coeng 14u
#define khmer_syllable_machine_ex_DOTTEDCIRCLE 12u
#define khmer_syllable_machine_ex_PLACEHOLDER 11u
#define khmer_syllable_machine_ex_Ra 16u
#define khmer_syllable_machine_ex_Coeng 13u
#define khmer_syllable_machine_ex_DOTTEDCIRCLE 11u
#define khmer_syllable_machine_ex_PLACEHOLDER 10u
#define khmer_syllable_machine_ex_Ra 15u
#define khmer_syllable_machine_ex_Robatic 20u
#define khmer_syllable_machine_ex_V 2u
#define khmer_syllable_machine_ex_VAbv 26u
@ -58,28 +58,28 @@ enum khmer_syllable_type_t {
#line 60 "hb-ot-shaper-khmer-machine.hh"
static const unsigned char _khmer_syllable_machine_trans_keys[] = {
5u, 26u, 5u, 21u, 5u, 26u, 5u, 21u, 1u, 16u, 5u, 21u, 5u, 26u, 5u, 21u,
5u, 26u, 5u, 21u, 5u, 21u, 5u, 26u, 5u, 21u, 1u, 16u, 5u, 21u, 5u, 26u,
5u, 26u, 5u, 21u, 5u, 26u, 5u, 21u, 1u, 15u, 5u, 21u, 5u, 26u, 5u, 21u,
5u, 26u, 5u, 21u, 5u, 21u, 5u, 26u, 5u, 21u, 1u, 15u, 5u, 21u, 5u, 26u,
5u, 21u, 5u, 26u, 5u, 21u, 5u, 26u, 1u, 29u, 5u, 29u, 5u, 29u, 5u, 29u,
22u, 22u, 5u, 22u, 5u, 29u, 5u, 29u, 5u, 29u, 1u, 16u, 5u, 26u, 5u, 29u,
5u, 29u, 22u, 22u, 5u, 22u, 5u, 29u, 5u, 29u, 1u, 16u, 5u, 29u, 5u, 29u,
22u, 22u, 5u, 22u, 5u, 29u, 5u, 29u, 5u, 29u, 1u, 15u, 5u, 26u, 5u, 29u,
5u, 29u, 22u, 22u, 5u, 22u, 5u, 29u, 5u, 29u, 1u, 15u, 5u, 29u, 5u, 29u,
0
};
static const char _khmer_syllable_machine_key_spans[] = {
22, 17, 22, 17, 16, 17, 22, 17,
22, 17, 17, 22, 17, 16, 17, 22,
22, 17, 22, 17, 15, 17, 22, 17,
22, 17, 17, 22, 17, 15, 17, 22,
17, 22, 17, 22, 29, 25, 25, 25,
1, 18, 25, 25, 25, 16, 22, 25,
25, 1, 18, 25, 25, 16, 25, 25
1, 18, 25, 25, 25, 15, 22, 25,
25, 1, 18, 25, 25, 15, 25, 25
};
static const short _khmer_syllable_machine_index_offsets[] = {
0, 23, 41, 64, 82, 99, 117, 140,
158, 181, 199, 217, 240, 258, 275, 293,
316, 334, 357, 375, 398, 428, 454, 480,
506, 508, 527, 553, 579, 605, 622, 645,
671, 697, 699, 718, 744, 770, 787, 813
0, 23, 41, 64, 82, 98, 116, 139,
157, 180, 198, 216, 239, 257, 273, 291,
314, 332, 355, 373, 396, 426, 452, 478,
504, 506, 525, 551, 577, 603, 619, 642,
668, 694, 696, 715, 741, 767, 783, 809
};
static const char _khmer_syllable_machine_indicies[] = {
@ -95,99 +95,99 @@ static const char _khmer_syllable_machine_indicies[] = {
0, 0, 0, 0, 0, 0, 0, 0,
4, 0, 6, 6, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 6, 0, 7, 7, 0, 0, 0,
6, 0, 7, 7, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 8, 0, 9, 9, 0,
0, 0, 8, 0, 9, 9, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 10, 0, 0,
0, 0, 4, 0, 9, 9, 0, 0,
0, 0, 0, 0, 10, 0, 0, 0,
0, 4, 0, 9, 9, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 10, 0, 11, 11,
0, 0, 0, 10, 0, 11, 11, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 12, 0,
0, 0, 0, 4, 0, 11, 11, 0,
0, 0, 0, 0, 0, 12, 0, 0,
0, 0, 4, 0, 11, 11, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 12, 0, 14,
14, 13, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 15,
13, 14, 14, 16, 16, 16, 16, 16,
0, 0, 0, 0, 12, 0, 14, 14,
13, 13, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 15, 13,
14, 14, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 15, 16, 16, 16, 16, 17, 16,
18, 18, 16, 16, 16, 16, 16, 16,
15, 16, 16, 16, 16, 17, 16, 18,
18, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 17,
16, 19, 19, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 19,
16, 20, 20, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
17, 16, 19, 19, 16, 16, 16, 16,
16, 21, 16, 22, 22, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 19, 16, 20, 20, 16, 16, 16,
16, 16, 16, 23, 16, 16, 16, 16,
17, 16, 22, 22, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 21, 16, 22, 22, 16,
16, 16, 23, 16, 24, 24, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 23, 16, 16,
16, 16, 17, 16, 22, 22, 16, 16,
16, 16, 16, 16, 25, 16, 16, 16,
16, 17, 16, 24, 24, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 23, 16, 24, 24,
16, 16, 16, 25, 16, 14, 14, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 25, 16,
16, 16, 16, 17, 16, 24, 24, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 25, 16, 14,
14, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 26, 15,
16, 16, 16, 16, 17, 16, 28, 28,
27, 27, 29, 29, 27, 27, 27, 27,
2, 2, 27, 30, 27, 28, 27, 27,
27, 27, 15, 19, 27, 27, 27, 17,
23, 25, 21, 27, 32, 32, 31, 31,
31, 31, 31, 31, 31, 33, 31, 31,
31, 31, 31, 2, 3, 6, 31, 31,
31, 4, 10, 12, 8, 31, 34, 34,
31, 31, 31, 31, 31, 31, 31, 35,
31, 31, 31, 31, 31, 31, 3, 6,
31, 31, 31, 4, 10, 12, 8, 31,
5, 5, 31, 31, 31, 31, 31, 31,
31, 35, 31, 31, 31, 31, 31, 31,
4, 6, 31, 31, 31, 31, 31, 31,
8, 31, 6, 31, 7, 7, 31, 31,
31, 31, 31, 31, 31, 35, 31, 31,
31, 31, 31, 31, 8, 6, 31, 36,
36, 31, 31, 31, 31, 31, 31, 31,
35, 31, 31, 31, 31, 31, 31, 10,
6, 31, 31, 31, 4, 31, 31, 8,
31, 37, 37, 31, 31, 31, 31, 31,
16, 16, 16, 16, 26, 15, 16, 16,
16, 16, 17, 16, 28, 28, 27, 27,
29, 29, 27, 27, 27, 2, 2, 27,
30, 27, 28, 27, 27, 27, 27, 27,
15, 19, 27, 27, 27, 17, 23, 25,
21, 27, 32, 32, 31, 31, 31, 31,
31, 31, 33, 31, 31, 31, 31, 31,
31, 2, 3, 6, 31, 31, 31, 4,
10, 12, 8, 31, 34, 34, 31, 31,
31, 31, 31, 31, 35, 31, 31, 31,
31, 31, 31, 31, 3, 6, 31, 31,
31, 4, 10, 12, 8, 31, 5, 5,
31, 31, 31, 31, 31, 31, 35, 31,
31, 31, 31, 31, 31, 31, 4, 6,
31, 31, 31, 31, 31, 31, 8, 31,
6, 31, 7, 7, 31, 31, 31, 31,
31, 31, 35, 31, 31, 31, 31, 31,
31, 12, 6, 31, 31, 31, 4, 10,
31, 8, 31, 34, 34, 31, 31, 31,
31, 31, 31, 31, 33, 31, 31, 31,
31, 31, 31, 3, 6, 31, 31, 31,
4, 10, 12, 8, 31, 28, 28, 31,
31, 31, 8, 6, 31, 36, 36, 31,
31, 31, 31, 31, 31, 35, 31, 31,
31, 31, 31, 31, 31, 10, 6, 31,
31, 31, 4, 31, 31, 8, 31, 37,
37, 31, 31, 31, 31, 31, 31, 35,
31, 31, 31, 31, 31, 31, 31, 12,
6, 31, 31, 31, 4, 10, 31, 8,
31, 34, 34, 31, 31, 31, 31, 31,
31, 33, 31, 31, 31, 31, 31, 31,
31, 3, 6, 31, 31, 31, 4, 10,
12, 8, 31, 28, 28, 31, 31, 31,
31, 31, 31, 31, 31, 31, 31, 31,
31, 31, 31, 31, 28, 31, 14, 14,
31, 28, 31, 14, 14, 38, 38, 38,
38, 38, 38, 38, 38, 38, 38, 38,
38, 38, 38, 38, 38, 38, 15, 38,
38, 38, 38, 17, 38, 40, 40, 39,
39, 39, 39, 39, 39, 39, 41, 39,
39, 39, 39, 39, 39, 15, 19, 39,
39, 39, 17, 23, 25, 21, 39, 18,
18, 39, 39, 39, 39, 39, 39, 39,
41, 39, 39, 39, 39, 39, 39, 17,
19, 39, 39, 39, 39, 39, 39, 21,
39, 19, 39, 20, 20, 39, 39, 39,
38, 38, 38, 15, 38, 38, 38, 38,
17, 38, 40, 40, 39, 39, 39, 39,
39, 39, 41, 39, 39, 39, 39, 39,
39, 39, 15, 19, 39, 39, 39, 17,
23, 25, 21, 39, 18, 18, 39, 39,
39, 39, 39, 39, 41, 39, 39, 39,
39, 39, 39, 21, 19, 39, 42, 42,
39, 39, 39, 39, 39, 39, 39, 41,
39, 39, 39, 39, 39, 39, 23, 19,
39, 39, 39, 17, 39, 39, 21, 39,
43, 43, 39, 39, 39, 39, 39, 39,
39, 41, 39, 39, 39, 39, 39, 39,
25, 19, 39, 39, 39, 17, 23, 39,
21, 39, 44, 44, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 44, 39, 45, 45, 39, 39, 39,
39, 39, 39, 39, 30, 39, 39, 39,
39, 39, 26, 15, 19, 39, 39, 39,
17, 23, 25, 21, 39, 40, 40, 39,
39, 39, 39, 39, 39, 39, 30, 39,
39, 39, 39, 39, 39, 15, 19, 39,
39, 39, 17, 23, 25, 21, 39, 0
39, 39, 39, 39, 17, 19, 39, 39,
39, 39, 39, 39, 21, 39, 19, 39,
20, 20, 39, 39, 39, 39, 39, 39,
41, 39, 39, 39, 39, 39, 39, 39,
21, 19, 39, 42, 42, 39, 39, 39,
39, 39, 39, 41, 39, 39, 39, 39,
39, 39, 39, 23, 19, 39, 39, 39,
17, 39, 39, 21, 39, 43, 43, 39,
39, 39, 39, 39, 39, 41, 39, 39,
39, 39, 39, 39, 39, 25, 19, 39,
39, 39, 17, 23, 39, 21, 39, 44,
44, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 44, 39, 45,
45, 39, 39, 39, 39, 39, 39, 30,
39, 39, 39, 39, 39, 39, 26, 15,
19, 39, 39, 39, 17, 23, 25, 21,
39, 40, 40, 39, 39, 39, 39, 39,
39, 30, 39, 39, 39, 39, 39, 39,
39, 15, 19, 39, 39, 39, 17, 23,
25, 21, 39, 0
};
static const char _khmer_syllable_machine_trans_targs[] = {

View File

@ -48,10 +48,10 @@ export C = 1;
export V = 2;
export ZWNJ = 5;
export ZWJ = 6;
export PLACEHOLDER = 11;
export DOTTEDCIRCLE = 12;
export Coeng= 14;
export Ra = 16;
export PLACEHOLDER = 10;
export DOTTEDCIRCLE = 11;
export Coeng= 13;
export Ra = 15;
export Robatic = 20;
export Xgroup = 21;
export Ygroup = 22;

View File

@ -40,14 +40,14 @@ enum myanmar_syllable_type_t {
#line 43 "hb-ot-shaper-myanmar-machine.hh"
#define myanmar_syllable_machine_ex_A 10u
#define myanmar_syllable_machine_ex_A 9u
#define myanmar_syllable_machine_ex_As 18u
#define myanmar_syllable_machine_ex_C 1u
#define myanmar_syllable_machine_ex_CS 19u
#define myanmar_syllable_machine_ex_D 11u
#define myanmar_syllable_machine_ex_D 10u
#define myanmar_syllable_machine_ex_D0 20u
#define myanmar_syllable_machine_ex_DB 3u
#define myanmar_syllable_machine_ex_GB 11u
#define myanmar_syllable_machine_ex_GB 10u
#define myanmar_syllable_machine_ex_H 4u
#define myanmar_syllable_machine_ex_IV 2u
#define myanmar_syllable_machine_ex_MH 21u
@ -57,7 +57,7 @@ enum myanmar_syllable_type_t {
#define myanmar_syllable_machine_ex_MY 24u
#define myanmar_syllable_machine_ex_P 31u
#define myanmar_syllable_machine_ex_PT 25u
#define myanmar_syllable_machine_ex_Ra 16u
#define myanmar_syllable_machine_ex_Ra 15u
#define myanmar_syllable_machine_ex_V 8u
#define myanmar_syllable_machine_ex_VAbv 26u
#define myanmar_syllable_machine_ex_VBlw 27u
@ -71,42 +71,42 @@ enum myanmar_syllable_type_t {
#line 72 "hb-ot-shaper-myanmar-machine.hh"
static const unsigned char _myanmar_syllable_machine_trans_keys[] = {
1u, 32u, 3u, 32u, 5u, 29u, 5u, 8u, 5u, 29u, 3u, 25u, 5u, 25u, 5u, 25u,
3u, 32u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 32u, 1u, 16u, 3u, 32u, 3u, 32u,
3u, 32u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 32u, 1u, 15u, 3u, 32u, 3u, 32u,
3u, 29u, 3u, 29u, 3u, 29u, 3u, 30u, 3u, 29u, 3u, 32u, 3u, 32u, 3u, 32u,
3u, 32u, 3u, 32u, 5u, 29u, 5u, 8u, 5u, 29u, 3u, 25u, 5u, 25u, 5u, 25u,
3u, 32u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 32u, 1u, 16u, 3u, 32u, 3u, 32u,
3u, 32u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 32u, 1u, 15u, 3u, 32u, 3u, 32u,
3u, 32u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 30u, 3u, 29u, 3u, 32u, 3u, 32u,
3u, 32u, 3u, 32u, 3u, 32u, 3u, 32u, 3u, 32u, 1u, 32u, 1u, 16u, 8u, 8u,
3u, 32u, 3u, 32u, 3u, 32u, 3u, 32u, 3u, 32u, 1u, 32u, 1u, 15u, 8u, 8u,
0
};
static const char _myanmar_syllable_machine_key_spans[] = {
32, 30, 25, 4, 25, 23, 21, 21,
30, 27, 27, 27, 30, 16, 30, 30,
30, 27, 27, 27, 30, 15, 30, 30,
27, 27, 27, 28, 27, 30, 30, 30,
30, 30, 25, 4, 25, 23, 21, 21,
30, 27, 27, 27, 30, 16, 30, 30,
30, 27, 27, 27, 30, 15, 30, 30,
30, 27, 27, 27, 28, 27, 30, 30,
30, 30, 30, 30, 30, 32, 16, 1
30, 30, 30, 30, 30, 32, 15, 1
};
static const short _myanmar_syllable_machine_index_offsets[] = {
0, 33, 64, 90, 95, 121, 145, 167,
189, 220, 248, 276, 304, 335, 352, 383,
414, 442, 470, 498, 527, 555, 586, 617,
648, 679, 710, 736, 741, 767, 791, 813,
835, 866, 894, 922, 950, 981, 998, 1029,
1060, 1091, 1119, 1147, 1175, 1204, 1232, 1263,
1294, 1325, 1356, 1387, 1418, 1449, 1482, 1499
189, 220, 248, 276, 304, 335, 351, 382,
413, 441, 469, 497, 526, 554, 585, 616,
647, 678, 709, 735, 740, 766, 790, 812,
834, 865, 893, 921, 949, 980, 996, 1027,
1058, 1089, 1117, 1145, 1173, 1202, 1230, 1261,
1292, 1323, 1354, 1385, 1416, 1447, 1480, 1496
};
static const char _myanmar_syllable_machine_indicies[] = {
1, 1, 2, 3, 4, 4, 0, 5,
0, 6, 1, 0, 0, 0, 0, 7,
6, 1, 0, 0, 0, 0, 7, 0,
0, 8, 9, 0, 10, 11, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21,
0, 23, 24, 25, 25, 22, 26, 22,
27, 22, 22, 22, 22, 22, 22, 22,
0, 23, 24, 25, 25, 22, 26, 27,
22, 22, 22, 22, 22, 22, 22, 22,
28, 22, 22, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 22, 39, 22,
25, 25, 22, 26, 22, 22, 22, 22,
@ -116,8 +116,8 @@ static const char _myanmar_syllable_machine_indicies[] = {
25, 22, 26, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 33, 22, 22, 22, 37,
22, 41, 22, 25, 25, 22, 26, 22,
33, 22, 22, 22, 22, 22, 22, 22,
22, 41, 22, 25, 25, 22, 26, 33,
22, 22, 22, 22, 22, 22, 22, 22,
42, 22, 22, 22, 22, 22, 22, 33,
22, 25, 25, 22, 26, 22, 22, 22,
22, 22, 22, 22, 22, 22, 42, 22,
@ -125,170 +125,170 @@ static const char _myanmar_syllable_machine_indicies[] = {
25, 22, 26, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 33, 22, 23, 22, 25,
25, 22, 26, 22, 27, 22, 22, 22,
25, 22, 26, 27, 22, 22, 22, 22,
22, 22, 22, 22, 43, 22, 22, 44,
22, 22, 22, 33, 45, 22, 22, 37,
22, 22, 43, 22, 23, 22, 25, 25,
22, 26, 22, 27, 22, 22, 22, 22,
22, 26, 27, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 33, 22, 22, 22, 37, 22,
23, 22, 25, 25, 22, 26, 22, 27,
23, 22, 25, 25, 22, 26, 27, 22,
22, 22, 22, 22, 22, 22, 22, 43,
22, 22, 22, 22, 22, 22, 33, 45,
22, 22, 37, 22, 23, 22, 25, 25,
22, 26, 22, 27, 22, 22, 22, 22,
22, 26, 27, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 33, 45, 22, 22, 37, 22,
23, 22, 25, 25, 22, 26, 22, 27,
23, 22, 25, 25, 22, 26, 27, 22,
22, 22, 22, 22, 22, 22, 22, 43,
22, 22, 22, 22, 22, 22, 33, 45,
22, 22, 37, 22, 22, 43, 22, 1,
1, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 1, 22,
23, 22, 25, 25, 22, 26, 22, 27,
22, 22, 22, 22, 22, 22, 22, 28,
22, 22, 29, 30, 31, 32, 33, 34,
35, 36, 37, 22, 22, 39, 22, 23,
22, 25, 25, 22, 26, 22, 27, 22,
22, 22, 22, 22, 22, 22, 46, 22,
22, 22, 22, 22, 22, 33, 34, 35,
36, 37, 22, 22, 39, 22, 23, 22,
25, 25, 22, 26, 22, 27, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 33, 34, 35, 36,
37, 22, 23, 22, 25, 25, 22, 26,
22, 27, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
33, 34, 35, 22, 37, 22, 23, 22,
25, 25, 22, 26, 22, 27, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 33, 22, 35, 22,
37, 22, 23, 22, 25, 25, 22, 26,
22, 27, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
33, 34, 35, 36, 37, 46, 22, 23,
22, 25, 25, 22, 26, 22, 27, 22,
22, 22, 22, 22, 22, 22, 46, 22,
22, 22, 22, 22, 22, 33, 34, 35,
36, 37, 22, 23, 22, 25, 25, 22,
26, 22, 27, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 29, 22, 31,
22, 33, 34, 35, 36, 37, 22, 22,
39, 22, 23, 22, 25, 25, 22, 26,
22, 27, 22, 22, 22, 22, 22, 22,
22, 46, 22, 22, 29, 22, 22, 22,
33, 34, 35, 36, 37, 22, 22, 39,
22, 23, 22, 25, 25, 22, 26, 22,
27, 22, 22, 22, 22, 22, 22, 22,
47, 22, 22, 29, 30, 31, 22, 33,
34, 35, 36, 37, 22, 22, 39, 22,
23, 22, 25, 25, 22, 26, 22, 27,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 29, 30, 31, 22, 33, 34,
35, 36, 37, 22, 22, 39, 22, 23,
24, 25, 25, 22, 26, 22, 27, 22,
22, 22, 22, 22, 22, 1, 22, 23,
22, 25, 25, 22, 26, 27, 22, 22,
22, 22, 22, 22, 22, 22, 28, 22,
22, 29, 30, 31, 32, 33, 34, 35,
36, 37, 22, 22, 39, 22, 49, 49,
48, 5, 48, 48, 48, 48, 48, 48,
48, 48, 48, 50, 48, 48, 48, 48,
48, 48, 14, 48, 48, 48, 18, 48,
49, 49, 48, 5, 48, 49, 49, 48,
5, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
48, 14, 48, 48, 48, 18, 48, 51,
48, 49, 49, 48, 5, 48, 14, 48,
48, 48, 48, 48, 48, 48, 52, 48,
48, 48, 48, 48, 48, 14, 48, 49,
49, 48, 5, 48, 48, 48, 48, 48,
48, 48, 48, 48, 52, 48, 48, 48,
48, 48, 48, 14, 48, 49, 49, 48,
5, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
48, 14, 48, 2, 48, 49, 49, 48,
5, 48, 6, 48, 48, 48, 48, 48,
48, 48, 53, 48, 48, 54, 48, 48,
48, 14, 55, 48, 48, 18, 48, 48,
53, 48, 2, 48, 49, 49, 48, 5,
48, 6, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
14, 48, 48, 48, 18, 48, 2, 48,
49, 49, 48, 5, 48, 6, 48, 48,
48, 48, 48, 48, 48, 53, 48, 48,
48, 48, 48, 48, 14, 55, 48, 48,
18, 48, 2, 48, 49, 49, 48, 5,
48, 6, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
14, 55, 48, 48, 18, 48, 2, 48,
49, 49, 48, 5, 48, 6, 48, 48,
48, 48, 48, 48, 48, 53, 48, 48,
48, 48, 48, 48, 14, 55, 48, 48,
18, 48, 48, 53, 48, 56, 56, 48,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 56, 48, 2, 3,
49, 49, 48, 5, 48, 6, 48, 48,
48, 48, 48, 48, 48, 8, 48, 48,
10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 48, 21, 48, 2, 48, 49,
49, 48, 5, 48, 6, 48, 48, 48,
48, 48, 48, 48, 8, 48, 48, 10,
11, 12, 13, 14, 15, 16, 17, 18,
48, 48, 21, 48, 2, 48, 49, 49,
48, 5, 48, 6, 48, 48, 48, 48,
48, 48, 48, 57, 48, 48, 48, 48,
48, 48, 14, 15, 16, 17, 18, 48,
48, 21, 48, 2, 48, 49, 49, 48,
5, 48, 6, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
48, 14, 15, 16, 17, 18, 48, 2,
48, 49, 49, 48, 5, 48, 6, 48,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 14, 15, 16,
48, 18, 48, 2, 48, 49, 49, 48,
5, 48, 6, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
48, 14, 48, 16, 48, 18, 48, 2,
48, 49, 49, 48, 5, 48, 6, 48,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 14, 15, 16,
17, 18, 57, 48, 2, 48, 49, 49,
48, 5, 48, 6, 48, 48, 48, 48,
48, 48, 48, 57, 48, 48, 48, 48,
48, 48, 14, 15, 16, 17, 18, 48,
2, 48, 49, 49, 48, 5, 48, 6,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 10, 48, 12, 48, 14, 15,
16, 17, 18, 48, 48, 21, 48, 2,
48, 49, 49, 48, 5, 48, 6, 48,
48, 48, 48, 48, 48, 48, 57, 48,
48, 10, 48, 48, 48, 14, 15, 16,
17, 18, 48, 48, 21, 48, 2, 48,
49, 49, 48, 5, 48, 6, 48, 48,
48, 48, 48, 48, 48, 58, 48, 48,
10, 11, 12, 48, 14, 15, 16, 17,
18, 48, 48, 21, 48, 2, 48, 49,
49, 48, 5, 48, 6, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 10,
11, 12, 48, 14, 15, 16, 17, 18,
48, 48, 21, 48, 2, 3, 49, 49,
48, 5, 48, 6, 48, 48, 48, 48,
48, 48, 48, 8, 48, 48, 10, 11,
12, 13, 14, 15, 16, 17, 18, 48,
48, 21, 48, 23, 24, 25, 25, 22,
26, 22, 27, 22, 22, 22, 22, 22,
22, 22, 59, 22, 22, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 22,
39, 22, 23, 60, 25, 25, 22, 26,
22, 27, 22, 22, 22, 22, 22, 22,
22, 28, 22, 22, 29, 30, 31, 32,
36, 37, 22, 22, 39, 22, 23, 22,
25, 25, 22, 26, 27, 22, 22, 22,
22, 22, 22, 22, 22, 46, 22, 22,
22, 22, 22, 22, 33, 34, 35, 36,
37, 22, 22, 39, 22, 23, 22, 25,
25, 22, 26, 27, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 33, 34, 35, 36, 37,
22, 23, 22, 25, 25, 22, 26, 27,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 33,
34, 35, 22, 37, 22, 23, 22, 25,
25, 22, 26, 27, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 33, 22, 35, 22, 37,
22, 23, 22, 25, 25, 22, 26, 27,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 33,
34, 35, 36, 37, 46, 22, 23, 22,
25, 25, 22, 26, 27, 22, 22, 22,
22, 22, 22, 22, 22, 46, 22, 22,
22, 22, 22, 22, 33, 34, 35, 36,
37, 22, 23, 22, 25, 25, 22, 26,
27, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 29, 22, 31, 22,
33, 34, 35, 36, 37, 22, 22, 39,
22, 1, 1, 2, 3, 49, 49, 48,
5, 48, 6, 1, 48, 48, 48, 48,
1, 48, 8, 48, 48, 10, 11, 12,
13, 14, 15, 16, 17, 18, 19, 48,
21, 48, 1, 1, 61, 61, 61, 61,
61, 61, 61, 61, 1, 61, 61, 61,
61, 1, 61, 62, 61, 0
22, 23, 22, 25, 25, 22, 26, 27,
22, 22, 22, 22, 22, 22, 22, 22,
46, 22, 22, 29, 22, 22, 22, 33,
34, 35, 36, 37, 22, 22, 39, 22,
23, 22, 25, 25, 22, 26, 27, 22,
22, 22, 22, 22, 22, 22, 22, 47,
22, 22, 29, 30, 31, 22, 33, 34,
35, 36, 37, 22, 22, 39, 22, 23,
22, 25, 25, 22, 26, 27, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 29, 30, 31, 22, 33, 34, 35,
36, 37, 22, 22, 39, 22, 23, 24,
25, 25, 22, 26, 27, 22, 22, 22,
22, 22, 22, 22, 22, 28, 22, 22,
29, 30, 31, 32, 33, 34, 35, 36,
37, 22, 22, 39, 22, 49, 49, 48,
5, 48, 48, 48, 48, 48, 48, 48,
48, 48, 50, 48, 48, 48, 48, 48,
48, 14, 48, 48, 48, 18, 48, 49,
49, 48, 5, 48, 49, 49, 48, 5,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
14, 48, 48, 48, 18, 48, 51, 48,
49, 49, 48, 5, 14, 48, 48, 48,
48, 48, 48, 48, 48, 52, 48, 48,
48, 48, 48, 48, 14, 48, 49, 49,
48, 5, 48, 48, 48, 48, 48, 48,
48, 48, 48, 52, 48, 48, 48, 48,
48, 48, 14, 48, 49, 49, 48, 5,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
14, 48, 2, 48, 49, 49, 48, 5,
6, 48, 48, 48, 48, 48, 48, 48,
48, 53, 48, 48, 54, 48, 48, 48,
14, 55, 48, 48, 18, 48, 48, 53,
48, 2, 48, 49, 49, 48, 5, 6,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 14,
48, 48, 48, 18, 48, 2, 48, 49,
49, 48, 5, 6, 48, 48, 48, 48,
48, 48, 48, 48, 53, 48, 48, 48,
48, 48, 48, 14, 55, 48, 48, 18,
48, 2, 48, 49, 49, 48, 5, 6,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 14,
55, 48, 48, 18, 48, 2, 48, 49,
49, 48, 5, 6, 48, 48, 48, 48,
48, 48, 48, 48, 53, 48, 48, 48,
48, 48, 48, 14, 55, 48, 48, 18,
48, 48, 53, 48, 56, 56, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 56, 48, 2, 3, 49, 49,
48, 5, 6, 48, 48, 48, 48, 48,
48, 48, 48, 8, 48, 48, 10, 11,
12, 13, 14, 15, 16, 17, 18, 19,
48, 21, 48, 2, 48, 49, 49, 48,
5, 6, 48, 48, 48, 48, 48, 48,
48, 48, 8, 48, 48, 10, 11, 12,
13, 14, 15, 16, 17, 18, 48, 48,
21, 48, 2, 48, 49, 49, 48, 5,
6, 48, 48, 48, 48, 48, 48, 48,
48, 57, 48, 48, 48, 48, 48, 48,
14, 15, 16, 17, 18, 48, 48, 21,
48, 2, 48, 49, 49, 48, 5, 6,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 14,
15, 16, 17, 18, 48, 2, 48, 49,
49, 48, 5, 6, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 14, 15, 16, 48, 18,
48, 2, 48, 49, 49, 48, 5, 6,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 14,
48, 16, 48, 18, 48, 2, 48, 49,
49, 48, 5, 6, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 14, 15, 16, 17, 18,
57, 48, 2, 48, 49, 49, 48, 5,
6, 48, 48, 48, 48, 48, 48, 48,
48, 57, 48, 48, 48, 48, 48, 48,
14, 15, 16, 17, 18, 48, 2, 48,
49, 49, 48, 5, 6, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48,
10, 48, 12, 48, 14, 15, 16, 17,
18, 48, 48, 21, 48, 2, 48, 49,
49, 48, 5, 6, 48, 48, 48, 48,
48, 48, 48, 48, 57, 48, 48, 10,
48, 48, 48, 14, 15, 16, 17, 18,
48, 48, 21, 48, 2, 48, 49, 49,
48, 5, 6, 48, 48, 48, 48, 48,
48, 48, 48, 58, 48, 48, 10, 11,
12, 48, 14, 15, 16, 17, 18, 48,
48, 21, 48, 2, 48, 49, 49, 48,
5, 6, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 10, 11, 12,
48, 14, 15, 16, 17, 18, 48, 48,
21, 48, 2, 3, 49, 49, 48, 5,
6, 48, 48, 48, 48, 48, 48, 48,
48, 8, 48, 48, 10, 11, 12, 13,
14, 15, 16, 17, 18, 48, 48, 21,
48, 23, 24, 25, 25, 22, 26, 27,
22, 22, 22, 22, 22, 22, 22, 22,
59, 22, 22, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 22, 39, 22,
23, 60, 25, 25, 22, 26, 27, 22,
22, 22, 22, 22, 22, 22, 22, 28,
22, 22, 29, 30, 31, 32, 33, 34,
35, 36, 37, 22, 22, 39, 22, 1,
1, 2, 3, 49, 49, 48, 5, 6,
1, 48, 48, 48, 48, 1, 48, 48,
8, 48, 48, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 48, 21, 48,
1, 1, 61, 61, 61, 61, 61, 61,
61, 1, 61, 61, 61, 61, 1, 61,
62, 61, 0
};
static const char _myanmar_syllable_machine_trans_targs[] = {

View File

@ -45,13 +45,13 @@ enum myanmar_syllable_type_t {
%%{
export A = 10;
export A = 9;
export As = 18;
export C = 1;
export D = 11;
export D = 10;
export D0 = 20;
export DB = 3;
export GB = 11;
export GB = 10;
export H = 4;
export IV = 2;
export MH = 21;
@ -68,7 +68,7 @@ export VPst = 29;
export VS = 30;
export ZWJ = 6;
export ZWNJ = 5;
export Ra = 16;
export Ra = 15;
export P = 31;
export CS = 19;