From 2cbb7758665f2b98f72d1193f7a3343f13d44cee Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Sat, 11 Jun 2022 08:57:21 -0600 Subject: [PATCH] [myanmar] Fold category P into GB Fixes https://github.com/harfbuzz/harfbuzz/issues/3649 This actually now allows Asat after the Myanmar punctuation marks; something I see in Wikipedia data. --- src/gen-indic-table.py | 4 +- src/hb-ot-shaper-indic-table.cc | 13 +- src/hb-ot-shaper-myanmar-machine.hh | 620 ++++++++++++++-------------- src/hb-ot-shaper-myanmar-machine.rl | 7 +- src/hb-ot-shaper-myanmar.cc | 1 - 5 files changed, 312 insertions(+), 333 deletions(-) diff --git a/src/gen-indic-table.py b/src/gen-indic-table.py index 5919aee20..dc73e4813 100755 --- a/src/gen-indic-table.py +++ b/src/gen-indic-table.py @@ -130,7 +130,6 @@ categories = { 'MY', 'PT', 'VS', - 'P', 'ML', ], } @@ -372,8 +371,7 @@ category_overrides = { 0x109B: 'SM', 0x109C: 'SM', - 0x104A: 'P', - 0x104B: 'P', + 0x104A: 'PLACEHOLDER', } position_overrides = { diff --git a/src/hb-ot-shaper-indic-table.cc b/src/hb-ot-shaper-indic-table.cc index fa2fa4413..63044590e 100644 --- a/src/hb-ot-shaper-indic-table.cc +++ b/src/hb-ot-shaper-indic-table.cc @@ -62,8 +62,6 @@ static_assert (OT_VPre == M_Cat(VPre), ""); static_assert (OT_VPst == M_Cat(VPst), ""); #define OT_IV M_Cat(IV) #define OT_As M_Cat(As) -#define OT_D M_Cat(D) -#define OT_D0 M_Cat(D0) #define OT_DB M_Cat(DB) #define OT_GB M_Cat(GB ) #define OT_MH M_Cat(MH) @@ -72,7 +70,6 @@ static_assert (OT_VPst == M_Cat(VPst), ""); #define OT_MY M_Cat(MY) #define OT_PT M_Cat(PT) #define OT_VS M_Cat(VS) -#define OT_P M_Cat(P) #define OT_ML M_Cat(ML) @@ -90,8 +87,7 @@ static_assert (OT_VPst == M_Cat(VPst), ""); #define _OT_MW OT_MW /* 2 chars; MW */ #define _OT_MY OT_MY /* 3 chars; MY */ #define _OT_N OT_N /* 17 chars; N */ -#define _OT_P OT_P /* 2 chars; P */ -#define _OT_GB OT_PLACEHOLDER /* 172 chars; PLACEHOLDER */ +#define _OT_GB OT_PLACEHOLDER /* 174 chars; PLACEHOLDER */ #define _OT_PT OT_PT /* 8 chars; PT */ #define _OT_R OT_Ra /* 15 chars; Ra */ #define _OT_Rf OT_Repha /* 1 chars; Repha */ @@ -114,10 +110,10 @@ static_assert (OT_VPst == M_Cat(VPst), ""); #define _POS_A POS_AFTER_MAIN /* 3 chars; AFTER_MAIN */ #define _POS_AP POS_AFTER_POST /* 50 chars; AFTER_POST */ #define _POS_AS POS_AFTER_SUB /* 60 chars; AFTER_SUB */ -#define _POS_C POS_BASE_C /* 899 chars; BASE_C */ +#define _POS_C POS_BASE_C /* 901 chars; BASE_C */ #define _POS_BS POS_BEFORE_SUB /* 31 chars; BEFORE_SUB */ #define _POS_B POS_BELOW_C /* 13 chars; BELOW_C */ -#define _POS_X POS_END /* 73 chars; END */ +#define _POS_X POS_END /* 71 chars; END */ #define _POS_R POS_POST_C /* 13 chars; POST_C */ #define _POS_L POS_PRE_C /* 5 chars; PRE_C */ #define _POS_LM POS_PRE_M /* 16 chars; PRE_M */ @@ -359,7 +355,7 @@ static const uint16_t indic_table[] = { /* 1030 */ _(VB,B), _(VL,L), _(A,SM), _(VA,T), _(VA,T), _(VA,T), _(A,SM), _(N,X), /* 1038 */_(SM,SM), _(H,X), _(As,X), _(MY,X), _(MR,X), _(MW,X), _(MH,X), _(C,C), /* 1040 */ _(GB,C), _(GB,C), _(GB,C), _(GB,C), _(GB,C), _(GB,C), _(GB,C), _(GB,C), - /* 1048 */ _(GB,C), _(GB,C), _(P,X), _(P,X), _(X,X), _(X,X), _(C,C), _(X,X), + /* 1048 */ _(GB,C), _(GB,C), _(GB,C), _(GB,C), _(X,X), _(X,X), _(C,C), _(X,X), /* 1050 */ _(C,C), _(C,C), _(V,C), _(V,C), _(V,C), _(V,C), _(VR,R), _(VR,R), /* 1058 */ _(VB,B), _(VB,B), _(R,C), _(C,C), _(C,C), _(C,C), _(MY,X), _(MY,X), /* 1060 */ _(ML,X), _(C,C), _(VR,R), _(PT,X), _(PT,X), _(C,C), _(C,C), _(VR,R), @@ -551,7 +547,6 @@ hb_indic_get_categories (hb_codepoint_t u) #undef _OT_MW #undef _OT_MY #undef _OT_N -#undef _OT_P #undef _OT_GB #undef _OT_PT #undef _OT_R diff --git a/src/hb-ot-shaper-myanmar-machine.hh b/src/hb-ot-shaper-myanmar-machine.hh index 253803a01..b10970893 100644 --- a/src/hb-ot-shaper-myanmar-machine.hh +++ b/src/hb-ot-shaper-myanmar-machine.hh @@ -45,13 +45,12 @@ using myanmar_position_t = ot_position_t; enum myanmar_syllable_type_t { myanmar_consonant_syllable, - myanmar_punctuation_cluster, myanmar_broken_cluster, myanmar_non_myanmar_cluster, }; -#line 55 "hb-ot-shaper-myanmar-machine.hh" +#line 54 "hb-ot-shaper-myanmar-machine.hh" #define myanmar_syllable_machine_ex_A 9u #define myanmar_syllable_machine_ex_As 32u #define myanmar_syllable_machine_ex_C 1u @@ -62,11 +61,10 @@ enum myanmar_syllable_type_t { #define myanmar_syllable_machine_ex_H 4u #define myanmar_syllable_machine_ex_IV 2u #define myanmar_syllable_machine_ex_MH 35u -#define myanmar_syllable_machine_ex_ML 42u +#define myanmar_syllable_machine_ex_ML 41u #define myanmar_syllable_machine_ex_MR 36u #define myanmar_syllable_machine_ex_MW 37u #define myanmar_syllable_machine_ex_MY 38u -#define myanmar_syllable_machine_ex_P 41u #define myanmar_syllable_machine_ex_PT 39u #define myanmar_syllable_machine_ex_Ra 15u #define myanmar_syllable_machine_ex_SM 8u @@ -79,36 +77,35 @@ enum myanmar_syllable_type_t { #define myanmar_syllable_machine_ex_ZWNJ 5u -#line 83 "hb-ot-shaper-myanmar-machine.hh" +#line 81 "hb-ot-shaper-myanmar-machine.hh" static const unsigned char _myanmar_syllable_machine_trans_keys[] = { - 1u, 42u, 3u, 42u, 5u, 39u, 5u, 8u, 3u, 42u, 3u, 39u, 3u, 39u, 5u, 39u, - 5u, 39u, 3u, 39u, 3u, 39u, 3u, 42u, 5u, 39u, 1u, 15u, 3u, 39u, 3u, 39u, - 3u, 40u, 3u, 39u, 3u, 42u, 3u, 42u, 3u, 39u, 3u, 42u, 3u, 42u, 3u, 42u, - 3u, 42u, 3u, 42u, 5u, 39u, 5u, 8u, 3u, 42u, 3u, 39u, 3u, 39u, 5u, 39u, - 5u, 39u, 3u, 39u, 3u, 39u, 3u, 42u, 5u, 39u, 1u, 15u, 3u, 42u, 3u, 39u, - 3u, 39u, 3u, 40u, 3u, 39u, 3u, 42u, 3u, 42u, 3u, 39u, 3u, 42u, 3u, 42u, - 3u, 42u, 3u, 42u, 3u, 42u, 3u, 42u, 3u, 42u, 1u, 42u, 1u, 15u, 8u, 8u, - 0 + 1u, 41u, 3u, 41u, 5u, 39u, 5u, 8u, 3u, 41u, 3u, 39u, 3u, 39u, 5u, 39u, + 5u, 39u, 3u, 39u, 3u, 39u, 3u, 41u, 5u, 39u, 1u, 15u, 3u, 39u, 3u, 39u, + 3u, 40u, 3u, 39u, 3u, 41u, 3u, 41u, 3u, 39u, 3u, 41u, 3u, 41u, 3u, 41u, + 3u, 41u, 3u, 41u, 5u, 39u, 5u, 8u, 3u, 41u, 3u, 39u, 3u, 39u, 5u, 39u, + 5u, 39u, 3u, 39u, 3u, 39u, 3u, 41u, 5u, 39u, 1u, 15u, 3u, 41u, 3u, 39u, + 3u, 39u, 3u, 40u, 3u, 39u, 3u, 41u, 3u, 41u, 3u, 39u, 3u, 41u, 3u, 41u, + 3u, 41u, 3u, 41u, 3u, 41u, 3u, 41u, 3u, 41u, 1u, 41u, 1u, 15u, 0 }; static const char _myanmar_syllable_machine_key_spans[] = { - 42, 40, 35, 4, 40, 37, 37, 35, - 35, 37, 37, 40, 35, 15, 37, 37, - 38, 37, 40, 40, 37, 40, 40, 40, - 40, 40, 35, 4, 40, 37, 37, 35, - 35, 37, 37, 40, 35, 15, 40, 37, - 37, 38, 37, 40, 40, 37, 40, 40, - 40, 40, 40, 40, 40, 42, 15, 1 + 41, 39, 35, 4, 39, 37, 37, 35, + 35, 37, 37, 39, 35, 15, 37, 37, + 38, 37, 39, 39, 37, 39, 39, 39, + 39, 39, 35, 4, 39, 37, 37, 35, + 35, 37, 37, 39, 35, 15, 39, 37, + 37, 38, 37, 39, 39, 37, 39, 39, + 39, 39, 39, 39, 39, 41, 15 }; static const short _myanmar_syllable_machine_index_offsets[] = { - 0, 43, 84, 120, 125, 166, 204, 242, - 278, 314, 352, 390, 431, 467, 483, 521, - 559, 598, 636, 677, 718, 756, 797, 838, - 879, 920, 961, 997, 1002, 1043, 1081, 1119, - 1155, 1191, 1229, 1267, 1308, 1344, 1360, 1401, - 1439, 1477, 1516, 1554, 1595, 1636, 1674, 1715, - 1756, 1797, 1838, 1879, 1920, 1961, 2004, 2020 + 0, 42, 82, 118, 123, 163, 201, 239, + 275, 311, 349, 387, 427, 463, 479, 517, + 555, 594, 632, 672, 712, 750, 790, 830, + 870, 910, 950, 986, 991, 1031, 1069, 1107, + 1143, 1179, 1217, 1255, 1295, 1331, 1347, 1387, + 1425, 1463, 1502, 1540, 1580, 1620, 1658, 1698, + 1738, 1778, 1818, 1858, 1898, 1938, 1980 }; static const char _myanmar_syllable_machine_indicies[] = { @@ -117,276 +114,273 @@ static const char _myanmar_syllable_machine_indicies[] = { 0, 8, 0, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 14, 15, 16, 17, 18, 19, - 20, 21, 0, 23, 24, 25, 25, 22, - 26, 27, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 28, 29, 30, 31, - 22, 22, 22, 22, 22, 22, 22, 22, - 32, 22, 22, 33, 34, 35, 36, 37, - 38, 22, 39, 22, 25, 25, 22, 26, - 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 31, 22, - 22, 22, 22, 22, 22, 22, 22, 40, - 22, 22, 22, 22, 22, 22, 37, 22, - 25, 25, 22, 26, 22, 23, 22, 25, - 25, 22, 26, 27, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 41, 22, - 22, 31, 22, 22, 22, 22, 22, 22, - 22, 22, 42, 22, 22, 43, 22, 22, - 22, 37, 22, 22, 42, 22, 23, 22, - 25, 25, 22, 26, 27, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 31, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 37, 22, 44, 22, 25, 25, - 22, 26, 37, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, - 22, 45, 22, 22, 22, 22, 22, 22, - 37, 22, 25, 25, 22, 26, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 45, 22, 22, - 22, 22, 22, 22, 37, 22, 25, 25, - 22, 26, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, - 37, 22, 23, 22, 25, 25, 22, 26, - 27, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 41, 22, 22, 31, 22, - 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 37, 22, - 23, 22, 25, 25, 22, 26, 27, 22, - 22, 22, 22, 22, 22, 22, 22, 22, - 22, 41, 22, 22, 31, 22, 22, 22, - 22, 22, 22, 22, 22, 42, 22, 22, - 22, 22, 22, 22, 37, 22, 23, 22, - 25, 25, 22, 26, 27, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 41, - 22, 22, 31, 22, 22, 22, 22, 22, - 22, 22, 22, 42, 22, 22, 22, 22, - 22, 22, 37, 22, 22, 42, 22, 25, - 25, 22, 26, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, - 22, 31, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, - 22, 37, 22, 1, 1, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, - 22, 1, 22, 23, 22, 25, 25, 22, - 26, 27, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 28, 29, 22, 31, - 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 37, - 22, 23, 22, 25, 25, 22, 26, 27, - 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 29, 22, 31, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 37, 22, 23, - 22, 25, 25, 22, 26, 27, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, - 28, 29, 30, 31, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 37, 46, 22, 23, 22, - 25, 25, 22, 26, 27, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 28, - 29, 30, 31, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 37, 22, 23, 22, 25, 25, - 22, 26, 27, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 28, 29, 30, - 31, 22, 22, 22, 22, 22, 22, 22, - 22, 32, 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, 28, 29, - 30, 31, 22, 22, 22, 22, 22, 22, - 22, 22, 46, 22, 22, 22, 22, 22, - 22, 37, 22, 22, 39, 22, 23, 22, - 25, 25, 22, 26, 27, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 28, - 29, 30, 31, 22, 22, 22, 22, 22, - 22, 22, 22, 46, 22, 22, 22, 22, - 22, 22, 37, 22, 23, 22, 25, 25, - 22, 26, 27, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 28, 29, 30, - 31, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 33, 22, 35, 22, - 37, 22, 22, 39, 22, 23, 22, 25, - 25, 22, 26, 27, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 28, 29, - 30, 31, 22, 22, 22, 22, 22, 22, - 22, 22, 46, 22, 22, 33, 22, 22, - 22, 37, 22, 22, 39, 22, 23, 22, - 25, 25, 22, 26, 27, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 28, - 29, 30, 31, 22, 22, 22, 22, 22, - 22, 22, 22, 47, 22, 22, 33, 34, - 35, 22, 37, 22, 22, 39, 22, 23, - 22, 25, 25, 22, 26, 27, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, - 28, 29, 30, 31, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 33, - 34, 35, 22, 37, 22, 22, 39, 22, - 23, 24, 25, 25, 22, 26, 27, 22, - 22, 22, 22, 22, 22, 22, 22, 22, - 22, 28, 29, 30, 31, 22, 22, 22, - 22, 22, 22, 22, 22, 32, 22, 22, - 33, 34, 35, 36, 37, 22, 22, 39, - 22, 49, 49, 48, 5, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 12, 48, 48, 48, 48, - 48, 48, 48, 48, 50, 48, 48, 48, - 48, 48, 48, 18, 48, 49, 49, 48, - 5, 48, 2, 48, 49, 49, 48, 5, - 6, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 51, 48, 48, 12, 48, - 48, 48, 48, 48, 48, 48, 48, 52, - 48, 48, 53, 48, 48, 48, 18, 48, - 48, 52, 48, 2, 48, 49, 49, 48, - 5, 6, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 12, - 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 18, - 48, 54, 48, 49, 49, 48, 5, 18, - 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 55, 48, - 48, 48, 48, 48, 48, 18, 48, 49, - 49, 48, 5, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 55, 48, 48, 48, 48, 48, - 48, 18, 48, 49, 49, 48, 5, 48, - 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 18, 48, 2, - 48, 49, 49, 48, 5, 6, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, - 51, 48, 48, 12, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 18, 48, 2, 48, 49, - 49, 48, 5, 6, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 51, 48, - 48, 12, 48, 48, 48, 48, 48, 48, - 48, 48, 52, 48, 48, 48, 48, 48, - 48, 18, 48, 2, 48, 49, 49, 48, - 5, 6, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 51, 48, 48, 12, - 48, 48, 48, 48, 48, 48, 48, 48, - 52, 48, 48, 48, 48, 48, 48, 18, - 48, 48, 52, 48, 49, 49, 48, 5, - 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 12, 48, - 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 18, 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, 48, - 48, 9, 10, 11, 12, 48, 48, 48, - 48, 48, 48, 48, 48, 13, 48, 48, - 14, 15, 16, 17, 18, 19, 48, 21, - 48, 2, 48, 49, 49, 48, 5, 6, - 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 9, 10, 48, 12, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 18, 48, 2, - 48, 49, 49, 48, 5, 6, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, - 48, 10, 48, 12, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 18, 48, 2, 48, 49, - 49, 48, 5, 6, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 9, 10, - 11, 12, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, - 48, 18, 57, 48, 2, 48, 49, 49, - 48, 5, 6, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 9, 10, 11, - 12, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, - 18, 48, 2, 48, 49, 49, 48, 5, - 6, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 9, 10, 11, 12, 48, - 48, 48, 48, 48, 48, 48, 48, 13, - 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, 9, 10, 11, 12, - 48, 48, 48, 48, 48, 48, 48, 48, - 57, 48, 48, 48, 48, 48, 48, 18, - 48, 48, 21, 48, 2, 48, 49, 49, - 48, 5, 6, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 9, 10, 11, - 12, 48, 48, 48, 48, 48, 48, 48, - 48, 57, 48, 48, 48, 48, 48, 48, - 18, 48, 2, 48, 49, 49, 48, 5, - 6, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 9, 10, 11, 12, 48, - 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 14, 48, 16, 48, 18, 48, - 48, 21, 48, 2, 48, 49, 49, 48, - 5, 6, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 9, 10, 11, 12, - 48, 48, 48, 48, 48, 48, 48, 48, - 57, 48, 48, 14, 48, 48, 48, 18, - 48, 48, 21, 48, 2, 48, 49, 49, - 48, 5, 6, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 9, 10, 11, - 12, 48, 48, 48, 48, 48, 48, 48, - 48, 58, 48, 48, 14, 15, 16, 48, - 18, 48, 48, 21, 48, 2, 48, 49, - 49, 48, 5, 6, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 9, 10, - 11, 12, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 14, 15, 16, - 48, 18, 48, 48, 21, 48, 2, 3, - 49, 49, 48, 5, 6, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 9, - 10, 11, 12, 48, 48, 48, 48, 48, - 48, 48, 48, 13, 48, 48, 14, 15, - 16, 17, 18, 48, 48, 21, 48, 23, - 24, 25, 25, 22, 26, 27, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, - 28, 29, 30, 31, 22, 22, 22, 22, - 22, 22, 22, 22, 59, 22, 22, 33, - 34, 35, 36, 37, 38, 22, 39, 22, - 23, 60, 25, 25, 22, 26, 27, 22, - 22, 22, 22, 22, 22, 22, 22, 22, - 22, 28, 29, 30, 31, 22, 22, 22, - 22, 22, 22, 22, 22, 32, 22, 22, - 33, 34, 35, 36, 37, 22, 22, 39, - 22, 1, 1, 2, 3, 49, 49, 48, - 5, 6, 1, 1, 48, 48, 48, 1, - 48, 48, 48, 48, 9, 10, 11, 12, - 48, 48, 48, 48, 48, 48, 48, 48, - 13, 48, 48, 14, 15, 16, 17, 18, - 19, 48, 21, 48, 1, 1, 61, 61, - 61, 61, 61, 61, 61, 1, 1, 61, - 61, 61, 1, 61, 62, 61, 0 + 20, 0, 22, 23, 24, 24, 21, 25, + 26, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 27, 28, 29, 30, 21, + 21, 21, 21, 21, 21, 21, 21, 31, + 21, 21, 32, 33, 34, 35, 36, 37, + 38, 21, 24, 24, 21, 25, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 30, 21, 21, 21, + 21, 21, 21, 21, 21, 39, 21, 21, + 21, 21, 21, 21, 36, 21, 24, 24, + 21, 25, 21, 22, 21, 24, 24, 21, + 25, 26, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 40, 21, 21, 30, + 21, 21, 21, 21, 21, 21, 21, 21, + 41, 21, 21, 42, 21, 21, 21, 36, + 21, 41, 21, 22, 21, 24, 24, 21, + 25, 26, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 30, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 36, + 21, 43, 21, 24, 24, 21, 25, 36, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 44, 21, + 21, 21, 21, 21, 21, 36, 21, 24, + 24, 21, 25, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 44, 21, 21, 21, 21, 21, + 21, 36, 21, 24, 24, 21, 25, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 36, 21, 22, + 21, 24, 24, 21, 25, 26, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 40, 21, 21, 30, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 36, 21, 22, 21, 24, + 24, 21, 25, 26, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 40, 21, + 21, 30, 21, 21, 21, 21, 21, 21, + 21, 21, 41, 21, 21, 21, 21, 21, + 21, 36, 21, 22, 21, 24, 24, 21, + 25, 26, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 40, 21, 21, 30, + 21, 21, 21, 21, 21, 21, 21, 21, + 41, 21, 21, 21, 21, 21, 21, 36, + 21, 41, 21, 24, 24, 21, 25, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 30, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 36, 21, 1, + 1, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 1, 21, 22, + 21, 24, 24, 21, 25, 26, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 27, 28, 21, 30, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 36, 21, 22, 21, 24, + 24, 21, 25, 26, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 28, + 21, 30, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 36, 21, 22, 21, 24, 24, 21, + 25, 26, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 27, 28, 29, 30, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 36, + 45, 21, 22, 21, 24, 24, 21, 25, + 26, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 27, 28, 29, 30, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 36, 21, + 22, 21, 24, 24, 21, 25, 26, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 27, 28, 29, 30, 21, 21, 21, + 21, 21, 21, 21, 21, 31, 21, 21, + 32, 33, 34, 35, 36, 21, 38, 21, + 22, 21, 24, 24, 21, 25, 26, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 27, 28, 29, 30, 21, 21, 21, + 21, 21, 21, 21, 21, 45, 21, 21, + 21, 21, 21, 21, 36, 21, 38, 21, + 22, 21, 24, 24, 21, 25, 26, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 27, 28, 29, 30, 21, 21, 21, + 21, 21, 21, 21, 21, 45, 21, 21, + 21, 21, 21, 21, 36, 21, 22, 21, + 24, 24, 21, 25, 26, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 27, + 28, 29, 30, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 32, 21, + 34, 21, 36, 21, 38, 21, 22, 21, + 24, 24, 21, 25, 26, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 27, + 28, 29, 30, 21, 21, 21, 21, 21, + 21, 21, 21, 45, 21, 21, 32, 21, + 21, 21, 36, 21, 38, 21, 22, 21, + 24, 24, 21, 25, 26, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 27, + 28, 29, 30, 21, 21, 21, 21, 21, + 21, 21, 21, 46, 21, 21, 32, 33, + 34, 21, 36, 21, 38, 21, 22, 21, + 24, 24, 21, 25, 26, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 27, + 28, 29, 30, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 32, 33, + 34, 21, 36, 21, 38, 21, 22, 23, + 24, 24, 21, 25, 26, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 27, + 28, 29, 30, 21, 21, 21, 21, 21, + 21, 21, 21, 31, 21, 21, 32, 33, + 34, 35, 36, 21, 38, 21, 48, 48, + 47, 5, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 12, 47, 47, 47, 47, 47, 47, 47, + 47, 49, 47, 47, 47, 47, 47, 47, + 18, 47, 48, 48, 47, 5, 47, 2, + 47, 48, 48, 47, 5, 6, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 50, 47, 47, 12, 47, 47, 47, 47, + 47, 47, 47, 47, 51, 47, 47, 52, + 47, 47, 47, 18, 47, 51, 47, 2, + 47, 48, 48, 47, 5, 6, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 12, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 18, 47, 53, 47, 48, + 48, 47, 5, 18, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 54, 47, 47, 47, 47, 47, + 47, 18, 47, 48, 48, 47, 5, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 54, 47, + 47, 47, 47, 47, 47, 18, 47, 48, + 48, 47, 5, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 18, 47, 2, 47, 48, 48, 47, + 5, 6, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 50, 47, 47, 12, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 18, + 47, 2, 47, 48, 48, 47, 5, 6, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 50, 47, 47, 12, 47, 47, + 47, 47, 47, 47, 47, 47, 51, 47, + 47, 47, 47, 47, 47, 18, 47, 2, + 47, 48, 48, 47, 5, 6, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 50, 47, 47, 12, 47, 47, 47, 47, + 47, 47, 47, 47, 51, 47, 47, 47, + 47, 47, 47, 18, 47, 51, 47, 48, + 48, 47, 5, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 12, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 18, 47, 55, 55, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 55, 47, 2, 3, 48, 48, 47, + 5, 6, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 9, 10, 11, 12, + 47, 47, 47, 47, 47, 47, 47, 47, + 13, 47, 47, 14, 15, 16, 17, 18, + 19, 20, 47, 2, 47, 48, 48, 47, + 5, 6, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 9, 10, 47, 12, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 18, + 47, 2, 47, 48, 48, 47, 5, 6, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 10, 47, 12, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 18, 47, 2, + 47, 48, 48, 47, 5, 6, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 9, 10, 11, 12, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 18, 56, 47, 2, 47, + 48, 48, 47, 5, 6, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 9, + 10, 11, 12, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 18, 47, 2, 47, 48, 48, + 47, 5, 6, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 9, 10, 11, + 12, 47, 47, 47, 47, 47, 47, 47, + 47, 13, 47, 47, 14, 15, 16, 17, + 18, 47, 20, 47, 2, 47, 48, 48, + 47, 5, 6, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 9, 10, 11, + 12, 47, 47, 47, 47, 47, 47, 47, + 47, 56, 47, 47, 47, 47, 47, 47, + 18, 47, 20, 47, 2, 47, 48, 48, + 47, 5, 6, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 9, 10, 11, + 12, 47, 47, 47, 47, 47, 47, 47, + 47, 56, 47, 47, 47, 47, 47, 47, + 18, 47, 2, 47, 48, 48, 47, 5, + 6, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 9, 10, 11, 12, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 14, 47, 16, 47, 18, 47, + 20, 47, 2, 47, 48, 48, 47, 5, + 6, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 9, 10, 11, 12, 47, + 47, 47, 47, 47, 47, 47, 47, 56, + 47, 47, 14, 47, 47, 47, 18, 47, + 20, 47, 2, 47, 48, 48, 47, 5, + 6, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 9, 10, 11, 12, 47, + 47, 47, 47, 47, 47, 47, 47, 57, + 47, 47, 14, 15, 16, 47, 18, 47, + 20, 47, 2, 47, 48, 48, 47, 5, + 6, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 9, 10, 11, 12, 47, + 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 14, 15, 16, 47, 18, 47, + 20, 47, 2, 3, 48, 48, 47, 5, + 6, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 9, 10, 11, 12, 47, + 47, 47, 47, 47, 47, 47, 47, 13, + 47, 47, 14, 15, 16, 17, 18, 47, + 20, 47, 22, 23, 24, 24, 21, 25, + 26, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 27, 28, 29, 30, 21, + 21, 21, 21, 21, 21, 21, 21, 58, + 21, 21, 32, 33, 34, 35, 36, 37, + 38, 21, 22, 59, 24, 24, 21, 25, + 26, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 27, 28, 29, 30, 21, + 21, 21, 21, 21, 21, 21, 21, 31, + 21, 21, 32, 33, 34, 35, 36, 21, + 38, 21, 1, 1, 2, 3, 48, 48, + 47, 5, 6, 1, 1, 47, 47, 47, + 1, 47, 47, 47, 47, 9, 10, 11, + 12, 47, 47, 47, 47, 47, 47, 47, + 47, 13, 47, 47, 14, 15, 16, 17, + 18, 19, 20, 47, 1, 1, 60, 60, + 60, 60, 60, 60, 60, 1, 1, 60, + 60, 60, 1, 60, 0 }; static const char _myanmar_syllable_machine_trans_targs[] = { 0, 1, 26, 37, 0, 27, 29, 51, 54, 39, 40, 41, 28, 43, 44, 46, - 47, 48, 30, 50, 55, 45, 0, 2, - 13, 0, 3, 5, 14, 15, 16, 4, - 18, 19, 21, 22, 23, 6, 25, 20, - 12, 9, 10, 11, 7, 8, 17, 24, - 0, 0, 36, 33, 34, 35, 31, 32, - 38, 42, 49, 52, 53, 0, 0 + 47, 48, 30, 50, 45, 0, 2, 13, + 0, 3, 5, 14, 15, 16, 4, 18, + 19, 21, 22, 23, 6, 25, 20, 12, + 9, 10, 11, 7, 8, 17, 24, 0, + 0, 36, 33, 34, 35, 31, 32, 38, + 42, 49, 52, 53, 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, 0, 5, 0, - 0, 6, 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, 0, 0, 0, 0, - 7, 8, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 9, 10 + 0, 0, 0, 0, 0, 0, 0, 7, + 8, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 9 }; static const char _myanmar_syllable_machine_to_state_actions[] = { @@ -396,7 +390,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, 0, 0, 0 }; static const char _myanmar_syllable_machine_from_state_actions[] = { @@ -406,17 +400,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, 0, 0, 0 }; static const short _myanmar_syllable_machine_eof_trans[] = { - 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 + 0, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 22, 22, 48, 61 }; static const int myanmar_syllable_machine_start = 0; @@ -426,11 +420,11 @@ static const int myanmar_syllable_machine_error = -1; static const int myanmar_syllable_machine_en_main = 0; -#line 56 "hb-ot-shaper-myanmar-machine.rl" +#line 55 "hb-ot-shaper-myanmar-machine.rl" -#line 120 "hb-ot-shaper-myanmar-machine.rl" +#line 117 "hb-ot-shaper-myanmar-machine.rl" #define found_syllable(syllable_type) \ @@ -449,7 +443,7 @@ find_syllables_myanmar (hb_buffer_t *buffer) int cs; hb_glyph_info_t *info = buffer->info; -#line 453 "hb-ot-shaper-myanmar-machine.hh" +#line 447 "hb-ot-shaper-myanmar-machine.hh" { cs = myanmar_syllable_machine_start; ts = 0; @@ -457,7 +451,7 @@ find_syllables_myanmar (hb_buffer_t *buffer) act = 0; } -#line 140 "hb-ot-shaper-myanmar-machine.rl" +#line 137 "hb-ot-shaper-myanmar-machine.rl" p = 0; @@ -465,7 +459,7 @@ find_syllables_myanmar (hb_buffer_t *buffer) unsigned int syllable_serial = 1; -#line 469 "hb-ot-shaper-myanmar-machine.hh" +#line 463 "hb-ot-shaper-myanmar-machine.hh" { int _slen; int _trans; @@ -479,7 +473,7 @@ _resume: #line 1 "NONE" {ts = p;} break; -#line 483 "hb-ot-shaper-myanmar-machine.hh" +#line 477 "hb-ot-shaper-myanmar-machine.hh" } _keys = _myanmar_syllable_machine_trans_keys + (cs<<1); @@ -498,38 +492,34 @@ _eof_trans: switch ( _myanmar_syllable_machine_trans_actions[_trans] ) { case 6: -#line 112 "hb-ot-shaper-myanmar-machine.rl" +#line 110 "hb-ot-shaper-myanmar-machine.rl" {te = p+1;{ found_syllable (myanmar_consonant_syllable); }} break; case 4: -#line 113 "hb-ot-shaper-myanmar-machine.rl" +#line 111 "hb-ot-shaper-myanmar-machine.rl" {te = p+1;{ found_syllable (myanmar_non_myanmar_cluster); }} break; - case 10: -#line 114 "hb-ot-shaper-myanmar-machine.rl" - {te = p+1;{ found_syllable (myanmar_punctuation_cluster); }} - break; case 8: -#line 115 "hb-ot-shaper-myanmar-machine.rl" +#line 112 "hb-ot-shaper-myanmar-machine.rl" {te = p+1;{ found_syllable (myanmar_broken_cluster); buffer->scratch_flags |= HB_BUFFER_SCRATCH_FLAG_HAS_BROKEN_SYLLABLE; }} break; case 3: -#line 116 "hb-ot-shaper-myanmar-machine.rl" +#line 113 "hb-ot-shaper-myanmar-machine.rl" {te = p+1;{ found_syllable (myanmar_non_myanmar_cluster); }} break; case 5: -#line 112 "hb-ot-shaper-myanmar-machine.rl" +#line 110 "hb-ot-shaper-myanmar-machine.rl" {te = p;p--;{ found_syllable (myanmar_consonant_syllable); }} break; case 7: -#line 115 "hb-ot-shaper-myanmar-machine.rl" +#line 112 "hb-ot-shaper-myanmar-machine.rl" {te = p;p--;{ found_syllable (myanmar_broken_cluster); buffer->scratch_flags |= HB_BUFFER_SCRATCH_FLAG_HAS_BROKEN_SYLLABLE; }} break; case 9: -#line 116 "hb-ot-shaper-myanmar-machine.rl" +#line 113 "hb-ot-shaper-myanmar-machine.rl" {te = p;p--;{ found_syllable (myanmar_non_myanmar_cluster); }} break; -#line 533 "hb-ot-shaper-myanmar-machine.hh" +#line 523 "hb-ot-shaper-myanmar-machine.hh" } _again: @@ -538,7 +528,7 @@ _again: #line 1 "NONE" {ts = 0;} break; -#line 542 "hb-ot-shaper-myanmar-machine.hh" +#line 532 "hb-ot-shaper-myanmar-machine.hh" } if ( ++p != pe ) @@ -554,7 +544,7 @@ _again: } -#line 148 "hb-ot-shaper-myanmar-machine.rl" +#line 145 "hb-ot-shaper-myanmar-machine.rl" } diff --git a/src/hb-ot-shaper-myanmar-machine.rl b/src/hb-ot-shaper-myanmar-machine.rl index 1bce7b7f7..2cb6e4e77 100644 --- a/src/hb-ot-shaper-myanmar-machine.rl +++ b/src/hb-ot-shaper-myanmar-machine.rl @@ -43,7 +43,6 @@ using myanmar_position_t = ot_position_t; enum myanmar_syllable_type_t { myanmar_consonant_syllable, - myanmar_punctuation_cluster, myanmar_broken_cluster, myanmar_non_myanmar_cluster, }; @@ -59,6 +58,7 @@ enum myanmar_syllable_type_t { # Spec category D is folded into GB; D0 is not implemented by Uniscribe and as such folded into D +# Spec category P is folded into GB export C = 1; export IV = 2; @@ -86,8 +86,7 @@ export MW = 37; # Medial Wa, Shan Wa export MY = 38; # Medial Ya, Mon Na, Mon Ma export PT = 39; # Pwo and other tones export VS = 40; # Variation selectors -export P = 41; # Punctuation -export ML = 42; # Medial Mon La +export ML = 41; # Medial Mon La j = ZWJ|ZWNJ; # Joiners @@ -104,14 +103,12 @@ complex_syllable_tail = As* medial_group main_vowel_group post_vowel_group* pwo_ syllable_tail = (H (c|IV).VS?)* (H | complex_syllable_tail); consonant_syllable = (k|CS)? (c|IV|GB|DOTTEDCIRCLE).VS? syllable_tail; -punctuation_cluster = P SM; broken_cluster = k? VS? syllable_tail; other = any; main := |* consonant_syllable => { found_syllable (myanmar_consonant_syllable); }; j => { found_syllable (myanmar_non_myanmar_cluster); }; - punctuation_cluster => { found_syllable (myanmar_punctuation_cluster); }; broken_cluster => { found_syllable (myanmar_broken_cluster); buffer->scratch_flags |= HB_BUFFER_SCRATCH_FLAG_HAS_BROKEN_SYLLABLE; }; other => { found_syllable (myanmar_non_myanmar_cluster); }; *|; diff --git a/src/hb-ot-shaper-myanmar.cc b/src/hb-ot-shaper-myanmar.cc index 347f460d5..1ccafbca7 100644 --- a/src/hb-ot-shaper-myanmar.cc +++ b/src/hb-ot-shaper-myanmar.cc @@ -286,7 +286,6 @@ reorder_syllable_myanmar (const hb_ot_shape_plan_t *plan HB_UNUSED, initial_reordering_consonant_syllable (buffer, start, end); break; - case myanmar_punctuation_cluster: case myanmar_non_myanmar_cluster: break; }