Add support for Pwo Karen / Ason Chin medial la
https://github.com/harfbuzz/harfbuzz/pull/3217
diff --git a/src/hb-ot-shape-complex-myanmar-machine.hh b/src/hb-ot-shape-complex-myanmar-machine.hh
index c094978..f4ef330 100644
--- a/src/hb-ot-shape-complex-myanmar-machine.hh
+++ b/src/hb-ot-shape-complex-myanmar-machine.hh
@@ -51,6 +51,7 @@
#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
@@ -67,35 +68,36 @@
#define myanmar_syllable_machine_ex_ZWNJ 5u
-#line 71 "hb-ot-shape-complex-myanmar-machine.hh"
+#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[] = {
@@ -103,192 +105,217 @@
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[] = {
@@ -298,7 +325,7 @@
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 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[] = {
@@ -308,17 +335,17 @@
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 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;
@@ -332,7 +359,7 @@
-#line 101 "hb-ot-shape-complex-myanmar-machine.rl"
+#line 102 "hb-ot-shape-complex-myanmar-machine.rl"
#define found_syllable(syllable_type) \
@@ -351,7 +378,7 @@
int cs;
hb_glyph_info_t *info = buffer->info;
-#line 355 "hb-ot-shape-complex-myanmar-machine.hh"
+#line 382 "hb-ot-shape-complex-myanmar-machine.hh"
{
cs = myanmar_syllable_machine_start;
ts = 0;
@@ -359,7 +386,7 @@
act = 0;
}
-#line 121 "hb-ot-shape-complex-myanmar-machine.rl"
+#line 122 "hb-ot-shape-complex-myanmar-machine.rl"
p = 0;
@@ -367,7 +394,7 @@
unsigned int syllable_serial = 1;
-#line 371 "hb-ot-shape-complex-myanmar-machine.hh"
+#line 398 "hb-ot-shape-complex-myanmar-machine.hh"
{
int _slen;
int _trans;
@@ -381,7 +408,7 @@
#line 1 "NONE"
{ts = p;}
break;
-#line 385 "hb-ot-shape-complex-myanmar-machine.hh"
+#line 412 "hb-ot-shape-complex-myanmar-machine.hh"
}
_keys = _myanmar_syllable_machine_trans_keys + (cs<<1);
@@ -400,38 +427,38 @@
switch ( _myanmar_syllable_machine_trans_actions[_trans] ) {
case 6:
-#line 93 "hb-ot-shape-complex-myanmar-machine.rl"
+#line 94 "hb-ot-shape-complex-myanmar-machine.rl"
{te = p+1;{ found_syllable (myanmar_consonant_syllable); }}
break;
case 4:
-#line 94 "hb-ot-shape-complex-myanmar-machine.rl"
+#line 95 "hb-ot-shape-complex-myanmar-machine.rl"
{te = p+1;{ found_syllable (myanmar_non_myanmar_cluster); }}
break;
case 10:
-#line 95 "hb-ot-shape-complex-myanmar-machine.rl"
+#line 96 "hb-ot-shape-complex-myanmar-machine.rl"
{te = p+1;{ found_syllable (myanmar_punctuation_cluster); }}
break;
case 8:
-#line 96 "hb-ot-shape-complex-myanmar-machine.rl"
+#line 97 "hb-ot-shape-complex-myanmar-machine.rl"
{te = p+1;{ found_syllable (myanmar_broken_cluster); }}
break;
case 3:
-#line 97 "hb-ot-shape-complex-myanmar-machine.rl"
+#line 98 "hb-ot-shape-complex-myanmar-machine.rl"
{te = p+1;{ found_syllable (myanmar_non_myanmar_cluster); }}
break;
case 5:
-#line 93 "hb-ot-shape-complex-myanmar-machine.rl"
+#line 94 "hb-ot-shape-complex-myanmar-machine.rl"
{te = p;p--;{ found_syllable (myanmar_consonant_syllable); }}
break;
case 7:
-#line 96 "hb-ot-shape-complex-myanmar-machine.rl"
+#line 97 "hb-ot-shape-complex-myanmar-machine.rl"
{te = p;p--;{ found_syllable (myanmar_broken_cluster); }}
break;
case 9:
-#line 97 "hb-ot-shape-complex-myanmar-machine.rl"
+#line 98 "hb-ot-shape-complex-myanmar-machine.rl"
{te = p;p--;{ found_syllable (myanmar_non_myanmar_cluster); }}
break;
-#line 435 "hb-ot-shape-complex-myanmar-machine.hh"
+#line 462 "hb-ot-shape-complex-myanmar-machine.hh"
}
_again:
@@ -440,7 +467,7 @@
#line 1 "NONE"
{ts = 0;}
break;
-#line 444 "hb-ot-shape-complex-myanmar-machine.hh"
+#line 471 "hb-ot-shape-complex-myanmar-machine.hh"
}
if ( ++p != pe )
@@ -456,7 +483,7 @@
}
-#line 129 "hb-ot-shape-complex-myanmar-machine.rl"
+#line 130 "hb-ot-shape-complex-myanmar-machine.rl"
}
diff --git a/src/hb-ot-shape-complex-myanmar-machine.rl b/src/hb-ot-shape-complex-myanmar-machine.rl
index 15905b2..2e6ac78 100644
--- a/src/hb-ot-shape-complex-myanmar-machine.rl
+++ b/src/hb-ot-shape-complex-myanmar-machine.rl
@@ -55,6 +55,7 @@
export H = 4;
export IV = 2;
export MH = 21;
+export ML = 33;
export MR = 22;
export MW = 23;
export MY = 24;
@@ -76,9 +77,9 @@
c = C|Ra; # is_consonant
-medial_group = MY? As? MR? ((MW MH? | MH) As?)?;
+medial_group = MY? As? MR? ((MW MH? ML? | MH ML? | ML) As?)?;
main_vowel_group = (VPre.VS?)* VAbv* VBlw* A* (DB As?)?;
-post_vowel_group = VPst MH? As* VAbv* A* (DB As?)?;
+post_vowel_group = VPst MH? ML? As* VAbv* A* (DB As?)?;
pwo_tone_group = PT A* DB? As?;
complex_syllable_tail = As* medial_group main_vowel_group post_vowel_group* pwo_tone_group* V* j?;
diff --git a/src/hb-ot-shape-complex-myanmar.hh b/src/hb-ot-shape-complex-myanmar.hh
index 340f711..7fbca38 100644
--- a/src/hb-ot-shape-complex-myanmar.hh
+++ b/src/hb-ot-shape-complex-myanmar.hh
@@ -56,6 +56,7 @@
OT_VS = 30, /* Variation selectors */
OT_P = 31, /* Punctuation */
OT_D = 32, /* Digits except zero */
+ OT_ML = 33, /* Various consonant medial types */
};
using myanmar_position_t = indic_position_t;
@@ -115,10 +116,14 @@
cat = OT_D; /* XXX The spec says D0, but Uniscribe doesn't seem to do. */
break;
- case 0x103Eu: case 0x1060u:
+ case 0x103Eu:
cat = OT_MH;
break;
+ case 0x1060u:
+ cat = OT_ML;
+ break;
+
case 0x103Cu:
cat = OT_MR;
break;