Imported Upstream version 3.4.0
[platform/upstream/harfbuzz.git] / src / hb-ot-shape-complex-myanmar-machine.hh
index c2f4c00..f4ef330 100644 (file)
 
 #include "hb.hh"
 
+enum myanmar_syllable_type_t {
+  myanmar_consonant_syllable,
+  myanmar_punctuation_cluster,
+  myanmar_broken_cluster,
+  myanmar_non_myanmar_cluster,
+};
+
 
-#line 36 "hb-ot-shape-complex-myanmar-machine.hh"
+#line 43 "hb-ot-shape-complex-myanmar-machine.hh"
+#define myanmar_syllable_machine_ex_A 10u
+#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 32u
+#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_H 4u
+#define myanmar_syllable_machine_ex_IV 2u
+#define myanmar_syllable_machine_ex_MH 21u
+#define myanmar_syllable_machine_ex_ML 33u
+#define myanmar_syllable_machine_ex_MR 22u
+#define myanmar_syllable_machine_ex_MW 23u
+#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_V 8u
+#define myanmar_syllable_machine_ex_VAbv 26u
+#define myanmar_syllable_machine_ex_VBlw 27u
+#define myanmar_syllable_machine_ex_VPre 28u
+#define myanmar_syllable_machine_ex_VPst 29u
+#define myanmar_syllable_machine_ex_VS 30u
+#define myanmar_syllable_machine_ex_ZWJ 6u
+#define myanmar_syllable_machine_ex_ZWNJ 5u
+
+
+#line 72 "hb-ot-shape-complex-myanmar-machine.hh"
 static const unsigned char _myanmar_syllable_machine_trans_keys[] = {
-       1u, 32u, 3u, 30u, 5u, 29u, 5u, 8u, 5u, 29u, 3u, 25u, 5u, 25u, 5u, 25u, 
-       3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, 1u, 16u, 3u, 29u, 3u, 29u, 3u, 29u, 
-       3u, 29u, 3u, 29u, 3u, 30u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, 
-       5u, 29u, 5u, 8u, 5u, 29u, 3u, 25u, 5u, 25u, 5u, 25u, 3u, 29u, 3u, 29u, 
-       3u, 29u, 3u, 29u, 1u, 16u, 3u, 30u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, 
-       3u, 29u, 3u, 30u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 30u, 
-       3u, 29u, 1u, 32u, 1u, 32u, 8u, 8u, 0
+       1u, 33u, 3u, 33u, 5u, 29u, 5u, 8u, 5u, 29u, 3u, 25u, 5u, 25u, 5u, 25u, 
+       3u, 33u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 33u, 1u, 16u, 3u, 33u, 3u, 33u, 
+       3u, 29u, 3u, 29u, 3u, 29u, 3u, 30u, 3u, 29u, 3u, 33u, 3u, 33u, 3u, 33u, 
+       3u, 33u, 3u, 33u, 5u, 29u, 5u, 8u, 5u, 29u, 3u, 25u, 5u, 25u, 5u, 25u, 
+       3u, 33u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 33u, 1u, 16u, 3u, 33u, 3u, 33u, 
+       3u, 33u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 30u, 3u, 29u, 3u, 33u, 3u, 33u, 
+       3u, 33u, 3u, 33u, 3u, 33u, 3u, 33u, 3u, 33u, 1u, 33u, 1u, 32u, 8u, 8u, 
+       0
 };
 
 static const char _myanmar_syllable_machine_key_spans[] = {
-       32, 28, 25, 4, 25, 23, 21, 21, 
-       27, 27, 27, 27, 16, 27, 27, 27
-       27, 27, 28, 27, 27, 27, 27, 27
-       25, 4, 25, 23, 21, 21, 27, 27
-       27, 27, 16, 28, 27, 27, 27, 27
-       27, 28, 27, 27, 27, 27, 27, 28
-       27, 32, 32, 1
+       33, 31, 25, 4, 25, 23, 21, 21, 
+       31, 27, 27, 27, 31, 16, 31, 31
+       27, 27, 27, 28, 27, 31, 31, 31
+       31, 31, 25, 4, 25, 23, 21, 21
+       31, 27, 27, 27, 31, 16, 31, 31
+       31, 27, 27, 27, 28, 27, 31, 31
+       31, 31, 31, 31, 31, 33, 32, 1
 };
 
 static const short _myanmar_syllable_machine_index_offsets[] = {
-       0, 33, 62, 88, 93, 119, 143, 165
-       187, 215, 243, 271, 299, 316, 344, 372
-       400, 428, 456, 485, 513, 541, 569, 597
-       625, 651, 656, 682, 706, 728, 750, 778
-       806, 834, 862, 879, 908, 936, 964, 992
-       1020, 1048, 1077, 1105, 1133, 1161, 1189, 1217
-       1246, 1274, 1307, 1340
+       0, 34, 66, 92, 97, 123, 147, 169
+       191, 223, 251, 279, 307, 339, 356, 388
+       420, 448, 476, 504, 533, 561, 593, 625
+       657, 689, 721, 747, 752, 778, 802, 824
+       846, 878, 906, 934, 962, 994, 1011, 1043
+       1075, 1107, 1135, 1163, 1191, 1220, 1248, 1280
+       1312, 1344, 1376, 1408, 1440, 1472, 1506, 1539
 };
 
 static const char _myanmar_syllable_machine_indicies[] = {
@@ -68,192 +105,217 @@ static const char _myanmar_syllable_machine_indicies[] = {
        0, 6, 1, 0, 0, 0, 0, 7, 
        0, 8, 9, 0, 10, 11, 12, 13, 
        14, 15, 16, 17, 18, 19, 20, 1, 
-       0, 22, 23, 24, 24, 21, 25, 21, 
-       26, 21, 21, 21, 21, 21, 21, 21, 
-       27, 21, 21, 28, 29, 30, 31, 32, 
-       33, 34, 35, 36, 37, 21, 24, 24, 
-       21, 25, 21, 21, 21, 21, 21, 21, 
-       21, 21, 21, 38, 21, 21, 21, 21, 
-       21, 21, 32, 21, 21, 21, 36, 21, 
-       24, 24, 21, 25, 21, 24, 24, 21, 
-       25, 21, 21, 21, 21, 21, 21, 21, 
-       21, 21, 21, 21, 21, 21, 21, 21, 
-       21, 32, 21, 21, 21, 36, 21, 39, 
-       21, 24, 24, 21, 25, 21, 32, 21, 
-       21, 21, 21, 21, 21, 21, 40, 21, 
-       21, 21, 21, 21, 21, 32, 21, 24, 
-       24, 21, 25, 21, 21, 21, 21, 21, 
-       21, 21, 21, 21, 40, 21, 21, 21, 
-       21, 21, 21, 32, 21, 24, 24, 21, 
-       25, 21, 21, 21, 21, 21, 21, 21, 
-       21, 21, 21, 21, 21, 21, 21, 21, 
-       21, 32, 21, 22, 21, 24, 24, 21, 
-       25, 21, 26, 21, 21, 21, 21, 21, 
-       21, 21, 41, 21, 21, 41, 21, 21, 
-       21, 32, 42, 21, 21, 36, 21, 22, 
-       21, 24, 24, 21, 25, 21, 26, 21, 
-       21, 21, 21, 21, 21, 21, 21, 21, 
-       21, 21, 21, 21, 21, 32, 21, 21, 
-       21, 36, 21, 22, 21, 24, 24, 21, 
-       25, 21, 26, 21, 21, 21, 21, 21, 
-       21, 21, 41, 21, 21, 21, 21, 21, 
-       21, 32, 42, 21, 21, 36, 21, 22, 
-       21, 24, 24, 21, 25, 21, 26, 21, 
-       21, 21, 21, 21, 21, 21, 21, 21, 
-       21, 21, 21, 21, 21, 32, 42, 21, 
-       21, 36, 21, 1, 1, 21, 21, 21, 
-       21, 21, 21, 21, 21, 21, 21, 21, 
-       21, 21, 1, 21, 22, 21, 24, 24, 
-       21, 25, 21, 26, 21, 21, 21, 21, 
-       21, 21, 21, 27, 21, 21, 28, 29, 
-       30, 31, 32, 33, 34, 35, 36, 21, 
-       22, 21, 24, 24, 21, 25, 21, 26, 
-       21, 21, 21, 21, 21, 21, 21, 43, 
-       21, 21, 21, 21, 21, 21, 32, 33, 
-       34, 35, 36, 21, 22, 21, 24, 24, 
-       21, 25, 21, 26, 21, 21, 21, 21, 
-       21, 21, 21, 21, 21, 21, 21, 21, 
-       21, 21, 32, 33, 34, 35, 36, 21, 
-       22, 21, 24, 24, 21, 25, 21, 26, 
-       21, 21, 21, 21, 21, 21, 21, 21, 
-       21, 21, 21, 21, 21, 21, 32, 33, 
-       34, 21, 36, 21, 22, 21, 24, 24, 
-       21, 25, 21, 26, 21, 21, 21, 21, 
-       21, 21, 21, 21, 21, 21, 21, 21, 
-       21, 21, 32, 21, 34, 21, 36, 21, 
-       22, 21, 24, 24, 21, 25, 21, 26, 
-       21, 21, 21, 21, 21, 21, 21, 21, 
-       21, 21, 21, 21, 21, 21, 32, 33, 
-       34, 35, 36, 43, 21, 22, 21, 24, 
-       24, 21, 25, 21, 26, 21, 21, 21, 
-       21, 21, 21, 21, 21, 21, 21, 28, 
-       21, 30, 21, 32, 33, 34, 35, 36, 
-       21, 22, 21, 24, 24, 21, 25, 21, 
-       26, 21, 21, 21, 21, 21, 21, 21, 
-       43, 21, 21, 28, 21, 21, 21, 32, 
-       33, 34, 35, 36, 21, 22, 21, 24, 
-       24, 21, 25, 21, 26, 21, 21, 21, 
-       21, 21, 21, 21, 44, 21, 21, 28, 
-       29, 30, 21, 32, 33, 34, 35, 36, 
-       21, 22, 21, 24, 24, 21, 25, 21, 
-       26, 21, 21, 21, 21, 21, 21, 21, 
-       21, 21, 21, 28, 29, 30, 21, 32, 
-       33, 34, 35, 36, 21, 22, 23, 24, 
-       24, 21, 25, 21, 26, 21, 21, 21, 
-       21, 21, 21, 21, 27, 21, 21, 28, 
-       29, 30, 31, 32, 33, 34, 35, 36, 
-       21, 46, 46, 45, 5, 45, 45, 45, 
-       45, 45, 45, 45, 45, 45, 47, 45, 
-       45, 45, 45, 45, 45, 14, 45, 45, 
-       45, 18, 45, 46, 46, 45, 5, 45, 
-       46, 46, 45, 5, 45, 45, 45, 45, 
-       45, 45, 45, 45, 45, 45, 45, 45, 
-       45, 45, 45, 45, 14, 45, 45, 45, 
-       18, 45, 48, 45, 46, 46, 45, 5, 
-       45, 14, 45, 45, 45, 45, 45, 45, 
-       45, 49, 45, 45, 45, 45, 45, 45, 
-       14, 45, 46, 46, 45, 5, 45, 45, 
-       45, 45, 45, 45, 45, 45, 45, 49, 
-       45, 45, 45, 45, 45, 45, 14, 45, 
-       46, 46, 45, 5, 45, 45, 45, 45, 
-       45, 45, 45, 45, 45, 45, 45, 45, 
-       45, 45, 45, 45, 14, 45, 2, 45, 
-       46, 46, 45, 5, 45, 6, 45, 45, 
-       45, 45, 45, 45, 45, 50, 45, 45, 
-       50, 45, 45, 45, 14, 51, 45, 45, 
-       18, 45, 2, 45, 46, 46, 45, 5, 
-       45, 6, 45, 45, 45, 45, 45, 45, 
-       45, 45, 45, 45, 45, 45, 45, 45, 
-       14, 45, 45, 45, 18, 45, 2, 45, 
-       46, 46, 45, 5, 45, 6, 45, 45, 
-       45, 45, 45, 45, 45, 50, 45, 45, 
-       45, 45, 45, 45, 14, 51, 45, 45, 
-       18, 45, 2, 45, 46, 46, 45, 5, 
-       45, 6, 45, 45, 45, 45, 45, 45, 
-       45, 45, 45, 45, 45, 45, 45, 45, 
-       14, 51, 45, 45, 18, 45, 52, 52, 
-       45, 45, 45, 45, 45, 45, 45, 45, 
-       45, 45, 45, 45, 45, 52, 45, 2, 
-       3, 46, 46, 45, 5, 45, 6, 45, 
-       45, 45, 45, 45, 45, 45, 8, 45, 
-       45, 10, 11, 12, 13, 14, 15, 16, 
-       17, 18, 19, 45, 2, 45, 46, 46, 
-       45, 5, 45, 6, 45, 45, 45, 45, 
-       45, 45, 45, 8, 45, 45, 10, 11, 
-       12, 13, 14, 15, 16, 17, 18, 45, 
-       2, 45, 46, 46, 45, 5, 45, 6, 
-       45, 45, 45, 45, 45, 45, 45, 53, 
-       45, 45, 45, 45, 45, 45, 14, 15, 
-       16, 17, 18, 45, 2, 45, 46, 46, 
-       45, 5, 45, 6, 45, 45, 45, 45, 
-       45, 45, 45, 45, 45, 45, 45, 45, 
-       45, 45, 14, 15, 16, 17, 18, 45, 
-       2, 45, 46, 46, 45, 5, 45, 6, 
-       45, 45, 45, 45, 45, 45, 45, 45, 
-       45, 45, 45, 45, 45, 45, 14, 15, 
-       16, 45, 18, 45, 2, 45, 46, 46, 
-       45, 5, 45, 6, 45, 45, 45, 45, 
-       45, 45, 45, 45, 45, 45, 45, 45, 
-       45, 45, 14, 45, 16, 45, 18, 45, 
-       2, 45, 46, 46, 45, 5, 45, 6, 
-       45, 45, 45, 45, 45, 45, 45, 45, 
-       45, 45, 45, 45, 45, 45, 14, 15, 
-       16, 17, 18, 53, 45, 2, 45, 46, 
-       46, 45, 5, 45, 6, 45, 45, 45, 
-       45, 45, 45, 45, 45, 45, 45, 10, 
-       45, 12, 45, 14, 15, 16, 17, 18, 
-       45, 2, 45, 46, 46, 45, 5, 45, 
-       6, 45, 45, 45, 45, 45, 45, 45, 
-       53, 45, 45, 10, 45, 45, 45, 14, 
-       15, 16, 17, 18, 45, 2, 45, 46, 
-       46, 45, 5, 45, 6, 45, 45, 45, 
-       45, 45, 45, 45, 54, 45, 45, 10, 
-       11, 12, 45, 14, 15, 16, 17, 18, 
-       45, 2, 45, 46, 46, 45, 5, 45, 
-       6, 45, 45, 45, 45, 45, 45, 45, 
-       45, 45, 45, 10, 11, 12, 45, 14, 
-       15, 16, 17, 18, 45, 2, 3, 46, 
-       46, 45, 5, 45, 6, 45, 45, 45, 
-       45, 45, 45, 45, 8, 45, 45, 10, 
-       11, 12, 13, 14, 15, 16, 17, 18, 
-       45, 22, 23, 24, 24, 21, 25, 21, 
-       26, 21, 21, 21, 21, 21, 21, 21, 
-       55, 21, 21, 28, 29, 30, 31, 32, 
-       33, 34, 35, 36, 37, 21, 22, 56, 
-       24, 24, 21, 25, 21, 26, 21, 21, 
-       21, 21, 21, 21, 21, 27, 21, 21, 
-       28, 29, 30, 31, 32, 33, 34, 35, 
-       36, 21, 1, 1, 2, 3, 46, 46, 
-       45, 5, 45, 6, 1, 45, 45, 45, 
-       45, 1, 45, 8, 45, 45, 10, 11, 
-       12, 13, 14, 15, 16, 17, 18, 19, 
-       45, 1, 45, 1, 1, 57, 57, 57, 
-       57, 57, 57, 57, 57, 1, 57, 57, 
-       57, 57, 1, 57, 57, 57, 57, 57, 
-       57, 57, 57, 57, 57, 57, 57, 57, 
-       57, 57, 1, 57, 58, 57, 0
+       21, 0, 23, 24, 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, 38, 22, 22, 
+       39, 22, 25, 25, 22, 26, 22, 22, 
+       22, 22, 22, 22, 22, 22, 22, 40, 
+       22, 22, 22, 22, 22, 22, 33, 22, 
+       22, 22, 37, 22, 25, 25, 22, 26, 
+       22, 25, 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, 42, 22, 22, 22, 22, 22, 
+       22, 33, 22, 25, 25, 22, 26, 22, 
+       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, 22, 22, 
+       22, 22, 22, 22, 22, 33, 22, 23, 
+       22, 25, 25, 22, 26, 22, 27, 22, 
+       22, 22, 22, 22, 22, 22, 43, 22, 
+       22, 44, 22, 22, 22, 33, 45, 22, 
+       22, 37, 22, 22, 22, 43, 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, 22, 
+       22, 37, 22, 23, 22, 25, 25, 22, 
+       26, 22, 27, 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, 22, 22, 22, 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, 
+       22, 22, 43, 22, 22, 22, 22, 22, 
+       22, 33, 45, 22, 22, 37, 22, 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, 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, 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, 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, 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, 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, 22, 39, 
+       22, 23, 24, 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, 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, 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, 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, 
+       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, 
+       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, 
+       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, 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, 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, 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, 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, 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, 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, 33, 34, 
+       35, 36, 37, 22, 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, 1, 
+       21, 48, 1, 1, 61, 61, 61, 61, 
+       61, 61, 61, 61, 1, 61, 61, 61, 
+       61, 1, 61, 61, 61, 61, 61, 61, 
+       61, 61, 61, 61, 61, 61, 61, 61, 
+       61, 1, 61, 62, 61, 0
 };
 
 static const char _myanmar_syllable_machine_trans_targs[] = {
-       0, 1, 24, 34, 0, 25, 31, 47
-       36, 50, 37, 42, 43, 44, 27, 39
-       40, 41, 30, 46, 51, 0, 2, 12, 
-       0, 3, 9, 13, 14, 19, 20, 21
-       5, 16, 17, 18, 8, 23, 4, 6
-       7, 10, 11, 15, 22, 0, 0, 26
-       28, 29, 32, 33, 35, 38, 45, 48
-       49, 0, 0
+       0, 1, 26, 37, 0, 27, 33, 51
+       39, 54, 40, 46, 47, 48, 29, 42
+       43, 44, 32, 50, 55, 45, 0, 2, 
+       13, 0, 3, 9, 14, 15, 21, 22
+       23, 5, 17, 18, 19, 8, 25, 20
+       4, 6, 7, 10, 12, 11, 16, 24
+       0, 0, 28, 30, 31, 34, 36, 35
+       38, 41, 49, 52, 53, 0, 0
 };
 
 static const char _myanmar_syllable_machine_trans_actions[] = {
        3, 0, 0, 0, 4, 0, 0, 0, 
        0, 0, 0, 0, 0, 0, 0, 0, 
-       0, 0, 0, 0, 0, 5, 0, 0, 
-       6, 0, 0, 0, 0, 0, 0, 0, 
+       0, 0, 0, 0, 0, 0, 5, 0, 
+       0, 6, 0, 0, 0, 0, 0, 0, 
        0, 0, 0, 0, 0, 0, 0, 0, 
-       0, 0, 0, 0, 0, 7, 8, 0, 
        0, 0, 0, 0, 0, 0, 0, 0, 
-       0, 9, 10
+       7, 8, 0, 0, 0, 0, 0, 0, 
+       0, 0, 0, 0, 0, 9, 10
 };
 
 static const char _myanmar_syllable_machine_to_state_actions[] = {
@@ -263,7 +325,7 @@ static const char _myanmar_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
 };
 
 static const char _myanmar_syllable_machine_from_state_actions[] = {
@@ -273,17 +335,17 @@ static const char _myanmar_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
 };
 
 static const short _myanmar_syllable_machine_eof_trans[] = {
-       0, 22, 22, 22, 22, 22, 22, 22
-       22, 22, 22, 22, 22, 22, 22, 22
-       22, 22, 22, 22, 22, 22, 22, 22
-       46, 46, 46, 46, 46, 46, 46, 46
-       46, 46, 46, 46, 46, 46, 46, 46
-       46, 46, 46, 46, 46, 46, 46, 22
-       22, 46, 58, 58
+       0, 23, 23, 23, 23, 23, 23, 23
+       23, 23, 23, 23, 23, 23, 23, 23
+       23, 23, 23, 23, 23, 23, 23, 23
+       23, 23, 49, 49, 49, 49, 49, 49
+       49, 49, 49, 49, 49, 49, 49, 49
+       49, 49, 49, 49, 49, 49, 49, 49
+       49, 49, 49, 23, 23, 49, 62, 62
 };
 
 static const int myanmar_syllable_machine_start = 0;
@@ -293,18 +355,18 @@ static const int myanmar_syllable_machine_error = -1;
 static const int myanmar_syllable_machine_en_main = 0;
 
 
-#line 36 "hb-ot-shape-complex-myanmar-machine.rl"
+#line 44 "hb-ot-shape-complex-myanmar-machine.rl"
 
 
 
-#line 94 "hb-ot-shape-complex-myanmar-machine.rl"
+#line 102 "hb-ot-shape-complex-myanmar-machine.rl"
 
 
 #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) | myanmar_##syllable_type; \
+      info[i].syllable() = (syllable_serial << 4) | syllable_type; \
     syllable_serial++; \
     if (unlikely (syllable_serial == 16)) syllable_serial = 1; \
   } HB_STMT_END
@@ -316,7 +378,7 @@ find_syllables_myanmar (hb_buffer_t *buffer)
   int cs;
   hb_glyph_info_t *info = buffer->info;
   
-#line 320 "hb-ot-shape-complex-myanmar-machine.hh"
+#line 382 "hb-ot-shape-complex-myanmar-machine.hh"
        {
        cs = myanmar_syllable_machine_start;
        ts = 0;
@@ -324,7 +386,7 @@ find_syllables_myanmar (hb_buffer_t *buffer)
        act = 0;
        }
 
-#line 114 "hb-ot-shape-complex-myanmar-machine.rl"
+#line 122 "hb-ot-shape-complex-myanmar-machine.rl"
 
 
   p = 0;
@@ -332,7 +394,7 @@ find_syllables_myanmar (hb_buffer_t *buffer)
 
   unsigned int syllable_serial = 1;
   
-#line 336 "hb-ot-shape-complex-myanmar-machine.hh"
+#line 398 "hb-ot-shape-complex-myanmar-machine.hh"
        {
        int _slen;
        int _trans;
@@ -346,7 +408,7 @@ _resume:
 #line 1 "NONE"
        {ts = p;}
        break;
-#line 350 "hb-ot-shape-complex-myanmar-machine.hh"
+#line 412 "hb-ot-shape-complex-myanmar-machine.hh"
        }
 
        _keys = _myanmar_syllable_machine_trans_keys + (cs<<1);
@@ -365,38 +427,38 @@ _eof_trans:
 
        switch ( _myanmar_syllable_machine_trans_actions[_trans] ) {
        case 6:
-#line 86 "hb-ot-shape-complex-myanmar-machine.rl"
-       {te = p+1;{ found_syllable (consonant_syllable); }}
+#line 94 "hb-ot-shape-complex-myanmar-machine.rl"
+       {te = p+1;{ found_syllable (myanmar_consonant_syllable); }}
        break;
        case 4:
-#line 87 "hb-ot-shape-complex-myanmar-machine.rl"
-       {te = p+1;{ found_syllable (non_myanmar_cluster); }}
+#line 95 "hb-ot-shape-complex-myanmar-machine.rl"
+       {te = p+1;{ found_syllable (myanmar_non_myanmar_cluster); }}
        break;
        case 10:
-#line 88 "hb-ot-shape-complex-myanmar-machine.rl"
-       {te = p+1;{ found_syllable (punctuation_cluster); }}
+#line 96 "hb-ot-shape-complex-myanmar-machine.rl"
+       {te = p+1;{ found_syllable (myanmar_punctuation_cluster); }}
        break;
        case 8:
-#line 89 "hb-ot-shape-complex-myanmar-machine.rl"
-       {te = p+1;{ found_syllable (broken_cluster); }}
+#line 97 "hb-ot-shape-complex-myanmar-machine.rl"
+       {te = p+1;{ found_syllable (myanmar_broken_cluster); }}
        break;
        case 3:
-#line 90 "hb-ot-shape-complex-myanmar-machine.rl"
-       {te = p+1;{ found_syllable (non_myanmar_cluster); }}
+#line 98 "hb-ot-shape-complex-myanmar-machine.rl"
+       {te = p+1;{ found_syllable (myanmar_non_myanmar_cluster); }}
        break;
        case 5:
-#line 86 "hb-ot-shape-complex-myanmar-machine.rl"
-       {te = p;p--;{ found_syllable (consonant_syllable); }}
+#line 94 "hb-ot-shape-complex-myanmar-machine.rl"
+       {te = p;p--;{ found_syllable (myanmar_consonant_syllable); }}
        break;
        case 7:
-#line 89 "hb-ot-shape-complex-myanmar-machine.rl"
-       {te = p;p--;{ found_syllable (broken_cluster); }}
+#line 97 "hb-ot-shape-complex-myanmar-machine.rl"
+       {te = p;p--;{ found_syllable (myanmar_broken_cluster); }}
        break;
        case 9:
-#line 90 "hb-ot-shape-complex-myanmar-machine.rl"
-       {te = p;p--;{ found_syllable (non_myanmar_cluster); }}
+#line 98 "hb-ot-shape-complex-myanmar-machine.rl"
+       {te = p;p--;{ found_syllable (myanmar_non_myanmar_cluster); }}
        break;
-#line 400 "hb-ot-shape-complex-myanmar-machine.hh"
+#line 462 "hb-ot-shape-complex-myanmar-machine.hh"
        }
 
 _again:
@@ -405,7 +467,7 @@ _again:
 #line 1 "NONE"
        {ts = 0;}
        break;
-#line 409 "hb-ot-shape-complex-myanmar-machine.hh"
+#line 471 "hb-ot-shape-complex-myanmar-machine.hh"
        }
 
        if ( ++p != pe )
@@ -421,7 +483,7 @@ _again:
 
        }
 
-#line 122 "hb-ot-shape-complex-myanmar-machine.rl"
+#line 130 "hb-ot-shape-complex-myanmar-machine.rl"
 
 }