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;