1 | // WARNING: this file was generated by scripts/gen-indic-table.py |
2 | |
3 | #![allow (non_camel_case_types)] |
4 | #![allow (unused_imports)] |
5 | |
6 | use super::ot_shaper_indic::ot_category_t::*; |
7 | use super::ot_shaper_indic::ot_position_t::*; |
8 | |
9 | use OT_A as _OT_A; /* 53 chars; A */ |
10 | use OT_As as _OT_As; /* 1 chars; As */ |
11 | use OT_C as _OT_C; /* 478 chars; C */ |
12 | use OT_CM as _OT_CM; /* 1 chars; CM */ |
13 | use OT_CS as _OT_CS; /* 2 chars; CS */ |
14 | use OT_DOTTEDCIRCLE as _OT_DC; /* 1 chars; DOTTEDCIRCLE */ |
15 | use OT_H as _OT_H; /* 11 chars; H */ |
16 | use OT_M as _OT_M; /* 142 chars; M */ |
17 | use OT_MH as _OT_MH; /* 1 chars; MH */ |
18 | use OT_ML as _OT_ML; /* 1 chars; ML */ |
19 | use OT_MPst as _OT_MP; /* 1 chars; MPst */ |
20 | use OT_MR as _OT_MR; /* 1 chars; MR */ |
21 | use OT_MW as _OT_MW; /* 2 chars; MW */ |
22 | use OT_MY as _OT_MY; /* 3 chars; MY */ |
23 | use OT_N as _OT_N; /* 17 chars; N */ |
24 | use OT_PLACEHOLDER as _OT_GB; /* 185 chars; PLACEHOLDER */ |
25 | use OT_PT as _OT_PT; /* 8 chars; PT */ |
26 | use OT_Ra as _OT_R; /* 14 chars; Ra */ |
27 | use OT_Repha as _OT_Rf; /* 1 chars; Repha */ |
28 | use OT_Robatic as _OT_Rt; /* 3 chars; Robatic */ |
29 | use OT_SM as _OT_SM; /* 56 chars; SM */ |
30 | use OT_Symbol as _OT_S; /* 22 chars; Symbol */ |
31 | use OT_V as _OT_V; /* 172 chars; V */ |
32 | use OT_VAbv as _OT_VA; /* 18 chars; VAbv */ |
33 | use OT_VBlw as _OT_VB; /* 7 chars; VBlw */ |
34 | use OT_VPre as _OT_VL; /* 5 chars; VPre */ |
35 | use OT_VPst as _OT_VR; /* 13 chars; VPst */ |
36 | use OT_VS as _OT_VS; /* 16 chars; VS */ |
37 | use OT_X as _OT_X; /* 2 chars; X */ |
38 | use OT_Xgroup as _OT_Xg; /* 7 chars; Xgroup */ |
39 | use OT_Ygroup as _OT_Yg; /* 4 chars; Ygroup */ |
40 | use OT_ZWJ as _OT_ZWJ; /* 1 chars; ZWJ */ |
41 | use OT_ZWNJ as _OT_ZWNJ; /* 1 chars; ZWNJ */ |
42 | |
43 | use POS_ABOVE_C as _POS_T; /* 22 chars; ABOVE_C */ |
44 | use POS_AFTER_MAIN as _POS_A; /* 3 chars; AFTER_MAIN */ |
45 | use POS_AFTER_POST as _POS_AP; /* 50 chars; AFTER_POST */ |
46 | use POS_AFTER_SUB as _POS_AS; /* 51 chars; AFTER_SUB */ |
47 | use POS_BASE_C as _POS_C; /* 853 chars; BASE_C */ |
48 | use POS_BEFORE_SUB as _POS_BS; /* 25 chars; BEFORE_SUB */ |
49 | use POS_BELOW_C as _POS_B; /* 13 chars; BELOW_C */ |
50 | use POS_END as _POS_X; /* 71 chars; END */ |
51 | use POS_POST_C as _POS_R; /* 13 chars; POST_C */ |
52 | use POS_PRE_C as _POS_L; /* 5 chars; PRE_C */ |
53 | use POS_PRE_M as _POS_LM; /* 14 chars; PRE_M */ |
54 | use POS_SMVD as _POS_SM; /* 130 chars; SMVD */ |
55 | |
56 | |
57 | pub type SyllabicCategory = u8; |
58 | pub type MatraCategory = u8; |
59 | |
60 | #[rustfmt::skip] |
61 | const TABLE: &[(SyllabicCategory, MatraCategory)] = &[ |
62 | |
63 | |
64 | /* Basic Latin */ |
65 | |
66 | /* 0028 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_GB,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), |
67 | /* 0030 */(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
68 | /* 0038 */(_OT_GB,_POS_C),(_OT_GB,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
69 | |
70 | /* Latin-1 Supplement */ |
71 | |
72 | /* 00B0 */ (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
73 | /* 00B8 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
74 | /* 00C0 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
75 | /* 00C8 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
76 | /* 00D0 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_GB,_POS_C), |
77 | |
78 | /* Devanagari */ |
79 | |
80 | /* 0900 */(_OT_SM,_POS_SM),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), |
81 | /* 0908 */ (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), |
82 | /* 0910 */ (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
83 | /* 0918 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
84 | /* 0920 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
85 | /* 0928 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
86 | /* 0930 */ (_OT_R,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
87 | /* 0938 */ (_OT_C,_POS_C), (_OT_C,_POS_C),(_OT_M,_POS_AS),(_OT_M,_POS_AS), (_OT_N,_POS_X),(_OT_S,_POS_SM),(_OT_M,_POS_AS),(_OT_M,_POS_LM), |
88 | /* 0940 */(_OT_M,_POS_AS),(_OT_M,_POS_AS),(_OT_M,_POS_AS),(_OT_M,_POS_AS),(_OT_M,_POS_AS),(_OT_M,_POS_AS),(_OT_M,_POS_AS),(_OT_M,_POS_AS), |
89 | /* 0948 */(_OT_M,_POS_AS),(_OT_M,_POS_AS),(_OT_M,_POS_AS),(_OT_M,_POS_AS),(_OT_M,_POS_AS), (_OT_H,_POS_B),(_OT_M,_POS_LM),(_OT_M,_POS_AS), |
90 | /* 0950 */ (_OT_X,_POS_X),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM),(_OT_M,_POS_AS),(_OT_M,_POS_AS),(_OT_M,_POS_AS), |
91 | /* 0958 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
92 | /* 0960 */ (_OT_V,_POS_C), (_OT_V,_POS_C),(_OT_M,_POS_AS),(_OT_M,_POS_AS), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
93 | /* 0968 */(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
94 | /* 0970 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), |
95 | /* 0978 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
96 | |
97 | /* Bengali */ |
98 | |
99 | /* 0980 */(_OT_GB,_POS_C),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM), (_OT_X,_POS_X), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), |
100 | /* 0988 */ (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_V,_POS_C), |
101 | /* 0990 */ (_OT_V,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
102 | /* 0998 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
103 | /* 09A0 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
104 | /* 09A8 */ (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
105 | /* 09B0 */ (_OT_R,_POS_C), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), |
106 | /* 09B8 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_N,_POS_X),(_OT_S,_POS_SM),(_OT_M,_POS_AP),(_OT_M,_POS_LM), |
107 | /* 09C0 */(_OT_M,_POS_AP),(_OT_M,_POS_AS),(_OT_M,_POS_AS),(_OT_M,_POS_AS),(_OT_M,_POS_AS), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_M,_POS_LM), |
108 | /* 09C8 */(_OT_M,_POS_LM), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_M,_POS_AP),(_OT_M,_POS_AP), (_OT_H,_POS_B), (_OT_C,_POS_C), (_OT_X,_POS_X), |
109 | /* 09D0 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_M,_POS_AP), |
110 | /* 09D8 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_C,_POS_C), |
111 | /* 09E0 */ (_OT_V,_POS_C), (_OT_V,_POS_C),(_OT_M,_POS_AS),(_OT_M,_POS_AS), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
112 | /* 09E8 */(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
113 | /* 09F0 */ (_OT_R,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
114 | /* 09F8 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_GB,_POS_C), (_OT_X,_POS_X),(_OT_SM,_POS_SM), (_OT_X,_POS_X), |
115 | |
116 | /* Gurmukhi */ |
117 | |
118 | /* 0A00 */ (_OT_X,_POS_X),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM), (_OT_X,_POS_X), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), |
119 | /* 0A08 */ (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_V,_POS_C), |
120 | /* 0A10 */ (_OT_V,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
121 | /* 0A18 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
122 | /* 0A20 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
123 | /* 0A28 */ (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
124 | /* 0A30 */ (_OT_R,_POS_C), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), |
125 | /* 0A38 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_N,_POS_X), (_OT_X,_POS_X),(_OT_M,_POS_AP),(_OT_M,_POS_LM), |
126 | /* 0A40 */(_OT_MP,_POS_AP),(_OT_M,_POS_AP),(_OT_M,_POS_AP), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_M,_POS_AP), |
127 | /* 0A48 */(_OT_M,_POS_AP), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_M,_POS_AP),(_OT_M,_POS_AP), (_OT_H,_POS_B), (_OT_X,_POS_X), (_OT_X,_POS_X), |
128 | /* 0A50 */ (_OT_X,_POS_X), (_OT_M,_POS_B), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
129 | /* 0A58 */ (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_X,_POS_X), |
130 | /* 0A60 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
131 | /* 0A68 */(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
132 | /* 0A70 */(_OT_SM,_POS_SM),(_OT_SM,_POS_SM), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X),(_OT_CM,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), |
133 | /* 0A78 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
134 | |
135 | /* Gujarati */ |
136 | |
137 | /* 0A80 */ (_OT_X,_POS_X),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM), (_OT_X,_POS_X), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), |
138 | /* 0A88 */ (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_X,_POS_X), (_OT_V,_POS_C), |
139 | /* 0A90 */ (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_X,_POS_X), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
140 | /* 0A98 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
141 | /* 0AA0 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
142 | /* 0AA8 */ (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
143 | /* 0AB0 */ (_OT_R,_POS_C), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
144 | /* 0AB8 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_N,_POS_X),(_OT_S,_POS_SM),(_OT_M,_POS_AP),(_OT_M,_POS_LM), |
145 | /* 0AC0 */(_OT_M,_POS_AP),(_OT_M,_POS_AP),(_OT_M,_POS_AP),(_OT_M,_POS_AP),(_OT_M,_POS_AP),(_OT_M,_POS_AS), (_OT_X,_POS_X),(_OT_M,_POS_AS), |
146 | /* 0AC8 */(_OT_M,_POS_AS),(_OT_M,_POS_AP), (_OT_X,_POS_X),(_OT_M,_POS_AP),(_OT_M,_POS_AP), (_OT_H,_POS_B), (_OT_X,_POS_X), (_OT_X,_POS_X), |
147 | /* 0AD0 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
148 | /* 0AD8 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
149 | /* 0AE0 */ (_OT_V,_POS_C), (_OT_V,_POS_C),(_OT_M,_POS_AP),(_OT_M,_POS_AP), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
150 | /* 0AE8 */(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
151 | /* 0AF0 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
152 | /* 0AF8 */ (_OT_X,_POS_X), (_OT_C,_POS_C),(_OT_A,_POS_SM), (_OT_N,_POS_X),(_OT_A,_POS_SM), (_OT_N,_POS_X), (_OT_N,_POS_X), (_OT_N,_POS_X), |
153 | |
154 | /* Oriya */ |
155 | |
156 | /* 0B00 */ (_OT_X,_POS_X),(_OT_SM,_POS_BS),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM), (_OT_X,_POS_X), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), |
157 | /* 0B08 */ (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_V,_POS_C), |
158 | /* 0B10 */ (_OT_V,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
159 | /* 0B18 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
160 | /* 0B20 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
161 | /* 0B28 */ (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
162 | /* 0B30 */ (_OT_R,_POS_C), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
163 | /* 0B38 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_N,_POS_X),(_OT_S,_POS_SM),(_OT_M,_POS_AP), (_OT_M,_POS_A), |
164 | /* 0B40 */(_OT_M,_POS_AP),(_OT_M,_POS_AS),(_OT_M,_POS_AS),(_OT_M,_POS_AS),(_OT_M,_POS_AS), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_M,_POS_LM), |
165 | /* 0B48 */ (_OT_M,_POS_A), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_M,_POS_AP),(_OT_M,_POS_AP), (_OT_H,_POS_B), (_OT_X,_POS_X), (_OT_X,_POS_X), |
166 | /* 0B50 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_N,_POS_X), (_OT_M,_POS_A),(_OT_M,_POS_AP), |
167 | /* 0B58 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_C,_POS_C), |
168 | /* 0B60 */ (_OT_V,_POS_C), (_OT_V,_POS_C),(_OT_M,_POS_AS),(_OT_M,_POS_AS), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
169 | /* 0B68 */(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
170 | /* 0B70 */ (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
171 | /* 0B78 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
172 | |
173 | /* Tamil */ |
174 | |
175 | /* 0B80 */ (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_SM,_POS_SM), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), |
176 | /* 0B88 */ (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_V,_POS_C), (_OT_V,_POS_C), |
177 | /* 0B90 */ (_OT_V,_POS_C), (_OT_X,_POS_X), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), |
178 | /* 0B98 */ (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), |
179 | /* 0BA0 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
180 | /* 0BA8 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), |
181 | /* 0BB0 */ (_OT_R,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
182 | /* 0BB8 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_M,_POS_AP),(_OT_M,_POS_AP), |
183 | /* 0BC0 */(_OT_M,_POS_AS),(_OT_M,_POS_AP),(_OT_M,_POS_AP), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_M,_POS_LM),(_OT_M,_POS_LM), |
184 | /* 0BC8 */(_OT_M,_POS_LM), (_OT_X,_POS_X),(_OT_M,_POS_AP),(_OT_M,_POS_AP),(_OT_M,_POS_AP), (_OT_H,_POS_T), (_OT_X,_POS_X), (_OT_X,_POS_X), |
185 | /* 0BD0 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_M,_POS_AP), |
186 | /* 0BD8 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
187 | /* 0BE0 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
188 | /* 0BE8 */(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
189 | /* 0BF0 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
190 | /* 0BF8 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
191 | |
192 | /* Telugu */ |
193 | |
194 | /* 0C00 */(_OT_SM,_POS_SM),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), |
195 | /* 0C08 */ (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_X,_POS_X), (_OT_V,_POS_C), (_OT_V,_POS_C), |
196 | /* 0C10 */ (_OT_V,_POS_C), (_OT_X,_POS_X), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
197 | /* 0C18 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
198 | /* 0C20 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
199 | /* 0C28 */ (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
200 | /* 0C30 */ (_OT_R,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
201 | /* 0C38 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_N,_POS_X),(_OT_S,_POS_SM),(_OT_M,_POS_BS),(_OT_M,_POS_BS), |
202 | /* 0C40 */(_OT_M,_POS_BS),(_OT_M,_POS_BS),(_OT_M,_POS_BS),(_OT_M,_POS_AS),(_OT_M,_POS_AS), (_OT_X,_POS_X),(_OT_M,_POS_BS),(_OT_M,_POS_BS), |
203 | /* 0C48 */(_OT_M,_POS_BS), (_OT_X,_POS_X),(_OT_M,_POS_BS),(_OT_M,_POS_BS),(_OT_M,_POS_BS), (_OT_H,_POS_T), (_OT_X,_POS_X), (_OT_X,_POS_X), |
204 | /* 0C50 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_M,_POS_BS),(_OT_M,_POS_BS), (_OT_X,_POS_X), |
205 | /* 0C58 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), |
206 | /* 0C60 */ (_OT_V,_POS_C), (_OT_V,_POS_C),(_OT_M,_POS_BS),(_OT_M,_POS_BS), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
207 | /* 0C68 */(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
208 | /* 0C70 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
209 | /* 0C78 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
210 | |
211 | /* Kannada */ |
212 | |
213 | /* 0C80 */(_OT_GB,_POS_C),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM), (_OT_X,_POS_X), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), |
214 | /* 0C88 */ (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_X,_POS_X), (_OT_V,_POS_C), (_OT_V,_POS_C), |
215 | /* 0C90 */ (_OT_V,_POS_C), (_OT_X,_POS_X), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
216 | /* 0C98 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
217 | /* 0CA0 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
218 | /* 0CA8 */ (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
219 | /* 0CB0 */ (_OT_R,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
220 | /* 0CB8 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_N,_POS_X),(_OT_S,_POS_SM),(_OT_M,_POS_BS),(_OT_M,_POS_BS), |
221 | /* 0CC0 */(_OT_M,_POS_BS),(_OT_M,_POS_BS),(_OT_M,_POS_BS),(_OT_M,_POS_AS),(_OT_M,_POS_AS), (_OT_X,_POS_X),(_OT_M,_POS_BS),(_OT_M,_POS_AS), |
222 | /* 0CC8 */(_OT_M,_POS_AS), (_OT_X,_POS_X),(_OT_M,_POS_AS),(_OT_M,_POS_AS),(_OT_M,_POS_BS), (_OT_H,_POS_T), (_OT_X,_POS_X), (_OT_X,_POS_X), |
223 | /* 0CD0 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_M,_POS_AS),(_OT_M,_POS_AS), (_OT_X,_POS_X), |
224 | /* 0CD8 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), |
225 | /* 0CE0 */ (_OT_V,_POS_C), (_OT_V,_POS_C),(_OT_M,_POS_BS),(_OT_M,_POS_BS), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
226 | /* 0CE8 */(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
227 | /* 0CF0 */ (_OT_X,_POS_X),(_OT_CS,_POS_C),(_OT_CS,_POS_C),(_OT_SM,_POS_SM), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
228 | /* 0CF8 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
229 | |
230 | /* Malayalam */ |
231 | |
232 | /* 0D00 */(_OT_SM,_POS_SM),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM),(_OT_GB,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), |
233 | /* 0D08 */ (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_X,_POS_X), (_OT_V,_POS_C), (_OT_V,_POS_C), |
234 | /* 0D10 */ (_OT_V,_POS_C), (_OT_X,_POS_X), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
235 | /* 0D18 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
236 | /* 0D20 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
237 | /* 0D28 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
238 | /* 0D30 */ (_OT_R,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
239 | /* 0D38 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C),(_OT_M,_POS_AS),(_OT_M,_POS_AS),(_OT_S,_POS_SM),(_OT_M,_POS_AP),(_OT_M,_POS_AP), |
240 | /* 0D40 */(_OT_M,_POS_AP),(_OT_M,_POS_AP),(_OT_M,_POS_AP),(_OT_M,_POS_AP),(_OT_M,_POS_AP), (_OT_X,_POS_X),(_OT_M,_POS_LM),(_OT_M,_POS_LM), |
241 | /* 0D48 */(_OT_M,_POS_LM), (_OT_X,_POS_X),(_OT_M,_POS_AP),(_OT_M,_POS_AP),(_OT_M,_POS_AP), (_OT_H,_POS_T),(_OT_Rf,_POS_X), (_OT_X,_POS_X), |
242 | /* 0D50 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C),(_OT_M,_POS_AP), |
243 | /* 0D58 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_V,_POS_C), |
244 | /* 0D60 */ (_OT_V,_POS_C), (_OT_V,_POS_C),(_OT_M,_POS_AP),(_OT_M,_POS_AP), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
245 | /* 0D68 */(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
246 | /* 0D70 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
247 | /* 0D78 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
248 | |
249 | /* Myanmar */ |
250 | |
251 | /* 1000 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_R,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
252 | /* 1008 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
253 | /* 1010 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
254 | /* 1018 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_R,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
255 | /* 1020 */ (_OT_C,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), |
256 | /* 1028 */ (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C),(_OT_VR,_POS_R),(_OT_VR,_POS_R),(_OT_VA,_POS_T),(_OT_VA,_POS_T),(_OT_VB,_POS_B), |
257 | /* 1030 */(_OT_VB,_POS_B),(_OT_VL,_POS_L),(_OT_A,_POS_SM),(_OT_VA,_POS_T),(_OT_VA,_POS_T),(_OT_VA,_POS_T),(_OT_A,_POS_SM), (_OT_N,_POS_X), |
258 | /* 1038 */(_OT_SM,_POS_SM), (_OT_H,_POS_X),(_OT_As,_POS_X),(_OT_MY,_POS_X),(_OT_MR,_POS_X),(_OT_MW,_POS_X),(_OT_MH,_POS_X), (_OT_C,_POS_C), |
259 | /* 1040 */(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
260 | /* 1048 */(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_X,_POS_X), |
261 | /* 1050 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C),(_OT_VR,_POS_R),(_OT_VR,_POS_R), |
262 | /* 1058 */(_OT_VB,_POS_B),(_OT_VB,_POS_B), (_OT_R,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C),(_OT_MY,_POS_X),(_OT_MY,_POS_X), |
263 | /* 1060 */(_OT_ML,_POS_X), (_OT_C,_POS_C),(_OT_VR,_POS_R),(_OT_PT,_POS_X),(_OT_PT,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C),(_OT_VR,_POS_R), |
264 | /* 1068 */(_OT_VR,_POS_R),(_OT_PT,_POS_X),(_OT_PT,_POS_X),(_OT_PT,_POS_X),(_OT_PT,_POS_X),(_OT_PT,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), |
265 | /* 1070 */ (_OT_C,_POS_C),(_OT_VA,_POS_T),(_OT_VA,_POS_T),(_OT_VA,_POS_T),(_OT_VA,_POS_T), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
266 | /* 1078 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
267 | /* 1080 */ (_OT_C,_POS_C), (_OT_C,_POS_C),(_OT_MW,_POS_X),(_OT_VR,_POS_R),(_OT_VL,_POS_L),(_OT_VA,_POS_T),(_OT_VA,_POS_T),(_OT_SM,_POS_SM), |
268 | /* 1088 */(_OT_SM,_POS_SM),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM), (_OT_C,_POS_C),(_OT_SM,_POS_SM), |
269 | /* 1090 */(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
270 | /* 1098 */(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM),(_OT_VA,_POS_T), (_OT_X,_POS_X), (_OT_X,_POS_X), |
271 | |
272 | /* Khmer */ |
273 | |
274 | /* 1780 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
275 | /* 1788 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
276 | /* 1790 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
277 | /* 1798 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_R,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
278 | /* 17A0 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), |
279 | /* 17A8 */ (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), |
280 | /* 17B0 */ (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_V,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_VR,_POS_R),(_OT_VA,_POS_T), |
281 | /* 17B8 */(_OT_VA,_POS_T),(_OT_VA,_POS_T),(_OT_VA,_POS_T),(_OT_VB,_POS_B),(_OT_VB,_POS_B),(_OT_VB,_POS_B),(_OT_VA,_POS_T),(_OT_VR,_POS_R), |
282 | /* 17C0 */(_OT_VR,_POS_R),(_OT_VL,_POS_L),(_OT_VL,_POS_L),(_OT_VL,_POS_L),(_OT_VR,_POS_R),(_OT_VR,_POS_R),(_OT_Xg,_POS_X),(_OT_Yg,_POS_X), |
283 | /* 17C8 */(_OT_Yg,_POS_X),(_OT_Rt,_POS_X),(_OT_Rt,_POS_X),(_OT_Xg,_POS_X),(_OT_Rt,_POS_X),(_OT_Xg,_POS_X),(_OT_Xg,_POS_X),(_OT_Xg,_POS_X), |
284 | /* 17D0 */(_OT_Xg,_POS_X),(_OT_Xg,_POS_X), (_OT_H,_POS_X),(_OT_Yg,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
285 | /* 17D8 */ (_OT_X,_POS_X),(_OT_GB,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_S,_POS_SM),(_OT_Yg,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
286 | /* 17E0 */(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
287 | /* 17E8 */(_OT_GB,_POS_C),(_OT_GB,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
288 | |
289 | /* Vedic Extensions */ |
290 | |
291 | /* 1CD0 */(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM), (_OT_X,_POS_X),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM), |
292 | /* 1CD8 */(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM), |
293 | /* 1CE0 */(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM), |
294 | /* 1CE8 */(_OT_A,_POS_SM),(_OT_S,_POS_SM),(_OT_S,_POS_SM),(_OT_S,_POS_SM),(_OT_S,_POS_SM),(_OT_A,_POS_SM),(_OT_S,_POS_SM),(_OT_S,_POS_SM), |
295 | /* 1CF0 */(_OT_S,_POS_SM),(_OT_S,_POS_SM), (_OT_C,_POS_C), (_OT_C,_POS_C),(_OT_A,_POS_SM), (_OT_C,_POS_C), (_OT_C,_POS_C),(_OT_A,_POS_SM), |
296 | /* 1CF8 */(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_GB,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
297 | |
298 | /* General Punctuation */ |
299 | |
300 | /* 2008 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_ZWNJ,_POS_X),(_OT_ZWJ,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
301 | /* 2010 */(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), |
302 | /* 2018 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
303 | /* 2020 */ (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_GB,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
304 | |
305 | /* Superscripts and Subscripts */ |
306 | |
307 | /* 2070 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_SM,_POS_SM), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
308 | /* 2078 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
309 | /* 2080 */ (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
310 | |
311 | /* Geometric Shapes */ |
312 | |
313 | /* 25F8 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C), (_OT_X,_POS_X), |
314 | |
315 | /* Devanagari Extended */ |
316 | |
317 | /* A8E0 */(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM), |
318 | /* A8E8 */(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_A,_POS_SM), |
319 | /* A8F0 */(_OT_A,_POS_SM),(_OT_A,_POS_SM),(_OT_S,_POS_SM),(_OT_S,_POS_SM),(_OT_S,_POS_SM),(_OT_S,_POS_SM),(_OT_S,_POS_SM),(_OT_S,_POS_SM), |
320 | /* A8F8 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_V,_POS_C),(_OT_M,_POS_AS), |
321 | |
322 | /* Myanmar Extended-B */ |
323 | |
324 | /* A9E0 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C),(_OT_VA,_POS_T), (_OT_X,_POS_X), (_OT_C,_POS_C), |
325 | /* A9E8 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
326 | /* A9F0 */(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
327 | /* A9F8 */(_OT_GB,_POS_C),(_OT_GB,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_X,_POS_X), |
328 | |
329 | /* Myanmar Extended-A */ |
330 | |
331 | /* AA60 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
332 | /* AA68 */ (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C), |
333 | /* AA70 */ (_OT_X,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), (_OT_C,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C), (_OT_X,_POS_X), |
334 | /* AA78 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_C,_POS_C),(_OT_PT,_POS_X), (_OT_N,_POS_X), (_OT_N,_POS_X), (_OT_C,_POS_C), (_OT_C,_POS_C), |
335 | |
336 | /* Variation Selectors */ |
337 | |
338 | /* FE00 */(_OT_VS,_POS_X),(_OT_VS,_POS_X),(_OT_VS,_POS_X),(_OT_VS,_POS_X),(_OT_VS,_POS_X),(_OT_VS,_POS_X),(_OT_VS,_POS_X),(_OT_VS,_POS_X), |
339 | /* FE08 */(_OT_VS,_POS_X),(_OT_VS,_POS_X),(_OT_VS,_POS_X),(_OT_VS,_POS_X),(_OT_VS,_POS_X),(_OT_VS,_POS_X),(_OT_VS,_POS_X),(_OT_VS,_POS_X), |
340 | |
341 | /* Grantha */ |
342 | |
343 | /* 11300 */ (_OT_X,_POS_X),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM),(_OT_SM,_POS_SM), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
344 | /* 11338 */ (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_N,_POS_X), (_OT_N,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
345 | |
346 | /* Myanmar Extended-C */ |
347 | |
348 | /* 116D0 */(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
349 | /* 116D8 */(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C), |
350 | /* 116E0 */(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C),(_OT_GB,_POS_C), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), (_OT_X,_POS_X), |
351 | |
352 | ]; |
353 | |
354 | const OFFSET_0X0028: usize = 0; |
355 | const OFFSET_0X00B0: usize = 24; |
356 | const OFFSET_0X0900: usize = 64; |
357 | const OFFSET_0X1000: usize = 1216; |
358 | const OFFSET_0X1780: usize = 1376; |
359 | const OFFSET_0X1CD0: usize = 1488; |
360 | const OFFSET_0X2008: usize = 1536; |
361 | const OFFSET_0X2070: usize = 1568; |
362 | const OFFSET_0X25F8: usize = 1592; |
363 | const OFFSET_0XA8E0: usize = 1600; |
364 | const OFFSET_0XA9E0: usize = 1632; |
365 | const OFFSET_0XAA60: usize = 1664; |
366 | const OFFSET_0XFE00: usize = 1696; |
367 | const OFFSET_0X11300: usize = 1712; |
368 | const OFFSET_0X11338: usize = 1720; |
369 | const OFFSET_0X116D0: usize = 1728; |
370 | |
371 | #[rustfmt::skip] |
372 | pub fn get_categories(u: u32) -> (SyllabicCategory, MatraCategory) { |
373 | match u >> 12 { |
374 | 0x0 => { |
375 | if u == 0x00A0 { return (_OT_GB, _POS_C); } |
376 | if (0x0028..=0x003F).contains(&u) { return TABLE[u as usize - 0x0028 + OFFSET_0X0028]; } |
377 | if (0x00B0..=0x00D7).contains(&u) { return TABLE[u as usize - 0x00B0 + OFFSET_0X00B0]; } |
378 | if (0x0900..=0x0D7F).contains(&u) { return TABLE[u as usize - 0x0900 + OFFSET_0X0900]; } |
379 | } |
380 | 0x1 => { |
381 | if (0x1000..=0x109F).contains(&u) { return TABLE[u as usize - 0x1000 + OFFSET_0X1000]; } |
382 | if (0x1780..=0x17EF).contains(&u) { return TABLE[u as usize - 0x1780 + OFFSET_0X1780]; } |
383 | if (0x1CD0..=0x1CFF).contains(&u) { return TABLE[u as usize - 0x1CD0 + OFFSET_0X1CD0]; } |
384 | } |
385 | 0x2 => { |
386 | if u == 0x25CC { return (_OT_DC, _POS_C); } |
387 | if (0x2008..=0x2027).contains(&u) { return TABLE[u as usize - 0x2008 + OFFSET_0X2008]; } |
388 | if (0x2070..=0x2087).contains(&u) { return TABLE[u as usize - 0x2070 + OFFSET_0X2070]; } |
389 | if (0x25F8..=0x25FF).contains(&u) { return TABLE[u as usize - 0x25F8 + OFFSET_0X25F8]; } |
390 | } |
391 | 0xA => { |
392 | if (0xA8E0..=0xA8FF).contains(&u) { return TABLE[u as usize - 0xA8E0 + OFFSET_0XA8E0]; } |
393 | if (0xA9E0..=0xA9FF).contains(&u) { return TABLE[u as usize - 0xA9E0 + OFFSET_0XA9E0]; } |
394 | if (0xAA60..=0xAA7F).contains(&u) { return TABLE[u as usize - 0xAA60 + OFFSET_0XAA60]; } |
395 | } |
396 | 0xF => { |
397 | if (0xFE00..=0xFE0F).contains(&u) { return TABLE[u as usize - 0xFE00 + OFFSET_0XFE00]; } |
398 | } |
399 | 0x11 => { |
400 | if (0x11300..=0x11307).contains(&u) { return TABLE[u as usize - 0x11300 + OFFSET_0X11300]; } |
401 | if (0x11338..=0x1133F).contains(&u) { return TABLE[u as usize - 0x11338 + OFFSET_0X11338]; } |
402 | if (0x116D0..=0x116E7).contains(&u) { return TABLE[u as usize - 0x116D0 + OFFSET_0X116D0]; } |
403 | } |
404 | _ => {} |
405 | } |
406 | |
407 | (_OT_X, _POS_X) |
408 | } |
409 | |