[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:
parent
b350e30186
commit
2cbb775866
|
@ -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 = {
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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); };
|
||||||
*|;
|
*|;
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue