[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.
This commit is contained in:
Behdad Esfahbod 2022-06-11 08:57:21 -06:00
parent b350e30186
commit 2cbb775866
5 changed files with 312 additions and 333 deletions

View File

@ -130,7 +130,6 @@ categories = {
'MY', 'MY',
'PT', 'PT',
'VS', 'VS',
'P',
'ML', 'ML',
], ],
} }
@ -372,8 +371,7 @@ category_overrides = {
0x109B: 'SM', 0x109B: 'SM',
0x109C: 'SM', 0x109C: 'SM',
0x104A: 'P', 0x104A: 'PLACEHOLDER',
0x104B: 'P',
} }
position_overrides = { position_overrides = {

View File

@ -62,8 +62,6 @@ static_assert (OT_VPre == M_Cat(VPre), "");
static_assert (OT_VPst == M_Cat(VPst), ""); static_assert (OT_VPst == M_Cat(VPst), "");
#define OT_IV M_Cat(IV) #define OT_IV M_Cat(IV)
#define OT_As M_Cat(As) #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_DB M_Cat(DB)
#define OT_GB M_Cat(GB ) #define OT_GB M_Cat(GB )
#define OT_MH M_Cat(MH) #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_MY M_Cat(MY)
#define OT_PT M_Cat(PT) #define OT_PT M_Cat(PT)
#define OT_VS M_Cat(VS) #define OT_VS M_Cat(VS)
#define OT_P M_Cat(P)
#define OT_ML M_Cat(ML) #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_MW OT_MW /* 2 chars; MW */
#define _OT_MY OT_MY /* 3 chars; MY */ #define _OT_MY OT_MY /* 3 chars; MY */
#define _OT_N OT_N /* 17 chars; N */ #define _OT_N OT_N /* 17 chars; N */
#define _OT_P OT_P /* 2 chars; P */ #define _OT_GB OT_PLACEHOLDER /* 174 chars; PLACEHOLDER */
#define _OT_GB OT_PLACEHOLDER /* 172 chars; PLACEHOLDER */
#define _OT_PT OT_PT /* 8 chars; PT */ #define _OT_PT OT_PT /* 8 chars; PT */
#define _OT_R OT_Ra /* 15 chars; Ra */ #define _OT_R OT_Ra /* 15 chars; Ra */
#define _OT_Rf OT_Repha /* 1 chars; Repha */ #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_A POS_AFTER_MAIN /* 3 chars; AFTER_MAIN */
#define _POS_AP POS_AFTER_POST /* 50 chars; AFTER_POST */ #define _POS_AP POS_AFTER_POST /* 50 chars; AFTER_POST */
#define _POS_AS POS_AFTER_SUB /* 60 chars; AFTER_SUB */ #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_BS POS_BEFORE_SUB /* 31 chars; BEFORE_SUB */
#define _POS_B POS_BELOW_C /* 13 chars; BELOW_C */ #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_R POS_POST_C /* 13 chars; POST_C */
#define _POS_L POS_PRE_C /* 5 chars; PRE_C */ #define _POS_L POS_PRE_C /* 5 chars; PRE_C */
#define _POS_LM POS_PRE_M /* 16 chars; PRE_M */ #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), /* 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), /* 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), /* 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), /* 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), /* 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), /* 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_MW
#undef _OT_MY #undef _OT_MY
#undef _OT_N #undef _OT_N
#undef _OT_P
#undef _OT_GB #undef _OT_GB
#undef _OT_PT #undef _OT_PT
#undef _OT_R #undef _OT_R

View File

@ -45,13 +45,12 @@ using myanmar_position_t = ot_position_t;
enum myanmar_syllable_type_t { enum myanmar_syllable_type_t {
myanmar_consonant_syllable, myanmar_consonant_syllable,
myanmar_punctuation_cluster,
myanmar_broken_cluster, myanmar_broken_cluster,
myanmar_non_myanmar_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_A 9u
#define myanmar_syllable_machine_ex_As 32u #define myanmar_syllable_machine_ex_As 32u
#define myanmar_syllable_machine_ex_C 1u #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_H 4u
#define myanmar_syllable_machine_ex_IV 2u #define myanmar_syllable_machine_ex_IV 2u
#define myanmar_syllable_machine_ex_MH 35u #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_MR 36u
#define myanmar_syllable_machine_ex_MW 37u #define myanmar_syllable_machine_ex_MW 37u
#define myanmar_syllable_machine_ex_MY 38u #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_PT 39u
#define myanmar_syllable_machine_ex_Ra 15u #define myanmar_syllable_machine_ex_Ra 15u
#define myanmar_syllable_machine_ex_SM 8u #define myanmar_syllable_machine_ex_SM 8u
@ -79,36 +77,35 @@ enum myanmar_syllable_type_t {
#define myanmar_syllable_machine_ex_ZWNJ 5u #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[] = { 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, 1u, 41u, 3u, 41u, 5u, 39u, 5u, 8u, 3u, 41u, 3u, 39u, 3u, 39u, 5u, 39u,
5u, 39u, 3u, 39u, 3u, 39u, 3u, 42u, 5u, 39u, 1u, 15u, 3u, 39u, 3u, 39u, 5u, 39u, 3u, 39u, 3u, 39u, 3u, 41u, 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, 40u, 3u, 39u, 3u, 41u, 3u, 41u, 3u, 39u, 3u, 41u, 3u, 41u, 3u, 41u,
3u, 42u, 3u, 42u, 5u, 39u, 5u, 8u, 3u, 42u, 3u, 39u, 3u, 39u, 5u, 39u, 3u, 41u, 3u, 41u, 5u, 39u, 5u, 8u, 3u, 41u, 3u, 39u, 3u, 39u, 5u, 39u,
5u, 39u, 3u, 39u, 3u, 39u, 3u, 42u, 5u, 39u, 1u, 15u, 3u, 42u, 3u, 39u, 5u, 39u, 3u, 39u, 3u, 39u, 3u, 41u, 5u, 39u, 1u, 15u, 3u, 41u, 3u, 39u,
3u, 39u, 3u, 40u, 3u, 39u, 3u, 42u, 3u, 42u, 3u, 39u, 3u, 42u, 3u, 42u, 3u, 39u, 3u, 40u, 3u, 39u, 3u, 41u, 3u, 41u, 3u, 39u, 3u, 41u, 3u, 41u,
3u, 42u, 3u, 42u, 3u, 42u, 3u, 42u, 3u, 42u, 1u, 42u, 1u, 15u, 8u, 8u, 3u, 41u, 3u, 41u, 3u, 41u, 3u, 41u, 3u, 41u, 1u, 41u, 1u, 15u, 0
0
}; };
static const char _myanmar_syllable_machine_key_spans[] = { static const char _myanmar_syllable_machine_key_spans[] = {
42, 40, 35, 4, 40, 37, 37, 35, 41, 39, 35, 4, 39, 37, 37, 35,
35, 37, 37, 40, 35, 15, 37, 37, 35, 37, 37, 39, 35, 15, 37, 37,
38, 37, 40, 40, 37, 40, 40, 40, 38, 37, 39, 39, 37, 39, 39, 39,
40, 40, 35, 4, 40, 37, 37, 35, 39, 39, 35, 4, 39, 37, 37, 35,
35, 37, 37, 40, 35, 15, 40, 37, 35, 37, 37, 39, 35, 15, 39, 37,
37, 38, 37, 40, 40, 37, 40, 40, 37, 38, 37, 39, 39, 37, 39, 39,
40, 40, 40, 40, 40, 42, 15, 1 39, 39, 39, 39, 39, 41, 15
}; };
static const short _myanmar_syllable_machine_index_offsets[] = { static const short _myanmar_syllable_machine_index_offsets[] = {
0, 43, 84, 120, 125, 166, 204, 242, 0, 42, 82, 118, 123, 163, 201, 239,
278, 314, 352, 390, 431, 467, 483, 521, 275, 311, 349, 387, 427, 463, 479, 517,
559, 598, 636, 677, 718, 756, 797, 838, 555, 594, 632, 672, 712, 750, 790, 830,
879, 920, 961, 997, 1002, 1043, 1081, 1119, 870, 910, 950, 986, 991, 1031, 1069, 1107,
1155, 1191, 1229, 1267, 1308, 1344, 1360, 1401, 1143, 1179, 1217, 1255, 1295, 1331, 1347, 1387,
1439, 1477, 1516, 1554, 1595, 1636, 1674, 1715, 1425, 1463, 1502, 1540, 1580, 1620, 1658, 1698,
1756, 1797, 1838, 1879, 1920, 1961, 2004, 2020 1738, 1778, 1818, 1858, 1898, 1938, 1980
}; };
static const char _myanmar_syllable_machine_indicies[] = { 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, 8, 0, 9, 10, 11, 12, 0,
0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 13,
0, 0, 14, 15, 16, 17, 18, 19, 0, 0, 14, 15, 16, 17, 18, 19,
20, 21, 0, 23, 24, 25, 25, 22, 20, 0, 22, 23, 24, 24, 21, 25,
26, 27, 22, 22, 22, 22, 22, 22, 26, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 28, 29, 30, 31, 21, 21, 21, 27, 28, 29, 30, 21,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 31,
32, 22, 22, 33, 34, 35, 36, 37, 21, 21, 32, 33, 34, 35, 36, 37,
38, 22, 39, 22, 25, 25, 22, 26, 38, 21, 24, 24, 21, 25, 21, 21,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 31, 22, 21, 21, 21, 21, 30, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 40, 21, 21, 21, 21, 21, 39, 21, 21,
22, 22, 22, 22, 22, 22, 37, 22, 21, 21, 21, 21, 36, 21, 24, 24,
25, 25, 22, 26, 22, 23, 22, 25, 21, 25, 21, 22, 21, 24, 24, 21,
25, 22, 26, 27, 22, 22, 22, 22, 25, 26, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 41, 22, 21, 21, 21, 21, 40, 21, 21, 30,
22, 31, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 42, 22, 22, 43, 22, 22, 41, 21, 21, 42, 21, 21, 21, 36,
22, 37, 22, 22, 42, 22, 23, 22, 21, 41, 21, 22, 21, 24, 24, 21,
25, 25, 22, 26, 27, 22, 22, 22, 25, 26, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 30,
22, 22, 31, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 36,
22, 22, 37, 22, 44, 22, 25, 25, 21, 43, 21, 24, 24, 21, 25, 36,
22, 26, 37, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 44, 21,
22, 45, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 36, 21, 24,
37, 22, 25, 25, 22, 26, 22, 22, 24, 21, 25, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 45, 22, 22, 21, 21, 44, 21, 21, 21, 21, 21,
22, 22, 22, 22, 37, 22, 25, 25, 21, 36, 21, 24, 24, 21, 25, 21,
22, 26, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 36, 21, 22,
37, 22, 23, 22, 25, 25, 22, 26, 21, 24, 24, 21, 25, 26, 21, 21,
27, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 41, 22, 22, 31, 22, 40, 21, 21, 30, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 37, 22, 21, 21, 21, 36, 21, 22, 21, 24,
23, 22, 25, 25, 22, 26, 27, 22, 24, 21, 25, 26, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 40, 21,
22, 41, 22, 22, 31, 22, 22, 22, 21, 30, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 42, 22, 22, 21, 21, 41, 21, 21, 21, 21, 21,
22, 22, 22, 22, 37, 22, 23, 22, 21, 36, 21, 22, 21, 24, 24, 21,
25, 25, 22, 26, 27, 22, 22, 22, 25, 26, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 41, 21, 21, 21, 21, 40, 21, 21, 30,
22, 22, 31, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 42, 22, 22, 22, 22, 41, 21, 21, 21, 21, 21, 21, 36,
22, 22, 37, 22, 22, 42, 22, 25, 21, 41, 21, 24, 24, 21, 25, 21,
25, 22, 26, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 30, 21, 21,
22, 31, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 36, 21, 1,
22, 37, 22, 1, 1, 22, 22, 22, 1, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 1, 21, 22,
22, 1, 22, 23, 22, 25, 25, 22, 21, 24, 24, 21, 25, 26, 21, 21,
26, 27, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 28, 29, 22, 31, 27, 28, 21, 30, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 37, 21, 21, 21, 36, 21, 22, 21, 24,
22, 23, 22, 25, 25, 22, 26, 27, 24, 21, 25, 26, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 28,
22, 22, 22, 29, 22, 31, 22, 22, 21, 30, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 37, 22, 23, 21, 36, 21, 22, 21, 24, 24, 21,
22, 25, 25, 22, 26, 27, 22, 22, 25, 26, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 27, 28, 29, 30,
28, 29, 30, 31, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 36,
22, 22, 22, 37, 46, 22, 23, 22, 45, 21, 22, 21, 24, 24, 21, 25,
25, 25, 22, 26, 27, 22, 22, 22, 26, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 28, 21, 21, 21, 27, 28, 29, 30, 21,
29, 30, 31, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 36, 21,
22, 22, 37, 22, 23, 22, 25, 25, 22, 21, 24, 24, 21, 25, 26, 21,
22, 26, 27, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 28, 29, 30, 21, 27, 28, 29, 30, 21, 21, 21,
31, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 31, 21, 21,
22, 32, 22, 22, 33, 34, 35, 36, 32, 33, 34, 35, 36, 21, 38, 21,
37, 22, 22, 39, 22, 23, 22, 25, 22, 21, 24, 24, 21, 25, 26, 21,
25, 22, 26, 27, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 28, 29, 21, 27, 28, 29, 30, 21, 21, 21,
30, 31, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 45, 21, 21,
22, 22, 46, 22, 22, 22, 22, 22, 21, 21, 21, 21, 36, 21, 38, 21,
22, 37, 22, 22, 39, 22, 23, 22, 22, 21, 24, 24, 21, 25, 26, 21,
25, 25, 22, 26, 27, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21,
22, 22, 22, 22, 22, 22, 22, 28, 21, 27, 28, 29, 30, 21, 21, 21,
29, 30, 31, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 45, 21, 21,
22, 22, 22, 46, 22, 22, 22, 22, 21, 21, 21, 21, 36, 21, 22, 21,
22, 22, 37, 22, 23, 22, 25, 25, 24, 24, 21, 25, 26, 21, 21, 21,
22, 26, 27, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 27,
22, 22, 22, 22, 22, 28, 29, 30, 28, 29, 30, 21, 21, 21, 21, 21,
31, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 32, 21,
22, 22, 22, 22, 33, 22, 35, 22, 34, 21, 36, 21, 38, 21, 22, 21,
37, 22, 22, 39, 22, 23, 22, 25, 24, 24, 21, 25, 26, 21, 21, 21,
25, 22, 26, 27, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 27,
22, 22, 22, 22, 22, 22, 28, 29, 28, 29, 30, 21, 21, 21, 21, 21,
30, 31, 22, 22, 22, 22, 22, 22, 21, 21, 21, 45, 21, 21, 32, 21,
22, 22, 46, 22, 22, 33, 22, 22, 21, 21, 36, 21, 38, 21, 22, 21,
22, 37, 22, 22, 39, 22, 23, 22, 24, 24, 21, 25, 26, 21, 21, 21,
25, 25, 22, 26, 27, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 27,
22, 22, 22, 22, 22, 22, 22, 28, 28, 29, 30, 21, 21, 21, 21, 21,
29, 30, 31, 22, 22, 22, 22, 22, 21, 21, 21, 46, 21, 21, 32, 33,
22, 22, 22, 47, 22, 22, 33, 34, 34, 21, 36, 21, 38, 21, 22, 21,
35, 22, 37, 22, 22, 39, 22, 23, 24, 24, 21, 25, 26, 21, 21, 21,
22, 25, 25, 22, 26, 27, 22, 22, 21, 21, 21, 21, 21, 21, 21, 27,
22, 22, 22, 22, 22, 22, 22, 22, 28, 29, 30, 21, 21, 21, 21, 21,
28, 29, 30, 31, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 32, 33,
22, 22, 22, 22, 22, 22, 22, 33, 34, 21, 36, 21, 38, 21, 22, 23,
34, 35, 22, 37, 22, 22, 39, 22, 24, 24, 21, 25, 26, 21, 21, 21,
23, 24, 25, 25, 22, 26, 27, 22, 21, 21, 21, 21, 21, 21, 21, 27,
22, 22, 22, 22, 22, 22, 22, 22, 28, 29, 30, 21, 21, 21, 21, 21,
22, 28, 29, 30, 31, 22, 22, 22, 21, 21, 21, 31, 21, 21, 32, 33,
22, 22, 22, 22, 22, 32, 22, 22, 34, 35, 36, 21, 38, 21, 48, 48,
33, 34, 35, 36, 37, 22, 22, 39, 47, 5, 47, 47, 47, 47, 47, 47,
22, 49, 49, 48, 5, 48, 48, 48, 47, 47, 47, 47, 47, 47, 47, 47,
48, 48, 48, 48, 48, 48, 48, 48, 12, 47, 47, 47, 47, 47, 47, 47,
48, 48, 48, 12, 48, 48, 48, 48, 47, 49, 47, 47, 47, 47, 47, 47,
48, 48, 48, 48, 50, 48, 48, 48, 18, 47, 48, 48, 47, 5, 47, 2,
48, 48, 48, 18, 48, 49, 49, 48, 47, 48, 48, 47, 5, 6, 47, 47,
5, 48, 2, 48, 49, 49, 48, 5, 47, 47, 47, 47, 47, 47, 47, 47,
6, 48, 48, 48, 48, 48, 48, 48, 50, 47, 47, 12, 47, 47, 47, 47,
48, 48, 48, 51, 48, 48, 12, 48, 47, 47, 47, 47, 51, 47, 47, 52,
48, 48, 48, 48, 48, 48, 48, 52, 47, 47, 47, 18, 47, 51, 47, 2,
48, 48, 53, 48, 48, 48, 18, 48, 47, 48, 48, 47, 5, 6, 47, 47,
48, 52, 48, 2, 48, 49, 49, 48, 47, 47, 47, 47, 47, 47, 47, 47,
5, 6, 48, 48, 48, 48, 48, 48, 47, 47, 47, 12, 47, 47, 47, 47,
48, 48, 48, 48, 48, 48, 48, 12, 47, 47, 47, 47, 47, 47, 47, 47,
48, 48, 48, 48, 48, 48, 48, 48, 47, 47, 47, 18, 47, 53, 47, 48,
48, 48, 48, 48, 48, 48, 48, 18, 48, 47, 5, 18, 47, 47, 47, 47,
48, 54, 48, 49, 49, 48, 5, 18, 47, 47, 47, 47, 47, 47, 47, 47,
48, 48, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 47, 47,
48, 48, 48, 48, 48, 48, 48, 48, 47, 47, 54, 47, 47, 47, 47, 47,
48, 48, 48, 48, 48, 48, 55, 48, 47, 18, 47, 48, 48, 47, 5, 47,
48, 48, 48, 48, 48, 18, 48, 49, 47, 47, 47, 47, 47, 47, 47, 47,
49, 48, 5, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 47, 47,
48, 48, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 54, 47,
48, 48, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 18, 47, 48,
48, 48, 55, 48, 48, 48, 48, 48, 48, 47, 5, 47, 47, 47, 47, 47,
48, 18, 48, 49, 49, 48, 5, 48, 47, 47, 47, 47, 47, 47, 47, 47,
48, 48, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 47, 47,
48, 48, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 47, 47,
48, 48, 48, 48, 48, 48, 48, 48, 47, 18, 47, 2, 47, 48, 48, 47,
48, 48, 48, 48, 48, 18, 48, 2, 5, 6, 47, 47, 47, 47, 47, 47,
48, 49, 49, 48, 5, 6, 48, 48, 47, 47, 47, 47, 50, 47, 47, 12,
48, 48, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 47, 47,
51, 48, 48, 12, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 47, 18,
48, 48, 48, 48, 48, 48, 48, 48, 47, 2, 47, 48, 48, 47, 5, 6,
48, 48, 48, 18, 48, 2, 48, 49, 47, 47, 47, 47, 47, 47, 47, 47,
49, 48, 5, 6, 48, 48, 48, 48, 47, 47, 50, 47, 47, 12, 47, 47,
48, 48, 48, 48, 48, 48, 51, 48, 47, 47, 47, 47, 47, 47, 51, 47,
48, 12, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 18, 47, 2,
48, 48, 52, 48, 48, 48, 48, 48, 47, 48, 48, 47, 5, 6, 47, 47,
48, 18, 48, 2, 48, 49, 49, 48, 47, 47, 47, 47, 47, 47, 47, 47,
5, 6, 48, 48, 48, 48, 48, 48, 50, 47, 47, 12, 47, 47, 47, 47,
48, 48, 48, 48, 51, 48, 48, 12, 47, 47, 47, 47, 51, 47, 47, 47,
48, 48, 48, 48, 48, 48, 48, 48, 47, 47, 47, 18, 47, 51, 47, 48,
52, 48, 48, 48, 48, 48, 48, 18, 48, 47, 5, 47, 47, 47, 47, 47,
48, 48, 52, 48, 49, 49, 48, 5, 47, 47, 47, 47, 47, 47, 47, 47,
48, 48, 48, 48, 48, 48, 48, 48, 47, 12, 47, 47, 47, 47, 47, 47,
48, 48, 48, 48, 48, 48, 12, 48, 47, 47, 47, 47, 47, 47, 47, 47,
48, 48, 48, 48, 48, 48, 48, 48, 47, 18, 47, 55, 55, 47, 47, 47,
48, 48, 48, 48, 48, 48, 18, 48, 47, 47, 47, 47, 47, 47, 47, 47,
56, 56, 48, 48, 48, 48, 48, 48, 47, 55, 47, 2, 3, 48, 48, 47,
48, 48, 48, 48, 48, 48, 56, 48, 5, 6, 47, 47, 47, 47, 47, 47,
2, 3, 49, 49, 48, 5, 6, 48, 47, 47, 47, 47, 9, 10, 11, 12,
48, 48, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 47, 47,
48, 9, 10, 11, 12, 48, 48, 48, 13, 47, 47, 14, 15, 16, 17, 18,
48, 48, 48, 48, 48, 13, 48, 48, 19, 20, 47, 2, 47, 48, 48, 47,
14, 15, 16, 17, 18, 19, 48, 21, 5, 6, 47, 47, 47, 47, 47, 47,
48, 2, 48, 49, 49, 48, 5, 6, 47, 47, 47, 47, 9, 10, 47, 12,
48, 48, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 47, 47,
48, 48, 9, 10, 48, 12, 48, 48, 47, 47, 47, 47, 47, 47, 47, 18,
48, 48, 48, 48, 48, 48, 48, 48, 47, 2, 47, 48, 48, 47, 5, 6,
48, 48, 48, 48, 48, 18, 48, 2, 47, 47, 47, 47, 47, 47, 47, 47,
48, 49, 49, 48, 5, 6, 48, 48, 47, 47, 47, 10, 47, 12, 47, 47,
48, 48, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 47, 47,
48, 10, 48, 12, 48, 48, 48, 48, 47, 47, 47, 47, 47, 18, 47, 2,
48, 48, 48, 48, 48, 48, 48, 48, 47, 48, 48, 47, 5, 6, 47, 47,
48, 48, 48, 18, 48, 2, 48, 49, 47, 47, 47, 47, 47, 47, 47, 47,
49, 48, 5, 6, 48, 48, 48, 48, 9, 10, 11, 12, 47, 47, 47, 47,
48, 48, 48, 48, 48, 48, 9, 10, 47, 47, 47, 47, 47, 47, 47, 47,
11, 12, 48, 48, 48, 48, 48, 48, 47, 47, 47, 18, 56, 47, 2, 47,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 47, 5, 6, 47, 47, 47,
48, 18, 57, 48, 2, 48, 49, 49, 47, 47, 47, 47, 47, 47, 47, 9,
48, 5, 6, 48, 48, 48, 48, 48, 10, 11, 12, 47, 47, 47, 47, 47,
48, 48, 48, 48, 48, 9, 10, 11, 47, 47, 47, 47, 47, 47, 47, 47,
12, 48, 48, 48, 48, 48, 48, 48, 47, 47, 18, 47, 2, 47, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 47, 5, 6, 47, 47, 47, 47, 47,
18, 48, 2, 48, 49, 49, 48, 5, 47, 47, 47, 47, 47, 9, 10, 11,
6, 48, 48, 48, 48, 48, 48, 48, 12, 47, 47, 47, 47, 47, 47, 47,
48, 48, 48, 9, 10, 11, 12, 48, 47, 13, 47, 47, 14, 15, 16, 17,
48, 48, 48, 48, 48, 48, 48, 13, 18, 47, 20, 47, 2, 47, 48, 48,
48, 48, 14, 15, 16, 17, 18, 48, 47, 5, 6, 47, 47, 47, 47, 47,
48, 21, 48, 2, 48, 49, 49, 48, 47, 47, 47, 47, 47, 9, 10, 11,
5, 6, 48, 48, 48, 48, 48, 48, 12, 47, 47, 47, 47, 47, 47, 47,
48, 48, 48, 48, 9, 10, 11, 12, 47, 56, 47, 47, 47, 47, 47, 47,
48, 48, 48, 48, 48, 48, 48, 48, 18, 47, 20, 47, 2, 47, 48, 48,
57, 48, 48, 48, 48, 48, 48, 18, 47, 5, 6, 47, 47, 47, 47, 47,
48, 48, 21, 48, 2, 48, 49, 49, 47, 47, 47, 47, 47, 9, 10, 11,
48, 5, 6, 48, 48, 48, 48, 48, 12, 47, 47, 47, 47, 47, 47, 47,
48, 48, 48, 48, 48, 9, 10, 11, 47, 56, 47, 47, 47, 47, 47, 47,
12, 48, 48, 48, 48, 48, 48, 48, 18, 47, 2, 47, 48, 48, 47, 5,
48, 57, 48, 48, 48, 48, 48, 48, 6, 47, 47, 47, 47, 47, 47, 47,
18, 48, 2, 48, 49, 49, 48, 5, 47, 47, 47, 9, 10, 11, 12, 47,
6, 48, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 47, 47,
48, 48, 48, 9, 10, 11, 12, 48, 47, 47, 14, 47, 16, 47, 18, 47,
48, 48, 48, 48, 48, 48, 48, 48, 20, 47, 2, 47, 48, 48, 47, 5,
48, 48, 14, 48, 16, 48, 18, 48, 6, 47, 47, 47, 47, 47, 47, 47,
48, 21, 48, 2, 48, 49, 49, 48, 47, 47, 47, 9, 10, 11, 12, 47,
5, 6, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 47, 56,
48, 48, 48, 48, 9, 10, 11, 12, 47, 47, 14, 47, 47, 47, 18, 47,
48, 48, 48, 48, 48, 48, 48, 48, 20, 47, 2, 47, 48, 48, 47, 5,
57, 48, 48, 14, 48, 48, 48, 18, 6, 47, 47, 47, 47, 47, 47, 47,
48, 48, 21, 48, 2, 48, 49, 49, 47, 47, 47, 9, 10, 11, 12, 47,
48, 5, 6, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 47, 57,
48, 48, 48, 48, 48, 9, 10, 11, 47, 47, 14, 15, 16, 47, 18, 47,
12, 48, 48, 48, 48, 48, 48, 48, 20, 47, 2, 47, 48, 48, 47, 5,
48, 58, 48, 48, 14, 15, 16, 48, 6, 47, 47, 47, 47, 47, 47, 47,
18, 48, 48, 21, 48, 2, 48, 49, 47, 47, 47, 9, 10, 11, 12, 47,
49, 48, 5, 6, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 47, 47,
48, 48, 48, 48, 48, 48, 9, 10, 47, 47, 14, 15, 16, 47, 18, 47,
11, 12, 48, 48, 48, 48, 48, 48, 20, 47, 2, 3, 48, 48, 47, 5,
48, 48, 48, 48, 48, 14, 15, 16, 6, 47, 47, 47, 47, 47, 47, 47,
48, 18, 48, 48, 21, 48, 2, 3, 47, 47, 47, 9, 10, 11, 12, 47,
49, 49, 48, 5, 6, 48, 48, 48, 47, 47, 47, 47, 47, 47, 47, 13,
48, 48, 48, 48, 48, 48, 48, 9, 47, 47, 14, 15, 16, 17, 18, 47,
10, 11, 12, 48, 48, 48, 48, 48, 20, 47, 22, 23, 24, 24, 21, 25,
48, 48, 48, 13, 48, 48, 14, 15, 26, 21, 21, 21, 21, 21, 21, 21,
16, 17, 18, 48, 48, 21, 48, 23, 21, 21, 21, 27, 28, 29, 30, 21,
24, 25, 25, 22, 26, 27, 22, 22, 21, 21, 21, 21, 21, 21, 21, 58,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 32, 33, 34, 35, 36, 37,
28, 29, 30, 31, 22, 22, 22, 22, 38, 21, 22, 59, 24, 24, 21, 25,
22, 22, 22, 22, 59, 22, 22, 33, 26, 21, 21, 21, 21, 21, 21, 21,
34, 35, 36, 37, 38, 22, 39, 22, 21, 21, 21, 27, 28, 29, 30, 21,
23, 60, 25, 25, 22, 26, 27, 22, 21, 21, 21, 21, 21, 21, 21, 31,
22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 32, 33, 34, 35, 36, 21,
22, 28, 29, 30, 31, 22, 22, 22, 38, 21, 1, 1, 2, 3, 48, 48,
22, 22, 22, 22, 22, 32, 22, 22, 47, 5, 6, 1, 1, 47, 47, 47,
33, 34, 35, 36, 37, 22, 22, 39, 1, 47, 47, 47, 47, 9, 10, 11,
22, 1, 1, 2, 3, 49, 49, 48, 12, 47, 47, 47, 47, 47, 47, 47,
5, 6, 1, 1, 48, 48, 48, 1, 47, 13, 47, 47, 14, 15, 16, 17,
48, 48, 48, 48, 9, 10, 11, 12, 18, 19, 20, 47, 1, 1, 60, 60,
48, 48, 48, 48, 48, 48, 48, 48, 60, 60, 60, 60, 60, 1, 1, 60,
13, 48, 48, 14, 15, 16, 17, 18, 60, 60, 1, 60, 0
19, 48, 21, 48, 1, 1, 61, 61,
61, 61, 61, 61, 61, 1, 1, 61,
61, 61, 1, 61, 62, 61, 0
}; };
static const char _myanmar_syllable_machine_trans_targs[] = { static const char _myanmar_syllable_machine_trans_targs[] = {
0, 1, 26, 37, 0, 27, 29, 51, 0, 1, 26, 37, 0, 27, 29, 51,
54, 39, 40, 41, 28, 43, 44, 46, 54, 39, 40, 41, 28, 43, 44, 46,
47, 48, 30, 50, 55, 45, 0, 2, 47, 48, 30, 50, 45, 0, 2, 13,
13, 0, 3, 5, 14, 15, 16, 4, 0, 3, 5, 14, 15, 16, 4, 18,
18, 19, 21, 22, 23, 6, 25, 20, 19, 21, 22, 23, 6, 25, 20, 12,
12, 9, 10, 11, 7, 8, 17, 24, 9, 10, 11, 7, 8, 17, 24, 0,
0, 0, 36, 33, 34, 35, 31, 32, 0, 36, 33, 34, 35, 31, 32, 38,
38, 42, 49, 52, 53, 0, 0 42, 49, 52, 53, 0
}; };
static const char _myanmar_syllable_machine_trans_actions[] = { static const char _myanmar_syllable_machine_trans_actions[] = {
3, 0, 0, 0, 4, 0, 0, 0, 3, 0, 0, 0, 4, 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, 5, 0, 0, 0, 0, 0, 0, 5, 0, 0,
0, 6, 0, 0, 0, 0, 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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,
7, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 9, 10 0, 0, 0, 0, 9
}; };
static const char _myanmar_syllable_machine_to_state_actions[] = { 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, 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[] = { 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, 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[] = { static const short _myanmar_syllable_machine_eof_trans[] = {
0, 23, 23, 23, 23, 23, 23, 23, 0, 22, 22, 22, 22, 22, 22, 22,
23, 23, 23, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22,
23, 23, 23, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22,
23, 23, 49, 49, 49, 49, 49, 49, 22, 22, 48, 48, 48, 48, 48, 48,
49, 49, 49, 49, 49, 49, 49, 49, 48, 48, 48, 48, 48, 48, 48, 48,
49, 49, 49, 49, 49, 49, 49, 49, 48, 48, 48, 48, 48, 48, 48, 48,
49, 49, 49, 23, 23, 49, 62, 62 48, 48, 48, 22, 22, 48, 61
}; };
static const int myanmar_syllable_machine_start = 0; 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; 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) \ #define found_syllable(syllable_type) \
@ -449,7 +443,7 @@ find_syllables_myanmar (hb_buffer_t *buffer)
int cs; int cs;
hb_glyph_info_t *info = buffer->info; 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; cs = myanmar_syllable_machine_start;
ts = 0; ts = 0;
@ -457,7 +451,7 @@ find_syllables_myanmar (hb_buffer_t *buffer)
act = 0; act = 0;
} }
#line 140 "hb-ot-shaper-myanmar-machine.rl" #line 137 "hb-ot-shaper-myanmar-machine.rl"
p = 0; p = 0;
@ -465,7 +459,7 @@ find_syllables_myanmar (hb_buffer_t *buffer)
unsigned int syllable_serial = 1; unsigned int syllable_serial = 1;
#line 469 "hb-ot-shaper-myanmar-machine.hh" #line 463 "hb-ot-shaper-myanmar-machine.hh"
{ {
int _slen; int _slen;
int _trans; int _trans;
@ -479,7 +473,7 @@ _resume:
#line 1 "NONE" #line 1 "NONE"
{ts = p;} {ts = p;}
break; 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); _keys = _myanmar_syllable_machine_trans_keys + (cs<<1);
@ -498,38 +492,34 @@ _eof_trans:
switch ( _myanmar_syllable_machine_trans_actions[_trans] ) { switch ( _myanmar_syllable_machine_trans_actions[_trans] ) {
case 6: 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); }} {te = p+1;{ found_syllable (myanmar_consonant_syllable); }}
break; break;
case 4: 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); }} {te = p+1;{ found_syllable (myanmar_non_myanmar_cluster); }}
break; break;
case 10:
#line 114 "hb-ot-shaper-myanmar-machine.rl"
{te = p+1;{ found_syllable (myanmar_punctuation_cluster); }}
break;
case 8: 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; }} {te = p+1;{ found_syllable (myanmar_broken_cluster); buffer->scratch_flags |= HB_BUFFER_SCRATCH_FLAG_HAS_BROKEN_SYLLABLE; }}
break; break;
case 3: 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); }} {te = p+1;{ found_syllable (myanmar_non_myanmar_cluster); }}
break; break;
case 5: 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); }} {te = p;p--;{ found_syllable (myanmar_consonant_syllable); }}
break; break;
case 7: 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; }} {te = p;p--;{ found_syllable (myanmar_broken_cluster); buffer->scratch_flags |= HB_BUFFER_SCRATCH_FLAG_HAS_BROKEN_SYLLABLE; }}
break; break;
case 9: 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); }} {te = p;p--;{ found_syllable (myanmar_non_myanmar_cluster); }}
break; break;
#line 533 "hb-ot-shaper-myanmar-machine.hh" #line 523 "hb-ot-shaper-myanmar-machine.hh"
} }
_again: _again:
@ -538,7 +528,7 @@ _again:
#line 1 "NONE" #line 1 "NONE"
{ts = 0;} {ts = 0;}
break; break;
#line 542 "hb-ot-shaper-myanmar-machine.hh" #line 532 "hb-ot-shaper-myanmar-machine.hh"
} }
if ( ++p != pe ) if ( ++p != pe )
@ -554,7 +544,7 @@ _again:
} }
#line 148 "hb-ot-shaper-myanmar-machine.rl" #line 145 "hb-ot-shaper-myanmar-machine.rl"
} }

View File

@ -43,7 +43,6 @@ using myanmar_position_t = ot_position_t;
enum myanmar_syllable_type_t { enum myanmar_syllable_type_t {
myanmar_consonant_syllable, myanmar_consonant_syllable,
myanmar_punctuation_cluster,
myanmar_broken_cluster, myanmar_broken_cluster,
myanmar_non_myanmar_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 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 C = 1;
export IV = 2; export IV = 2;
@ -86,8 +86,7 @@ export MW = 37; # Medial Wa, Shan Wa
export MY = 38; # Medial Ya, Mon Na, Mon Ma export MY = 38; # Medial Ya, Mon Na, Mon Ma
export PT = 39; # Pwo and other tones export PT = 39; # Pwo and other tones
export VS = 40; # Variation selectors export VS = 40; # Variation selectors
export P = 41; # Punctuation export ML = 41; # Medial Mon La
export ML = 42; # Medial Mon La
j = ZWJ|ZWNJ; # Joiners 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); syllable_tail = (H (c|IV).VS?)* (H | complex_syllable_tail);
consonant_syllable = (k|CS)? (c|IV|GB|DOTTEDCIRCLE).VS? syllable_tail; consonant_syllable = (k|CS)? (c|IV|GB|DOTTEDCIRCLE).VS? syllable_tail;
punctuation_cluster = P SM;
broken_cluster = k? VS? syllable_tail; broken_cluster = k? VS? syllable_tail;
other = any; other = any;
main := |* main := |*
consonant_syllable => { found_syllable (myanmar_consonant_syllable); }; consonant_syllable => { found_syllable (myanmar_consonant_syllable); };
j => { found_syllable (myanmar_non_myanmar_cluster); }; 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; }; broken_cluster => { found_syllable (myanmar_broken_cluster); buffer->scratch_flags |= HB_BUFFER_SCRATCH_FLAG_HAS_BROKEN_SYLLABLE; };
other => { found_syllable (myanmar_non_myanmar_cluster); }; other => { found_syllable (myanmar_non_myanmar_cluster); };
*|; *|;

View File

@ -286,7 +286,6 @@ reorder_syllable_myanmar (const hb_ot_shape_plan_t *plan HB_UNUSED,
initial_reordering_consonant_syllable (buffer, start, end); initial_reordering_consonant_syllable (buffer, start, end);
break; break;
case myanmar_punctuation_cluster:
case myanmar_non_myanmar_cluster: case myanmar_non_myanmar_cluster:
break; break;
} }