16 #ifndef HB_OT_SHAPE_COMPLEX_ARABIC_TABLE_HH
17 #define HB_OT_SHAPE_COMPLEX_ARABIC_TABLE_HH
20 #define A JOINING_GROUP_ALAPH
21 #define DR JOINING_GROUP_DALATH_RISH
22 #define C JOINING_TYPE_C
23 #define D JOINING_TYPE_D
24 #define L JOINING_TYPE_L
25 #define R JOINING_TYPE_R
26 #define T JOINING_TYPE_T
27 #define U JOINING_TYPE_U
28 #define X JOINING_TYPE_X
30 static const uint8_t joining_table[] =
33 #define joining_offset_0x0600u 0
37 U,
U,
U,
U,
U,
U,
X,
X,
U,
X,
X,
U,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
38 D,
U,
R,
R,
R,
R,
D,
R,
D,
R,
D,
D,
D,
D,
D,
R,
R,
R,
R,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
39 C,
D,
D,
D,
D,
D,
D,
D,
R,
D,
D,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
40 X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
D,
D,
X,
R,
R,
R,
U,
R,
R,
R,
D,
D,
D,
D,
D,
D,
D,
D,
41 D,
D,
D,
D,
D,
D,
D,
D,
R,
R,
R,
R,
R,
R,
R,
R,
R,
R,
R,
R,
R,
R,
R,
R,
R,
R,
D,
D,
D,
D,
D,
D,
42 D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
43 R,
D,
D,
R,
R,
R,
R,
R,
R,
R,
R,
R,
D,
R,
D,
R,
D,
D,
R,
R,
X,
R,
X,
X,
X,
X,
X,
X,
X,
U,
X,
X,
44 X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
R,
R,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
D,
D,
D,
X,
X,
D,
48 X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
T,
A,
X,
D,
D,
D,
DR,
DR,
R,
R,
R,
D,
D,
D,
D,
R,
D,
49 D,
D,
D,
D,
D,
D,
D,
D,
R,
D,
DR,
D,
R,
D,
D,
DR,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
50 X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
R,
D,
D,
54 D,
D,
D,
D,
D,
D,
D,
D,
D,
R,
R,
R,
D,
D,
D,
D,
55 D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
R,
R,
D,
D,
D,
D,
R,
D,
R,
R,
D,
D,
D,
R,
R,
D,
D,
D,
D,
D,
D,
59 X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
60 X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
64 X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
65 D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
C,
X,
X,
X,
X,
X,
69 X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
70 X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
74 R,
D,
D,
D,
D,
D,
R,
R,
D,
R,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
R,
D,
R,
R,
R,
X,
X,
X,
X,
X,
X,
X,
78 D,
U,
D,
D,
D,
D,
U,
R,
D,
R,
R,
X,
X,
X,
X,
X,
82 R,
R,
R,
R,
R,
R,
R,
R,
R,
R,
R,
R,
R,
R,
R,
R,
83 R,
R,
R,
C,
C,
C,
D,
U,
U,
D,
D,
D,
D,
D,
R,
X,
U,
U,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
87 D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
R,
R,
R,
U,
R,
D,
D,
R,
R,
D,
D,
D,
D,
D,
D,
R,
D,
D,
D,
D,
D,
D,
88 D,
D,
D,
D,
D,
D,
D,
D,
D,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
91 #define joining_offset_0x1806u 739
95 U,
D,
X,
X,
C,
X,
X,
X,
U,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
96 D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
97 D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
98 D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
X,
X,
X,
X,
X,
X,
X,
99 U,
U,
U,
U,
U,
T,
T,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
100 D,
D,
D,
D,
D,
D,
D,
D,
D,
X,
D,
102 #define joining_offset_0x200cu 904
106 U,
C,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
107 X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
U,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
108 X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
109 X,
X,
X,
X,
X,
X,
U,
U,
U,
U,
111 #define joining_offset_0xa840u 998
115 D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
116 D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
L,
U,
118 #define joining_offset_0x10ac0u 1050
122 D,
D,
D,
D,
D,
R,
U,
R,
U,
R,
R,
U,
U,
L,
R,
R,
R,
R,
R,
D,
D,
D,
D,
L,
D,
D,
D,
D,
D,
R,
D,
D,
123 D,
R,
U,
U,
R,
X,
X,
X,
X,
X,
X,
D,
D,
D,
D,
R,
125 #define joining_offset_0x10b80u 1098
129 D,
R,
D,
R,
R,
R,
D,
D,
D,
R,
D,
D,
R,
D,
R,
R,
D,
R,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
130 X,
X,
X,
X,
X,
X,
X,
X,
X,
R,
R,
R,
R,
D,
D,
U,
132 #define joining_offset_0x10d00u 1146
136 L,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
139 #define joining_offset_0x10f30u 1182
143 D,
D,
D,
R,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
144 D,
D,
D,
D,
D,
U,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
D,
D,
D,
R,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
145 X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
149 D,
D,
D,
D,
R,
R,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
150 D,
D,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
151 X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
155 D,
U,
D,
D,
R,
R,
R,
U,
D,
R,
R,
D,
D,
R,
D,
D,
156 U,
D,
R,
R,
D,
U,
U,
U,
U,
R,
D,
L,
158 #define joining_offset_0x110bdu 1338
163 X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
X,
U,
165 #define joining_offset_0x1e900u 1355
169 D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
170 D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
D,
171 D,
D,
D,
D,
X,
X,
X,
X,
X,
X,
X,
T,
229 static const uint16_t shaping_table[][4] =
231 {0x0000u, 0x0000u, 0x0000u, 0xFE80u},
232 {0x0000u, 0x0000u, 0xFE82u, 0xFE81u},
233 {0x0000u, 0x0000u, 0xFE84u, 0xFE83u},
234 {0x0000u, 0x0000u, 0xFE86u, 0xFE85u},
235 {0x0000u, 0x0000u, 0xFE88u, 0xFE87u},
236 {0xFE8Bu, 0xFE8Cu, 0xFE8Au, 0xFE89u},
237 {0x0000u, 0x0000u, 0xFE8Eu, 0xFE8Du},
238 {0xFE91u, 0xFE92u, 0xFE90u, 0xFE8Fu},
239 {0x0000u, 0x0000u, 0xFE94u, 0xFE93u},
240 {0xFE97u, 0xFE98u, 0xFE96u, 0xFE95u},
241 {0xFE9Bu, 0xFE9Cu, 0xFE9Au, 0xFE99u},
242 {0xFE9Fu, 0xFEA0u, 0xFE9Eu, 0xFE9Du},
243 {0xFEA3u, 0xFEA4u, 0xFEA2u, 0xFEA1u},
244 {0xFEA7u, 0xFEA8u, 0xFEA6u, 0xFEA5u},
245 {0x0000u, 0x0000u, 0xFEAAu, 0xFEA9u},
246 {0x0000u, 0x0000u, 0xFEACu, 0xFEABu},
247 {0x0000u, 0x0000u, 0xFEAEu, 0xFEADu},
248 {0x0000u, 0x0000u, 0xFEB0u, 0xFEAFu},
249 {0xFEB3u, 0xFEB4u, 0xFEB2u, 0xFEB1u},
250 {0xFEB7u, 0xFEB8u, 0xFEB6u, 0xFEB5u},
251 {0xFEBBu, 0xFEBCu, 0xFEBAu, 0xFEB9u},
252 {0xFEBFu, 0xFEC0u, 0xFEBEu, 0xFEBDu},
253 {0xFEC3u, 0xFEC4u, 0xFEC2u, 0xFEC1u},
254 {0xFEC7u, 0xFEC8u, 0xFEC6u, 0xFEC5u},
255 {0xFECBu, 0xFECCu, 0xFECAu, 0xFEC9u},
256 {0xFECFu, 0xFED0u, 0xFECEu, 0xFECDu},
257 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
258 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
259 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
260 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
261 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
262 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
263 {0xFED3u, 0xFED4u, 0xFED2u, 0xFED1u},
264 {0xFED7u, 0xFED8u, 0xFED6u, 0xFED5u},
265 {0xFEDBu, 0xFEDCu, 0xFEDAu, 0xFED9u},
266 {0xFEDFu, 0xFEE0u, 0xFEDEu, 0xFEDDu},
267 {0xFEE3u, 0xFEE4u, 0xFEE2u, 0xFEE1u},
268 {0xFEE7u, 0xFEE8u, 0xFEE6u, 0xFEE5u},
269 {0xFEEBu, 0xFEECu, 0xFEEAu, 0xFEE9u},
270 {0x0000u, 0x0000u, 0xFEEEu, 0xFEEDu},
271 {0xFBE8u, 0xFBE9u, 0xFEF0u, 0xFEEFu},
272 {0xFEF3u, 0xFEF4u, 0xFEF2u, 0xFEF1u},
273 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
274 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
275 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
276 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
277 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
278 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
279 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
280 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
281 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
282 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
283 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
284 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
285 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
286 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
287 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
288 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
289 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
290 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
291 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
292 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
293 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
294 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
295 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
296 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
297 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
298 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
299 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
300 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
301 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
302 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
303 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
304 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
305 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
306 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
307 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
308 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
309 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
310 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
311 {0x0000u, 0x0000u, 0xFB51u, 0xFB50u},
312 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
313 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
314 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
315 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
316 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
317 {0x0000u, 0x0000u, 0x0000u, 0xFBDDu},
318 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
319 {0xFB68u, 0xFB69u, 0xFB67u, 0xFB66u},
320 {0xFB60u, 0xFB61u, 0xFB5Fu, 0xFB5Eu},
321 {0xFB54u, 0xFB55u, 0xFB53u, 0xFB52u},
322 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
323 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
324 {0xFB58u, 0xFB59u, 0xFB57u, 0xFB56u},
325 {0xFB64u, 0xFB65u, 0xFB63u, 0xFB62u},
326 {0xFB5Cu, 0xFB5Du, 0xFB5Bu, 0xFB5Au},
327 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
328 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
329 {0xFB78u, 0xFB79u, 0xFB77u, 0xFB76u},
330 {0xFB74u, 0xFB75u, 0xFB73u, 0xFB72u},
331 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
332 {0xFB7Cu, 0xFB7Du, 0xFB7Bu, 0xFB7Au},
333 {0xFB80u, 0xFB81u, 0xFB7Fu, 0xFB7Eu},
334 {0x0000u, 0x0000u, 0xFB89u, 0xFB88u},
335 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
336 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
337 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
338 {0x0000u, 0x0000u, 0xFB85u, 0xFB84u},
339 {0x0000u, 0x0000u, 0xFB83u, 0xFB82u},
340 {0x0000u, 0x0000u, 0xFB87u, 0xFB86u},
341 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
342 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
343 {0x0000u, 0x0000u, 0xFB8Du, 0xFB8Cu},
344 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
345 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
346 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
347 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
348 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
349 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
350 {0x0000u, 0x0000u, 0xFB8Bu, 0xFB8Au},
351 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
352 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
353 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
354 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
355 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
356 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
357 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
358 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
359 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
360 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
361 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
362 {0xFB6Cu, 0xFB6Du, 0xFB6Bu, 0xFB6Au},
363 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
364 {0xFB70u, 0xFB71u, 0xFB6Fu, 0xFB6Eu},
365 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
366 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
367 {0xFB90u, 0xFB91u, 0xFB8Fu, 0xFB8Eu},
368 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
369 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
370 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
371 {0xFBD5u, 0xFBD6u, 0xFBD4u, 0xFBD3u},
372 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
373 {0xFB94u, 0xFB95u, 0xFB93u, 0xFB92u},
374 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
375 {0xFB9Cu, 0xFB9Du, 0xFB9Bu, 0xFB9Au},
376 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
377 {0xFB98u, 0xFB99u, 0xFB97u, 0xFB96u},
378 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
379 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
380 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
381 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
382 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
383 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
384 {0x0000u, 0x0000u, 0xFB9Fu, 0xFB9Eu},
385 {0xFBA2u, 0xFBA3u, 0xFBA1u, 0xFBA0u},
386 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
387 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
388 {0xFBACu, 0xFBADu, 0xFBABu, 0xFBAAu},
389 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
390 {0x0000u, 0x0000u, 0xFBA5u, 0xFBA4u},
391 {0xFBA8u, 0xFBA9u, 0xFBA7u, 0xFBA6u},
392 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
393 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
394 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
395 {0x0000u, 0x0000u, 0xFBE1u, 0xFBE0u},
396 {0x0000u, 0x0000u, 0xFBDAu, 0xFBD9u},
397 {0x0000u, 0x0000u, 0xFBD8u, 0xFBD7u},
398 {0x0000u, 0x0000u, 0xFBDCu, 0xFBDBu},
399 {0x0000u, 0x0000u, 0xFBE3u, 0xFBE2u},
400 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
401 {0x0000u, 0x0000u, 0xFBDFu, 0xFBDEu},
402 {0xFBFEu, 0xFBFFu, 0xFBFDu, 0xFBFCu},
403 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
404 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
405 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
406 {0xFBE6u, 0xFBE7u, 0xFBE5u, 0xFBE4u},
407 {0x0000u, 0x0000u, 0x0000u, 0x0000u},
408 {0x0000u, 0x0000u, 0xFBAFu, 0xFBAEu},
409 {0x0000u, 0x0000u, 0xFBB1u, 0xFBB0u},
412 #define SHAPING_TABLE_FIRST 0x0621u
413 #define SHAPING_TABLE_LAST 0x06D3u
416 static const struct ligature_set_t {
425 { 0xFE82u, 0xFEF5u },
426 { 0xFE84u, 0xFEF7u },
427 { 0xFE88u, 0xFEF9u },
428 { 0xFE8Eu, 0xFEFBu },
431 { 0xFE82u, 0xFEF6u },
432 { 0xFE84u, 0xFEF8u },
433 { 0xFE88u, 0xFEFAu },
434 { 0xFE8Eu, 0xFEFCu },
small capitals from c petite p scientific f u
#define joining_offset_0x0600u
#define joining_offset_0x110bdu
#define joining_offset_0x200cu
#define joining_offset_0x10d00u
#define joining_offset_0x1e900u
#define joining_offset_0x10f30u
#define joining_offset_0x10ac0u
#define joining_offset_0xa840u
#define joining_offset_0x10b80u
#define joining_offset_0x1806u