diff --git a/src/gen-indic-table.py b/src/gen-indic-table.py index bcf52eb75..d0ebf6b1a 100755 --- a/src/gen-indic-table.py +++ b/src/gen-indic-table.py @@ -121,6 +121,27 @@ category_map = { 'Vowel_Independent' : 'V', 'Dotted_Circle' : 'DOTTEDCIRCLE', # Ours, not Unicode's } +position_map = { + 'Not_Applicable' : 'END', + + 'Left' : 'PRE_C', + 'Top' : 'ABOVE_C', + 'Bottom' : 'BELOW_C', + 'Right' : 'POST_C', + + # These should resolve to the position of the last part of the split sequence. + 'Bottom_And_Right' : 'POST_C', + 'Left_And_Right' : 'POST_C', + 'Top_And_Bottom' : 'BELOW_C', + 'Top_And_Bottom_And_Left' : 'BELOW_C', + 'Top_And_Bottom_And_Right' : 'POST_C', + 'Top_And_Left' : 'ABOVE_C', + 'Top_And_Left_And_Right' : 'POST_C', + 'Top_And_Right' : 'POST_C', + + 'Overstruck' : 'AFTER_MAIN', + 'Visual_order_left' : 'PRE_M', +} category_overrides = { @@ -189,13 +210,12 @@ category_overrides = { 0x25CC: 'DOTTEDCIRCLE', } - -defaults = (category_map[defaults[0]], defaults[1], defaults[2]) +defaults = (category_map[defaults[0]], position_map[defaults[1]], defaults[2]) new_data = {} for key, (cat, pos, block) in data.items(): - cat = category_map[cat] + pos = position_map[pos] new_data[key] = (cat, pos, block) data = new_data @@ -210,7 +230,6 @@ for vv in data.values(): - # Move the outliers NO-BREAK SPACE and DOTTED CIRCLE out singles = {} for u in ALLOWED_SINGLES: @@ -243,7 +262,12 @@ short = [{ "PLACEHOLDER": 'GB', "DOTTEDCIRCLE": 'DC', },{ - "Not_Applicable": 'x', + "END": 'X', + "ABOVE_C": 'T', + "BELOW_C": 'B', + "POST_C": 'R', + "PRE_C": 'L', + "AFTER_MAIN": 'A', }] all_shorts = [{},{}] @@ -253,7 +277,7 @@ for i in range (2): for v,s in short[i].items (): all_shorts[i][s] = v -what = ["OT", "INDIC_MATRA_CATEGORY"] +what = ["OT", "POS"] what_short = ["ISC", "IMC"] print ('#pragma GCC diagnostic push') print ('#pragma GCC diagnostic ignored "-Wunused-macros"') @@ -374,7 +398,7 @@ for p in sorted(pages): print (" default:") print (" break;") print (" }") -print (" return _(X,x);") +print (" return _(X,X);") print ("}") print () print ("#undef _") diff --git a/src/hb-ot-shaper-indic-table.cc b/src/hb-ot-shaper-indic-table.cc index 47b1c570c..63483000f 100644 --- a/src/hb-ot-shaper-indic-table.cc +++ b/src/hb-ot-shaper-indic-table.cc @@ -23,37 +23,31 @@ #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-macros" -#define ISC_A OT_A /* 51 chars; A */ -#define ISC_C OT_C /* 532 chars; C */ -#define ISC_CM OT_CM /* 10 chars; CM */ -#define ISC_CS OT_CS /* 2 chars; CS */ -#define ISC_Co OT_Coeng /* 2 chars; Coeng */ -#define ISC_DC OT_DOTTEDCIRCLE /* 1 chars; DOTTEDCIRCLE */ -#define ISC_H OT_H /* 10 chars; H */ -#define ISC_M OT_M /* 209 chars; M */ -#define ISC_N OT_N /* 35 chars; N */ -#define ISC_GB OT_PLACEHOLDER /* 168 chars; PLACEHOLDER */ -#define ISC_RS OT_RS /* 2 chars; RS */ -#define ISC_R OT_Repha /* 1 chars; Repha */ -#define ISC_SM OT_SM /* 56 chars; SM */ -#define ISC_S OT_Symbol /* 22 chars; Symbol */ -#define ISC_V OT_V /* 190 chars; V */ -#define ISC_X OT_X /* 2 chars; X */ -#define ISC_ZWJ OT_ZWJ /* 1 chars; ZWJ */ -#define ISC_ZWNJ OT_ZWNJ /* 1 chars; ZWNJ */ +#define ISC_A OT_A /* 51 chars; A */ +#define ISC_C OT_C /* 532 chars; C */ +#define ISC_CM OT_CM /* 10 chars; CM */ +#define ISC_CS OT_CS /* 2 chars; CS */ +#define ISC_Co OT_Coeng /* 2 chars; Coeng */ +#define ISC_DC OT_DOTTEDCIRCLE /* 1 chars; DOTTEDCIRCLE */ +#define ISC_H OT_H /* 10 chars; H */ +#define ISC_M OT_M /* 209 chars; M */ +#define ISC_N OT_N /* 35 chars; N */ +#define ISC_GB OT_PLACEHOLDER /* 168 chars; PLACEHOLDER */ +#define ISC_RS OT_RS /* 2 chars; RS */ +#define ISC_R OT_Repha /* 1 chars; Repha */ +#define ISC_SM OT_SM /* 56 chars; SM */ +#define ISC_S OT_Symbol /* 22 chars; Symbol */ +#define ISC_V OT_V /* 190 chars; V */ +#define ISC_X OT_X /* 2 chars; X */ +#define ISC_ZWJ OT_ZWJ /* 1 chars; ZWJ */ +#define ISC_ZWNJ OT_ZWNJ /* 1 chars; ZWNJ */ -#define IMC_B INDIC_MATRA_CATEGORY_BOTTOM /* 77 chars; Bottom */ -#define IMC_L INDIC_MATRA_CATEGORY_LEFT /* 21 chars; Left */ -#define IMC_LR INDIC_MATRA_CATEGORY_LEFT_AND_RIGHT /* 14 chars; Left_And_Right */ -#define IMC_x INDIC_MATRA_CATEGORY_NOT_APPLICABLE /* 904 chars; Not_Applicable */ -#define IMC_O INDIC_MATRA_CATEGORY_OVERSTRUCK /* 44 chars; Overstruck */ -#define IMC_R INDIC_MATRA_CATEGORY_RIGHT /* 98 chars; Right */ -#define IMC_T INDIC_MATRA_CATEGORY_TOP /* 122 chars; Top */ -#define IMC_TB INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM /* 1 chars; Top_And_Bottom */ -#define IMC_TBL INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM_AND_LEFT /* 1 chars; Top_And_Bottom_And_Left */ -#define IMC_TL INDIC_MATRA_CATEGORY_TOP_AND_LEFT /* 3 chars; Top_And_Left */ -#define IMC_TLR INDIC_MATRA_CATEGORY_TOP_AND_LEFT_AND_RIGHT /* 3 chars; Top_And_Left_And_Right */ -#define IMC_TR INDIC_MATRA_CATEGORY_TOP_AND_RIGHT /* 7 chars; Top_And_Right */ +#define IMC_T POS_ABOVE_C /* 125 chars; ABOVE_C */ +#define IMC_A POS_AFTER_MAIN /* 44 chars; AFTER_MAIN */ +#define IMC_B POS_BELOW_C /* 79 chars; BELOW_C */ +#define IMC_X POS_END /* 904 chars; END */ +#define IMC_R POS_POST_C /* 122 chars; POST_C */ +#define IMC_L POS_PRE_C /* 21 chars; PRE_C */ #pragma GCC diagnostic pop @@ -68,311 +62,311 @@ static const uint16_t indic_table[] = { /* Basic Latin */ - /* 0028 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(GB,x), _(X,x), _(X,x), - /* 0030 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), - /* 0038 */ _(GB,x), _(GB,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), + /* 0028 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(GB,X), _(X,X), _(X,X), + /* 0030 */ _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), + /* 0038 */ _(GB,X), _(GB,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), #define indic_offset_0x00b0u 24 /* Latin-1 Supplement */ - /* 00B0 */ _(X,x), _(X,x), _(SM,x), _(SM,x), _(X,x), _(X,x), _(X,x), _(X,x), - /* 00B8 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), - /* 00C0 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), - /* 00C8 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), - /* 00D0 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(GB,x), + /* 00B0 */ _(X,X), _(X,X), _(SM,X), _(SM,X), _(X,X), _(X,X), _(X,X), _(X,X), + /* 00B8 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), + /* 00C0 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), + /* 00C8 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), + /* 00D0 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(GB,X), #define indic_offset_0x0900u 64 /* Devanagari */ - /* 0900 */ _(SM,T), _(SM,T), _(SM,T), _(SM,R), _(V,x), _(V,x), _(V,x), _(V,x), - /* 0908 */ _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), - /* 0910 */ _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(C,x), _(C,x), _(C,x), - /* 0918 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0920 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0928 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0930 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0938 */ _(C,x), _(C,x), _(M,T), _(M,R), _(N,B), _(S,x), _(M,R), _(M,L), + /* 0900 */ _(SM,T), _(SM,T), _(SM,T), _(SM,R), _(V,X), _(V,X), _(V,X), _(V,X), + /* 0908 */ _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), + /* 0910 */ _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(C,X), _(C,X), _(C,X), + /* 0918 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0920 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0928 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0930 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0938 */ _(C,X), _(C,X), _(M,T), _(M,R), _(N,B), _(S,X), _(M,R), _(M,L), /* 0940 */ _(M,R), _(M,B), _(M,B), _(M,B), _(M,B), _(M,T), _(M,T), _(M,T), /* 0948 */ _(M,T), _(M,R), _(M,R), _(M,R), _(M,R), _(H,B), _(M,L), _(M,R), - /* 0950 */ _(X,x), _(A,T), _(A,B), _(SM,O), _(SM,O), _(M,T), _(M,B), _(M,B), - /* 0958 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0960 */ _(V,x), _(V,x), _(M,B), _(M,B), _(X,x), _(X,x), _(GB,x), _(GB,x), - /* 0968 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), - /* 0970 */ _(X,x), _(X,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), - /* 0978 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), + /* 0950 */ _(X,X), _(A,T), _(A,B), _(SM,A), _(SM,A), _(M,T), _(M,B), _(M,B), + /* 0958 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0960 */ _(V,X), _(V,X), _(M,B), _(M,B), _(X,X), _(X,X), _(GB,X), _(GB,X), + /* 0968 */ _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), + /* 0970 */ _(X,X), _(X,X), _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), + /* 0978 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), /* Vedic Extensions */ - /* 0980 */ _(GB,O), _(SM,T), _(SM,R), _(SM,R), _(X,x), _(V,x), _(V,x), _(V,x), + /* 0980 */ _(GB,A), _(SM,T), _(SM,R), _(SM,R), _(X,X), _(V,X), _(V,X), _(V,X), /* Bengali */ - /* 0988 */ _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(X,x), _(X,x), _(V,x), - /* 0990 */ _(V,x), _(X,x), _(X,x), _(V,x), _(V,x), _(C,x), _(C,x), _(C,x), - /* 0998 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 09A0 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 09A8 */ _(C,x), _(X,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 09B0 */ _(C,x), _(X,x), _(C,x), _(X,x), _(X,x), _(X,x), _(C,x), _(C,x), - /* 09B8 */ _(C,x), _(C,x), _(X,x), _(X,x), _(N,B), _(S,x), _(M,R), _(M,L), - /* 09C0 */ _(M,R), _(M,B), _(M,B), _(M,B), _(M,B), _(X,x), _(X,x), _(M,L), - /* 09C8 */ _(M,L), _(X,x), _(X,x), _(M,LR), _(M,LR), _(H,B), _(C,x), _(X,x), - /* 09D0 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(M,R), - /* 09D8 */ _(X,x), _(X,x), _(X,x), _(X,x), _(C,x), _(C,x), _(X,x), _(C,x), - /* 09E0 */ _(V,x), _(V,x), _(M,B), _(M,B), _(X,x), _(X,x), _(GB,x), _(GB,x), - /* 09E8 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), - /* 09F0 */ _(C,x), _(C,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), + /* 0988 */ _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(X,X), _(X,X), _(V,X), + /* 0990 */ _(V,X), _(X,X), _(X,X), _(V,X), _(V,X), _(C,X), _(C,X), _(C,X), + /* 0998 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 09A0 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 09A8 */ _(C,X), _(X,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 09B0 */ _(C,X), _(X,X), _(C,X), _(X,X), _(X,X), _(X,X), _(C,X), _(C,X), + /* 09B8 */ _(C,X), _(C,X), _(X,X), _(X,X), _(N,B), _(S,X), _(M,R), _(M,L), + /* 09C0 */ _(M,R), _(M,B), _(M,B), _(M,B), _(M,B), _(X,X), _(X,X), _(M,L), + /* 09C8 */ _(M,L), _(X,X), _(X,X), _(M,R), _(M,R), _(H,B), _(C,X), _(X,X), + /* 09D0 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(M,R), + /* 09D8 */ _(X,X), _(X,X), _(X,X), _(X,X), _(C,X), _(C,X), _(X,X), _(C,X), + /* 09E0 */ _(V,X), _(V,X), _(M,B), _(M,B), _(X,X), _(X,X), _(GB,X), _(GB,X), + /* 09E8 */ _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), + /* 09F0 */ _(C,X), _(C,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), /* Vedic Extensions */ - /* 09F8 */ _(X,x), _(X,x), _(X,x), _(X,x), _(GB,O), _(X,x), _(SM,T), _(X,x), + /* 09F8 */ _(X,X), _(X,X), _(X,X), _(X,X), _(GB,A), _(X,X), _(SM,T), _(X,X), /* Gurmukhi */ - /* 0A00 */ _(X,x), _(SM,T), _(SM,T), _(SM,R), _(X,x), _(V,x), _(V,x), _(V,x), - /* 0A08 */ _(V,x), _(V,x), _(V,x), _(X,x), _(X,x), _(X,x), _(X,x), _(V,x), - /* 0A10 */ _(V,x), _(X,x), _(X,x), _(V,x), _(V,x), _(C,x), _(C,x), _(C,x), - /* 0A18 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0A20 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0A28 */ _(C,x), _(X,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0A30 */ _(C,x), _(X,x), _(C,x), _(C,x), _(X,x), _(C,x), _(C,x), _(X,x), - /* 0A38 */ _(C,x), _(C,x), _(X,x), _(X,x), _(N,B), _(X,x), _(M,R), _(M,L), - /* 0A40 */ _(M,R), _(M,B), _(M,B), _(X,x), _(X,x), _(X,x), _(X,x), _(M,T), - /* 0A48 */ _(M,T), _(X,x), _(X,x), _(M,T), _(M,T), _(H,B), _(X,x), _(X,x), + /* 0A00 */ _(X,X), _(SM,T), _(SM,T), _(SM,R), _(X,X), _(V,X), _(V,X), _(V,X), + /* 0A08 */ _(V,X), _(V,X), _(V,X), _(X,X), _(X,X), _(X,X), _(X,X), _(V,X), + /* 0A10 */ _(V,X), _(X,X), _(X,X), _(V,X), _(V,X), _(C,X), _(C,X), _(C,X), + /* 0A18 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0A20 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0A28 */ _(C,X), _(X,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0A30 */ _(C,X), _(X,X), _(C,X), _(C,X), _(X,X), _(C,X), _(C,X), _(X,X), + /* 0A38 */ _(C,X), _(C,X), _(X,X), _(X,X), _(N,B), _(X,X), _(M,R), _(M,L), + /* 0A40 */ _(M,R), _(M,B), _(M,B), _(X,X), _(X,X), _(X,X), _(X,X), _(M,T), + /* 0A48 */ _(M,T), _(X,X), _(X,X), _(M,T), _(M,T), _(H,B), _(X,X), _(X,X), /* Vedic Extensions */ - /* 0A50 */ _(X,x), _(M,O), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), + /* 0A50 */ _(X,X), _(M,A), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), /* Gurmukhi */ - /* 0A58 */ _(X,x), _(C,x), _(C,x), _(C,x), _(C,x), _(X,x), _(C,x), _(X,x), - /* 0A60 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(GB,x), _(GB,x), - /* 0A68 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), - /* 0A70 */ _(SM,T), _(SM,T), _(C,O), _(C,O), _(X,x), _(CM,B), _(X,x), _(X,x), - /* 0A78 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), + /* 0A58 */ _(X,X), _(C,X), _(C,X), _(C,X), _(C,X), _(X,X), _(C,X), _(X,X), + /* 0A60 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(GB,X), _(GB,X), + /* 0A68 */ _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), + /* 0A70 */ _(SM,T), _(SM,T), _(C,A), _(C,A), _(X,X), _(CM,B), _(X,X), _(X,X), + /* 0A78 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), /* Gujarati */ - /* 0A80 */ _(X,x), _(SM,T), _(SM,T), _(SM,R), _(X,x), _(V,x), _(V,x), _(V,x), - /* 0A88 */ _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(X,x), _(V,x), - /* 0A90 */ _(V,x), _(V,x), _(X,x), _(V,x), _(V,x), _(C,x), _(C,x), _(C,x), - /* 0A98 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0AA0 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0AA8 */ _(C,x), _(X,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0AB0 */ _(C,x), _(X,x), _(C,x), _(C,x), _(X,x), _(C,x), _(C,x), _(C,x), - /* 0AB8 */ _(C,x), _(C,x), _(X,x), _(X,x), _(N,B), _(S,x), _(M,R), _(M,L), - /* 0AC0 */ _(M,R), _(M,B), _(M,B), _(M,B), _(M,B), _(M,T), _(X,x), _(M,T), - /* 0AC8 */ _(M,T), _(M,TR), _(X,x), _(M,R), _(M,R), _(H,B), _(X,x), _(X,x), - /* 0AD0 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), - /* 0AD8 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), - /* 0AE0 */ _(V,x), _(V,x), _(M,B), _(M,B), _(X,x), _(X,x), _(GB,x), _(GB,x), - /* 0AE8 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), - /* 0AF0 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), - /* 0AF8 */ _(X,x), _(C,x), _(A,T), _(N,O), _(A,T), _(N,T), _(N,T), _(N,T), + /* 0A80 */ _(X,X), _(SM,T), _(SM,T), _(SM,R), _(X,X), _(V,X), _(V,X), _(V,X), + /* 0A88 */ _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(X,X), _(V,X), + /* 0A90 */ _(V,X), _(V,X), _(X,X), _(V,X), _(V,X), _(C,X), _(C,X), _(C,X), + /* 0A98 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0AA0 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0AA8 */ _(C,X), _(X,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0AB0 */ _(C,X), _(X,X), _(C,X), _(C,X), _(X,X), _(C,X), _(C,X), _(C,X), + /* 0AB8 */ _(C,X), _(C,X), _(X,X), _(X,X), _(N,B), _(S,X), _(M,R), _(M,L), + /* 0AC0 */ _(M,R), _(M,B), _(M,B), _(M,B), _(M,B), _(M,T), _(X,X), _(M,T), + /* 0AC8 */ _(M,T), _(M,R), _(X,X), _(M,R), _(M,R), _(H,B), _(X,X), _(X,X), + /* 0AD0 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), + /* 0AD8 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), + /* 0AE0 */ _(V,X), _(V,X), _(M,B), _(M,B), _(X,X), _(X,X), _(GB,X), _(GB,X), + /* 0AE8 */ _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), + /* 0AF0 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), + /* 0AF8 */ _(X,X), _(C,X), _(A,T), _(N,A), _(A,T), _(N,T), _(N,T), _(N,T), /* Oriya */ - /* 0B00 */ _(X,x), _(SM,T), _(SM,R), _(SM,R), _(X,x), _(V,x), _(V,x), _(V,x), - /* 0B08 */ _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(X,x), _(X,x), _(V,x), - /* 0B10 */ _(V,x), _(X,x), _(X,x), _(V,x), _(V,x), _(C,x), _(C,x), _(C,x), - /* 0B18 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0B20 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0B28 */ _(C,x), _(X,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0B30 */ _(C,x), _(X,x), _(C,x), _(C,x), _(X,x), _(C,x), _(C,x), _(C,x), - /* 0B38 */ _(C,x), _(C,x), _(X,x), _(X,x), _(N,B), _(S,x), _(M,R), _(M,T), - /* 0B40 */ _(M,R), _(M,B), _(M,B), _(M,B), _(M,B), _(X,x), _(X,x), _(M,L), - /* 0B48 */ _(M,TL), _(X,x), _(X,x), _(M,LR),_(M,TLR), _(H,B), _(X,x), _(X,x), + /* 0B00 */ _(X,X), _(SM,T), _(SM,R), _(SM,R), _(X,X), _(V,X), _(V,X), _(V,X), + /* 0B08 */ _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(X,X), _(X,X), _(V,X), + /* 0B10 */ _(V,X), _(X,X), _(X,X), _(V,X), _(V,X), _(C,X), _(C,X), _(C,X), + /* 0B18 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0B20 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0B28 */ _(C,X), _(X,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0B30 */ _(C,X), _(X,X), _(C,X), _(C,X), _(X,X), _(C,X), _(C,X), _(C,X), + /* 0B38 */ _(C,X), _(C,X), _(X,X), _(X,X), _(N,B), _(S,X), _(M,R), _(M,T), + /* 0B40 */ _(M,R), _(M,B), _(M,B), _(M,B), _(M,B), _(X,X), _(X,X), _(M,L), + /* 0B48 */ _(M,T), _(X,X), _(X,X), _(M,R), _(M,R), _(H,B), _(X,X), _(X,X), /* Vedic Extensions */ - /* 0B50 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(N,O), _(M,T), _(M,TR), + /* 0B50 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(N,A), _(M,T), _(M,R), /* Oriya */ - /* 0B58 */ _(X,x), _(X,x), _(X,x), _(X,x), _(C,x), _(C,x), _(X,x), _(C,x), - /* 0B60 */ _(V,x), _(V,x), _(M,B), _(M,B), _(X,x), _(X,x), _(GB,x), _(GB,x), - /* 0B68 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), - /* 0B70 */ _(X,x), _(C,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), - /* 0B78 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), + /* 0B58 */ _(X,X), _(X,X), _(X,X), _(X,X), _(C,X), _(C,X), _(X,X), _(C,X), + /* 0B60 */ _(V,X), _(V,X), _(M,B), _(M,B), _(X,X), _(X,X), _(GB,X), _(GB,X), + /* 0B68 */ _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), + /* 0B70 */ _(X,X), _(C,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), + /* 0B78 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), /* Tamil */ - /* 0B80 */ _(X,x), _(X,x), _(SM,T), _(X,x), _(X,x), _(V,x), _(V,x), _(V,x), - /* 0B88 */ _(V,x), _(V,x), _(V,x), _(X,x), _(X,x), _(X,x), _(V,x), _(V,x), - /* 0B90 */ _(V,x), _(X,x), _(V,x), _(V,x), _(V,x), _(C,x), _(X,x), _(X,x), - /* 0B98 */ _(X,x), _(C,x), _(C,x), _(X,x), _(C,x), _(X,x), _(C,x), _(C,x), - /* 0BA0 */ _(X,x), _(X,x), _(X,x), _(C,x), _(C,x), _(X,x), _(X,x), _(X,x), - /* 0BA8 */ _(C,x), _(C,x), _(C,x), _(X,x), _(X,x), _(X,x), _(C,x), _(C,x), - /* 0BB0 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0BB8 */ _(C,x), _(C,x), _(X,x), _(X,x), _(X,x), _(X,x), _(M,R), _(M,R), - /* 0BC0 */ _(M,T), _(M,R), _(M,R), _(X,x), _(X,x), _(X,x), _(M,L), _(M,L), - /* 0BC8 */ _(M,L), _(X,x), _(M,LR), _(M,LR), _(M,LR), _(H,T), _(X,x), _(X,x), - /* 0BD0 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(M,R), - /* 0BD8 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), - /* 0BE0 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(GB,x), _(GB,x), - /* 0BE8 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), - /* 0BF0 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), - /* 0BF8 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), + /* 0B80 */ _(X,X), _(X,X), _(SM,T), _(X,X), _(X,X), _(V,X), _(V,X), _(V,X), + /* 0B88 */ _(V,X), _(V,X), _(V,X), _(X,X), _(X,X), _(X,X), _(V,X), _(V,X), + /* 0B90 */ _(V,X), _(X,X), _(V,X), _(V,X), _(V,X), _(C,X), _(X,X), _(X,X), + /* 0B98 */ _(X,X), _(C,X), _(C,X), _(X,X), _(C,X), _(X,X), _(C,X), _(C,X), + /* 0BA0 */ _(X,X), _(X,X), _(X,X), _(C,X), _(C,X), _(X,X), _(X,X), _(X,X), + /* 0BA8 */ _(C,X), _(C,X), _(C,X), _(X,X), _(X,X), _(X,X), _(C,X), _(C,X), + /* 0BB0 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0BB8 */ _(C,X), _(C,X), _(X,X), _(X,X), _(X,X), _(X,X), _(M,R), _(M,R), + /* 0BC0 */ _(M,T), _(M,R), _(M,R), _(X,X), _(X,X), _(X,X), _(M,L), _(M,L), + /* 0BC8 */ _(M,L), _(X,X), _(M,R), _(M,R), _(M,R), _(H,T), _(X,X), _(X,X), + /* 0BD0 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(M,R), + /* 0BD8 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), + /* 0BE0 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(GB,X), _(GB,X), + /* 0BE8 */ _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), + /* 0BF0 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), + /* 0BF8 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), /* Telugu */ - /* 0C00 */ _(SM,T), _(SM,R), _(SM,R), _(SM,R), _(SM,T), _(V,x), _(V,x), _(V,x), - /* 0C08 */ _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(X,x), _(V,x), _(V,x), - /* 0C10 */ _(V,x), _(X,x), _(V,x), _(V,x), _(V,x), _(C,x), _(C,x), _(C,x), - /* 0C18 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0C20 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0C28 */ _(C,x), _(X,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0C30 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0C38 */ _(C,x), _(C,x), _(X,x), _(X,x), _(N,B), _(S,x), _(M,T), _(M,T), - /* 0C40 */ _(M,T), _(M,R), _(M,R), _(M,R), _(M,R), _(X,x), _(M,T), _(M,T), - /* 0C48 */ _(M,TB), _(X,x), _(M,T), _(M,T), _(M,T), _(H,T), _(X,x), _(X,x), - /* 0C50 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(M,T), _(M,B), _(X,x), - /* 0C58 */ _(C,x), _(C,x), _(C,x), _(X,x), _(X,x), _(C,x), _(X,x), _(X,x), - /* 0C60 */ _(V,x), _(V,x), _(M,B), _(M,B), _(X,x), _(X,x), _(GB,x), _(GB,x), - /* 0C68 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), - /* 0C70 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), - /* 0C78 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), + /* 0C00 */ _(SM,T), _(SM,R), _(SM,R), _(SM,R), _(SM,T), _(V,X), _(V,X), _(V,X), + /* 0C08 */ _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(X,X), _(V,X), _(V,X), + /* 0C10 */ _(V,X), _(X,X), _(V,X), _(V,X), _(V,X), _(C,X), _(C,X), _(C,X), + /* 0C18 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0C20 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0C28 */ _(C,X), _(X,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0C30 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0C38 */ _(C,X), _(C,X), _(X,X), _(X,X), _(N,B), _(S,X), _(M,T), _(M,T), + /* 0C40 */ _(M,T), _(M,R), _(M,R), _(M,R), _(M,R), _(X,X), _(M,T), _(M,T), + /* 0C48 */ _(M,B), _(X,X), _(M,T), _(M,T), _(M,T), _(H,T), _(X,X), _(X,X), + /* 0C50 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(M,T), _(M,B), _(X,X), + /* 0C58 */ _(C,X), _(C,X), _(C,X), _(X,X), _(X,X), _(C,X), _(X,X), _(X,X), + /* 0C60 */ _(V,X), _(V,X), _(M,B), _(M,B), _(X,X), _(X,X), _(GB,X), _(GB,X), + /* 0C68 */ _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), + /* 0C70 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), + /* 0C78 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), /* Vedic Extensions */ - /* 0C80 */ _(GB,O), _(SM,T), _(SM,R), _(SM,R), _(X,x), _(V,x), _(V,x), _(V,x), + /* 0C80 */ _(GB,A), _(SM,T), _(SM,R), _(SM,R), _(X,X), _(V,X), _(V,X), _(V,X), /* Kannada */ - /* 0C88 */ _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(X,x), _(V,x), _(V,x), - /* 0C90 */ _(V,x), _(X,x), _(V,x), _(V,x), _(V,x), _(C,x), _(C,x), _(C,x), - /* 0C98 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0CA0 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0CA8 */ _(C,x), _(X,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0CB0 */ _(C,x), _(C,x), _(C,x), _(C,x), _(X,x), _(C,x), _(C,x), _(C,x), - /* 0CB8 */ _(C,x), _(C,x), _(X,x), _(X,x), _(N,B), _(S,x), _(M,R), _(M,T), - /* 0CC0 */ _(M,TR), _(M,R), _(M,R), _(M,R), _(M,R), _(X,x), _(M,T), _(M,TR), - /* 0CC8 */ _(M,TR), _(X,x), _(M,TR), _(M,TR), _(M,T), _(H,T), _(X,x), _(X,x), - /* 0CD0 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(M,R), _(M,R), _(X,x), - /* 0CD8 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(C,x), _(C,x), _(X,x), - /* 0CE0 */ _(V,x), _(V,x), _(M,B), _(M,B), _(X,x), _(X,x), _(GB,x), _(GB,x), - /* 0CE8 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), - /* 0CF0 */ _(X,x), _(CS,x), _(CS,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), - /* 0CF8 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), + /* 0C88 */ _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(X,X), _(V,X), _(V,X), + /* 0C90 */ _(V,X), _(X,X), _(V,X), _(V,X), _(V,X), _(C,X), _(C,X), _(C,X), + /* 0C98 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0CA0 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0CA8 */ _(C,X), _(X,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0CB0 */ _(C,X), _(C,X), _(C,X), _(C,X), _(X,X), _(C,X), _(C,X), _(C,X), + /* 0CB8 */ _(C,X), _(C,X), _(X,X), _(X,X), _(N,B), _(S,X), _(M,R), _(M,T), + /* 0CC0 */ _(M,R), _(M,R), _(M,R), _(M,R), _(M,R), _(X,X), _(M,T), _(M,R), + /* 0CC8 */ _(M,R), _(X,X), _(M,R), _(M,R), _(M,T), _(H,T), _(X,X), _(X,X), + /* 0CD0 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(M,R), _(M,R), _(X,X), + /* 0CD8 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(C,X), _(C,X), _(X,X), + /* 0CE0 */ _(V,X), _(V,X), _(M,B), _(M,B), _(X,X), _(X,X), _(GB,X), _(GB,X), + /* 0CE8 */ _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), + /* 0CF0 */ _(X,X), _(CS,X), _(CS,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), + /* 0CF8 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), /* Malayalam */ - /* 0D00 */ _(SM,T), _(SM,T), _(SM,R), _(SM,R), _(GB,O), _(V,x), _(V,x), _(V,x), - /* 0D08 */ _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(X,x), _(V,x), _(V,x), - /* 0D10 */ _(V,x), _(X,x), _(V,x), _(V,x), _(V,x), _(C,x), _(C,x), _(C,x), - /* 0D18 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0D20 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0D28 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0D30 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0D38 */ _(C,x), _(C,x), _(C,x), _(M,T), _(M,T), _(S,x), _(M,R), _(M,R), - /* 0D40 */ _(M,R), _(M,R), _(M,R), _(M,B), _(M,B), _(X,x), _(M,L), _(M,L), - /* 0D48 */ _(M,L), _(X,x), _(M,LR), _(M,LR), _(M,LR), _(H,T), _(R,T), _(X,x), - /* 0D50 */ _(X,x), _(X,x), _(X,x), _(X,x), _(C,x), _(C,x), _(C,x), _(M,R), - /* 0D58 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(V,x), - /* 0D60 */ _(V,x), _(V,x), _(M,B), _(M,B), _(X,x), _(X,x), _(GB,x), _(GB,x), - /* 0D68 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), - /* 0D70 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), - /* 0D78 */ _(X,x), _(X,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), + /* 0D00 */ _(SM,T), _(SM,T), _(SM,R), _(SM,R), _(GB,A), _(V,X), _(V,X), _(V,X), + /* 0D08 */ _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(X,X), _(V,X), _(V,X), + /* 0D10 */ _(V,X), _(X,X), _(V,X), _(V,X), _(V,X), _(C,X), _(C,X), _(C,X), + /* 0D18 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0D20 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0D28 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0D30 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0D38 */ _(C,X), _(C,X), _(C,X), _(M,T), _(M,T), _(S,X), _(M,R), _(M,R), + /* 0D40 */ _(M,R), _(M,R), _(M,R), _(M,B), _(M,B), _(X,X), _(M,L), _(M,L), + /* 0D48 */ _(M,L), _(X,X), _(M,R), _(M,R), _(M,R), _(H,T), _(R,T), _(X,X), + /* 0D50 */ _(X,X), _(X,X), _(X,X), _(X,X), _(C,X), _(C,X), _(C,X), _(M,R), + /* 0D58 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(V,X), + /* 0D60 */ _(V,X), _(V,X), _(M,B), _(M,B), _(X,X), _(X,X), _(GB,X), _(GB,X), + /* 0D68 */ _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), + /* 0D70 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), + /* 0D78 */ _(X,X), _(X,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), /* Sinhala */ - /* 0D80 */ _(X,x), _(SM,T), _(SM,R), _(SM,R), _(X,x), _(V,x), _(V,x), _(V,x), - /* 0D88 */ _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), - /* 0D90 */ _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(X,x), - /* 0D98 */ _(X,x), _(X,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0DA0 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0DA8 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0DB0 */ _(C,x), _(C,x), _(X,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 0DB8 */ _(C,x), _(C,x), _(C,x), _(C,x), _(X,x), _(C,x), _(X,x), _(X,x), - /* 0DC0 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(X,x), - /* 0DC8 */ _(X,x), _(X,x), _(H,T), _(X,x), _(X,x), _(X,x), _(X,x), _(M,R), - /* 0DD0 */ _(M,R), _(M,R), _(M,T), _(M,T), _(M,B), _(X,x), _(M,B), _(X,x), - /* 0DD8 */ _(M,R), _(M,L), _(M,TL), _(M,L), _(M,LR),_(M,TLR), _(M,LR), _(M,R), - /* 0DE0 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(GB,x), _(GB,x), - /* 0DE8 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), - /* 0DF0 */ _(X,x), _(X,x), _(M,R), _(M,R), _(X,x), _(X,x), _(X,x), _(X,x), + /* 0D80 */ _(X,X), _(SM,T), _(SM,R), _(SM,R), _(X,X), _(V,X), _(V,X), _(V,X), + /* 0D88 */ _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), + /* 0D90 */ _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(X,X), + /* 0D98 */ _(X,X), _(X,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0DA0 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0DA8 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0DB0 */ _(C,X), _(C,X), _(X,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 0DB8 */ _(C,X), _(C,X), _(C,X), _(C,X), _(X,X), _(C,X), _(X,X), _(X,X), + /* 0DC0 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(X,X), + /* 0DC8 */ _(X,X), _(X,X), _(H,T), _(X,X), _(X,X), _(X,X), _(X,X), _(M,R), + /* 0DD0 */ _(M,R), _(M,R), _(M,T), _(M,T), _(M,B), _(X,X), _(M,B), _(X,X), + /* 0DD8 */ _(M,R), _(M,L), _(M,T), _(M,L), _(M,R), _(M,R), _(M,R), _(M,R), + /* 0DE0 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(GB,X), _(GB,X), + /* 0DE8 */ _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), + /* 0DF0 */ _(X,X), _(X,X), _(M,R), _(M,R), _(X,X), _(X,X), _(X,X), _(X,X), #define indic_offset_0x1000u 1336 /* Myanmar */ - /* 1000 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 1008 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 1010 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 1018 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 1020 */ _(C,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), - /* 1028 */ _(V,x), _(V,x), _(V,x), _(M,R), _(M,R), _(M,T), _(M,T), _(M,B), + /* 1000 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 1008 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 1010 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 1018 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 1020 */ _(C,X), _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), + /* 1028 */ _(V,X), _(V,X), _(V,X), _(M,R), _(M,R), _(M,T), _(M,T), _(M,B), /* 1030 */ _(M,B), _(M,L), _(M,T), _(M,T), _(M,T), _(M,T), _(SM,T), _(N,B), - /* 1038 */ _(SM,R), _(Co,x), _(M,T), _(CM,R),_(CM,TBL), _(CM,B), _(CM,B), _(C,x), - /* 1040 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), - /* 1048 */ _(GB,x), _(GB,x), _(X,x), _(GB,x), _(X,x), _(X,x), _(GB,x), _(X,x), - /* 1050 */ _(C,x), _(C,x), _(V,x), _(V,x), _(V,x), _(V,x), _(M,R), _(M,R), - /* 1058 */ _(M,B), _(M,B), _(C,x), _(C,x), _(C,x), _(C,x), _(CM,B), _(CM,B), - /* 1060 */ _(CM,B), _(C,x), _(M,R), _(N,R), _(N,R), _(C,x), _(C,x), _(M,R), - /* 1068 */ _(M,R), _(N,R), _(N,R), _(N,R), _(N,R), _(N,R), _(C,x), _(C,x), - /* 1070 */ _(C,x), _(M,T), _(M,T), _(M,T), _(M,T), _(C,x), _(C,x), _(C,x), - /* 1078 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 1080 */ _(C,x), _(C,x), _(CM,B), _(M,R), _(M,L), _(M,T), _(M,T), _(N,R), - /* 1088 */ _(N,R), _(N,R), _(N,R), _(N,R), _(N,R), _(N,B), _(C,x), _(N,R), - /* 1090 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), - /* 1098 */ _(GB,x), _(GB,x), _(N,R), _(N,R), _(M,R), _(M,T), _(X,x), _(X,x), + /* 1038 */ _(SM,R), _(Co,X), _(M,T), _(CM,R), _(CM,B), _(CM,B), _(CM,B), _(C,X), + /* 1040 */ _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), + /* 1048 */ _(GB,X), _(GB,X), _(X,X), _(GB,X), _(X,X), _(X,X), _(GB,X), _(X,X), + /* 1050 */ _(C,X), _(C,X), _(V,X), _(V,X), _(V,X), _(V,X), _(M,R), _(M,R), + /* 1058 */ _(M,B), _(M,B), _(C,X), _(C,X), _(C,X), _(C,X), _(CM,B), _(CM,B), + /* 1060 */ _(CM,B), _(C,X), _(M,R), _(N,R), _(N,R), _(C,X), _(C,X), _(M,R), + /* 1068 */ _(M,R), _(N,R), _(N,R), _(N,R), _(N,R), _(N,R), _(C,X), _(C,X), + /* 1070 */ _(C,X), _(M,T), _(M,T), _(M,T), _(M,T), _(C,X), _(C,X), _(C,X), + /* 1078 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 1080 */ _(C,X), _(C,X), _(CM,B), _(M,R), _(M,L), _(M,T), _(M,T), _(N,R), + /* 1088 */ _(N,R), _(N,R), _(N,R), _(N,R), _(N,R), _(N,B), _(C,X), _(N,R), + /* 1090 */ _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), + /* 1098 */ _(GB,X), _(GB,X), _(N,R), _(N,R), _(M,R), _(M,T), _(X,X), _(X,X), #define indic_offset_0x1780u 1496 /* Khmer */ - /* 1780 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 1788 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 1790 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 1798 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* 17A0 */ _(C,x), _(C,x), _(C,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), - /* 17A8 */ _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), _(V,x), - /* 17B0 */ _(V,x), _(V,x), _(V,x), _(V,x), _(X,x), _(X,x), _(M,R), _(M,T), - /* 17B8 */ _(M,T), _(M,T), _(M,T), _(M,B), _(M,B), _(M,B), _(M,TL),_(M,TLR), - /* 17C0 */ _(M,LR), _(M,L), _(M,L), _(M,L), _(M,LR), _(M,LR), _(SM,T), _(SM,R), + /* 1780 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 1788 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 1790 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 1798 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* 17A0 */ _(C,X), _(C,X), _(C,X), _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), + /* 17A8 */ _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), _(V,X), + /* 17B0 */ _(V,X), _(V,X), _(V,X), _(V,X), _(X,X), _(X,X), _(M,R), _(M,T), + /* 17B8 */ _(M,T), _(M,T), _(M,T), _(M,B), _(M,B), _(M,B), _(M,T), _(M,R), + /* 17C0 */ _(M,R), _(M,L), _(M,L), _(M,L), _(M,R), _(M,R), _(SM,T), _(SM,R), /* 17C8 */ _(M,R), _(RS,T), _(RS,T), _(SM,T), _(CM,T), _(M,T), _(SM,T), _(SM,T), - /* 17D0 */ _(SM,T), _(M,T), _(Co,x), _(SM,T), _(X,x), _(X,x), _(X,x), _(X,x), - /* 17D8 */ _(X,x), _(X,x), _(X,x), _(X,x), _(S,x), _(SM,T), _(X,x), _(X,x), - /* 17E0 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), - /* 17E8 */ _(GB,x), _(GB,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), + /* 17D0 */ _(SM,T), _(M,T), _(Co,X), _(SM,T), _(X,X), _(X,X), _(X,X), _(X,X), + /* 17D8 */ _(X,X), _(X,X), _(X,X), _(X,X), _(S,X), _(SM,T), _(X,X), _(X,X), + /* 17E0 */ _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), + /* 17E8 */ _(GB,X), _(GB,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), #define indic_offset_0x1cd0u 1608 /* Vedic Extensions */ - /* 1CD0 */ _(A,T), _(A,T), _(A,T), _(X,x), _(A,O), _(A,B), _(A,B), _(A,B), + /* 1CD0 */ _(A,T), _(A,T), _(A,T), _(X,X), _(A,A), _(A,B), _(A,B), _(A,B), /* 1CD8 */ _(A,B), _(A,B), _(A,T), _(A,T), _(A,B), _(A,B), _(A,B), _(A,B), - /* 1CE0 */ _(A,T), _(A,R), _(A,O), _(A,O), _(A,O), _(A,O), _(A,O), _(A,O), - /* 1CE8 */ _(A,O), _(S,O), _(S,O), _(S,O), _(S,O), _(A,O), _(S,O), _(S,O), - /* 1CF0 */ _(S,O), _(S,O), _(C,x), _(C,x), _(A,T), _(C,O), _(C,O), _(A,R), - /* 1CF8 */ _(A,x), _(A,x), _(GB,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), + /* 1CE0 */ _(A,T), _(A,R), _(A,A), _(A,A), _(A,A), _(A,A), _(A,A), _(A,A), + /* 1CE8 */ _(A,A), _(S,A), _(S,A), _(S,A), _(S,A), _(A,A), _(S,A), _(S,A), + /* 1CF0 */ _(S,A), _(S,A), _(C,X), _(C,X), _(A,T), _(C,A), _(C,A), _(A,R), + /* 1CF8 */ _(A,X), _(A,X), _(GB,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), #define indic_offset_0x2008u 1656 /* General Punctuation */ - /* 2008 */ _(X,x), _(X,x), _(X,x), _(X,x),_(ZWNJ,x),_(ZWJ,x), _(X,x), _(X,x), + /* 2008 */ _(X,X), _(X,X), _(X,X), _(X,X),_(ZWNJ,X),_(ZWJ,X), _(X,X), _(X,X), /* Vedic Extensions */ - /* 2010 */ _(GB,O), _(GB,O), _(GB,x), _(GB,x), _(GB,x), _(X,x), _(X,x), _(X,x), + /* 2010 */ _(GB,A), _(GB,A), _(GB,X), _(GB,X), _(GB,X), _(X,X), _(X,X), _(X,X), #define indic_offset_0x2070u 1672 /* Superscripts and Subscripts */ - /* 2070 */ _(X,x), _(X,x), _(X,x), _(X,x), _(SM,x), _(X,x), _(X,x), _(X,x), - /* 2078 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), - /* 2080 */ _(X,x), _(X,x), _(SM,x), _(SM,x), _(SM,x), _(X,x), _(X,x), _(X,x), + /* 2070 */ _(X,X), _(X,X), _(X,X), _(X,X), _(SM,X), _(X,X), _(X,X), _(X,X), + /* 2078 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), + /* 2080 */ _(X,X), _(X,X), _(SM,X), _(SM,X), _(SM,X), _(X,X), _(X,X), _(X,X), #define indic_offset_0xa8e0u 1696 @@ -381,42 +375,42 @@ static const uint16_t indic_table[] = { /* A8E0 */ _(A,T), _(A,T), _(A,T), _(A,T), _(A,T), _(A,T), _(A,T), _(A,T), /* A8E8 */ _(A,T), _(A,T), _(A,T), _(A,T), _(A,T), _(A,T), _(A,T), _(A,T), - /* A8F0 */ _(A,T), _(A,T), _(S,O), _(S,O), _(S,O), _(S,O), _(S,O), _(S,O), - /* A8F8 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(V,x), _(M,T), + /* A8F0 */ _(A,T), _(A,T), _(S,A), _(S,A), _(S,A), _(S,A), _(S,A), _(S,A), + /* A8F8 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(V,X), _(M,T), #define indic_offset_0xa9e0u 1728 /* Myanmar Extended-B */ - /* A9E0 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(M,T), _(X,x), _(C,x), - /* A9E8 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* A9F0 */ _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), _(GB,x), - /* A9F8 */ _(GB,x), _(GB,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(X,x), + /* A9E0 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(M,T), _(X,X), _(C,X), + /* A9E8 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* A9F0 */ _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), _(GB,X), + /* A9F8 */ _(GB,X), _(GB,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(X,X), #define indic_offset_0xaa60u 1760 /* Myanmar Extended-A */ - /* AA60 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* AA68 */ _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), _(C,x), - /* AA70 */ _(X,x), _(C,x), _(C,x), _(C,x), _(GB,x), _(GB,x), _(GB,x), _(X,x), - /* AA78 */ _(X,x), _(X,x), _(C,x), _(N,R), _(N,T), _(N,R), _(C,x), _(C,x), + /* AA60 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* AA68 */ _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), _(C,X), + /* AA70 */ _(X,X), _(C,X), _(C,X), _(C,X), _(GB,X), _(GB,X), _(GB,X), _(X,X), + /* AA78 */ _(X,X), _(X,X), _(C,X), _(N,R), _(N,T), _(N,R), _(C,X), _(C,X), #define indic_offset_0x11300u 1792 /* Vedic Extensions */ - /* 11300 */ _(X,x), _(SM,O), _(SM,O), _(SM,O), _(X,x), _(X,x), _(X,x), _(X,x), - /* 11308 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), - /* 11310 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), - /* 11318 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), - /* 11320 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), - /* 11328 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), - /* 11330 */ _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), _(X,x), - /* 11338 */ _(X,x), _(X,x), _(X,x), _(N,O), _(N,O), _(X,x), _(X,x), _(X,x), + /* 11300 */ _(X,X), _(SM,A), _(SM,A), _(SM,A), _(X,X), _(X,X), _(X,X), _(X,X), + /* 11308 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), + /* 11310 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), + /* 11318 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), + /* 11320 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), + /* 11328 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), + /* 11330 */ _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), _(X,X), + /* 11338 */ _(X,X), _(X,X), _(X,X), _(N,A), _(N,A), _(X,X), _(X,X), _(X,X), }; /* Table items: 1856; occupancy: 69% */ @@ -426,7 +420,7 @@ hb_indic_get_categories (hb_codepoint_t u) switch (u >> 12) { case 0x0u: - if (unlikely (u == 0x00A0u)) return _(GB,x); + if (unlikely (u == 0x00A0u)) return _(GB,X); if (hb_in_range (u, 0x0028u, 0x003Fu)) return indic_table[u - 0x0028u + indic_offset_0x0028u]; if (hb_in_range (u, 0x00B0u, 0x00D7u)) return indic_table[u - 0x00B0u + indic_offset_0x00b0u]; if (hb_in_range (u, 0x0900u, 0x0DF7u)) return indic_table[u - 0x0900u + indic_offset_0x0900u]; @@ -439,7 +433,7 @@ hb_indic_get_categories (hb_codepoint_t u) break; case 0x2u: - if (unlikely (u == 0x25CCu)) return _(DC,O); + if (unlikely (u == 0x25CCu)) return _(DC,A); if (hb_in_range (u, 0x2008u, 0x2017u)) return indic_table[u - 0x2008u + indic_offset_0x2008u]; if (hb_in_range (u, 0x2070u, 0x2087u)) return indic_table[u - 0x2070u + indic_offset_0x2070u]; break; @@ -457,7 +451,7 @@ hb_indic_get_categories (hb_codepoint_t u) default: break; } - return _(X,x); + return _(X,X); } #undef _ @@ -481,18 +475,12 @@ hb_indic_get_categories (hb_codepoint_t u) #undef ISC_ZWJ #undef ISC_ZWNJ -#undef IMC_B -#undef IMC_L -#undef IMC_LR -#undef IMC_x -#undef IMC_O -#undef IMC_R #undef IMC_T -#undef IMC_TB -#undef IMC_TBL -#undef IMC_TL -#undef IMC_TLR -#undef IMC_TR +#undef IMC_A +#undef IMC_B +#undef IMC_X +#undef IMC_R +#undef IMC_L #endif diff --git a/src/hb-ot-shaper-indic.hh b/src/hb-ot-shaper-indic.hh index babd58dd4..228b33b88 100644 --- a/src/hb-ot-shaper-indic.hh +++ b/src/hb-ot-shaper-indic.hh @@ -111,29 +111,6 @@ enum indic_position_t { }; -/* Categories used in IndicSMatraCategory.txt from UCD */ -enum indic_matra_category_t { - INDIC_MATRA_CATEGORY_NOT_APPLICABLE = POS_END, - - INDIC_MATRA_CATEGORY_LEFT = POS_PRE_C, - INDIC_MATRA_CATEGORY_TOP = POS_ABOVE_C, - INDIC_MATRA_CATEGORY_BOTTOM = POS_BELOW_C, - INDIC_MATRA_CATEGORY_RIGHT = POS_POST_C, - - /* These should resolve to the position of the last part of the split sequence. */ - INDIC_MATRA_CATEGORY_BOTTOM_AND_RIGHT = INDIC_MATRA_CATEGORY_RIGHT, - INDIC_MATRA_CATEGORY_LEFT_AND_RIGHT = INDIC_MATRA_CATEGORY_RIGHT, - INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM = INDIC_MATRA_CATEGORY_BOTTOM, - INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM_AND_LEFT = INDIC_MATRA_CATEGORY_BOTTOM, - INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM_AND_RIGHT = INDIC_MATRA_CATEGORY_RIGHT, - INDIC_MATRA_CATEGORY_TOP_AND_LEFT = INDIC_MATRA_CATEGORY_TOP, - INDIC_MATRA_CATEGORY_TOP_AND_LEFT_AND_RIGHT = INDIC_MATRA_CATEGORY_RIGHT, - INDIC_MATRA_CATEGORY_TOP_AND_RIGHT = INDIC_MATRA_CATEGORY_RIGHT, - - INDIC_MATRA_CATEGORY_OVERSTRUCK = POS_AFTER_MAIN, - INDIC_MATRA_CATEGORY_VISUAL_ORDER_LEFT = POS_PRE_M -}; - #define INDIC_COMBINE_CATEGORIES(S,M) ((S) | ((M) << 8)) HB_INTERNAL uint16_t