1// WARNING: this file was generated by ../scripts/gen-indic-table.py
2
3#![allow(non_camel_case_types)]
4#![allow(unused_imports)]
5
6use super::indic::{MatraCategory, SyllabicCategory};
7
8use SyllabicCategory::Avagraha as ISC_A;
9use SyllabicCategory::Bindu as ISC_Bi;
10use SyllabicCategory::BrahmiJoiningNumber as ISC_BJN;
11use SyllabicCategory::CantillationMark as ISC_Ca;
12use SyllabicCategory::Consonant as ISC_C;
13use SyllabicCategory::ConsonantDead as ISC_CD;
14use SyllabicCategory::ConsonantFinal as ISC_CF;
15use SyllabicCategory::ConsonantHeadLetter as ISC_CHL;
16use SyllabicCategory::ConsonantInitialPostfixed as ISC_CIP;
17use SyllabicCategory::ConsonantKiller as ISC_CK;
18use SyllabicCategory::ConsonantMedial as ISC_CM;
19use SyllabicCategory::ConsonantPlaceholder as ISC_CP;
20use SyllabicCategory::ConsonantPrecedingRepha as ISC_CPR;
21use SyllabicCategory::ConsonantPrefixed as ISC_CPrf;
22use SyllabicCategory::ConsonantSubjoined as ISC_CS;
23use SyllabicCategory::ConsonantSucceedingRepha as ISC_CSR;
24use SyllabicCategory::ConsonantWithStacker as ISC_CWS;
25use SyllabicCategory::GeminationMark as ISC_GM;
26use SyllabicCategory::InvisibleStacker as ISC_IS;
27use SyllabicCategory::Joiner as ISC_ZWJ;
28use SyllabicCategory::ModifyingLetter as ISC_ML;
29use SyllabicCategory::NonJoiner as ISC_ZWNJ;
30use SyllabicCategory::Nukta as ISC_N;
31use SyllabicCategory::Number as ISC_Nd;
32use SyllabicCategory::NumberJoiner as ISC_NJ;
33use SyllabicCategory::Other as ISC_x;
34use SyllabicCategory::PureKiller as ISC_PK;
35use SyllabicCategory::RegisterShifter as ISC_RS;
36use SyllabicCategory::SyllableModifier as ISC_SM;
37use SyllabicCategory::ToneLetter as ISC_TL;
38use SyllabicCategory::ToneMark as ISC_TM;
39use SyllabicCategory::Virama as ISC_V;
40use SyllabicCategory::Visarga as ISC_Vs;
41use SyllabicCategory::Vowel as ISC_Vo;
42use SyllabicCategory::VowelDependent as ISC_M;
43use SyllabicCategory::VowelIndependent as ISC_VI;
44
45use MatraCategory::Bottom as IMC_B;
46use MatraCategory::BottomAndLeft as IMC_BL;
47use MatraCategory::BottomAndRight as IMC_BR;
48use MatraCategory::Left as IMC_L;
49use MatraCategory::LeftAndRight as IMC_LR;
50use MatraCategory::NotApplicable as IMC_x;
51use MatraCategory::Overstruck as IMC_O;
52use MatraCategory::Right as IMC_R;
53use MatraCategory::Top as IMC_T;
54use MatraCategory::TopAndBottom as IMC_TB;
55use MatraCategory::TopAndBottomAndLeft as IMC_TBL;
56use MatraCategory::TopAndBottomAndRight as IMC_TBR;
57use MatraCategory::TopAndLeft as IMC_TL;
58use MatraCategory::TopAndLeftAndRight as IMC_TLR;
59use MatraCategory::TopAndRight as IMC_TR;
60use MatraCategory::VisualOrderLeft as IMC_VOL;
61
62#[rustfmt::skip]
63const TABLE: &[(SyllabicCategory, MatraCategory)] = &[
64
65
66 /* Basic Latin */
67
68 /* 0028 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_CP,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
69 /* 0030 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
70 /* 0038 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
71
72 /* Latin-1 Supplement */
73
74 /* 00B0 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_SM,IMC_x), (ISC_SM,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
75 /* 00B8 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
76 /* 00C0 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
77 /* 00C8 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
78 /* 00D0 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_CP,IMC_x),
79
80 /* Devanagari */
81
82 /* 0900 */ (ISC_Bi,IMC_T), (ISC_Bi,IMC_T), (ISC_Bi,IMC_T), (ISC_Vs,IMC_R), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x),
83 /* 0908 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x),
84 /* 0910 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
85 /* 0918 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
86 /* 0920 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
87 /* 0928 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
88 /* 0930 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
89 /* 0938 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_M,IMC_T), (ISC_M,IMC_R), (ISC_N,IMC_B), (ISC_A,IMC_x), (ISC_M,IMC_R), (ISC_M,IMC_L),
90 /* 0940 */ (ISC_M,IMC_R), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_M,IMC_T),
91 /* 0948 */ (ISC_M,IMC_T), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_V,IMC_B), (ISC_M,IMC_L), (ISC_M,IMC_R),
92 /* 0950 */ (ISC_x,IMC_x), (ISC_Ca,IMC_T), (ISC_Ca,IMC_B), (ISC_x,IMC_T), (ISC_x,IMC_T), (ISC_M,IMC_T), (ISC_M,IMC_B), (ISC_M,IMC_B),
93 /* 0958 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
94 /* 0960 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
95 /* 0968 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
96 /* 0970 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x),
97 /* 0978 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
98
99 /* Bengali */
100
101 /* 0980 */ (ISC_CP,IMC_x), (ISC_Bi,IMC_T), (ISC_Bi,IMC_R), (ISC_Vs,IMC_R), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x),
102 /* 0988 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x),
103 /* 0990 */ (ISC_VI,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
104 /* 0998 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
105 /* 09A0 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
106 /* 09A8 */ (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
107 /* 09B0 */ (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
108 /* 09B8 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_N,IMC_B), (ISC_A,IMC_x), (ISC_M,IMC_R), (ISC_M,IMC_L),
109 /* 09C0 */ (ISC_M,IMC_R), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_M,IMC_L),
110 /* 09C8 */ (ISC_M,IMC_L), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_M,IMC_LR), (ISC_M,IMC_LR), (ISC_V,IMC_B), (ISC_CD,IMC_x), (ISC_x,IMC_x),
111 /* 09D0 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_M,IMC_R),
112 /* 09D8 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x),
113 /* 09E0 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
114 /* 09E8 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
115 /* 09F0 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
116 /* 09F8 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_Bi,IMC_x), (ISC_x,IMC_x), (ISC_SM,IMC_T), (ISC_x,IMC_x),
117
118 /* Gurmukhi */
119
120 /* 0A00 */ (ISC_x,IMC_x), (ISC_Bi,IMC_T), (ISC_Bi,IMC_T), (ISC_Vs,IMC_R), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x),
121 /* 0A08 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x),
122 /* 0A10 */ (ISC_VI,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
123 /* 0A18 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
124 /* 0A20 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
125 /* 0A28 */ (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
126 /* 0A30 */ (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x),
127 /* 0A38 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_N,IMC_B), (ISC_x,IMC_x), (ISC_M,IMC_R), (ISC_M,IMC_L),
128 /* 0A40 */ (ISC_M,IMC_R), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_M,IMC_T),
129 /* 0A48 */ (ISC_M,IMC_T), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_V,IMC_B), (ISC_x,IMC_x), (ISC_x,IMC_x),
130 /* 0A50 */ (ISC_x,IMC_x), (ISC_Ca,IMC_B), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
131 /* 0A58 */ (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x),
132 /* 0A60 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
133 /* 0A68 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
134 /* 0A70 */ (ISC_Bi,IMC_T), (ISC_GM,IMC_T), (ISC_CP,IMC_x), (ISC_CP,IMC_x), (ISC_x,IMC_x), (ISC_CM,IMC_B), (ISC_x,IMC_x), (ISC_x,IMC_x),
135 /* 0A78 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
136
137 /* Gujarati */
138
139 /* 0A80 */ (ISC_x,IMC_x), (ISC_Bi,IMC_T), (ISC_Bi,IMC_T), (ISC_Vs,IMC_R), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x),
140 /* 0A88 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x),
141 /* 0A90 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
142 /* 0A98 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
143 /* 0AA0 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
144 /* 0AA8 */ (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
145 /* 0AB0 */ (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
146 /* 0AB8 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_N,IMC_B), (ISC_A,IMC_x), (ISC_M,IMC_R), (ISC_M,IMC_L),
147 /* 0AC0 */ (ISC_M,IMC_R), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_M,IMC_T), (ISC_x,IMC_x), (ISC_M,IMC_T),
148 /* 0AC8 */ (ISC_M,IMC_T), (ISC_M,IMC_TR), (ISC_x,IMC_x), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_V,IMC_B), (ISC_x,IMC_x), (ISC_x,IMC_x),
149 /* 0AD0 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
150 /* 0AD8 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
151 /* 0AE0 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
152 /* 0AE8 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
153 /* 0AF0 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
154 /* 0AF8 */ (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_Ca,IMC_T), (ISC_Ca,IMC_T), (ISC_Ca,IMC_T), (ISC_N,IMC_T), (ISC_N,IMC_T), (ISC_N,IMC_T),
155
156 /* Oriya */
157
158 /* 0B00 */ (ISC_x,IMC_x), (ISC_Bi,IMC_T), (ISC_Bi,IMC_R), (ISC_Vs,IMC_R), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x),
159 /* 0B08 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x),
160 /* 0B10 */ (ISC_VI,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
161 /* 0B18 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
162 /* 0B20 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
163 /* 0B28 */ (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
164 /* 0B30 */ (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
165 /* 0B38 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_N,IMC_B), (ISC_A,IMC_x), (ISC_M,IMC_R), (ISC_M,IMC_T),
166 /* 0B40 */ (ISC_M,IMC_R), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_M,IMC_L),
167 /* 0B48 */ (ISC_M,IMC_TL), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_M,IMC_LR),(ISC_M,IMC_TLR), (ISC_V,IMC_B), (ISC_x,IMC_x), (ISC_x,IMC_x),
168 /* 0B50 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_M,IMC_TR),
169 /* 0B58 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x),
170 /* 0B60 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
171 /* 0B68 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
172 /* 0B70 */ (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
173 /* 0B78 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
174
175 /* Tamil */
176
177 /* 0B80 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_Bi,IMC_T), (ISC_ML,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x),
178 /* 0B88 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x),
179 /* 0B90 */ (ISC_VI,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
180 /* 0B98 */ (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
181 /* 0BA0 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
182 /* 0BA8 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
183 /* 0BB0 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
184 /* 0BB8 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_M,IMC_R), (ISC_M,IMC_R),
185 /* 0BC0 */ (ISC_M,IMC_T), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_M,IMC_L), (ISC_M,IMC_L),
186 /* 0BC8 */ (ISC_M,IMC_L), (ISC_x,IMC_x), (ISC_M,IMC_LR), (ISC_M,IMC_LR), (ISC_M,IMC_LR), (ISC_V,IMC_T), (ISC_x,IMC_x), (ISC_x,IMC_x),
187 /* 0BD0 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_M,IMC_R),
188 /* 0BD8 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
189 /* 0BE0 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
190 /* 0BE8 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
191 /* 0BF0 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
192 /* 0BF8 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
193
194 /* Telugu */
195
196 /* 0C00 */ (ISC_Bi,IMC_T), (ISC_Bi,IMC_R), (ISC_Bi,IMC_R), (ISC_Vs,IMC_R), (ISC_Bi,IMC_T), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x),
197 /* 0C08 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x),
198 /* 0C10 */ (ISC_VI,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
199 /* 0C18 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
200 /* 0C20 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
201 /* 0C28 */ (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
202 /* 0C30 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
203 /* 0C38 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_N,IMC_B), (ISC_A,IMC_x), (ISC_M,IMC_T), (ISC_M,IMC_T),
204 /* 0C40 */ (ISC_M,IMC_T), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_x,IMC_x), (ISC_M,IMC_T), (ISC_M,IMC_T),
205 /* 0C48 */ (ISC_M,IMC_TB), (ISC_x,IMC_x), (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_V,IMC_T), (ISC_x,IMC_x), (ISC_x,IMC_x),
206 /* 0C50 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_M,IMC_T), (ISC_M,IMC_B), (ISC_x,IMC_x),
207 /* 0C58 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_CD,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
208 /* 0C60 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
209 /* 0C68 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
210 /* 0C70 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
211 /* 0C78 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
212
213 /* Kannada */
214
215 /* 0C80 */ (ISC_Bi,IMC_x), (ISC_Bi,IMC_T), (ISC_Bi,IMC_R), (ISC_Vs,IMC_R), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x),
216 /* 0C88 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x),
217 /* 0C90 */ (ISC_VI,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
218 /* 0C98 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
219 /* 0CA0 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
220 /* 0CA8 */ (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
221 /* 0CB0 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
222 /* 0CB8 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_N,IMC_B), (ISC_A,IMC_x), (ISC_M,IMC_R), (ISC_M,IMC_T),
223 /* 0CC0 */ (ISC_M,IMC_TR), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_x,IMC_x), (ISC_M,IMC_T), (ISC_M,IMC_TR),
224 /* 0CC8 */ (ISC_M,IMC_TR), (ISC_x,IMC_x), (ISC_M,IMC_TR), (ISC_M,IMC_TR), (ISC_M,IMC_T), (ISC_V,IMC_T), (ISC_x,IMC_x), (ISC_x,IMC_x),
225 /* 0CD0 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_x,IMC_x),
226 /* 0CD8 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_CD,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x),
227 /* 0CE0 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
228 /* 0CE8 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
229 /* 0CF0 */ (ISC_x,IMC_x),(ISC_CWS,IMC_x),(ISC_CWS,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
230 /* 0CF8 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
231
232 /* Malayalam */
233
234 /* 0D00 */ (ISC_Bi,IMC_T), (ISC_Bi,IMC_T), (ISC_Bi,IMC_R), (ISC_Vs,IMC_R), (ISC_Bi,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x),
235 /* 0D08 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x),
236 /* 0D10 */ (ISC_VI,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
237 /* 0D18 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
238 /* 0D20 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
239 /* 0D28 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
240 /* 0D30 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
241 /* 0D38 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_PK,IMC_T), (ISC_PK,IMC_T), (ISC_A,IMC_x), (ISC_M,IMC_R), (ISC_M,IMC_R),
242 /* 0D40 */ (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_x,IMC_x), (ISC_M,IMC_L), (ISC_M,IMC_L),
243 /* 0D48 */ (ISC_M,IMC_L), (ISC_x,IMC_x), (ISC_M,IMC_LR), (ISC_M,IMC_LR), (ISC_M,IMC_LR), (ISC_V,IMC_T),(ISC_CPR,IMC_T), (ISC_x,IMC_x),
244 /* 0D50 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_CD,IMC_x), (ISC_CD,IMC_x), (ISC_CD,IMC_x), (ISC_M,IMC_R),
245 /* 0D58 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x),
246 /* 0D60 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
247 /* 0D68 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
248 /* 0D70 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
249 /* 0D78 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_CD,IMC_x), (ISC_CD,IMC_x), (ISC_CD,IMC_x), (ISC_CD,IMC_x), (ISC_CD,IMC_x), (ISC_CD,IMC_x),
250
251 /* Sinhala */
252
253 /* 0D80 */ (ISC_x,IMC_x), (ISC_Bi,IMC_T), (ISC_Bi,IMC_R), (ISC_Vs,IMC_R), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x),
254 /* 0D88 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x),
255 /* 0D90 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_x,IMC_x),
256 /* 0D98 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
257 /* 0DA0 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
258 /* 0DA8 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
259 /* 0DB0 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
260 /* 0DB8 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
261 /* 0DC0 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x),
262 /* 0DC8 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_V,IMC_T), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_M,IMC_R),
263 /* 0DD0 */ (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_M,IMC_B), (ISC_x,IMC_x), (ISC_M,IMC_B), (ISC_x,IMC_x),
264 /* 0DD8 */ (ISC_M,IMC_R), (ISC_M,IMC_L), (ISC_M,IMC_TL), (ISC_M,IMC_L), (ISC_M,IMC_LR),(ISC_M,IMC_TLR), (ISC_M,IMC_LR), (ISC_M,IMC_R),
265 /* 0DE0 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
266 /* 0DE8 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
267 /* 0DF0 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
268
269 /* Myanmar */
270
271 /* 1000 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
272 /* 1008 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
273 /* 1010 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
274 /* 1018 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
275 /* 1020 */ (ISC_C,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x),
276 /* 1028 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_M,IMC_R), (ISC_M,IMC_R), (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_M,IMC_B),
277 /* 1030 */ (ISC_M,IMC_B), (ISC_M,IMC_L), (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_Bi,IMC_T), (ISC_TM,IMC_B),
278 /* 1038 */ (ISC_Vs,IMC_R), (ISC_IS,IMC_x), (ISC_PK,IMC_T), (ISC_CM,IMC_R),(ISC_CM,IMC_TBL), (ISC_CM,IMC_B), (ISC_CM,IMC_B), (ISC_C,IMC_x),
279 /* 1040 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
280 /* 1048 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_x,IMC_x), (ISC_CP,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_CP,IMC_x), (ISC_x,IMC_x),
281 /* 1050 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_M,IMC_R), (ISC_M,IMC_R),
282 /* 1058 */ (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_CM,IMC_B), (ISC_CM,IMC_B),
283 /* 1060 */ (ISC_CM,IMC_B), (ISC_C,IMC_x), (ISC_M,IMC_R), (ISC_TM,IMC_R), (ISC_TM,IMC_R), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_M,IMC_R),
284 /* 1068 */ (ISC_M,IMC_R), (ISC_TM,IMC_R), (ISC_TM,IMC_R), (ISC_TM,IMC_R), (ISC_TM,IMC_R), (ISC_TM,IMC_R), (ISC_C,IMC_x), (ISC_C,IMC_x),
285 /* 1070 */ (ISC_C,IMC_x), (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
286 /* 1078 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
287 /* 1080 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_CM,IMC_B), (ISC_M,IMC_R), (ISC_M,IMC_L), (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_TM,IMC_R),
288 /* 1088 */ (ISC_TM,IMC_R), (ISC_TM,IMC_R), (ISC_TM,IMC_R), (ISC_TM,IMC_R), (ISC_TM,IMC_R), (ISC_TM,IMC_B), (ISC_C,IMC_x), (ISC_TM,IMC_R),
289 /* 1090 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
290 /* 1098 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_TM,IMC_R), (ISC_TM,IMC_R), (ISC_M,IMC_R), (ISC_M,IMC_T), (ISC_x,IMC_x), (ISC_x,IMC_x),
291
292 /* Khmer */
293
294 /* 1780 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
295 /* 1788 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
296 /* 1790 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
297 /* 1798 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
298 /* 17A0 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x),
299 /* 17A8 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x),
300 /* 17B0 */ (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_VI,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_M,IMC_R), (ISC_M,IMC_T),
301 /* 17B8 */ (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_M,IMC_T), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_M,IMC_B), (ISC_M,IMC_TL),(ISC_M,IMC_TLR),
302 /* 17C0 */ (ISC_M,IMC_LR), (ISC_M,IMC_L), (ISC_M,IMC_L), (ISC_M,IMC_L), (ISC_M,IMC_LR), (ISC_M,IMC_LR), (ISC_Bi,IMC_T), (ISC_Vs,IMC_R),
303 /* 17C8 */ (ISC_M,IMC_R), (ISC_RS,IMC_T), (ISC_RS,IMC_T), (ISC_SM,IMC_T),(ISC_CSR,IMC_T), (ISC_CK,IMC_T), (ISC_SM,IMC_T), (ISC_SM,IMC_T),
304 /* 17D0 */ (ISC_SM,IMC_T), (ISC_PK,IMC_T), (ISC_IS,IMC_x), (ISC_SM,IMC_T), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
305 /* 17D8 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_A,IMC_x), (ISC_SM,IMC_T), (ISC_x,IMC_x), (ISC_x,IMC_x),
306 /* 17E0 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
307 /* 17E8 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
308
309 /* Vedic Extensions */
310
311 /* 1CD0 */ (ISC_Ca,IMC_T), (ISC_Ca,IMC_T), (ISC_Ca,IMC_T), (ISC_x,IMC_x), (ISC_Ca,IMC_O), (ISC_Ca,IMC_B), (ISC_Ca,IMC_B), (ISC_Ca,IMC_B),
312 /* 1CD8 */ (ISC_Ca,IMC_B), (ISC_Ca,IMC_B), (ISC_Ca,IMC_T), (ISC_Ca,IMC_T), (ISC_Ca,IMC_B), (ISC_Ca,IMC_B), (ISC_Ca,IMC_B), (ISC_Ca,IMC_B),
313 /* 1CE0 */ (ISC_Ca,IMC_T), (ISC_Ca,IMC_R), (ISC_x,IMC_O), (ISC_x,IMC_O), (ISC_x,IMC_O), (ISC_x,IMC_O), (ISC_x,IMC_O), (ISC_x,IMC_O),
314 /* 1CE8 */ (ISC_x,IMC_O), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_B), (ISC_x,IMC_x), (ISC_x,IMC_x),
315 /* 1CF0 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_CD,IMC_x), (ISC_CD,IMC_x), (ISC_Ca,IMC_T),(ISC_CWS,IMC_x),(ISC_CWS,IMC_x), (ISC_Ca,IMC_R),
316 /* 1CF8 */ (ISC_Ca,IMC_x), (ISC_Ca,IMC_x), (ISC_CP,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
317
318 /* General Punctuation */
319
320 /* 2008 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),(ISC_ZWNJ,IMC_x),(ISC_ZWJ,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
321 /* 2010 */ (ISC_CP,IMC_x), (ISC_CP,IMC_x), (ISC_CP,IMC_x), (ISC_CP,IMC_x), (ISC_CP,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
322
323 /* Superscripts and Subscripts */
324
325 /* 2070 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_SM,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
326 /* 2078 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
327 /* 2080 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_SM,IMC_x), (ISC_SM,IMC_x), (ISC_SM,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
328
329 /* Devanagari Extended */
330
331 /* A8E0 */ (ISC_Ca,IMC_T), (ISC_Ca,IMC_T), (ISC_Ca,IMC_T), (ISC_Ca,IMC_T), (ISC_Ca,IMC_T), (ISC_Ca,IMC_T), (ISC_Ca,IMC_T), (ISC_Ca,IMC_T),
332 /* A8E8 */ (ISC_Ca,IMC_T), (ISC_Ca,IMC_T), (ISC_Ca,IMC_T), (ISC_Ca,IMC_T), (ISC_Ca,IMC_T), (ISC_Ca,IMC_T), (ISC_Ca,IMC_T), (ISC_Ca,IMC_T),
333 /* A8F0 */ (ISC_Ca,IMC_T), (ISC_Ca,IMC_T), (ISC_Bi,IMC_x), (ISC_Bi,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x),
334 /* A8F8 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_VI,IMC_x), (ISC_M,IMC_T),
335
336 /* Myanmar Extended-B */
337
338 /* A9E0 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_M,IMC_T), (ISC_x,IMC_x), (ISC_C,IMC_x),
339 /* A9E8 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
340 /* A9F0 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_Nd,IMC_x),
341 /* A9F8 */ (ISC_Nd,IMC_x), (ISC_Nd,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_x,IMC_x),
342
343 /* Myanmar Extended-A */
344
345 /* AA60 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
346 /* AA68 */ (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x),
347 /* AA70 */ (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_C,IMC_x), (ISC_CP,IMC_x), (ISC_CP,IMC_x), (ISC_CP,IMC_x), (ISC_x,IMC_x),
348 /* AA78 */ (ISC_x,IMC_x), (ISC_x,IMC_x), (ISC_C,IMC_x), (ISC_TM,IMC_R), (ISC_TM,IMC_T), (ISC_TM,IMC_R), (ISC_C,IMC_x), (ISC_C,IMC_x),
349
350];
351
352const OFFSET_0X0028: usize = 0;
353const OFFSET_0X00B0: usize = 24;
354const OFFSET_0X0900: usize = 64;
355const OFFSET_0X1000: usize = 1336;
356const OFFSET_0X1780: usize = 1496;
357const OFFSET_0X1CD0: usize = 1608;
358const OFFSET_0X2008: usize = 1656;
359const OFFSET_0X2070: usize = 1672;
360const OFFSET_0XA8E0: usize = 1696;
361const OFFSET_0XA9E0: usize = 1728;
362const OFFSET_0XAA60: usize = 1760;
363
364#[rustfmt::skip]
365pub fn get_categories(u: u32) -> (SyllabicCategory, MatraCategory) {
366 match u >> 12 {
367 0x0 => {
368 if u == 0x00A0 { return (ISC_CP, IMC_x); }
369 if (0x0028..=0x003F).contains(&u) { return TABLE[u as usize - 0x0028 + OFFSET_0X0028]; }
370 if (0x00B0..=0x00D7).contains(&u) { return TABLE[u as usize - 0x00B0 + OFFSET_0X00B0]; }
371 if (0x0900..=0x0DF7).contains(&u) { return TABLE[u as usize - 0x0900 + OFFSET_0X0900]; }
372 }
373 0x1 => {
374 if (0x1000..=0x109F).contains(&u) { return TABLE[u as usize - 0x1000 + OFFSET_0X1000]; }
375 if (0x1780..=0x17EF).contains(&u) { return TABLE[u as usize - 0x1780 + OFFSET_0X1780]; }
376 if (0x1CD0..=0x1CFF).contains(&u) { return TABLE[u as usize - 0x1CD0 + OFFSET_0X1CD0]; }
377 }
378 0x2 => {
379 if u == 0x25CC { return (ISC_CP, IMC_x); }
380 if (0x2008..=0x2017).contains(&u) { return TABLE[u as usize - 0x2008 + OFFSET_0X2008]; }
381 if (0x2070..=0x2087).contains(&u) { return TABLE[u as usize - 0x2070 + OFFSET_0X2070]; }
382 }
383 0xA => {
384 if (0xA8E0..=0xA8FF).contains(&u) { return TABLE[u as usize - 0xA8E0 + OFFSET_0XA8E0]; }
385 if (0xA9E0..=0xA9FF).contains(&u) { return TABLE[u as usize - 0xA9E0 + OFFSET_0XA9E0]; }
386 if (0xAA60..=0xAA7F).contains(&u) { return TABLE[u as usize - 0xAA60 + OFFSET_0XAA60]; }
387 }
388 _ => {}
389 }
390
391 (ISC_x, IMC_x)
392}
393