19 #ifndef HB_NO_OT_SHAPE
23 #pragma GCC diagnostic push
24 #pragma GCC diagnostic ignored "-Wunused-macros"
26 #define ISC_A INDIC_SYLLABIC_CATEGORY_AVAGRAHA
27 #define ISC_Bi INDIC_SYLLABIC_CATEGORY_BINDU
28 #define ISC_BJN INDIC_SYLLABIC_CATEGORY_BRAHMI_JOINING_NUMBER
29 #define ISC_Ca INDIC_SYLLABIC_CATEGORY_CANTILLATION_MARK
30 #define ISC_C INDIC_SYLLABIC_CATEGORY_CONSONANT
31 #define ISC_CD INDIC_SYLLABIC_CATEGORY_CONSONANT_DEAD
32 #define ISC_CF INDIC_SYLLABIC_CATEGORY_CONSONANT_FINAL
33 #define ISC_CHL INDIC_SYLLABIC_CATEGORY_CONSONANT_HEAD_LETTER
34 #define ISC_CIP INDIC_SYLLABIC_CATEGORY_CONSONANT_INITIAL_POSTFIXED
35 #define ISC_CK INDIC_SYLLABIC_CATEGORY_CONSONANT_KILLER
36 #define ISC_CM INDIC_SYLLABIC_CATEGORY_CONSONANT_MEDIAL
37 #define ISC_CP INDIC_SYLLABIC_CATEGORY_CONSONANT_PLACEHOLDER
38 #define ISC_CPR INDIC_SYLLABIC_CATEGORY_CONSONANT_PRECEDING_REPHA
39 #define ISC_CPrf INDIC_SYLLABIC_CATEGORY_CONSONANT_PREFIXED
40 #define ISC_CS INDIC_SYLLABIC_CATEGORY_CONSONANT_SUBJOINED
41 #define ISC_CSR INDIC_SYLLABIC_CATEGORY_CONSONANT_SUCCEEDING_REPHA
42 #define ISC_CWS INDIC_SYLLABIC_CATEGORY_CONSONANT_WITH_STACKER
43 #define ISC_GM INDIC_SYLLABIC_CATEGORY_GEMINATION_MARK
44 #define ISC_IS INDIC_SYLLABIC_CATEGORY_INVISIBLE_STACKER
45 #define ISC_ZWJ INDIC_SYLLABIC_CATEGORY_JOINER
46 #define ISC_ML INDIC_SYLLABIC_CATEGORY_MODIFYING_LETTER
47 #define ISC_ZWNJ INDIC_SYLLABIC_CATEGORY_NON_JOINER
48 #define ISC_N INDIC_SYLLABIC_CATEGORY_NUKTA
49 #define ISC_Nd INDIC_SYLLABIC_CATEGORY_NUMBER
50 #define ISC_NJ INDIC_SYLLABIC_CATEGORY_NUMBER_JOINER
51 #define ISC_x INDIC_SYLLABIC_CATEGORY_OTHER
52 #define ISC_PK INDIC_SYLLABIC_CATEGORY_PURE_KILLER
53 #define ISC_RS INDIC_SYLLABIC_CATEGORY_REGISTER_SHIFTER
54 #define ISC_SM INDIC_SYLLABIC_CATEGORY_SYLLABLE_MODIFIER
55 #define ISC_TL INDIC_SYLLABIC_CATEGORY_TONE_LETTER
56 #define ISC_TM INDIC_SYLLABIC_CATEGORY_TONE_MARK
57 #define ISC_V INDIC_SYLLABIC_CATEGORY_VIRAMA
58 #define ISC_Vs INDIC_SYLLABIC_CATEGORY_VISARGA
59 #define ISC_Vo INDIC_SYLLABIC_CATEGORY_VOWEL
60 #define ISC_M INDIC_SYLLABIC_CATEGORY_VOWEL_DEPENDENT
61 #define ISC_VI INDIC_SYLLABIC_CATEGORY_VOWEL_INDEPENDENT
63 #define IMC_B INDIC_MATRA_CATEGORY_BOTTOM
64 #define IMC_BL INDIC_MATRA_CATEGORY_BOTTOM_AND_LEFT
65 #define IMC_BR INDIC_MATRA_CATEGORY_BOTTOM_AND_RIGHT
66 #define IMC_L INDIC_MATRA_CATEGORY_LEFT
67 #define IMC_LR INDIC_MATRA_CATEGORY_LEFT_AND_RIGHT
68 #define IMC_x INDIC_MATRA_CATEGORY_NOT_APPLICABLE
69 #define IMC_O INDIC_MATRA_CATEGORY_OVERSTRUCK
70 #define IMC_R INDIC_MATRA_CATEGORY_RIGHT
71 #define IMC_T INDIC_MATRA_CATEGORY_TOP
72 #define IMC_TB INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM
73 #define IMC_TBL INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM_AND_LEFT
74 #define IMC_TBR INDIC_MATRA_CATEGORY_TOP_AND_BOTTOM_AND_RIGHT
75 #define IMC_TL INDIC_MATRA_CATEGORY_TOP_AND_LEFT
76 #define IMC_TLR INDIC_MATRA_CATEGORY_TOP_AND_LEFT_AND_RIGHT
77 #define IMC_TR INDIC_MATRA_CATEGORY_TOP_AND_RIGHT
78 #define IMC_VOL INDIC_MATRA_CATEGORY_VISUAL_ORDER_LEFT
80 #pragma GCC diagnostic pop
82 #define _(S,M) INDIC_COMBINE_CATEGORIES (ISC_##S, IMC_##M)
85 static const uint16_t indic_table[] = {
88 #define indic_offset_0x0028u 0
93 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
CP,
x),
_(
x,
x),
_(
x,
x),
94 _(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
95 _(Nd,
x),
_(Nd,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
97 #define indic_offset_0x00b0u 24
102 _(
x,
x),
_(
x,
x),
_(SM,
x),
_(SM,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
103 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
104 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
105 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
106 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
CP,
x),
108 #define indic_offset_0x0900u 64
113 _(Bi,
T),
_(Bi,
T),
_(Bi,
T),
_(Vs,
R),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
114 _(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
115 _(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
116 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
117 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
118 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
119 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
120 _(
C,
x),
_(
C,
x),
_(
M,
T),
_(
M,
R),
_(
N,
B),
_(
A,
x),
_(
M,
R),
_(
M,
L),
121 _(
M,
R),
_(
M,
B),
_(
M,
B),
_(
M,
B),
_(
M,
B),
_(
M,
T),
_(
M,
T),
_(
M,
T),
122 _(
M,
T),
_(
M,
R),
_(
M,
R),
_(
M,
R),
_(
M,
R),
_(
V,
B),
_(
M,
L),
_(
M,
R),
123 _(
x,
x),
_(Ca,
T),
_(Ca,
B),
_(
x,
T),
_(
x,
T),
_(
M,
T),
_(
M,
B),
_(
M,
B),
124 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
125 _(VI,
x),
_(VI,
x),
_(
M,
B),
_(
M,
B),
_(
x,
x),
_(
x,
x),
_(Nd,
x),
_(Nd,
x),
126 _(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
127 _(
x,
x),
_(
x,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
128 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
132 _(
CP,
x),
_(Bi,
T),
_(Bi,
R),
_(Vs,
R),
_(
x,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
133 _(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(
x,
x),
_(
x,
x),
_(VI,
x),
134 _(VI,
x),
_(
x,
x),
_(
x,
x),
_(VI,
x),
_(VI,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
135 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
136 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
137 _(
C,
x),
_(
x,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
138 _(
C,
x),
_(
x,
x),
_(
C,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
C,
x),
_(
C,
x),
139 _(
C,
x),
_(
C,
x),
_(
x,
x),
_(
x,
x),
_(
N,
B),
_(
A,
x),
_(
M,
R),
_(
M,
L),
140 _(
M,
R),
_(
M,
B),
_(
M,
B),
_(
M,
B),
_(
M,
B),
_(
x,
x),
_(
x,
x),
_(
M,
L),
141 _(
M,
L),
_(
x,
x),
_(
x,
x),
_(
M,LR),
_(
M,LR),
_(
V,
B),
_(CD,
x),
_(
x,
x),
142 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
M,
R),
143 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
C,
x),
_(
C,
x),
_(
x,
x),
_(
C,
x),
144 _(VI,
x),
_(VI,
x),
_(
M,
B),
_(
M,
B),
_(
x,
x),
_(
x,
x),
_(Nd,
x),
_(Nd,
x),
145 _(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
146 _(
C,
x),
_(
C,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
147 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(Bi,
x),
_(
x,
x),
_(SM,
T),
_(
x,
x),
151 _(
x,
x),
_(Bi,
T),
_(Bi,
T),
_(Vs,
R),
_(
x,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
152 _(VI,
x),
_(VI,
x),
_(VI,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(VI,
x),
153 _(VI,
x),
_(
x,
x),
_(
x,
x),
_(VI,
x),
_(VI,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
154 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
155 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
156 _(
C,
x),
_(
x,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
157 _(
C,
x),
_(
x,
x),
_(
C,
x),
_(
C,
x),
_(
x,
x),
_(
C,
x),
_(
C,
x),
_(
x,
x),
158 _(
C,
x),
_(
C,
x),
_(
x,
x),
_(
x,
x),
_(
N,
B),
_(
x,
x),
_(
M,
R),
_(
M,
L),
159 _(
M,
R),
_(
M,
B),
_(
M,
B),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
M,
T),
160 _(
M,
T),
_(
x,
x),
_(
x,
x),
_(
M,
T),
_(
M,
T),
_(
V,
B),
_(
x,
x),
_(
x,
x),
161 _(
x,
x),
_(Ca,
B),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
162 _(
x,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
x,
x),
_(
C,
x),
_(
x,
x),
163 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(Nd,
x),
_(Nd,
x),
164 _(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
165 _(Bi,
T),
_(GM,
T),
_(
CP,
x),
_(
CP,
x),
_(
x,
x),
_(CM,
B),
_(
x,
x),
_(
x,
x),
166 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
170 _(
x,
x),
_(Bi,
T),
_(Bi,
T),
_(Vs,
R),
_(
x,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
171 _(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(
x,
x),
_(VI,
x),
172 _(VI,
x),
_(VI,
x),
_(
x,
x),
_(VI,
x),
_(VI,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
173 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
174 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
175 _(
C,
x),
_(
x,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
176 _(
C,
x),
_(
x,
x),
_(
C,
x),
_(
C,
x),
_(
x,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
177 _(
C,
x),
_(
C,
x),
_(
x,
x),
_(
x,
x),
_(
N,
B),
_(
A,
x),
_(
M,
R),
_(
M,
L),
178 _(
M,
R),
_(
M,
B),
_(
M,
B),
_(
M,
B),
_(
M,
B),
_(
M,
T),
_(
x,
x),
_(
M,
T),
179 _(
M,
T),
_(
M,TR),
_(
x,
x),
_(
M,
R),
_(
M,
R),
_(
V,
B),
_(
x,
x),
_(
x,
x),
180 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
181 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
182 _(VI,
x),
_(VI,
x),
_(
M,
B),
_(
M,
B),
_(
x,
x),
_(
x,
x),
_(Nd,
x),
_(Nd,
x),
183 _(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
184 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
185 _(
x,
x),
_(
C,
x),
_(Ca,
T),
_(Ca,
T),
_(Ca,
T),
_(
N,
T),
_(
N,
T),
_(
N,
T),
189 _(
x,
x),
_(Bi,
T),
_(Bi,
R),
_(Vs,
R),
_(
x,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
190 _(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(
x,
x),
_(
x,
x),
_(VI,
x),
191 _(VI,
x),
_(
x,
x),
_(
x,
x),
_(VI,
x),
_(VI,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
192 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
193 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
194 _(
C,
x),
_(
x,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
195 _(
C,
x),
_(
x,
x),
_(
C,
x),
_(
C,
x),
_(
x,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
196 _(
C,
x),
_(
C,
x),
_(
x,
x),
_(
x,
x),
_(
N,
B),
_(
A,
x),
_(
M,
R),
_(
M,
T),
197 _(
M,
R),
_(
M,
B),
_(
M,
B),
_(
M,
B),
_(
M,
B),
_(
x,
x),
_(
x,
x),
_(
M,
L),
198 _(
M,TL),
_(
x,
x),
_(
x,
x),
_(
M,LR),
_(
M,TLR),
_(
V,
B),
_(
x,
x),
_(
x,
x),
199 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
M,
T),
_(
M,
T),
_(
M,TR),
200 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
C,
x),
_(
C,
x),
_(
x,
x),
_(
C,
x),
201 _(VI,
x),
_(VI,
x),
_(
M,
B),
_(
M,
B),
_(
x,
x),
_(
x,
x),
_(Nd,
x),
_(Nd,
x),
202 _(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
203 _(
x,
x),
_(
C,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
204 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
208 _(
x,
x),
_(
x,
x),
_(Bi,
T),
_(ML,
x),
_(
x,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
209 _(VI,
x),
_(VI,
x),
_(VI,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(VI,
x),
_(VI,
x),
210 _(VI,
x),
_(
x,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(
C,
x),
_(
x,
x),
_(
x,
x),
211 _(
x,
x),
_(
C,
x),
_(
C,
x),
_(
x,
x),
_(
C,
x),
_(
x,
x),
_(
C,
x),
_(
C,
x),
212 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
C,
x),
_(
C,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
213 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
C,
x),
_(
C,
x),
214 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
215 _(
C,
x),
_(
C,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
M,
R),
_(
M,
R),
216 _(
M,
T),
_(
M,
R),
_(
M,
R),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
M,
L),
_(
M,
L),
217 _(
M,
L),
_(
x,
x),
_(
M,LR),
_(
M,LR),
_(
M,LR),
_(
V,
T),
_(
x,
x),
_(
x,
x),
218 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
M,
R),
219 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
220 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(Nd,
x),
_(Nd,
x),
221 _(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
222 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
223 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
227 _(Bi,
T),
_(Bi,
R),
_(Bi,
R),
_(Vs,
R),
_(Bi,
T),
_(VI,
x),
_(VI,
x),
_(VI,
x),
228 _(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(
x,
x),
_(VI,
x),
_(VI,
x),
229 _(VI,
x),
_(
x,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
230 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
231 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
232 _(
C,
x),
_(
x,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
233 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
234 _(
C,
x),
_(
C,
x),
_(
x,
x),
_(
x,
x),
_(
N,
B),
_(
A,
x),
_(
M,
T),
_(
M,
T),
235 _(
M,
T),
_(
M,
R),
_(
M,
R),
_(
M,
R),
_(
M,
R),
_(
x,
x),
_(
M,
T),
_(
M,
T),
236 _(
M,TB),
_(
x,
x),
_(
M,
T),
_(
M,
T),
_(
M,
T),
_(
V,
T),
_(
x,
x),
_(
x,
x),
237 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
M,
T),
_(
M,
B),
_(
x,
x),
238 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
x,
x),
_(
x,
x),
_(CD,
x),
_(
x,
x),
_(
x,
x),
239 _(VI,
x),
_(VI,
x),
_(
M,
B),
_(
M,
B),
_(
x,
x),
_(
x,
x),
_(Nd,
x),
_(Nd,
x),
240 _(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
241 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
242 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
246 _(Bi,
x),
_(Bi,
T),
_(Bi,
R),
_(Vs,
R),
_(
x,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
247 _(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(
x,
x),
_(VI,
x),
_(VI,
x),
248 _(VI,
x),
_(
x,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
249 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
250 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
251 _(
C,
x),
_(
x,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
252 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
x,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
253 _(
C,
x),
_(
C,
x),
_(
x,
x),
_(
x,
x),
_(
N,
B),
_(
A,
x),
_(
M,
R),
_(
M,
T),
254 _(
M,TR),
_(
M,
R),
_(
M,
R),
_(
M,
R),
_(
M,
R),
_(
x,
x),
_(
M,
T),
_(
M,TR),
255 _(
M,TR),
_(
x,
x),
_(
M,TR),
_(
M,TR),
_(
M,
T),
_(
V,
T),
_(
x,
x),
_(
x,
x),
256 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
M,
R),
_(
M,
R),
_(
x,
x),
257 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(CD,
x),
_(
C,
x),
_(
x,
x),
258 _(VI,
x),
_(VI,
x),
_(
M,
B),
_(
M,
B),
_(
x,
x),
_(
x,
x),
_(Nd,
x),
_(Nd,
x),
259 _(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
260 _(
x,
x),
_(CWS,
x),
_(CWS,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
261 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
265 _(Bi,
T),
_(Bi,
T),
_(Bi,
R),
_(Vs,
R),
_(Bi,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
266 _(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(
x,
x),
_(VI,
x),
_(VI,
x),
267 _(VI,
x),
_(
x,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
268 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
269 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
270 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
271 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
272 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(PK,
T),
_(PK,
T),
_(
A,
x),
_(
M,
R),
_(
M,
R),
273 _(
M,
R),
_(
M,
R),
_(
M,
R),
_(
M,
B),
_(
M,
B),
_(
x,
x),
_(
M,
L),
_(
M,
L),
274 _(
M,
L),
_(
x,
x),
_(
M,LR),
_(
M,LR),
_(
M,LR),
_(
V,
T),
_(CPR,
T),
_(
x,
x),
275 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(CD,
x),
_(CD,
x),
_(CD,
x),
_(
M,
R),
276 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(VI,
x),
277 _(VI,
x),
_(VI,
x),
_(
M,
B),
_(
M,
B),
_(
x,
x),
_(
x,
x),
_(Nd,
x),
_(Nd,
x),
278 _(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
279 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
280 _(
x,
x),
_(
x,
x),
_(CD,
x),
_(CD,
x),
_(CD,
x),
_(CD,
x),
_(CD,
x),
_(CD,
x),
284 _(
x,
x),
_(Bi,
T),
_(Bi,
R),
_(Vs,
R),
_(
x,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
285 _(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
286 _(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(
x,
x),
287 _(
x,
x),
_(
x,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
288 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
289 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
290 _(
C,
x),
_(
C,
x),
_(
x,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
291 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
x,
x),
_(
C,
x),
_(
x,
x),
_(
x,
x),
292 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
x,
x),
293 _(
x,
x),
_(
x,
x),
_(
V,
T),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
M,
R),
294 _(
M,
R),
_(
M,
R),
_(
M,
T),
_(
M,
T),
_(
M,
B),
_(
x,
x),
_(
M,
B),
_(
x,
x),
295 _(
M,
R),
_(
M,
L),
_(
M,TL),
_(
M,
L),
_(
M,LR),
_(
M,TLR),
_(
M,LR),
_(
M,
R),
296 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(Nd,
x),
_(Nd,
x),
297 _(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
298 _(
x,
x),
_(
x,
x),
_(
M,
R),
_(
M,
R),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
300 #define indic_offset_0x1000u 1336
305 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
306 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
307 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
308 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
309 _(
C,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
310 _(VI,
x),
_(VI,
x),
_(VI,
x),
_(
M,
R),
_(
M,
R),
_(
M,
T),
_(
M,
T),
_(
M,
B),
311 _(
M,
B),
_(
M,
L),
_(
M,
T),
_(
M,
T),
_(
M,
T),
_(
M,
T),
_(Bi,
T),
_(TM,
B),
312 _(Vs,
R),
_(
IS,
x),
_(PK,
T),
_(CM,
R),
_(CM,TBL),
_(CM,
B),
_(CM,
B),
_(
C,
x),
313 _(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
314 _(Nd,
x),
_(Nd,
x),
_(
x,
x),
_(
CP,
x),
_(
x,
x),
_(
x,
x),
_(
CP,
x),
_(
x,
x),
315 _(
C,
x),
_(
C,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(
M,
R),
_(
M,
R),
316 _(
M,
B),
_(
M,
B),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(CM,
B),
_(CM,
B),
317 _(CM,
B),
_(
C,
x),
_(
M,
R),
_(TM,
R),
_(TM,
R),
_(
C,
x),
_(
C,
x),
_(
M,
R),
318 _(
M,
R),
_(TM,
R),
_(TM,
R),
_(TM,
R),
_(TM,
R),
_(TM,
R),
_(
C,
x),
_(
C,
x),
319 _(
C,
x),
_(
M,
T),
_(
M,
T),
_(
M,
T),
_(
M,
T),
_(
C,
x),
_(
C,
x),
_(
C,
x),
320 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
321 _(
C,
x),
_(
C,
x),
_(CM,
B),
_(
M,
R),
_(
M,
L),
_(
M,
T),
_(
M,
T),
_(TM,
R),
322 _(TM,
R),
_(TM,
R),
_(TM,
R),
_(TM,
R),
_(TM,
R),
_(TM,
B),
_(
C,
x),
_(TM,
R),
323 _(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
324 _(Nd,
x),
_(Nd,
x),
_(TM,
R),
_(TM,
R),
_(
M,
R),
_(
M,
T),
_(
x,
x),
_(
x,
x),
326 #define indic_offset_0x1780u 1496
331 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
332 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
333 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
334 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
335 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
336 _(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
337 _(VI,
x),
_(VI,
x),
_(VI,
x),
_(VI,
x),
_(
x,
x),
_(
x,
x),
_(
M,
R),
_(
M,
T),
338 _(
M,
T),
_(
M,
T),
_(
M,
T),
_(
M,
B),
_(
M,
B),
_(
M,
B),
_(
M,TL),
_(
M,TLR),
339 _(
M,LR),
_(
M,
L),
_(
M,
L),
_(
M,
L),
_(
M,LR),
_(
M,LR),
_(Bi,
T),
_(Vs,
R),
340 _(
M,
R),
_(RS,
T),
_(RS,
T),
_(SM,
T),
_(CSR,
T),
_(CK,
T),
_(SM,
T),
_(SM,
T),
341 _(SM,
T),
_(PK,
T),
_(
IS,
x),
_(SM,
T),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
342 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
A,
x),
_(SM,
T),
_(
x,
x),
_(
x,
x),
343 _(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
344 _(Nd,
x),
_(Nd,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
346 #define indic_offset_0x1cd0u 1608
351 _(Ca,
T),
_(Ca,
T),
_(Ca,
T),
_(
x,
x),
_(Ca,
O),
_(Ca,
B),
_(Ca,
B),
_(Ca,
B),
352 _(Ca,
B),
_(Ca,
B),
_(Ca,
T),
_(Ca,
T),
_(Ca,
B),
_(Ca,
B),
_(Ca,
B),
_(Ca,
B),
353 _(Ca,
T),
_(Ca,
R),
_(
x,
O),
_(
x,
O),
_(
x,
O),
_(
x,
O),
_(
x,
O),
_(
x,
O),
354 _(
x,
O),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
B),
_(
x,
x),
_(
x,
x),
355 _(
x,
x),
_(
x,
x),
_(CD,
x),
_(CD,
x),
_(Ca,
T),
_(CWS,
x),
_(CWS,
x),
_(Ca,
R),
356 _(Ca,
x),
_(Ca,
x),
_(
CP,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
358 #define indic_offset_0x2008u 1656
363 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
ZWNJ,
x),
_(ZWJ,
x),
_(
x,
x),
_(
x,
x),
364 _(
CP,
x),
_(
CP,
x),
_(
CP,
x),
_(
CP,
x),
_(
CP,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
366 #define indic_offset_0x2070u 1672
371 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(SM,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
372 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
373 _(
x,
x),
_(
x,
x),
_(SM,
x),
_(SM,
x),
_(SM,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
375 #define indic_offset_0xa8e0u 1696
380 _(Ca,
T),
_(Ca,
T),
_(Ca,
T),
_(Ca,
T),
_(Ca,
T),
_(Ca,
T),
_(Ca,
T),
_(Ca,
T),
381 _(Ca,
T),
_(Ca,
T),
_(Ca,
T),
_(Ca,
T),
_(Ca,
T),
_(Ca,
T),
_(Ca,
T),
_(Ca,
T),
382 _(Ca,
T),
_(Ca,
T),
_(Bi,
x),
_(Bi,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
383 _(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(
x,
x),
_(VI,
x),
_(
M,
T),
385 #define indic_offset_0xa9e0u 1728
390 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
M,
T),
_(
x,
x),
_(
C,
x),
391 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
392 _(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
_(Nd,
x),
393 _(Nd,
x),
_(Nd,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
x,
x),
395 #define indic_offset_0xaa60u 1760
400 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
401 _(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
402 _(
x,
x),
_(
C,
x),
_(
C,
x),
_(
C,
x),
_(
CP,
x),
_(
CP,
x),
_(
CP,
x),
_(
x,
x),
403 _(
x,
x),
_(
x,
x),
_(
C,
x),
_(TM,
R),
_(TM,
T),
_(TM,
R),
_(
C,
x),
_(
C,
x),
414 if (hb_in_range<hb_codepoint_t> (
u, 0x0028u, 0x003Fu))
return indic_table[
u - 0x0028u +
indic_offset_0x0028u];
415 if (hb_in_range<hb_codepoint_t> (
u, 0x00B0u, 0x00D7u))
return indic_table[
u - 0x00B0u +
indic_offset_0x00b0u];
416 if (hb_in_range<hb_codepoint_t> (
u, 0x0900u, 0x0DF7u))
return indic_table[
u - 0x0900u +
indic_offset_0x0900u];
420 if (hb_in_range<hb_codepoint_t> (
u, 0x1000u, 0x109Fu))
return indic_table[
u - 0x1000u +
indic_offset_0x1000u];
421 if (hb_in_range<hb_codepoint_t> (
u, 0x1780u, 0x17EFu))
return indic_table[
u - 0x1780u +
indic_offset_0x1780u];
422 if (hb_in_range<hb_codepoint_t> (
u, 0x1CD0u, 0x1CFFu))
return indic_table[
u - 0x1CD0u +
indic_offset_0x1cd0u];
427 if (hb_in_range<hb_codepoint_t> (
u, 0x2008u, 0x2017u))
return indic_table[
u - 0x2008u +
indic_offset_0x2008u];
428 if (hb_in_range<hb_codepoint_t> (
u, 0x2070u, 0x2087u))
return indic_table[
u - 0x2070u +
indic_offset_0x2070u];
432 if (hb_in_range<hb_codepoint_t> (
u, 0xA8E0u, 0xA8FFu))
return indic_table[
u - 0xA8E0u +
indic_offset_0xa8e0u];
433 if (hb_in_range<hb_codepoint_t> (
u, 0xA9E0u, 0xA9FFu))
return indic_table[
u - 0xA9E0u +
indic_offset_0xa9e0u];
434 if (hb_in_range<hb_codepoint_t> (
u, 0xAA60u, 0xAA7Fu))
return indic_table[
u - 0xAA60u +
indic_offset_0xaa60u];
small capitals from c petite p scientific f u
#define indic_offset_0x1780u
#define indic_offset_0x2070u
#define indic_offset_0x1000u
#define indic_offset_0x0900u
#define indic_offset_0x1cd0u
#define indic_offset_0x00b0u
uint16_t hb_indic_get_categories(hb_codepoint_t u)
#define indic_offset_0xa8e0u
#define indic_offset_0x2008u
#define indic_offset_0xa9e0u
#define indic_offset_0xaa60u
#define indic_offset_0x0028u
GLint GLint GLint GLint GLint x
[0]