From 92e81ab1dfcbd4e8ed4d70082a427c8e339269c9 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Sun, 5 Jun 2022 01:14:32 -0600 Subject: [PATCH] [indic/khmer/myanmar] Shift category numbers around to avoid overlap Fixes https://github.com/harfbuzz/harfbuzz/issues/3632 --- src/hb-ot-shaper-indic-machine.hh | 433 ++++++++++++++-------------- src/hb-ot-shaper-indic-machine.rl | 20 +- src/hb-ot-shaper-indic.hh | 21 +- src/hb-ot-shaper-khmer-machine.hh | 188 ++++++------ src/hb-ot-shaper-khmer-machine.rl | 8 +- src/hb-ot-shaper-myanmar-machine.hh | 336 ++++++++++----------- src/hb-ot-shaper-myanmar-machine.rl | 8 +- 7 files changed, 500 insertions(+), 514 deletions(-) diff --git a/src/hb-ot-shaper-indic-machine.hh b/src/hb-ot-shaper-indic-machine.hh index 1286176ab..5fbb2f581 100644 --- a/src/hb-ot-shaper-indic-machine.hh +++ b/src/hb-ot-shaper-indic-machine.hh @@ -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 ) diff --git a/src/hb-ot-shaper-indic-machine.rl b/src/hb-ot-shaper-indic-machine.rl index 3043f4726..cc4ad9d9b 100644 --- a/src/hb-ot-shaper-indic-machine.rl +++ b/src/hb-ot-shaper-indic-machine.rl @@ -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 diff --git a/src/hb-ot-shaper-indic.hh b/src/hb-ot-shaper-indic.hh index 9fa6e32b6..439e46912 100644 --- a/src/hb-ot-shaper-indic.hh +++ b/src/hb-ot-shaper-indic.hh @@ -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. */ diff --git a/src/hb-ot-shaper-khmer-machine.hh b/src/hb-ot-shaper-khmer-machine.hh index fc110145d..10e60a9c7 100644 --- a/src/hb-ot-shaper-khmer-machine.hh +++ b/src/hb-ot-shaper-khmer-machine.hh @@ -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[] = { diff --git a/src/hb-ot-shaper-khmer-machine.rl b/src/hb-ot-shaper-khmer-machine.rl index b71cf87c4..1593d2bcb 100644 --- a/src/hb-ot-shaper-khmer-machine.rl +++ b/src/hb-ot-shaper-khmer-machine.rl @@ -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; diff --git a/src/hb-ot-shaper-myanmar-machine.hh b/src/hb-ot-shaper-myanmar-machine.hh index b53cb8d08..cbb9235b9 100644 --- a/src/hb-ot-shaper-myanmar-machine.hh +++ b/src/hb-ot-shaper-myanmar-machine.hh @@ -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[] = { diff --git a/src/hb-ot-shaper-myanmar-machine.rl b/src/hb-ot-shaper-myanmar-machine.rl index dc11736e4..57f0f16ec 100644 --- a/src/hb-ot-shaper-myanmar-machine.rl +++ b/src/hb-ot-shaper-myanmar-machine.rl @@ -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;