File: SchAPClasses.gdh

package info (click to toggle)
grcompiler 4.2-4
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 11,076 kB
  • ctags: 5,163
  • sloc: cpp: 45,565; sh: 4,451; ansic: 4,377; makefile: 185; xml: 175; perl: 127
file content (560 lines) | stat: -rw-r--r-- 43,118 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
////////////////////////////////////////////////////////////////////////////////////////////
//
//	File: SchAPClasses.gdh
//
//	Classes based on which glyphs have which attachment points
//
////////////////////////////////////////////////////////////////////////////////////////////

table(glyph)

// Bases

cHasDiaA = (
	absAlefMaddaAbove absAlefHamzaAbove absAlefHamzaBelow absAlef absAlefWavyHamzaAbove absAlefWavyHamzaBelow
	absHighHamzaAlef absAlefWasla absWawHamzaAbove absWaw absHighHamzaWaw absUHamzaAbove 
	absWawRing absKirghizOe absOe absU absYu absKirghizYu absWawTwoDotsAbove absVe absWawDotAbove 
	absWawDotBelow absDal absThal absDdal absDalRing absDalDotBelow absDalDotBelowSmallTah absDahal 
	absDdahal absDul absDalThreeDotsAboveDownwards absDalFourDotsAbove absDalHat absDalTwoVertBelowSmallTah 
	absDalInvSmallVBelow absReh absZain absRreh absRehSmallV absRehRing absRehDotBelow absRehSmallVBelow 
	absRehDotBelowDotAbove absRehTwoDotsAbove absJeh absRehFourDotsAbove absRehTwoVertAbove 
	absRehHamzaAbove absJehRetro1 absJehRetro2 absJeh__dotHat absRehHat absRehBar absYehBarree 
	absYehBarreeHamzaAbove absYehHamzaAbove absYeh absYeh__noDots absHighHamzaYeh absFarsiYeh 
	absYehSmallV absE absYehThreeDotsBelow absYehTail absAlefMaksura absBehNoDots absBeh 
	absTeh absTheh absTteh absTteheh absBeeh absTehRing absTehThreeDotsAboveDownwards absPeh 
	absTeheh absBeheh absBehThreeDotsHorizBelow absBehThreeDotsAboveDotBelow 
	absBehThreeDotsUpwardBelow absBehTwoDotsAboveThreeDotsUpwardBelow 
	absBehDotAboveTwoDotsBelow absBehInvSmallVBelow absBehSmallVAbove absJeem absHah 
	absKhah absHahHamzaAbove absHahTwoDotsVerticalAbove absNyeh absDyeh absHahThreeDotsAbove absTcheh 
	absTcheheh absTchehDotAbove absTchehRetro1 absTchehRetro2 absJeemRetro1 absJeemRetro2 
	absJeemRetro3 absHahTwoDotsAbove absHahThreeDotsUpwardBelow absSeen absSheen absSeenDotBelowDotAbove 
	absSeenThreeDotsBelow absSeenThreeDotsBelowThreeDotsAbove absSheenDotBelow absSheenRetro1 absSheenRetro2 
	absSeenFourDotsAbove absSeenTwoVertAbove absSad absDad absSadTwoDotsBelow absSadThreeDotsAbove 
	absDadDotBelow absTah absZah absTahThreeDotsAbove absAin absGhain absAinThreeDotsAbove absGhainDotBelow 
	absAinTwoDotsAbove absAinThreeDotsDownAbove absAinTwoDotsVertAbove absFeh absDotlessFeh absFehDotMovedBelow 
	absFehDotBelow absVeh absFehThreeDotsBelow absPeheh absFehTwoDotsBelow 
	absFehThreeDotsUpwardBelow absQafNoDots 
	absQaf absQafDotAbove absQafThreeDotsAbove absKaf absKafDotAbove absNg absKafThreeDotsBelow absKeheh 
	absKafRing absGaf absGafRing absNgoeh absGafTwoDotsBelow absGueh absGafThreeDotsAbove absKehehDotAbove 
	absKehehThreeDotsAbove absKehehThreeDotsUpwardBelow absSwashKaf absLam absLamSmallV absLamDotAbove 
	absLamThreeDotsAbove absLamThreeDotsBelow absLamRetro absLamBar absMeem absMeem__sindhi absMeemDotAbove 
	absMeemDotBelow absNoon absNoonDotBelow absNoonGhunna absRnoon absNoonRing absNoonThreeDotsAbove 
	absNoonTwoDotsBelow absNoonRetro absNoonSmallV absHehDoachashmee absHehHat absHeh absHeh__knotted 
	absAe absTehMarbuta absHehYehAbove absHehGoal absHehGoalHamzaAbove absTehMarbutaGoal absHamza 
	absSignSindhiAmpers absSignSindhiPostpositionMen absTatweel absAlefMaddaAboveFin absAlefHamzaAboveFin 
	absAlefHamzaBelowFin absAlefFin absAlefWavyHamzaAboveFin absAlefWavyHamzaBelowFin absHighHamzaAlefFin 
	absAlefWaslaFin absWawHamzaAboveFin absWawFin absHighHamzaWawFin absUHamzaAboveFin absWawRingFin 
	absKirghizOeFin absOeFin absUFin absYuFin absKirghizYuFin absWawTwoDotsAboveFin absVeFin 
	absWawDotAboveFin absWawDotBelowFin absDalFin absThalFin absDdalFin absDalRingFin absDalDotBelowFin 
	absDalDotBelowSmallTahFin absDahalFin absDdahalFin absDulFin 
	absDalThreeDotsAboveDownwardsFin absDalFourDotsAboveFin 
	absDalHatFin absDalTwoVertBelowSmallTahFin absDalInvSmallVBelowFin absRehFin absZainFin 
	absRrehFin absRehSmallVFin absRehRingFin absRehDotBelowFin absRehSmallVBelowFin absRehDotBelowDotAboveFin 
	absRehTwoDotsAboveFin absJehFin absRehFourDotsAboveFin absRehTwoVertAboveFin absRehHamzaAboveFin 
	absJehRetro1Fin absJehRetro2Fin absJehFin__dotHat absRehHatFin absRehBarFin absYehBarreeFin 
	absYehBarreeHamzaAboveFin absYehHamzaAboveFin absYehFin absYehFin__noDots absHighHamzaYehFin absFarsiYehFin 
	absYehSmallVFin absEFin absYehThreeDotsBelowFin absYehTailFin absAlefMaksuraFin absBehNoDotsFin 
	absBehFin absTehFin absThehFin absTtehFin absTtehehFin absBeehFin absTehRingFin 
	absTehThreeDotsAboveDownwardsFin 
	absPehFin absTehehFin absBehehFin absBehThreeDotsHorizBelowFin absBehThreeDotsAboveDotBelowFin 
	absBehThreeDotsUpwardBelowFin absBehTwoDotsAboveThreeDotsUpwardBelowFin absBehDotAboveTwoDotsBelowFin 
	absBehInvSmallVBelowFin absBehSmallVAboveFin absJeemFin absHahFin 
	absKhahFin absHahHamzaAboveFin absHahTwoDotsVerticalAboveFin 
	absNyehFin absDyehFin absHahThreeDotsAboveFin absTchehFin absTchehehFin absTchehDotAboveFin 
	absTchehRetro1Fin absTchehRetro2Fin absJeemRetro1Fin absJeemRetro2Fin absJeemRetro3Fin 
	absHahTwoDotsAboveFin absHahThreeDotsUpwardBelowFin absSeenFin absSheenFin absSeenDotBelowDotAboveFin 
	absSeenThreeDotsBelowFin absSeenThreeDotsBelowThreeDotsAboveFin absSheenDotBelowFin absSheenRetro1Fin 
	absSheenRetro2Fin absSeenFourDotsAboveFin absSeenTwoVertAboveFin absSadFin absDadFin absSadTwoDotsBelowFin 
	absSadThreeDotsAboveFin absDadDotBelowFin absTahFin absZahFin absTahThreeDotsAboveFin absAinFin 
	absGhainFin absAinThreeDotsAboveFin absGhainDotBelowFin absAinTwoDotsAboveFin absAinThreeDotsDownAboveFin 
	absAinTwoDotsVertAboveFin absFehFin absDotlessFehFin absFehDotMovedBelowFin absFehDotBelowFin 
	absVehFin absFehThreeDotsBelowFin absPehehFin absFehTwoDotsBelowFin absFehThreeDotsUpwardBelowFin 
	absQafNoDotsFin absQafFin absQafDotAboveFin absQafThreeDotsAboveFin absKafFin absKafDotAboveFin 
	absNgFin absKafThreeDotsBelowFin absKehehFin absKafRingFin absGafFin absGafRingFin absNgoehFin 
	absGafTwoDotsBelowFin absGuehFin absGafThreeDotsAboveFin absKehehDotAboveFin absKehehThreeDotsAboveFin 
	absKehehThreeDotsUpwardBelowFin absSwashKafFin absLamFin absLamSmallVFin absLamDotAboveFin 
	absLamThreeDotsAboveFin absLamThreeDotsBelowFin absLamRetroFin absLamBarFin absMeemFin absMeemFin__sindhi 
	absMeemDotAboveFin absMeemDotBelowFin absNoonFin absNoonDotBelowFin absNoonGhunnaFin absRnoonFin 
	absNoonRingFin absNoonThreeDotsAboveFin absNoonTwoDotsBelowFin absNoonRetroFin absNoonSmallVFin 
	absHehDoachashmeeFin absHehHatFin absHehFin absHehFin__knottedFlat absHehFin__knottedHigh absHehFin__hooked 
	absAeFin absTehMarbutaFin absHehYehAboveFin absHehGoalFin absHehGoalHamzaAboveFin absTehMarbutaGoalFin 
	absYehHamzaAboveMed absYehMed absYehMed__noDots absHighHamzaYehMed absFarsiYehMed absYehSmallVMed 
	absEMed absYehThreeDotsBelowMed absAlefMaksuraMed absBehNoDotsMed absBehMed absTehMed absThehMed 
	absTtehMed absTtehehMed absBeehMed absTehRingMed absTehThreeDotsAboveDownwardsMed absPehMed 
	absTehehMed absBehehMed absBehThreeDotsHorizBelowMed absBehThreeDotsAboveDotBelowMed 
	absBehThreeDotsUpwardBelowMed absBehTwoDotsAboveThreeDotsUpwardBelowMed 
	absBehDotAboveTwoDotsBelowMed absBehInvSmallVBelowMed absBehSmallVAboveMed absJeemMed absHahMed absKhahMed 
	absHahHamzaAboveMed absHahTwoDotsVerticalAboveMed absNyehMed absDyehMed absHahThreeDotsAboveMed absTchehMed 
	absTchehehMed absTchehDotAboveMed absTchehRetro1Med absTchehRetro2Med absJeemRetro1Med absJeemRetro2Med 
	absJeemRetro3Med absHahTwoDotsAboveMed absHahThreeDotsUpwardBelowMed absSeenMed 
	absSheenMed absSeenDotBelowDotAboveMed absSeenThreeDotsBelowMed 
	absSeenThreeDotsBelowThreeDotsAboveMed absSheenDotBelowMed absSheenRetro1Med 
	absSheenRetro2Med absSeenFourDotsAboveMed absSeenTwoVertAboveMed absSadMed absDadMed 
	absSadTwoDotsBelowMed absSadThreeDotsAboveMed absDadDotBelowMed absTahMed absZahMed absTahThreeDotsAboveMed 
	absAinMed absGhainMed absAinThreeDotsAboveMed absGhainDotBelowMed 
	absAinTwoDotsAboveMed absAinThreeDotsDownAboveMed 
	absAinTwoDotsVertAboveMed absFehMed absDotlessFehMed absFehDotMovedBelowMed absFehDotBelowMed 
	absVehMed absFehThreeDotsBelowMed absPehehMed absFehTwoDotsBelowMed 
	absFehThreeDotsUpwardBelowMed absQafNoDotsMed 
	absQafMed absQafDotAboveMed absQafThreeDotsAboveMed absKafMed absKafDotAboveMed absNgMed 
	absKafThreeDotsBelowMed absKehehMed absKafRingMed absGafMed absGafRingMed absNgoehMed absGafTwoDotsBelowMed 
	absGuehMed absGafThreeDotsAboveMed absKehehDotAboveMed absKehehThreeDotsAboveMed 
	absKehehThreeDotsUpwardBelowMed 
	absSwashKafMed absLamMed absLamSmallVMed absLamDotAboveMed absLamThreeDotsAboveMed absLamThreeDotsBelowMed 
	absLamRetroMed absLamBarMed absMeemMed absMeemDotAboveMed absMeemDotBelowMed absNoonMed absNoonDotBelowMed 
	absNoonGhunnaMed absRnoonMed absNoonRingMed absNoonThreeDotsAboveMed absNoonTwoDotsBelowMed absNoonRetroMed 
	absNoonSmallVMed absHehDoachashmeeMed absHehHatMed absHehMed absHehMed__hooked absHehMed__knottedHigh 
	absHehYehAboveMed absHehGoalMed absHehGoalHamzaAboveMed absYehHamzaAboveIni absYehIni absYehIni__noDots 
	absHighHamzaYehIni absFarsiYehIni absYehSmallVIni absEIni absYehThreeDotsBelowIni absAlefMaksuraIni 
	absBehNoDotsIni absBehIni absTehIni absThehIni absTtehIni absTtehehIni absBeehIni absTehRingIni 
	absTehThreeDotsAboveDownwardsIni absPehIni absTehehIni absBehehIni absBehThreeDotsHorizBelowIni 
	absBehThreeDotsAboveDotBelowIni 
	absBehThreeDotsUpwardBelowIni absBehTwoDotsAboveThreeDotsUpwardBelowIni 
	absBehDotAboveTwoDotsBelowIni absBehInvSmallVBelowIni 
	absBehSmallVAboveIni absJeemIni absHahIni absKhahIni absHahHamzaAboveIni absHahTwoDotsVerticalAboveIni 
	absNyehIni absDyehIni absHahThreeDotsAboveIni absTchehIni absTchehehIni absTchehDotAboveIni 
	absTchehRetro1Ini absTchehRetro2Ini absJeemRetro1Ini absJeemRetro2Ini absJeemRetro3Ini 
	absHahTwoDotsAboveIni absHahThreeDotsUpwardBelowIni absSeenIni absSheenIni 
	absSeenDotBelowDotAboveIni absSeenThreeDotsBelowIni 
	absSeenThreeDotsBelowThreeDotsAboveIni absSheenDotBelowIni absSheenRetro1Ini absSheenRetro2Ini 
	absSeenFourDotsAboveIni absSeenTwoVertAboveIni absSadIni absDadIni absSadTwoDotsBelowIni 
	absSadThreeDotsAboveIni 
	absDadDotBelowIni absTahIni absZahIni absTahThreeDotsAboveIni absAinIni absGhainIni absAinThreeDotsAboveIni 
	absGhainDotBelowIni absAinTwoDotsAboveIni absAinThreeDotsDownAboveIni absAinTwoDotsVertAboveIni absFehIni 
	absDotlessFehIni absFehDotMovedBelowIni absFehDotBelowIni absVehIni absFehThreeDotsBelowIni 
	absPehehIni absFehTwoDotsBelowIni absFehThreeDotsUpwardBelowIni absQafNoDotsIni absQafIni 
	absQafDotAboveIni absQafThreeDotsAboveIni absKafIni absKafDotAboveIni absNgIni 
	absKafThreeDotsBelowIni absKehehIni 
	absKafRingIni absGafIni absGafRingIni absNgoehIni absGafTwoDotsBelowIni absGuehIni absGafThreeDotsAboveIni 
	absKehehDotAboveIni absKehehThreeDotsAboveIni absKehehThreeDotsUpwardBelowIni absSwashKafIni 
	absLamIni absLamSmallVIni absLamDotAboveIni absLamThreeDotsAboveIni absLamThreeDotsBelowIni absLamRetroIni 
	absLamBarIni absMeemIni absMeemDotAboveIni absMeemDotBelowIni absNoonIni absNoonDotBelowIni 
	absNoonGhunnaIni absRnoonIni absNoonRingIni absNoonThreeDotsAboveIni absNoonTwoDotsBelowIni absNoonRetroIni 
	absNoonSmallVIni absHehDoachashmeeIni absHehHatIni absHehIni absHehIni__hooked absHehYehAboveIni 
	absHehGoalIni absHehGoalHamzaAboveIni absHighHamza absFathatan absDammatan absFatha 
	absDamma absShadda absSukun absMaddahAbove absHamzaAbove absUltaPesh absNoonGhunnaMark absZwarakay 
	absVowelSmallV absVowelInvSmallV absReversedDamma absFathaTwoDots absSuperscriptAlef 
	absSuperscriptAlef__large 
	absSmallHighDotlessHeadOfKhah absAfghaniSign absComma absComma__downward absMisraSign absSemicolon 
	absSemicolon__downward absQuestionMark absFivePointedStar absFullStop absPlaceOfSajdah absShaddaFathatan 
	absShaddaDammatan absShaddaKasratan absShaddaFatha absShaddaDamma absShaddaKasra absHamzaFatha 
	absHamzaDamma absShaddaAlef absSukun__leftOpen absSukun__downOpen absDammatan__sixNine absAutoKashida 
	absLamIni__preAlef absLamSmallVIni__preAlef absLamDotAboveIni__preAlef absLamThreeDotsAboveIni__preAlef 
	absLamThreeDotsBelowIni__preAlef 
	absLamRetroIni__preAlef absLamBarIni__preAlef absAlefMaddaAboveFin__postLamIni 
	absAlefHamzaAboveFin__postLamIni absAlefHamzaBelowFin__postLamIni absAlefFin__postLamIni 
	absAlefWavyHamzaAboveFin__postLamIni absAlefWavyHamzaBelowFin__postLamIni 
	absHighHamzaAlefFin__postLamIni absAlefWaslaFin__postLamIni absLamMed__preAlef absLamSmallVMed__preAlef 
	absLamDotAboveMed__preAlef absLamThreeDotsAboveMed__preAlef absLamThreeDotsBelowMed__preAlef 
	absLamRetroMed__preAlef absLamBarMed__preAlef absAlefMaddaAboveFin__postLamMed 
	absAlefHamzaAboveFin__postLamMed 
	absAlefHamzaBelowFin__postLamMed absAlefFin__postLamMed absAlefWavyHamzaAboveFin__postLamMed 
	absAlefWavyHamzaBelowFin__postLamMed 
	absHighHamzaAlefFin__postLamMed absAlefWaslaFin__postLamMed
	cDiaDigitAbove	// Constructed Unicode 5.X characters
	);

cHasDiaB = (
	absAlefMaddaAbove absAlefHamzaAbove absAlefHamzaBelow absAlef absAlefWavyHamzaAbove 
	absAlefWavyHamzaBelow absHighHamzaAlef absAlefWasla absWawHamzaAbove 
	absWaw absHighHamzaWaw absUHamzaAbove absWawRing absKirghizOe absOe absU 
	absYu absKirghizYu absWawTwoDotsAbove absVe absWawDotAbove absWawDotBelow absDal 
	absThal absDdal absDalRing absDalDotBelow absDalDotBelowSmallTah absDahal 
	absDdahal absDul absDalThreeDotsAboveDownwards absDalFourDotsAbove absDalHat absDalTwoVertBelowSmallTah 
	absDalInvSmallVBelow absReh absZain absRreh absRehSmallV 
	absRehRing absRehDotBelow absRehSmallVBelow absRehDotBelowDotAbove absRehTwoDotsAbove 
	absJeh absRehFourDotsAbove absRehTwoVertAbove absRehHamzaAbove absJehRetro1 
	absJehRetro2 absJeh__dotHat absRehHat absRehBar absYehBarree 
	absYehBarreeHamzaAbove absYehHamzaAbove absYeh absYeh__noDots absHighHamzaYeh 
	absFarsiYeh absYehSmallV absE absYehThreeDotsBelow absYehTail absAlefMaksura 
	absBehNoDots absBeh absTeh absTheh absTteh absTteheh absBeeh absTehRing 
	absTehThreeDotsAboveDownwards absPeh absTeheh absBeheh absBehThreeDotsHorizBelow 
	absBehThreeDotsAboveDotBelow 
	absBehThreeDotsUpwardBelow absBehTwoDotsAboveThreeDotsUpwardBelow absBehDotAboveTwoDotsBelow 
	absBehInvSmallVBelow absBehSmallVAbove 
	absJeem absHah absKhah absHahHamzaAbove absHahTwoDotsVerticalAbove absNyeh 
	absDyeh absHahThreeDotsAbove absTcheh absTcheheh absTchehDotAbove absTchehRetro1 
	absTchehRetro2 absJeemRetro1 absJeemRetro2 absJeemRetro3 absHahTwoDotsAbove 
	absHahThreeDotsUpwardBelow absSeen absSheen absSeenDotBelowDotAbove absSeenThreeDotsBelow 
	absSeenThreeDotsBelowThreeDotsAbove absSheenDotBelow absSheenRetro1 absSheenRetro2 absSeenFourDotsAbove 
	absSeenTwoVertAbove absSad absDad absSadTwoDotsBelow absSadThreeDotsAbove 
	absDadDotBelow absTah absZah absTahThreeDotsAbove absAin absGhain 
	absAinThreeDotsAbove absGhainDotBelow absAinTwoDotsAbove absAinThreeDotsDownAbove absAinTwoDotsVertAbove 
	absFeh absDotlessFeh absFehDotMovedBelow absFehDotBelow absVeh absFehThreeDotsBelow 
	absPeheh absFehTwoDotsBelow absFehThreeDotsUpwardBelow absQafNoDots absQaf 
	absQafDotAbove absQafThreeDotsAbove absKaf absKafDotAbove absNg absKafThreeDotsBelow absKeheh 
	absKafRing absGaf absGafRing absNgoeh absGafTwoDotsBelow absGueh absGafThreeDotsAbove 
	absKehehDotAbove absKehehThreeDotsAbove absKehehThreeDotsUpwardBelow absSwashKaf 
	absLam absLamSmallV absLamDotAbove absLamThreeDotsAbove absLamThreeDotsBelow absLamRetro 
	absLamBar absMeem absMeem__sindhi absMeemDotAbove absMeemDotBelow absNoon absNoonDotBelow 
	absNoonGhunna absRnoon absNoonRing absNoonThreeDotsAbove absNoonTwoDotsBelow absNoonRetro absNoonSmallV 
	absHehDoachashmee absHehHat absHeh absHeh__knotted absAe absTehMarbuta absHehYehAbove 
	absHehGoal absHehGoalHamzaAbove absTehMarbutaGoal absHamza absSignSindhiAmpers absSignSindhiPostpositionMen 
	absTatweel absAlefMaddaAboveFin absAlefHamzaAboveFin absAlefHamzaBelowFin
	absAlefFin absAlefWavyHamzaAboveFin absAlefWavyHamzaBelowFin 
	absHighHamzaAlefFin absAlefWaslaFin absWawHamzaAboveFin absWawFin absHighHamzaWawFin 
	absUHamzaAboveFin absWawRingFin absKirghizOeFin absOeFin absUFin absYuFin absKirghizYuFin 
	absWawTwoDotsAboveFin absVeFin absWawDotAboveFin absWawDotBelowFin absDalFin absThalFin 
	absDdalFin absDalRingFin absDalDotBelowFin absDalDotBelowSmallTahFin absDahalFin absDdahalFin 
	absDulFin absDalThreeDotsAboveDownwardsFin absDalFourDotsAboveFin absDalHatFin 
	absDalTwoVertBelowSmallTahFin 
	absDalInvSmallVBelowFin absRehFin absZainFin absRrehFin absRehSmallVFin absRehRingFin absRehDotBelowFin 
	absRehSmallVBelowFin absRehDotBelowDotAboveFin absRehTwoDotsAboveFin absJehFin absRehFourDotsAboveFin 
	absRehTwoVertAboveFin absRehHamzaAboveFin absJehRetro1Fin absJehRetro2Fin absJehFin__dotHat absRehHatFin 
	absRehBarFin absYehBarreeFin absYehBarreeHamzaAboveFin absYehHamzaAboveFin absYehFin 
	absYehFin__noDots absHighHamzaYehFin absFarsiYehFin absYehSmallVFin absEFin 
	absYehThreeDotsBelowFin absYehTailFin absAlefMaksuraFin absBehNoDotsFin absBehFin 
	absTehFin absThehFin absTtehFin absTtehehFin absBeehFin absTehRingFin absTehThreeDotsAboveDownwardsFin 
	absPehFin absTehehFin absBehehFin absBehThreeDotsHorizBelowFin absBehThreeDotsAboveDotBelowFin
	absBehThreeDotsUpwardBelowFin absBehTwoDotsAboveThreeDotsUpwardBelowFin absBehDotAboveTwoDotsBelowFin 
	absBehInvSmallVBelowFin absBehSmallVAboveFin 
	absJeemFin absHahFin absKhahFin absHahHamzaAboveFin absHahTwoDotsVerticalAboveFin absNyehFin 
	absDyehFin absHahThreeDotsAboveFin absTchehFin absTchehehFin absTchehDotAboveFin 
	absTchehRetro1Fin absTchehRetro2Fin absJeemRetro1Fin absJeemRetro2Fin absJeemRetro3Fin 
	absHahTwoDotsAboveFin absHahThreeDotsUpwardBelowFin absSeenFin absSheenFin absSeenDotBelowDotAboveFin 
	absSeenThreeDotsBelowFin absSeenThreeDotsBelowThreeDotsAboveFin absSheenDotBelowFin absSheenRetro1Fin 
	absSheenRetro2Fin absSeenFourDotsAboveFin absSeenTwoVertAboveFin absSadFin absDadFin 
	absSadTwoDotsBelowFin absSadThreeDotsAboveFin absDadDotBelowFin absTahFin absZahFin 
	absTahThreeDotsAboveFin absAinFin absGhainFin absAinThreeDotsAboveFin absGhainDotBelowFin 
	absAinTwoDotsAboveFin absAinThreeDotsDownAboveFin absAinTwoDotsVertAboveFin absFehFin 
	absDotlessFehFin absFehDotMovedBelowFin absFehDotBelowFin absVehFin absFehThreeDotsBelowFin 
	absPehehFin absFehTwoDotsBelowFin absFehThreeDotsUpwardBelowFin absQafNoDotsFin absQafFin 
	absQafDotAboveFin absQafThreeDotsAboveFin absKafFin absKafDotAboveFin absNgFin 
	absKafThreeDotsBelowFin absKehehFin absKafRingFin absGafFin absGafRingFin absNgoehFin absGafTwoDotsBelowFin 
	absGuehFin absGafThreeDotsAboveFin absKehehDotAboveFin absKehehThreeDotsAboveFin 
	absKehehThreeDotsUpwardBelowFin absSwashKafFin absLamFin absLamSmallVFin absLamDotAboveFin 
	absLamThreeDotsAboveFin absLamThreeDotsBelowFin 
	absLamRetroFin absLamBarFin absMeemFin absMeemFin__sindhi absMeemDotAboveFin absMeemDotBelowFin 
	absNoonFin absNoonDotBelowFin absNoonGhunnaFin absRnoonFin absNoonRingFin absNoonThreeDotsAboveFin 
	absNoonTwoDotsBelowFin absNoonRetroFin absNoonSmallVFin absHehDoachashmeeFin absHehHatFin absHehFin 
	absHehFin__knottedFlat absHehFin__knottedHigh absHehFin__hooked absAeFin absTehMarbutaFin 
	absHehYehAboveFin absHehGoalFin absHehGoalHamzaAboveFin absTehMarbutaGoalFin absYehHamzaAboveMed 
	absYehMed absYehMed__noDots absHighHamzaYehMed absFarsiYehMed absYehSmallVMed 
	absEMed absYehThreeDotsBelowMed absAlefMaksuraMed absBehNoDotsMed absBehMed absTehMed 
	absThehMed absTtehMed absTtehehMed absBeehMed absTehRingMed absTehThreeDotsAboveDownwardsMed 
	absPehMed absTehehMed absBehehMed absBehThreeDotsHorizBelowMed
	absBehThreeDotsAboveDotBelowMed absBehThreeDotsUpwardBelowMed 
	absBehTwoDotsAboveThreeDotsUpwardBelowMed absBehDotAboveTwoDotsBelowMed absBehInvSmallVBelowMed 
	absBehSmallVAboveMed absJeemMed absHahMed absKhahMed absHahHamzaAboveMed absHahTwoDotsVerticalAboveMed 
	absNyehMed absDyehMed absHahThreeDotsAboveMed absTchehMed absTchehehMed absTchehDotAboveMed 
	absTchehRetro1Med absTchehRetro2Med absJeemRetro1Med absJeemRetro2Med absJeemRetro3Med 
	absHahTwoDotsAboveMed absHahThreeDotsUpwardBelowMed absSeenMed absSheenMed absSeenDotBelowDotAboveMed 
	absSeenThreeDotsBelowMed absSeenThreeDotsBelowThreeDotsAboveMed absSheenDotBelowMed absSheenRetro1Med 
	absSheenRetro2Med absSeenFourDotsAboveMed absSeenTwoVertAboveMed absSadMed absDadMed absSadTwoDotsBelowMed 
	absSadThreeDotsAboveMed absDadDotBelowMed absTahMed absZahMed absTahThreeDotsAboveMed 
	absAinMed absGhainMed absAinThreeDotsAboveMed absGhainDotBelowMed absAinTwoDotsAboveMed 
	absAinThreeDotsDownAboveMed absAinTwoDotsVertAboveMed absFehMed absDotlessFehMed 
	absFehDotMovedBelowMed absFehDotBelowMed absVehMed absFehThreeDotsBelowMed absPehehMed 
	absFehTwoDotsBelowMed absFehThreeDotsUpwardBelowMed absQafNoDotsMed absQafMed 
	absQafDotAboveMed absQafThreeDotsAboveMed absKafMed absKafDotAboveMed absNgMed 
	absKafThreeDotsBelowMed absKehehMed absKafRingMed absGafMed absGafRingMed absNgoehMed 
	absGafTwoDotsBelowMed absGuehMed absGafThreeDotsAboveMed absKehehDotAboveMed absKehehThreeDotsAboveMed 
	absKehehThreeDotsUpwardBelowMed absSwashKafMed absLamMed absLamSmallVMed absLamDotAboveMed 
	absLamThreeDotsAboveMed absLamThreeDotsBelowMed absLamRetroMed absLamBarMed absMeemMed 
	absMeemDotAboveMed absMeemDotBelowMed absNoonMed absNoonDotBelowMed absNoonGhunnaMed 
	absRnoonMed absNoonRingMed absNoonThreeDotsAboveMed absNoonTwoDotsBelowMed absNoonRetroMed 
	absNoonSmallVMed absHehDoachashmeeMed absHehHatMed absHehMed absHehMed__hooked absHehMed__knottedHigh 
	absHehYehAboveMed absHehGoalMed absHehGoalHamzaAboveMed absYehHamzaAboveIni absYehIni 
	absYehIni__noDots absHighHamzaYehIni absFarsiYehIni absYehSmallVIni absEIni absYehThreeDotsBelowIni 
	absAlefMaksuraIni absBehNoDotsIni absBehIni absTehIni absThehIni absTtehIni 
	absTtehehIni absBeehIni absTehRingIni absTehThreeDotsAboveDownwardsIni absPehIni 
	absTehehIni absBehehIni absBehThreeDotsHorizBelowIni absBehThreeDotsAboveDotBelowIni 
	absBehThreeDotsUpwardBelowIni 
	absBehTwoDotsAboveThreeDotsUpwardBelowIni absBehDotAboveTwoDotsBelowIni absBehInvSmallVBelowIni 
	absBehSmallVAboveIni absJeemIni absHahIni absKhahIni absHahHamzaAboveIni absHahTwoDotsVerticalAboveIni 
	absNyehIni absDyehIni absHahThreeDotsAboveIni absTchehIni absTchehehIni absTchehDotAboveIni 
	absTchehRetro1Ini absTchehRetro2Ini absJeemRetro1Ini absJeemRetro2Ini absJeemRetro3Ini 
	absHahTwoDotsAboveIni absHahThreeDotsUpwardBelowIni absSeenIni absSheenIni absSeenDotBelowDotAboveIni 
	absSeenThreeDotsBelowIni absSeenThreeDotsBelowThreeDotsAboveIni absSheenDotBelowIni absSheenRetro1Ini 
	absSheenRetro2Ini absSeenFourDotsAboveIni absSeenTwoVertAboveIni absSadIni absDadIni 
	absSadTwoDotsBelowIni absSadThreeDotsAboveIni absDadDotBelowIni absTahIni absZahIni 
	absTahThreeDotsAboveIni absAinIni absGhainIni absAinThreeDotsAboveIni absGhainDotBelowIni 
	absAinTwoDotsAboveIni absAinThreeDotsDownAboveIni absAinTwoDotsVertAboveIni absFehIni absDotlessFehIni 
	absFehDotMovedBelowIni absFehDotBelowIni absVehIni absFehThreeDotsBelowIni absPehehIni 
	absFehTwoDotsBelowIni absFehThreeDotsUpwardBelowIni absQafNoDotsIni absQafIni 
	absQafDotAboveIni absQafThreeDotsAboveIni absKafIni absKafDotAboveIni absNgIni 
	absKafThreeDotsBelowIni absKehehIni absKafRingIni absGafIni absGafRingIni absNgoehIni 
	absGafTwoDotsBelowIni absGuehIni absGafThreeDotsAboveIni absKehehDotAboveIni absKehehThreeDotsAboveIni 
	absKehehThreeDotsUpwardBelowIni absSwashKafIni absLamIni absLamSmallVIni absLamDotAboveIni 
	absLamThreeDotsAboveIni absLamThreeDotsBelowIni absLamRetroIni absLamBarIni absMeemIni 
	absMeemDotAboveIni absMeemDotBelowIni absNoonIni absNoonDotBelowIni absNoonGhunnaIni 
	absRnoonIni absNoonRingIni absNoonThreeDotsAboveIni absNoonTwoDotsBelowIni absNoonRetroIni 
	absNoonSmallVIni absHehDoachashmeeIni absHehHatIni absHehIni absHehIni__hooked absHehYehAboveIni 
	absHehGoalIni absHehGoalHamzaAboveIni absHighHamza absKasratan absKasra absHamzaBelow 
	absSubscriptAlef absVowelDotBelow absAfghaniSign absComma absComma__downward absMisraSign 
	absSemicolon absSemicolon__downward absQuestionMark absFivePointedStar absFullStop absPlaceOfSajdah 
	absAutoKashida absLamIni__preAlef absLamSmallVIni__preAlef
	absLamDotAboveIni__preAlef absLamThreeDotsAboveIni__preAlef 
	absLamThreeDotsBelowIni__preAlef absLamRetroIni__preAlef absLamBarIni__preAlef 
	absAlefMaddaAboveFin__postLamIni absAlefHamzaAboveFin__postLamIni absAlefHamzaBelowFin__postLamIni
	absAlefFin__postLamIni absAlefWavyHamzaAboveFin__postLamIni 
	absAlefWavyHamzaBelowFin__postLamIni absHighHamzaAlefFin__postLamIni 
	absAlefWaslaFin__postLamIni absLamMed__preAlef 
	absLamSmallVMed__preAlef absLamDotAboveMed__preAlef absLamThreeDotsAboveMed__preAlef 
	absLamThreeDotsBelowMed__preAlef absLamRetroMed__preAlef absLamBarMed__preAlef 
	absAlefMaddaAboveFin__postLamMed absAlefHamzaAboveFin__postLamMed 
	absAlefHamzaBelowFin__postLamMed absAlefFin__postLamMed
	absAlefWavyHamzaAboveFin__postLamMed absAlefWavyHamzaBelowFin__postLamMed 
	absHighHamzaAlefFin__postLamMed absAlefWaslaFin__postLamMed	
	cDiaDigitBelow	// Constructed Unicode 5.X characters
	);


cHasAlef = (
	absWawHamzaAbove absWaw absHighHamzaWaw absUHamzaAbove absWawRing absKirghizOe absOe absU absYu 
	absKirghizYu absWawTwoDotsAbove absVe absWawDotAbove absWawDotBelow absDal absThal absDdal 
	absDalRing absDalDotBelow absDalDotBelowSmallTah absDahal absDdahal absDul absDalThreeDotsAboveDownwards 
	absDalFourDotsAbove absDalHat absDalTwoVertBelowSmallTah absDalInvSmallVBelow absReh absZain 
	absRreh absRehSmallV absRehRing absRehDotBelow absRehSmallVBelow absRehDotBelowDotAbove 
	absRehTwoDotsAbove absJeh absRehFourDotsAbove absRehTwoVertAbove absRehHamzaAbove absJehRetro1 
	absJehRetro2 absJeh__dotHat absRehHat absRehBar absBehNoDots absBeh absTeh absTheh 
	absTteh absTteheh absBeeh absTehRing absTehThreeDotsAboveDownwards absPeh absTeheh 
	absBeheh absBehThreeDotsHorizBelow absBehThreeDotsAboveDotBelow absBehThreeDotsUpwardBelow 
	absBehTwoDotsAboveThreeDotsUpwardBelow absBehDotAboveTwoDotsBelow absBehInvSmallVBelow absBehSmallVAbove 
	absJeem absHah absKhah absHahHamzaAbove absHahTwoDotsVerticalAbove absNyeh absDyeh 
	absHahThreeDotsAbove absTcheh absTcheheh absTchehDotAbove absTchehRetro1 absTchehRetro2 absJeemRetro1 
	absJeemRetro2 absJeemRetro3 absHahTwoDotsAbove absHahThreeDotsUpwardBelow absTah absZah 
	absTahThreeDotsAbove absFeh absDotlessFeh absFehDotMovedBelow absFehDotBelow absVeh absFehThreeDotsBelow 
	absPeheh absFehTwoDotsBelow absFehThreeDotsUpwardBelow absKaf absKafDotAbove absNg absKafThreeDotsBelow 
	absKeheh absKafRing absGaf absGafRing absNgoeh absGafTwoDotsBelow absGueh absGafThreeDotsAbove 
	absKehehDotAbove absKehehThreeDotsAbove absKehehThreeDotsUpwardBelow absLam absLamSmallV absLamDotAbove 
	absLamThreeDotsAbove absLamThreeDotsBelow absLamRetro absLamBar absRnoon absNoonRetro absWawHamzaAboveFin 
	absWawFin absHighHamzaWawFin absWawRingFin absKirghizOeFin absOeFin absUFin absYuFin absKirghizYuFin 
	absWawTwoDotsAboveFin absVeFin absWawDotAboveFin absWawDotBelowFin absDalFin absThalFin absDdalFin 
	absDalRingFin absDalDotBelowFin absDalDotBelowSmallTahFin absDahalFin absDdahalFin absDulFin 
	absDalThreeDotsAboveDownwardsFin absDalFourDotsAboveFin absDalHatFin 
	absDalTwoVertBelowSmallTahFin absDalInvSmallVBelowFin 
	absRehFin absZainFin absRrehFin absRehSmallVFin absRehRingFin absRehDotBelowFin absRehSmallVBelowFin 
	absRehDotBelowDotAboveFin absRehTwoDotsAboveFin absJehFin absRehFourDotsAboveFin absRehTwoVertAboveFin 
	absRehHamzaAboveFin absJehRetro1Fin absJehRetro2Fin absJehFin__dotHat absRehHatFin 
	absRehBarFin absBehNoDotsFin absBehFin absTehFin absThehFin absTtehFin absTtehehFin absBeehFin 
	absTehRingFin absTehThreeDotsAboveDownwardsFin absPehFin absTehehFin 
	absBehehFin absBehThreeDotsHorizBelowFin 
	absBehThreeDotsAboveDotBelowFin absBehThreeDotsUpwardBelowFin 
	absBehTwoDotsAboveThreeDotsUpwardBelowFin absBehDotAboveTwoDotsBelowFin 
	absBehInvSmallVBelowFin absBehSmallVAboveFin absJeemFin absHahFin absKhahFin absHahHamzaAboveFin 
	absHahTwoDotsVerticalAboveFin absNyehFin absDyehFin absHahThreeDotsAboveFin absTchehFin 
	absTchehehFin absTchehDotAboveFin absTchehRetro1Fin absTchehRetro2Fin absJeemRetro1Fin absJeemRetro2Fin 
	absJeemRetro3Fin absHahTwoDotsAboveFin absHahThreeDotsUpwardBelowFin absTahFin absZahFin 
	absTahThreeDotsAboveFin absFehFin absDotlessFehFin absFehDotMovedBelowFin absFehDotBelowFin absVehFin 
	absFehThreeDotsBelowFin absPehehFin 
	absFehTwoDotsBelowFin absFehThreeDotsUpwardBelowFin absKafFin absKafDotAboveFin absNgFin 
	absKafThreeDotsBelowFin absKehehFin absKafRingFin absGafFin absGafRingFin absNgoehFin absGafTwoDotsBelowFin 
	absGuehFin absGafThreeDotsAboveFin absKehehDotAboveFin absKehehThreeDotsAboveFin 
	absKehehThreeDotsUpwardBelowFin 
	absLamFin absLamSmallVFin absLamDotAboveFin absLamThreeDotsAboveFin absLamThreeDotsBelowFin 
	absLamRetroFin absLamBarFin absNoonFin absNoonDotBelowFin absNoonGhunnaFin absRnoonFin 
	absNoonRingFin absNoonThreeDotsAboveFin absNoonTwoDotsBelowFin absNoonRetroFin absNoonSmallVFin 
	absYehHamzaAboveMed absYehMed absYehMed__noDots absHighHamzaYehMed absFarsiYehMed absYehSmallVMed 
	absEMed absYehThreeDotsBelowMed absAlefMaksuraMed absBehNoDotsMed absBehMed absTehMed absThehMed 
	absTtehMed absTtehehMed absBeehMed absTehRingMed absTehThreeDotsAboveDownwardsMed absPehMed 
	absTehehMed absBehehMed absBehThreeDotsHorizBelowMed absBehThreeDotsAboveDotBelowMed 
	absBehThreeDotsUpwardBelowMed absBehTwoDotsAboveThreeDotsUpwardBelowMed absBehDotAboveTwoDotsBelowMed 
	absBehInvSmallVBelowMed absBehSmallVAboveMed absJeemMed absHahMed absKhahMed absHahHamzaAboveMed 
	absHahTwoDotsVerticalAboveMed absNyehMed absDyehMed absHahThreeDotsAboveMed absTchehMed 
	absTchehehMed absTchehDotAboveMed absTchehRetro1Med absTchehRetro2Med absJeemRetro1Med absJeemRetro2Med 
	absJeemRetro3Med absHahTwoDotsAboveMed 
	absHahThreeDotsUpwardBelowMed absSeenMed absSheenMed absSeenDotBelowDotAboveMed 
	absSeenThreeDotsBelowMed absSeenThreeDotsBelowThreeDotsAboveMed 
	absSheenDotBelowMed absSheenRetro1Med absSheenRetro2Med absSeenFourDotsAboveMed absSeenTwoVertAboveMed 
	absSadMed absDadMed absSadTwoDotsBelowMed absSadThreeDotsAboveMed absDadDotBelowMed absTahMed 
	absZahMed absTahThreeDotsAboveMed absFehMed absDotlessFehMed absFehDotMovedBelowMed absFehDotBelowMed 
	absVehMed absFehThreeDotsBelowMed absPehehMed absFehTwoDotsBelowMed absFehThreeDotsUpwardBelowMed 
	absQafNoDotsMed absQafMed absQafDotAboveMed absQafThreeDotsAboveMed absKafMed absKafDotAboveMed 
	absNgMed absKafThreeDotsBelowMed absKehehMed absKafRingMed absGafMed absGafRingMed absNgoehMed 
	absGafTwoDotsBelowMed absGuehMed absGafThreeDotsAboveMed absKehehDotAboveMed absKehehThreeDotsAboveMed 
	absKehehThreeDotsUpwardBelowMed absSwashKafMed absLamMed absLamSmallVMed absLamDotAboveMed 
	absLamThreeDotsAboveMed absLamThreeDotsBelowMed absLamRetroMed absLamBarMed absMeemMed 
	absMeemDotAboveMed absMeemDotBelowMed absNoonMed absNoonDotBelowMed absNoonGhunnaMed absRnoonMed 
	absNoonRingMed absNoonThreeDotsAboveMed absNoonTwoDotsBelowMed absNoonRetroMed absNoonSmallVMed 
	absHehDoachashmeeMed absHehMed absHehMed__knottedHigh absHehYehAboveMed absYehHamzaAboveIni 
	absYehIni absYehIni__noDots absHighHamzaYehIni absFarsiYehIni
	absYehSmallVIni absEIni absYehThreeDotsBelowIni 
	absAlefMaksuraIni absBehNoDotsIni absBehIni absTehIni absThehIni absTtehIni absTtehehIni absBeehIni 
	absTehRingIni absTehThreeDotsAboveDownwardsIni absPehIni absTehehIni absBehehIni 
	absBehThreeDotsHorizBelowIni 
	absBehThreeDotsAboveDotBelowIni absBehThreeDotsUpwardBelowIni 
	absBehTwoDotsAboveThreeDotsUpwardBelowIni absBehDotAboveTwoDotsBelowIni 
	absBehInvSmallVBelowIni absBehSmallVAboveIni absJeemIni absHahIni absKhahIni absHahHamzaAboveIni 
	absHahTwoDotsVerticalAboveIni absNyehIni absDyehIni absHahThreeDotsAboveIni absTchehIni absTchehehIni 
	absTchehDotAboveIni absTchehRetro1Ini absTchehRetro2Ini absJeemRetro1Ini absJeemRetro2Ini 
	absJeemRetro3Ini absHahTwoDotsAboveIni absHahThreeDotsUpwardBelowIni absSeenIni absSheenIni 
	absSeenDotBelowDotAboveIni absSeenThreeDotsBelowIni
	absSeenThreeDotsBelowThreeDotsAboveIni absSheenDotBelowIni 
	absSheenRetro1Ini absSheenRetro2Ini absSeenFourDotsAboveIni absSeenTwoVertAboveIni absSadIni 
	absDadIni absSadTwoDotsBelowIni absSadThreeDotsAboveIni absDadDotBelowIni absTahIni absZahIni 
	absTahThreeDotsAboveIni absKafIni absKafDotAboveIni absNgIni absKafThreeDotsBelowIni absKehehIni 
	absKafRingIni absGafIni absGafRingIni absNgoehIni absGafTwoDotsBelowIni absGuehIni absGafThreeDotsAboveIni 
	absKehehDotAboveIni absKehehThreeDotsAboveIni absKehehThreeDotsUpwardBelowIni absSwashKafIni absLamIni 
	absLamSmallVIni absLamDotAboveIni absLamThreeDotsAboveIni absLamThreeDotsBelowIni absLamRetroIni 
	absLamBarIni absMeemIni absMeemDotAboveIni absMeemDotBelowIni absNoonIni absNoonDotBelowIni 
	absNoonGhunnaIni absRnoonIni absNoonRingIni absNoonThreeDotsAboveIni absNoonTwoDotsBelowIni 
	absNoonRetroIni absNoonSmallVIni absHehDoachashmeeIni absHehHatIni absHehIni absHehIni__hooked
	absHehYehAboveIni absHehGoalIni absHehGoalHamzaAboveIni 
	absLamIni__preAlef absLamSmallVIni__preAlef absLamDotAboveIni__preAlef absLamThreeDotsAboveIni__preAlef 
	absLamThreeDotsBelowIni__preAlef absLamRetroIni__preAlef
	absLamBarIni__preAlef absAlefMaddaAboveFin__postLamIni 
	absAlefHamzaAboveFin__postLamIni absAlefHamzaBelowFin__postLamIni absAlefFin__postLamIni 
	absAlefWavyHamzaAboveFin__postLamIni absAlefWavyHamzaBelowFin__postLamIni absHighHamzaAlefFin__postLamIni 
	absAlefWaslaFin__postLamIni absLamMed__preAlef absLamSmallVMed__preAlef absLamDotAboveMed__preAlef 
	absLamThreeDotsAboveMed__preAlef absLamThreeDotsBelowMed__preAlef absLamRetroMed__preAlef 
	absLamBarMed__preAlef absAlefMaddaAboveFin__postLamMed absAlefHamzaAboveFin__postLamMed 
	absAlefHamzaBelowFin__postLamMed absAlefFin__postLamMed absAlefWavyHamzaAboveFin__postLamMed 
	absAlefWavyHamzaBelowFin__postLamMed absHighHamzaAlefFin__postLamMed
	absAlefWaslaFin__postLamMed);

cHasDigit = (
	absNumberSign absYearSign absFootnoteSign absPageSign absEndOfAyah absEndOfAyah__alt 
	absEndOfAyah__altB zeroMedium oneMedium twoMedium threeMedium fourMedium 
	fiveMedium sixMedium sevenMedium eightMedium nineMedium absZeroMedium 
	absOneMedium absTwoMedium absThreeMedium absFourMedium absFiveMedium absSixMedium 
	absSevenMedium absEightMedium absNineMedium absEasternZeroMedium absEasternOneMedium absEasternTwoMedium 
	absEasternThreeMedium absEasternFourMedium absEasternFourMedium__urdu absEasternFiveMedium 
	absEasternSixMedium absEasternSixMedium__urdu absEasternSevenMedium absEasternSevenMedium__urdu 
	absEasternEightMedium absEasternNineMedium zeroSmall oneSmall twoSmall threeSmall 
	fourSmall fiveSmall sixSmall sevenSmall eightSmall nineSmall absZeroSmall absOneSmall 
	absTwoSmall absThreeSmall absFourSmall absFiveSmall absSixSmall absSevenSmall absEightSmall 
	absNineSmall absEasternZeroSmall absEasternOneSmall absEasternTwoSmall absEasternThreeSmall 
	absEasternFourSmall absEasternFourSmall__urdu absEasternFiveSmall absEasternSixSmall 
	absEasternSixSmall__urdu absEasternSevenSmall absEasternSevenSmall__urdu absEasternEightSmall 
	absEasternNineSmall absEndOfAyah__2 absEndOfAyah__3 absEndOfAyah__alt__2 absEndOfAyah__alt__3 
	absEndOfAyah__altB__2 absEndOfAyah__altB__3 absNumberSign__2 absNumberSign__3 absYearSign__2 
	absYearSign__3 absYearSign__4 absFootnoteSign__2 absPageSign__2 absPageSign__3);

cHasEntry = (absAlefMaddaAboveFin__postLamIni absAlefHamzaAboveFin__postLamIni 
	absAlefHamzaBelowFin__postLamIni absAlefFin__postLamIni absAlefWavyHamzaAboveFin__postLamIni 
	absAlefWavyHamzaBelowFin__postLamIni absHighHamzaAlefFin__postLamIni absAlefWaslaFin__postLamIni 
	absAlefMaddaAboveFin__postLamMed absAlefHamzaAboveFin__postLamMed absAlefHamzaBelowFin__postLamMed 
	absAlefFin__postLamMed absAlefWavyHamzaAboveFin__postLamMed absAlefWavyHamzaBelowFin__postLamMed 
	absHighHamzaAlefFin__postLamMed absAlefWaslaFin__postLamMed);

cHasExit = (absLamIni__preAlef absLamSmallVIni__preAlef absLamDotAboveIni__preAlef 
	absLamThreeDotsAboveIni__preAlef absLamThreeDotsBelowIni__preAlef 
	absLamRetroIni__preAlef absLamBarIni__preAlef absLamMed__preAlef 
	absLamSmallVMed__preAlef absLamDotAboveMed__preAlef absLamThreeDotsAboveMed__preAlef 
	absLamThreeDotsBelowMed__preAlef absLamRetroMed__preAlef absLamBarMed__preAlef);

cHasDia2B = (absAlefMaddaAboveFin__postLamIni absAlefHamzaAboveFin__postLamIni 
	absAlefHamzaAboveFin__postLamIni absAlefHamzaBelowFin__postLamIni 
	absAlefFin__postLamIni absAlefWavyHamzaAboveFin__postLamIni 
	absAlefWavyHamzaBelowFin__postLamIni absHighHamzaAlefFin__postLamIni 
	absAlefWaslaFin__postLamIni absAlefMaddaAboveFin__postLamMed 
	absAlefHamzaAboveFin__postLamMed absAlefHamzaBelowFin__postLamMed 
	absAlefFin__postLamMed absAlefWavyHamzaAboveFin__postLamMed 
	absAlefWavyHamzaBelowFin__postLamMed absHighHamzaAlefFin__postLamMed
	absAlefWaslaFin__postLamMed);


// Attachees

cMatchesDiaA = (absFathatan absDammatan absFatha absDamma absShadda absSukun absMaddahAbove absHamzaAbove 
	absUltaPesh absNoonGhunnaMark absZwarakay absVowelSmallV absVowelInvSmallV absReversedDamma 
	absFathaTwoDots absSuperscriptAlef absSuperscriptAlef__large absSmallHighSadLamAlefMaksura 
	absSmallHighQafLamAlefMaksura absSmallHighMeemInitialForm absSmallHighLamAlef absSmallHighJeem 
	absSmallHighThreeDots absSmallHighSeen absSmallHighRoundedZero absSmallHighUprightRectangularZero 
	absSmallHighDotlessHeadOfKhah absSmallHighMeemIsolatedForm absSmallHighMadda absSmallHighYeh 
	absSmallHighNoon absEmptyCentreHighStop absRoundedHighStopFilledCentre absSmallHighSadMark 
	absSmallHighAinMark absSmallHighRehHahMark absSmallHighRehDadMark absNameMarker 
	absSmallHighTah absShaddaFathatan absShaddaDammatan absShaddaKasratan absShaddaFatha 
	absShaddaDamma absShaddaKasra absHamzaFatha absHamzaDamma absShaddaAlef absSukun__leftOpen 
	absSukun__downOpen absDammatan__sixNine
	r_comma	// for testing non-canonical ordering
	);

cMatchesDiaB = (absKasratan absKasra absHamzaBelow absSubscriptAlef absVowelDotBelow
	absSmallLowSeen absEmptyCentreLowStop absSmallLowMeem);
	
cMatchesDia2B = (absHamzaBelow absSmallLowSeen absEmptyCentreLowStop absSmallLowMeem);

cMatchesAlef = (absSuperscriptAlef);

cMatchesDigit = (zeroMedium oneMedium twoMedium threeMedium fourMedium fiveMedium sixMedium sevenMedium 
	eightMedium nineMedium absZeroMedium absOneMedium absTwoMedium absThreeMedium absFourMedium 
	absFiveMedium absSixMedium absSevenMedium absEightMedium absNineMedium absEasternZeroMedium 
	absEasternOneMedium absEasternTwoMedium absEasternThreeMedium absEasternFourMedium
	absEasternFourMedium__urdu absEasternFiveMedium absEasternSixMedium 
	absEasternSixMedium__urdu absEasternSevenMedium absEasternSevenMedium__urdu 
	absEasternEightMedium absEasternNineMedium zeroSmall oneSmall twoSmall threeSmall fourSmall 
	fiveSmall sixSmall sevenSmall eightSmall nineSmall absZeroSmall absOneSmall absTwoSmall 
	absThreeSmall absFourSmall absFiveSmall absSixSmall absSevenSmall absEightSmall absNineSmall 
	absEasternZeroSmall absEasternOneSmall absEasternTwoSmall absEasternThreeSmall 
	absEasternFourSmall absEasternFourSmall__urdu absEasternFiveSmall absEasternSixSmall 
	absEasternSixSmall__urdu absEasternSevenSmall absEasternSevenSmall__urdu 
	absEasternEightSmall absEasternNineSmall);



// Not needed by Graphite (only by AAT):
/***
cHasAbove = (
	absAlef absWaw absDal absReh absYehBarree absYeh__noDots absBehNoDots absHah 
	absSeen absSad absTah absAin absDotlessFeh absQafNoDots absKaf absKeheh absLam 
	absMeem absMeem__sindhi absNoonGhunna absHehDoachashmee absAe absHamza absLamAlef absAlefFin 
	absWawFin absDalFin absRehFin absYehBarreeFin absYehFin__noDots absBehNoDotsFin absHahFin 
	absSeenFin absSadFin absTahFin absAinFin absDotlessFehFin absQafNoDotsFin absKafFin 
	absKehehFin absLamFin absMeemFin absMeemFin__sindhi absNoonGhunnaFin absHehDoachashmeeFin 
	absHehFin__knottedHigh absAeFin absHehGoalFin absLamAlefFin absBehNoDotsMed absHahMed 
	absSeenMed absSadMed absTahMed absAinMed absDotlessFehMed absKafMed absLamMed 
	absMeemMed absHehDoachashmeeMed absHehMed__knottedHigh absBehNoDotsIni absHahIni 
	absSeenIni absSadIni absTahIni absAinIni absDotlessFehIni absKafIni absLamIni absMeemIni 
	absHehDoachashmeeIni absMisraSign absLamIni__preAlef absAlefFin__postLamIni 
	absLamMed__preAlef absAlefFin__postLamMed);

cHasBelow = (
	absAlef absWaw absDal absReh absYehBarree absYeh__noDots absBehNoDots absSeen 
	absSad absTah absAin absDotlessFeh absQafNoDots absKaf absKeheh absLam absMeem 
	absMeem__sindhi absNoonGhunna absHehDoachashmee absAe absHamza absLamAlef absAlefFin 
	absWawFin absDalFin absRehFin absYehBarreeFin absYehFin__noDots absBehNoDotsFin absSeenFin 
	absSadFin absTahFin absAinFin absDotlessFehFin absQafNoDotsFin absKafFin absKehehFin 
	absLamFin absMeemFin absMeemFin__sindhi absNoonGhunnaFin absHehDoachashmeeFin 
	absHehFin__knottedHigh absAeFin absHehGoalFin absLamAlefFin absBehNoDotsMed absHahMed 
	absSeenMed absSadMed absTahMed absAinMed absDotlessFehMed absKafMed absLamMed 
	absMeemMed absHehDoachashmeeMed absHehMed__knottedHigh absBehNoDotsIni absHahIni 
	absSeenIni absSadIni absTahIni absAinIni absDotlessFehIni absKafIni absLamIni 
	absMeemIni absHehDoachashmeeIni absMisraSign absLamIni__preAlef absAlefFin__postLamIni 
	absLamMed__preAlef absAlefFin__postLamMed);

cHasCenter = (absWaw absReh absHah absWawFin absRehFin absHahFin);

cHasRing = (absWaw absDal absReh absBehNoDots absKeheh absNoonGhunna absWawFin absDalFin 
	absRehFin absBehNoDotsFin absKehehFin absNoonGhunnaFin absBehNoDotsMed absKafMed
	absBehNoDotsIni absKafIni);

cHasThrough = (absWaw absReh absLam absLamAlef absWawFin absRehFin absLamFin absLamAlefFin
	absLamMed absLamIni);

cHasAbove2 = (absLamAlef);

cHasBelow2 = (absLamAlef);

cHasDiaA1 = (absLamAlef absLamSmallVAlef absLamDotAboveAlef absLamThreeDotsAboveAlef
	absLamThreeDotsBelowAlef absLamRetroAlef absLamBarAlef
	absLamAlefFin absLamSmallVAlefFin absLamDotAboveAlefFin absLamThreeDotsAboveAlefFin 
	absLamThreeDotsBelowAlefFin absLamRetroAlefFin absLamBarAlefFin);
	
cHasDiaA2 = (cHasDiaA1);
cHasDiaB1 = (cHasDiaA1);
cHasDiaB2 = (cHasDiaA1);
cHasDia2B2 = (cHasDiaA1);
cHasAlef1 = (cHasDiaA1);
cHasAlef2 = (cHasDiaA1);

cMatchesAbove = (absZwarakay absSmallHighSadMark absSmallHighAinMark absSmallHighRehHahMark 
	absSmallHighRehDadMark ring caron _dot1 _dot1_tah _dot1_smallV _dot1_hat _dot2h _dot2h_tah 
	_dot2v _dot3u _dot3u_tah _dot3d _dot3h _dot4 _tah _madda _hamza _highHamza _wavyHamza 
	_wasla _hamzaDamma _smallV _invSmallV _damma _vline _hat _gafBar _gafBar_dot2h _gafBar_dot3u 
	_gafBarShort _gafBarShort_dot2h _gafBarShort_dot3u0;

cMatchesBelow = (_dot1 _dot1_tah _dot1_smallV _dot1_hat _dot2h _dot2h_tah _dot2v _dot3u 
	_dot3u_tah _dot3d _dot3h _dot4 _tah _hamza _wavyHamza _wasla _smallV _invSmallV
	_hat _lines);
	
cMatchesCenter = (_dot1 _dot2h _dot2h_tah _dot2v _dot3u _dot3u_tah _dot3d _dot3h _dot4 _tah _bar);

cMatchesRing = (_ring);

cMatchesThrough = (_bar);

***/

endtable; // glyph