Source

main / Test / IdentifierValidatorTests.fs

Full commit
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
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
// Copyright (c) Stephan Tolksdorf 2010-2012
// License: Simplified BSD License. See accompanying documentation.

module FParsec.Test.IdentifierValidatorTests

open FParsec.Test.Test

// the following string contains parts of http://www.unicode.org/Public/6.1.0/ucd/DerivedCoreProperties.txt
let xidProperties = @"
# DerivedCoreProperties-6.1.0.txt
# Date: 2011-12-11, 18:26:55 GMT [MD]
#
# Unicode Character Database
# Copyright (c) 1991-2011 Unicode, Inc.
# For terms of use, see http://www.unicode.org/terms_of_use.html
# For documentation, see http://www.unicode.org/reports/tr44/

# ================================================

# Derived Property: XID_Start
#  ID_Start modified for closure under NFKx
#  Modified as described in UAX #15
#  NOTE: Does NOT remove the non-NFKx characters.
#        Merely ensures that if isIdentifer(string) then isIdentifier(NFKx(string))
#  NOTE: See UAX #31 for more information

0041..005A    ; XID_Start # L&  [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
0061..007A    ; XID_Start # L&  [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
00AA          ; XID_Start # Lo       FEMININE ORDINAL INDICATOR
00B5          ; XID_Start # L&       MICRO SIGN
00BA          ; XID_Start # Lo       MASCULINE ORDINAL INDICATOR
00C0..00D6    ; XID_Start # L&  [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
00D8..00F6    ; XID_Start # L&  [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
00F8..01BA    ; XID_Start # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
01BB          ; XID_Start # Lo       LATIN LETTER TWO WITH STROKE
01BC..01BF    ; XID_Start # L&   [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
01C0..01C3    ; XID_Start # Lo   [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
01C4..0293    ; XID_Start # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
0294          ; XID_Start # Lo       LATIN LETTER GLOTTAL STOP
0295..02AF    ; XID_Start # L&  [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
02B0..02C1    ; XID_Start # Lm  [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
02C6..02D1    ; XID_Start # Lm  [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
02E0..02E4    ; XID_Start # Lm   [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
02EC          ; XID_Start # Lm       MODIFIER LETTER VOICING
02EE          ; XID_Start # Lm       MODIFIER LETTER DOUBLE APOSTROPHE
0370..0373    ; XID_Start # L&   [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
0374          ; XID_Start # Lm       GREEK NUMERAL SIGN
0376..0377    ; XID_Start # L&   [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
037B..037D    ; XID_Start # L&   [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
0386          ; XID_Start # L&       GREEK CAPITAL LETTER ALPHA WITH TONOS
0388..038A    ; XID_Start # L&   [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
038C          ; XID_Start # L&       GREEK CAPITAL LETTER OMICRON WITH TONOS
038E..03A1    ; XID_Start # L&  [20] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER RHO
03A3..03F5    ; XID_Start # L&  [83] GREEK CAPITAL LETTER SIGMA..GREEK LUNATE EPSILON SYMBOL
03F7..0481    ; XID_Start # L& [139] GREEK CAPITAL LETTER SHO..CYRILLIC SMALL LETTER KOPPA
048A..0527    ; XID_Start # L& [158] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER SHHA WITH DESCENDER
0531..0556    ; XID_Start # L&  [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
0559          ; XID_Start # Lm       ARMENIAN MODIFIER LETTER LEFT HALF RING
0561..0587    ; XID_Start # L&  [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
05D0..05EA    ; XID_Start # Lo  [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
05F0..05F2    ; XID_Start # Lo   [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD
0620..063F    ; XID_Start # Lo  [32] ARABIC LETTER KASHMIRI YEH..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
0640          ; XID_Start # Lm       ARABIC TATWEEL
0641..064A    ; XID_Start # Lo  [10] ARABIC LETTER FEH..ARABIC LETTER YEH
066E..066F    ; XID_Start # Lo   [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF
0671..06D3    ; XID_Start # Lo  [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
06D5          ; XID_Start # Lo       ARABIC LETTER AE
06E5..06E6    ; XID_Start # Lm   [2] ARABIC SMALL WAW..ARABIC SMALL YEH
06EE..06EF    ; XID_Start # Lo   [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V
06FA..06FC    ; XID_Start # Lo   [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW
06FF          ; XID_Start # Lo       ARABIC LETTER HEH WITH INVERTED V
0710          ; XID_Start # Lo       SYRIAC LETTER ALAPH
0712..072F    ; XID_Start # Lo  [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH
074D..07A5    ; XID_Start # Lo  [89] SYRIAC LETTER SOGDIAN ZHAIN..THAANA LETTER WAAVU
07B1          ; XID_Start # Lo       THAANA LETTER NAA
07CA..07EA    ; XID_Start # Lo  [33] NKO LETTER A..NKO LETTER JONA RA
07F4..07F5    ; XID_Start # Lm   [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
07FA          ; XID_Start # Lm       NKO LAJANYALAN
0800..0815    ; XID_Start # Lo  [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF
081A          ; XID_Start # Lm       SAMARITAN MODIFIER LETTER EPENTHETIC YUT
0824          ; XID_Start # Lm       SAMARITAN MODIFIER LETTER SHORT A
0828          ; XID_Start # Lm       SAMARITAN MODIFIER LETTER I
0840..0858    ; XID_Start # Lo  [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
08A0          ; XID_Start # Lo       ARABIC LETTER BEH WITH SMALL V BELOW
08A2..08AC    ; XID_Start # Lo  [11] ARABIC LETTER JEEM WITH TWO DOTS ABOVE..ARABIC LETTER ROHINGYA YEH
0904..0939    ; XID_Start # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
093D          ; XID_Start # Lo       DEVANAGARI SIGN AVAGRAHA
0950          ; XID_Start # Lo       DEVANAGARI OM
0958..0961    ; XID_Start # Lo  [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL
0971          ; XID_Start # Lm       DEVANAGARI SIGN HIGH SPACING DOT
0972..0977    ; XID_Start # Lo   [6] DEVANAGARI LETTER CANDRA A..DEVANAGARI LETTER UUE
0979..097F    ; XID_Start # Lo   [7] DEVANAGARI LETTER ZHA..DEVANAGARI LETTER BBA
0985..098C    ; XID_Start # Lo   [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L
098F..0990    ; XID_Start # Lo   [2] BENGALI LETTER E..BENGALI LETTER AI
0993..09A8    ; XID_Start # Lo  [22] BENGALI LETTER O..BENGALI LETTER NA
09AA..09B0    ; XID_Start # Lo   [7] BENGALI LETTER PA..BENGALI LETTER RA
09B2          ; XID_Start # Lo       BENGALI LETTER LA
09B6..09B9    ; XID_Start # Lo   [4] BENGALI LETTER SHA..BENGALI LETTER HA
09BD          ; XID_Start # Lo       BENGALI SIGN AVAGRAHA
09CE          ; XID_Start # Lo       BENGALI LETTER KHANDA TA
09DC..09DD    ; XID_Start # Lo   [2] BENGALI LETTER RRA..BENGALI LETTER RHA
09DF..09E1    ; XID_Start # Lo   [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
09F0..09F1    ; XID_Start # Lo   [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
0A05..0A0A    ; XID_Start # Lo   [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
0A0F..0A10    ; XID_Start # Lo   [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
0A13..0A28    ; XID_Start # Lo  [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
0A2A..0A30    ; XID_Start # Lo   [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA
0A32..0A33    ; XID_Start # Lo   [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA
0A35..0A36    ; XID_Start # Lo   [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA
0A38..0A39    ; XID_Start # Lo   [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA
0A59..0A5C    ; XID_Start # Lo   [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA
0A5E          ; XID_Start # Lo       GURMUKHI LETTER FA
0A72..0A74    ; XID_Start # Lo   [3] GURMUKHI IRI..GURMUKHI EK ONKAR
0A85..0A8D    ; XID_Start # Lo   [9] GUJARATI LETTER A..GUJARATI VOWEL CANDRA E
0A8F..0A91    ; XID_Start # Lo   [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O
0A93..0AA8    ; XID_Start # Lo  [22] GUJARATI LETTER O..GUJARATI LETTER NA
0AAA..0AB0    ; XID_Start # Lo   [7] GUJARATI LETTER PA..GUJARATI LETTER RA
0AB2..0AB3    ; XID_Start # Lo   [2] GUJARATI LETTER LA..GUJARATI LETTER LLA
0AB5..0AB9    ; XID_Start # Lo   [5] GUJARATI LETTER VA..GUJARATI LETTER HA
0ABD          ; XID_Start # Lo       GUJARATI SIGN AVAGRAHA
0AD0          ; XID_Start # Lo       GUJARATI OM
0AE0..0AE1    ; XID_Start # Lo   [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
0B05..0B0C    ; XID_Start # Lo   [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
0B0F..0B10    ; XID_Start # Lo   [2] ORIYA LETTER E..ORIYA LETTER AI
0B13..0B28    ; XID_Start # Lo  [22] ORIYA LETTER O..ORIYA LETTER NA
0B2A..0B30    ; XID_Start # Lo   [7] ORIYA LETTER PA..ORIYA LETTER RA
0B32..0B33    ; XID_Start # Lo   [2] ORIYA LETTER LA..ORIYA LETTER LLA
0B35..0B39    ; XID_Start # Lo   [5] ORIYA LETTER VA..ORIYA LETTER HA
0B3D          ; XID_Start # Lo       ORIYA SIGN AVAGRAHA
0B5C..0B5D    ; XID_Start # Lo   [2] ORIYA LETTER RRA..ORIYA LETTER RHA
0B5F..0B61    ; XID_Start # Lo   [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL
0B71          ; XID_Start # Lo       ORIYA LETTER WA
0B83          ; XID_Start # Lo       TAMIL SIGN VISARGA
0B85..0B8A    ; XID_Start # Lo   [6] TAMIL LETTER A..TAMIL LETTER UU
0B8E..0B90    ; XID_Start # Lo   [3] TAMIL LETTER E..TAMIL LETTER AI
0B92..0B95    ; XID_Start # Lo   [4] TAMIL LETTER O..TAMIL LETTER KA
0B99..0B9A    ; XID_Start # Lo   [2] TAMIL LETTER NGA..TAMIL LETTER CA
0B9C          ; XID_Start # Lo       TAMIL LETTER JA
0B9E..0B9F    ; XID_Start # Lo   [2] TAMIL LETTER NYA..TAMIL LETTER TTA
0BA3..0BA4    ; XID_Start # Lo   [2] TAMIL LETTER NNA..TAMIL LETTER TA
0BA8..0BAA    ; XID_Start # Lo   [3] TAMIL LETTER NA..TAMIL LETTER PA
0BAE..0BB9    ; XID_Start # Lo  [12] TAMIL LETTER MA..TAMIL LETTER HA
0BD0          ; XID_Start # Lo       TAMIL OM
0C05..0C0C    ; XID_Start # Lo   [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L
0C0E..0C10    ; XID_Start # Lo   [3] TELUGU LETTER E..TELUGU LETTER AI
0C12..0C28    ; XID_Start # Lo  [23] TELUGU LETTER O..TELUGU LETTER NA
0C2A..0C33    ; XID_Start # Lo  [10] TELUGU LETTER PA..TELUGU LETTER LLA
0C35..0C39    ; XID_Start # Lo   [5] TELUGU LETTER VA..TELUGU LETTER HA
0C3D          ; XID_Start # Lo       TELUGU SIGN AVAGRAHA
0C58..0C59    ; XID_Start # Lo   [2] TELUGU LETTER TSA..TELUGU LETTER DZA
0C60..0C61    ; XID_Start # Lo   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
0C85..0C8C    ; XID_Start # Lo   [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
0C8E..0C90    ; XID_Start # Lo   [3] KANNADA LETTER E..KANNADA LETTER AI
0C92..0CA8    ; XID_Start # Lo  [23] KANNADA LETTER O..KANNADA LETTER NA
0CAA..0CB3    ; XID_Start # Lo  [10] KANNADA LETTER PA..KANNADA LETTER LLA
0CB5..0CB9    ; XID_Start # Lo   [5] KANNADA LETTER VA..KANNADA LETTER HA
0CBD          ; XID_Start # Lo       KANNADA SIGN AVAGRAHA
0CDE          ; XID_Start # Lo       KANNADA LETTER FA
0CE0..0CE1    ; XID_Start # Lo   [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
0CF1..0CF2    ; XID_Start # Lo   [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
0D05..0D0C    ; XID_Start # Lo   [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
0D0E..0D10    ; XID_Start # Lo   [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
0D12..0D3A    ; XID_Start # Lo  [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA
0D3D          ; XID_Start # Lo       MALAYALAM SIGN AVAGRAHA
0D4E          ; XID_Start # Lo       MALAYALAM LETTER DOT REPH
0D60..0D61    ; XID_Start # Lo   [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
0D7A..0D7F    ; XID_Start # Lo   [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
0D85..0D96    ; XID_Start # Lo  [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
0D9A..0DB1    ; XID_Start # Lo  [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
0DB3..0DBB    ; XID_Start # Lo   [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA
0DBD          ; XID_Start # Lo       SINHALA LETTER DANTAJA LAYANNA
0DC0..0DC6    ; XID_Start # Lo   [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA
0E01..0E30    ; XID_Start # Lo  [48] THAI CHARACTER KO KAI..THAI CHARACTER SARA A
0E32          ; XID_Start # Lo       THAI CHARACTER SARA AA
0E40..0E45    ; XID_Start # Lo   [6] THAI CHARACTER SARA E..THAI CHARACTER LAKKHANGYAO
0E46          ; XID_Start # Lm       THAI CHARACTER MAIYAMOK
0E81..0E82    ; XID_Start # Lo   [2] LAO LETTER KO..LAO LETTER KHO SUNG
0E84          ; XID_Start # Lo       LAO LETTER KHO TAM
0E87..0E88    ; XID_Start # Lo   [2] LAO LETTER NGO..LAO LETTER CO
0E8A          ; XID_Start # Lo       LAO LETTER SO TAM
0E8D          ; XID_Start # Lo       LAO LETTER NYO
0E94..0E97    ; XID_Start # Lo   [4] LAO LETTER DO..LAO LETTER THO TAM
0E99..0E9F    ; XID_Start # Lo   [7] LAO LETTER NO..LAO LETTER FO SUNG
0EA1..0EA3    ; XID_Start # Lo   [3] LAO LETTER MO..LAO LETTER LO LING
0EA5          ; XID_Start # Lo       LAO LETTER LO LOOT
0EA7          ; XID_Start # Lo       LAO LETTER WO
0EAA..0EAB    ; XID_Start # Lo   [2] LAO LETTER SO SUNG..LAO LETTER HO SUNG
0EAD..0EB0    ; XID_Start # Lo   [4] LAO LETTER O..LAO VOWEL SIGN A
0EB2          ; XID_Start # Lo       LAO VOWEL SIGN AA
0EBD          ; XID_Start # Lo       LAO SEMIVOWEL SIGN NYO
0EC0..0EC4    ; XID_Start # Lo   [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
0EC6          ; XID_Start # Lm       LAO KO LA
0EDC..0EDF    ; XID_Start # Lo   [4] LAO HO NO..LAO LETTER KHMU NYO
0F00          ; XID_Start # Lo       TIBETAN SYLLABLE OM
0F40..0F47    ; XID_Start # Lo   [8] TIBETAN LETTER KA..TIBETAN LETTER JA
0F49..0F6C    ; XID_Start # Lo  [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
0F88..0F8C    ; XID_Start # Lo   [5] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN INVERTED MCHU CAN
1000..102A    ; XID_Start # Lo  [43] MYANMAR LETTER KA..MYANMAR LETTER AU
103F          ; XID_Start # Lo       MYANMAR LETTER GREAT SA
1050..1055    ; XID_Start # Lo   [6] MYANMAR LETTER SHA..MYANMAR LETTER VOCALIC LL
105A..105D    ; XID_Start # Lo   [4] MYANMAR LETTER MON NGA..MYANMAR LETTER MON BBE
1061          ; XID_Start # Lo       MYANMAR LETTER SGAW KAREN SHA
1065..1066    ; XID_Start # Lo   [2] MYANMAR LETTER WESTERN PWO KAREN THA..MYANMAR LETTER WESTERN PWO KAREN PWA
106E..1070    ; XID_Start # Lo   [3] MYANMAR LETTER EASTERN PWO KAREN NNA..MYANMAR LETTER EASTERN PWO KAREN GHWA
1075..1081    ; XID_Start # Lo  [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA
108E          ; XID_Start # Lo       MYANMAR LETTER RUMAI PALAUNG FA
10A0..10C5    ; XID_Start # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
10C7          ; XID_Start # L&       GEORGIAN CAPITAL LETTER YN
10CD          ; XID_Start # L&       GEORGIAN CAPITAL LETTER AEN
10D0..10FA    ; XID_Start # Lo  [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
10FC          ; XID_Start # Lm       MODIFIER LETTER GEORGIAN NAR
10FD..1248    ; XID_Start # Lo [332] GEORGIAN LETTER AEN..ETHIOPIC SYLLABLE QWA
124A..124D    ; XID_Start # Lo   [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
1250..1256    ; XID_Start # Lo   [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
1258          ; XID_Start # Lo       ETHIOPIC SYLLABLE QHWA
125A..125D    ; XID_Start # Lo   [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE
1260..1288    ; XID_Start # Lo  [41] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XWA
128A..128D    ; XID_Start # Lo   [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE
1290..12B0    ; XID_Start # Lo  [33] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KWA
12B2..12B5    ; XID_Start # Lo   [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE
12B8..12BE    ; XID_Start # Lo   [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO
12C0          ; XID_Start # Lo       ETHIOPIC SYLLABLE KXWA
12C2..12C5    ; XID_Start # Lo   [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE
12C8..12D6    ; XID_Start # Lo  [15] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE PHARYNGEAL O
12D8..1310    ; XID_Start # Lo  [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA
1312..1315    ; XID_Start # Lo   [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
1318..135A    ; XID_Start # Lo  [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
1380..138F    ; XID_Start # Lo  [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
13A0..13F4    ; XID_Start # Lo  [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
1401..166C    ; XID_Start # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
166F..167F    ; XID_Start # Lo  [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
1681..169A    ; XID_Start # Lo  [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
16A0..16EA    ; XID_Start # Lo  [75] RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X
16EE..16F0    ; XID_Start # Nl   [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL
1700..170C    ; XID_Start # Lo  [13] TAGALOG LETTER A..TAGALOG LETTER YA
170E..1711    ; XID_Start # Lo   [4] TAGALOG LETTER LA..TAGALOG LETTER HA
1720..1731    ; XID_Start # Lo  [18] HANUNOO LETTER A..HANUNOO LETTER HA
1740..1751    ; XID_Start # Lo  [18] BUHID LETTER A..BUHID LETTER HA
1760..176C    ; XID_Start # Lo  [13] TAGBANWA LETTER A..TAGBANWA LETTER YA
176E..1770    ; XID_Start # Lo   [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
1780..17B3    ; XID_Start # Lo  [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
17D7          ; XID_Start # Lm       KHMER SIGN LEK TOO
17DC          ; XID_Start # Lo       KHMER SIGN AVAKRAHASANYA
1820..1842    ; XID_Start # Lo  [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI
1843          ; XID_Start # Lm       MONGOLIAN LETTER TODO LONG VOWEL SIGN
1844..1877    ; XID_Start # Lo  [52] MONGOLIAN LETTER TODO E..MONGOLIAN LETTER MANCHU ZHA
1880..18A8    ; XID_Start # Lo  [41] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER MANCHU ALI GALI BHA
18AA          ; XID_Start # Lo       MONGOLIAN LETTER MANCHU ALI GALI LHA
18B0..18F5    ; XID_Start # Lo  [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S
1900..191C    ; XID_Start # Lo  [29] LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER HA
1950..196D    ; XID_Start # Lo  [30] TAI LE LETTER KA..TAI LE LETTER AI
1970..1974    ; XID_Start # Lo   [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
1980..19AB    ; XID_Start # Lo  [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
19C1..19C7    ; XID_Start # Lo   [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
1A00..1A16    ; XID_Start # Lo  [23] BUGINESE LETTER KA..BUGINESE LETTER HA
1A20..1A54    ; XID_Start # Lo  [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
1AA7          ; XID_Start # Lm       TAI THAM SIGN MAI YAMOK
1B05..1B33    ; XID_Start # Lo  [47] BALINESE LETTER AKARA..BALINESE LETTER HA
1B45..1B4B    ; XID_Start # Lo   [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
1B83..1BA0    ; XID_Start # Lo  [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
1BAE..1BAF    ; XID_Start # Lo   [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
1BBA..1BE5    ; XID_Start # Lo  [44] SUNDANESE AVAGRAHA..BATAK LETTER U
1C00..1C23    ; XID_Start # Lo  [36] LEPCHA LETTER KA..LEPCHA LETTER A
1C4D..1C4F    ; XID_Start # Lo   [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
1C5A..1C77    ; XID_Start # Lo  [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
1C78..1C7D    ; XID_Start # Lm   [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
1CE9..1CEC    ; XID_Start # Lo   [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
1CEE..1CF1    ; XID_Start # Lo   [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
1CF5..1CF6    ; XID_Start # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
1D00..1D2B    ; XID_Start # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
1D2C..1D6A    ; XID_Start # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
1D6B..1D77    ; XID_Start # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
1D78          ; XID_Start # Lm       MODIFIER LETTER CYRILLIC EN
1D79..1D9A    ; XID_Start # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
1D9B..1DBF    ; XID_Start # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
1E00..1F15    ; XID_Start # L& [278] LATIN CAPITAL LETTER A WITH RING BELOW..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
1F18..1F1D    ; XID_Start # L&   [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
1F20..1F45    ; XID_Start # L&  [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
1F48..1F4D    ; XID_Start # L&   [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
1F50..1F57    ; XID_Start # L&   [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
1F59          ; XID_Start # L&       GREEK CAPITAL LETTER UPSILON WITH DASIA
1F5B          ; XID_Start # L&       GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
1F5D          ; XID_Start # L&       GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
1F5F..1F7D    ; XID_Start # L&  [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
1F80..1FB4    ; XID_Start # L&  [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
1FB6..1FBC    ; XID_Start # L&   [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
1FBE          ; XID_Start # L&       GREEK PROSGEGRAMMENI
1FC2..1FC4    ; XID_Start # L&   [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
1FC6..1FCC    ; XID_Start # L&   [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
1FD0..1FD3    ; XID_Start # L&   [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
1FD6..1FDB    ; XID_Start # L&   [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
1FE0..1FEC    ; XID_Start # L&  [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
1FF2..1FF4    ; XID_Start # L&   [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
1FF6..1FFC    ; XID_Start # L&   [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
2071          ; XID_Start # Lm       SUPERSCRIPT LATIN SMALL LETTER I
207F          ; XID_Start # Lm       SUPERSCRIPT LATIN SMALL LETTER N
2090..209C    ; XID_Start # Lm  [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T
2102          ; XID_Start # L&       DOUBLE-STRUCK CAPITAL C
2107          ; XID_Start # L&       EULER CONSTANT
210A..2113    ; XID_Start # L&  [10] SCRIPT SMALL G..SCRIPT SMALL L
2115          ; XID_Start # L&       DOUBLE-STRUCK CAPITAL N
2118          ; XID_Start # Sm       SCRIPT CAPITAL P
2119..211D    ; XID_Start # L&   [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
2124          ; XID_Start # L&       DOUBLE-STRUCK CAPITAL Z
2126          ; XID_Start # L&       OHM SIGN
2128          ; XID_Start # L&       BLACK-LETTER CAPITAL Z
212A..212D    ; XID_Start # L&   [4] KELVIN SIGN..BLACK-LETTER CAPITAL C
212E          ; XID_Start # So       ESTIMATED SYMBOL
212F..2134    ; XID_Start # L&   [6] SCRIPT SMALL E..SCRIPT SMALL O
2135..2138    ; XID_Start # Lo   [4] ALEF SYMBOL..DALET SYMBOL
2139          ; XID_Start # L&       INFORMATION SOURCE
213C..213F    ; XID_Start # L&   [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
2145..2149    ; XID_Start # L&   [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
214E          ; XID_Start # L&       TURNED SMALL F
2160..2182    ; XID_Start # Nl  [35] ROMAN NUMERAL ONE..ROMAN NUMERAL TEN THOUSAND
2183..2184    ; XID_Start # L&   [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
2185..2188    ; XID_Start # Nl   [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
2C00..2C2E    ; XID_Start # L&  [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
2C30..2C5E    ; XID_Start # L&  [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
2C60..2C7B    ; XID_Start # L&  [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
2C7C..2C7D    ; XID_Start # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
2C7E..2CE4    ; XID_Start # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
2CEB..2CEE    ; XID_Start # L&   [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
2CF2..2CF3    ; XID_Start # L&   [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI
2D00..2D25    ; XID_Start # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
2D27          ; XID_Start # L&       GEORGIAN SMALL LETTER YN
2D2D          ; XID_Start # L&       GEORGIAN SMALL LETTER AEN
2D30..2D67    ; XID_Start # Lo  [56] TIFINAGH LETTER YA..TIFINAGH LETTER YO
2D6F          ; XID_Start # Lm       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
2D80..2D96    ; XID_Start # Lo  [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
2DA0..2DA6    ; XID_Start # Lo   [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
2DA8..2DAE    ; XID_Start # Lo   [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO
2DB0..2DB6    ; XID_Start # Lo   [7] ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO
2DB8..2DBE    ; XID_Start # Lo   [7] ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO
2DC0..2DC6    ; XID_Start # Lo   [7] ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO
2DC8..2DCE    ; XID_Start # Lo   [7] ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO
2DD0..2DD6    ; XID_Start # Lo   [7] ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO
2DD8..2DDE    ; XID_Start # Lo   [7] ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO
3005          ; XID_Start # Lm       IDEOGRAPHIC ITERATION MARK
3006          ; XID_Start # Lo       IDEOGRAPHIC CLOSING MARK
3007          ; XID_Start # Nl       IDEOGRAPHIC NUMBER ZERO
3021..3029    ; XID_Start # Nl   [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
3031..3035    ; XID_Start # Lm   [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
3038..303A    ; XID_Start # Nl   [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
303B          ; XID_Start # Lm       VERTICAL IDEOGRAPHIC ITERATION MARK
303C          ; XID_Start # Lo       MASU MARK
3041..3096    ; XID_Start # Lo  [86] HIRAGANA LETTER SMALL A..HIRAGANA LETTER SMALL KE
309D..309E    ; XID_Start # Lm   [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
309F          ; XID_Start # Lo       HIRAGANA DIGRAPH YORI
30A1..30FA    ; XID_Start # Lo  [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
30FC..30FE    ; XID_Start # Lm   [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
30FF          ; XID_Start # Lo       KATAKANA DIGRAPH KOTO
3105..312D    ; XID_Start # Lo  [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
3131..318E    ; XID_Start # Lo  [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
31A0..31BA    ; XID_Start # Lo  [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY
31F0..31FF    ; XID_Start # Lo  [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
3400..4DB5    ; XID_Start # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
4E00..9FCC    ; XID_Start # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
A000..A014    ; XID_Start # Lo  [21] YI SYLLABLE IT..YI SYLLABLE E
A015          ; XID_Start # Lm       YI SYLLABLE WU
A016..A48C    ; XID_Start # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
A4D0..A4F7    ; XID_Start # Lo  [40] LISU LETTER BA..LISU LETTER OE
A4F8..A4FD    ; XID_Start # Lm   [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU
A500..A60B    ; XID_Start # Lo [268] VAI SYLLABLE EE..VAI SYLLABLE NG
A60C          ; XID_Start # Lm       VAI SYLLABLE LENGTHENER
A610..A61F    ; XID_Start # Lo  [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG
A62A..A62B    ; XID_Start # Lo   [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO
A640..A66D    ; XID_Start # L&  [46] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
A66E          ; XID_Start # Lo       CYRILLIC LETTER MULTIOCULAR O
A67F          ; XID_Start # Lm       CYRILLIC PAYEROK
A680..A697    ; XID_Start # L&  [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
A6A0..A6E5    ; XID_Start # Lo  [70] BAMUM LETTER A..BAMUM LETTER KI
A6E6..A6EF    ; XID_Start # Nl  [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
A717..A71F    ; XID_Start # Lm   [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
A722..A76F    ; XID_Start # L&  [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON
A770          ; XID_Start # Lm       MODIFIER LETTER US
A771..A787    ; XID_Start # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
A788          ; XID_Start # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
A78B..A78E    ; XID_Start # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
A790..A793    ; XID_Start # L&   [4] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER C WITH BAR
A7A0..A7AA    ; XID_Start # L&  [11] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN CAPITAL LETTER H WITH HOOK
A7F8..A7F9    ; XID_Start # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
A7FA          ; XID_Start # L&       LATIN LETTER SMALL CAPITAL TURNED M
A7FB..A801    ; XID_Start # Lo   [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
A803..A805    ; XID_Start # Lo   [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
A807..A80A    ; XID_Start # Lo   [4] SYLOTI NAGRI LETTER KO..SYLOTI NAGRI LETTER GHO
A80C..A822    ; XID_Start # Lo  [23] SYLOTI NAGRI LETTER CO..SYLOTI NAGRI LETTER HO
A840..A873    ; XID_Start # Lo  [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU
A882..A8B3    ; XID_Start # Lo  [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
A8F2..A8F7    ; XID_Start # Lo   [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
A8FB          ; XID_Start # Lo       DEVANAGARI HEADSTROKE
A90A..A925    ; XID_Start # Lo  [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
A930..A946    ; XID_Start # Lo  [23] REJANG LETTER KA..REJANG LETTER A
A960..A97C    ; XID_Start # Lo  [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
A984..A9B2    ; XID_Start # Lo  [47] JAVANESE LETTER A..JAVANESE LETTER HA
A9CF          ; XID_Start # Lm       JAVANESE PANGRANGKEP
AA00..AA28    ; XID_Start # Lo  [41] CHAM LETTER A..CHAM LETTER HA
AA40..AA42    ; XID_Start # Lo   [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG
AA44..AA4B    ; XID_Start # Lo   [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS
AA60..AA6F    ; XID_Start # Lo  [16] MYANMAR LETTER KHAMTI GA..MYANMAR LETTER KHAMTI FA
AA70          ; XID_Start # Lm       MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
AA71..AA76    ; XID_Start # Lo   [6] MYANMAR LETTER KHAMTI XA..MYANMAR LOGOGRAM KHAMTI HM
AA7A          ; XID_Start # Lo       MYANMAR LETTER AITON RA
AA80..AAAF    ; XID_Start # Lo  [48] TAI VIET LETTER LOW KO..TAI VIET LETTER HIGH O
AAB1          ; XID_Start # Lo       TAI VIET VOWEL AA
AAB5..AAB6    ; XID_Start # Lo   [2] TAI VIET VOWEL E..TAI VIET VOWEL O
AAB9..AABD    ; XID_Start # Lo   [5] TAI VIET VOWEL UEA..TAI VIET VOWEL AN
AAC0          ; XID_Start # Lo       TAI VIET TONE MAI NUENG
AAC2          ; XID_Start # Lo       TAI VIET TONE MAI SONG
AADB..AADC    ; XID_Start # Lo   [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
AADD          ; XID_Start # Lm       TAI VIET SYMBOL SAM
AAE0..AAEA    ; XID_Start # Lo  [11] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER SSA
AAF2          ; XID_Start # Lo       MEETEI MAYEK ANJI
AAF3..AAF4    ; XID_Start # Lm   [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK
AB01..AB06    ; XID_Start # Lo   [6] ETHIOPIC SYLLABLE TTHU..ETHIOPIC SYLLABLE TTHO
AB09..AB0E    ; XID_Start # Lo   [6] ETHIOPIC SYLLABLE DDHU..ETHIOPIC SYLLABLE DDHO
AB11..AB16    ; XID_Start # Lo   [6] ETHIOPIC SYLLABLE DZU..ETHIOPIC SYLLABLE DZO
AB20..AB26    ; XID_Start # Lo   [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABLE CCHHO
AB28..AB2E    ; XID_Start # Lo   [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO
ABC0..ABE2    ; XID_Start # Lo  [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
AC00..D7A3    ; XID_Start # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
D7B0..D7C6    ; XID_Start # Lo  [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
D7CB..D7FB    ; XID_Start # Lo  [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
F900..FA6D    ; XID_Start # Lo [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D
FA70..FAD9    ; XID_Start # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
FB00..FB06    ; XID_Start # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
FB13..FB17    ; XID_Start # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
FB1D          ; XID_Start # Lo       HEBREW LETTER YOD WITH HIRIQ
FB1F..FB28    ; XID_Start # Lo  [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
FB2A..FB36    ; XID_Start # Lo  [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
FB38..FB3C    ; XID_Start # Lo   [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
FB3E          ; XID_Start # Lo       HEBREW LETTER MEM WITH DAGESH
FB40..FB41    ; XID_Start # Lo   [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
FB43..FB44    ; XID_Start # Lo   [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
FB46..FBB1    ; XID_Start # Lo [108] HEBREW LETTER TSADI WITH DAGESH..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
FBD3..FC5D    ; XID_Start # Lo [139] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
FC64..FD3D    ; XID_Start # Lo [218] ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
FD50..FD8F    ; XID_Start # Lo  [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
FD92..FDC7    ; XID_Start # Lo  [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
FDF0..FDF9    ; XID_Start # Lo  [10] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE SALLA ISOLATED FORM
FE71          ; XID_Start # Lo       ARABIC TATWEEL WITH FATHATAN ABOVE
FE73          ; XID_Start # Lo       ARABIC TAIL FRAGMENT
FE77          ; XID_Start # Lo       ARABIC FATHA MEDIAL FORM
FE79          ; XID_Start # Lo       ARABIC DAMMA MEDIAL FORM
FE7B          ; XID_Start # Lo       ARABIC KASRA MEDIAL FORM
FE7D          ; XID_Start # Lo       ARABIC SHADDA MEDIAL FORM
FE7F..FEFC    ; XID_Start # Lo [126] ARABIC SUKUN MEDIAL FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
FF21..FF3A    ; XID_Start # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
FF41..FF5A    ; XID_Start # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
FF66..FF6F    ; XID_Start # Lo  [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU
FF70          ; XID_Start # Lm       HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
FF71..FF9D    ; XID_Start # Lo  [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
FFA0..FFBE    ; XID_Start # Lo  [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH
FFC2..FFC7    ; XID_Start # Lo   [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
FFCA..FFCF    ; XID_Start # Lo   [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
FFD2..FFD7    ; XID_Start # Lo   [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
FFDA..FFDC    ; XID_Start # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
10000..1000B  ; XID_Start # Lo  [12] LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE
1000D..10026  ; XID_Start # Lo  [26] LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO
10028..1003A  ; XID_Start # Lo  [19] LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO
1003C..1003D  ; XID_Start # Lo   [2] LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE
1003F..1004D  ; XID_Start # Lo  [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO
10050..1005D  ; XID_Start # Lo  [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
10080..100FA  ; XID_Start # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
10140..10174  ; XID_Start # Nl  [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS
10280..1029C  ; XID_Start # Lo  [29] LYCIAN LETTER A..LYCIAN LETTER X
102A0..102D0  ; XID_Start # Lo  [49] CARIAN LETTER A..CARIAN LETTER UUU3
10300..1031E  ; XID_Start # Lo  [31] OLD ITALIC LETTER A..OLD ITALIC LETTER UU
10330..10340  ; XID_Start # Lo  [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
10341         ; XID_Start # Nl       GOTHIC LETTER NINETY
10342..10349  ; XID_Start # Lo   [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
1034A         ; XID_Start # Nl       GOTHIC LETTER NINE HUNDRED
10380..1039D  ; XID_Start # Lo  [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU
103A0..103C3  ; XID_Start # Lo  [36] OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA
103C8..103CF  ; XID_Start # Lo   [8] OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN SIGN BUUMISH
103D1..103D5  ; XID_Start # Nl   [5] OLD PERSIAN NUMBER ONE..OLD PERSIAN NUMBER HUNDRED
10400..1044F  ; XID_Start # L&  [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW
10450..1049D  ; XID_Start # Lo  [78] SHAVIAN LETTER PEEP..OSMANYA LETTER OO
10800..10805  ; XID_Start # Lo   [6] CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA
10808         ; XID_Start # Lo       CYPRIOT SYLLABLE JO
1080A..10835  ; XID_Start # Lo  [44] CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO
10837..10838  ; XID_Start # Lo   [2] CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE
1083C         ; XID_Start # Lo       CYPRIOT SYLLABLE ZA
1083F..10855  ; XID_Start # Lo  [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
10900..10915  ; XID_Start # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
10920..10939  ; XID_Start # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
10980..109B7  ; XID_Start # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
109BE..109BF  ; XID_Start # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
10A00         ; XID_Start # Lo       KHAROSHTHI LETTER A
10A10..10A13  ; XID_Start # Lo   [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
10A15..10A17  ; XID_Start # Lo   [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
10A19..10A33  ; XID_Start # Lo  [27] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER TTTHA
10A60..10A7C  ; XID_Start # Lo  [29] OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN LETTER THETH
10B00..10B35  ; XID_Start # Lo  [54] AVESTAN LETTER A..AVESTAN LETTER HE
10B40..10B55  ; XID_Start # Lo  [22] INSCRIPTIONAL PARTHIAN LETTER ALEPH..INSCRIPTIONAL PARTHIAN LETTER TAW
10B60..10B72  ; XID_Start # Lo  [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
10C00..10C48  ; XID_Start # Lo  [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
11003..11037  ; XID_Start # Lo  [53] BRAHMI SIGN JIHVAMULIYA..BRAHMI LETTER OLD TAMIL NNNA
11083..110AF  ; XID_Start # Lo  [45] KAITHI LETTER A..KAITHI LETTER HA
110D0..110E8  ; XID_Start # Lo  [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE
11103..11126  ; XID_Start # Lo  [36] CHAKMA LETTER AA..CHAKMA LETTER HAA
11183..111B2  ; XID_Start # Lo  [48] SHARADA LETTER A..SHARADA LETTER HA
111C1..111C4  ; XID_Start # Lo   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
11680..116AA  ; XID_Start # Lo  [43] TAKRI LETTER A..TAKRI LETTER RRA
12000..1236E  ; XID_Start # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
12400..12462  ; XID_Start # Nl  [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
13000..1342E  ; XID_Start # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
16800..16A38  ; XID_Start # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
16F00..16F44  ; XID_Start # Lo  [69] MIAO LETTER PA..MIAO LETTER HHA
16F50         ; XID_Start # Lo       MIAO LETTER NASALIZATION
16F93..16F9F  ; XID_Start # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
1B000..1B001  ; XID_Start # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
1D400..1D454  ; XID_Start # L&  [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
1D456..1D49C  ; XID_Start # L&  [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
1D49E..1D49F  ; XID_Start # L&   [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
1D4A2         ; XID_Start # L&       MATHEMATICAL SCRIPT CAPITAL G
1D4A5..1D4A6  ; XID_Start # L&   [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
1D4A9..1D4AC  ; XID_Start # L&   [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
1D4AE..1D4B9  ; XID_Start # L&  [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
1D4BB         ; XID_Start # L&       MATHEMATICAL SCRIPT SMALL F
1D4BD..1D4C3  ; XID_Start # L&   [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
1D4C5..1D505  ; XID_Start # L&  [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
1D507..1D50A  ; XID_Start # L&   [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
1D50D..1D514  ; XID_Start # L&   [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
1D516..1D51C  ; XID_Start # L&   [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
1D51E..1D539  ; XID_Start # L&  [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
1D53B..1D53E  ; XID_Start # L&   [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
1D540..1D544  ; XID_Start # L&   [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
1D546         ; XID_Start # L&       MATHEMATICAL DOUBLE-STRUCK CAPITAL O
1D54A..1D550  ; XID_Start # L&   [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
1D552..1D6A5  ; XID_Start # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
1D6A8..1D6C0  ; XID_Start # L&  [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
1D6C2..1D6DA  ; XID_Start # L&  [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
1D6DC..1D6FA  ; XID_Start # L&  [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
1D6FC..1D714  ; XID_Start # L&  [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
1D716..1D734  ; XID_Start # L&  [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
1D736..1D74E  ; XID_Start # L&  [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
1D750..1D76E  ; XID_Start # L&  [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
1D770..1D788  ; XID_Start # L&  [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
1D78A..1D7A8  ; XID_Start # L&  [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
1D7AA..1D7C2  ; XID_Start # L&  [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
1D7C4..1D7CB  ; XID_Start # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
1EE00..1EE03  ; XID_Start # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
1EE05..1EE1F  ; XID_Start # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
1EE21..1EE22  ; XID_Start # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
1EE24         ; XID_Start # Lo       ARABIC MATHEMATICAL INITIAL HEH
1EE27         ; XID_Start # Lo       ARABIC MATHEMATICAL INITIAL HAH
1EE29..1EE32  ; XID_Start # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
1EE34..1EE37  ; XID_Start # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
1EE39         ; XID_Start # Lo       ARABIC MATHEMATICAL INITIAL DAD
1EE3B         ; XID_Start # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
1EE42         ; XID_Start # Lo       ARABIC MATHEMATICAL TAILED JEEM
1EE47         ; XID_Start # Lo       ARABIC MATHEMATICAL TAILED HAH
1EE49         ; XID_Start # Lo       ARABIC MATHEMATICAL TAILED YEH
1EE4B         ; XID_Start # Lo       ARABIC MATHEMATICAL TAILED LAM
1EE4D..1EE4F  ; XID_Start # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
1EE51..1EE52  ; XID_Start # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
1EE54         ; XID_Start # Lo       ARABIC MATHEMATICAL TAILED SHEEN
1EE57         ; XID_Start # Lo       ARABIC MATHEMATICAL TAILED KHAH
1EE59         ; XID_Start # Lo       ARABIC MATHEMATICAL TAILED DAD
1EE5B         ; XID_Start # Lo       ARABIC MATHEMATICAL TAILED GHAIN
1EE5D         ; XID_Start # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
1EE5F         ; XID_Start # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
1EE61..1EE62  ; XID_Start # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
1EE64         ; XID_Start # Lo       ARABIC MATHEMATICAL STRETCHED HEH
1EE67..1EE6A  ; XID_Start # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
1EE6C..1EE72  ; XID_Start # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
1EE74..1EE77  ; XID_Start # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
1EE79..1EE7C  ; XID_Start # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
1EE7E         ; XID_Start # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
1EE80..1EE89  ; XID_Start # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
1EE8B..1EE9B  ; XID_Start # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
1EEA1..1EEA3  ; XID_Start # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
1EEA5..1EEA9  ; XID_Start # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
1EEAB..1EEBB  ; XID_Start # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
20000..2A6D6  ; XID_Start # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
2A700..2B734  ; XID_Start # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
2B740..2B81D  ; XID_Start # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
2F800..2FA1D  ; XID_Start # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D

# Total code points: 101217" + (* VS 2010 crashes for too long strings *) @"

# ================================================

# Derived Property: XID_Continue
#  Mod_ID_Continue modified for closure under NFKx
#  Modified as described in UAX #15
#  NOTE: Does NOT remove the non-NFKx characters.
#        Merely ensures that if isIdentifer(string) then isIdentifier(NFKx(string))
#  NOTE: See UAX #31 for more information

0030..0039    ; XID_Continue # Nd  [10] DIGIT ZERO..DIGIT NINE
0041..005A    ; XID_Continue # L&  [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
005F          ; XID_Continue # Pc       LOW LINE
0061..007A    ; XID_Continue # L&  [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
00AA          ; XID_Continue # Lo       FEMININE ORDINAL INDICATOR
00B5          ; XID_Continue # L&       MICRO SIGN
00B7          ; XID_Continue # Po       MIDDLE DOT
00BA          ; XID_Continue # Lo       MASCULINE ORDINAL INDICATOR
00C0..00D6    ; XID_Continue # L&  [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
00D8..00F6    ; XID_Continue # L&  [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
00F8..01BA    ; XID_Continue # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
01BB          ; XID_Continue # Lo       LATIN LETTER TWO WITH STROKE
01BC..01BF    ; XID_Continue # L&   [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
01C0..01C3    ; XID_Continue # Lo   [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
01C4..0293    ; XID_Continue # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
0294          ; XID_Continue # Lo       LATIN LETTER GLOTTAL STOP
0295..02AF    ; XID_Continue # L&  [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
02B0..02C1    ; XID_Continue # Lm  [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
02C6..02D1    ; XID_Continue # Lm  [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
02E0..02E4    ; XID_Continue # Lm   [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
02EC          ; XID_Continue # Lm       MODIFIER LETTER VOICING
02EE          ; XID_Continue # Lm       MODIFIER LETTER DOUBLE APOSTROPHE
0300..036F    ; XID_Continue # Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
0370..0373    ; XID_Continue # L&   [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
0374          ; XID_Continue # Lm       GREEK NUMERAL SIGN
0376..0377    ; XID_Continue # L&   [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
037B..037D    ; XID_Continue # L&   [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
0386          ; XID_Continue # L&       GREEK CAPITAL LETTER ALPHA WITH TONOS
0387          ; XID_Continue # Po       GREEK ANO TELEIA
0388..038A    ; XID_Continue # L&   [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
038C          ; XID_Continue # L&       GREEK CAPITAL LETTER OMICRON WITH TONOS
038E..03A1    ; XID_Continue # L&  [20] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER RHO
03A3..03F5    ; XID_Continue # L&  [83] GREEK CAPITAL LETTER SIGMA..GREEK LUNATE EPSILON SYMBOL
03F7..0481    ; XID_Continue # L& [139] GREEK CAPITAL LETTER SHO..CYRILLIC SMALL LETTER KOPPA
0483..0487    ; XID_Continue # Mn   [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
048A..0527    ; XID_Continue # L& [158] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER SHHA WITH DESCENDER
0531..0556    ; XID_Continue # L&  [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
0559          ; XID_Continue # Lm       ARMENIAN MODIFIER LETTER LEFT HALF RING
0561..0587    ; XID_Continue # L&  [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
0591..05BD    ; XID_Continue # Mn  [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
05BF          ; XID_Continue # Mn       HEBREW POINT RAFE
05C1..05C2    ; XID_Continue # Mn   [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
05C4..05C5    ; XID_Continue # Mn   [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
05C7          ; XID_Continue # Mn       HEBREW POINT QAMATS QATAN
05D0..05EA    ; XID_Continue # Lo  [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
05F0..05F2    ; XID_Continue # Lo   [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD
0610..061A    ; XID_Continue # Mn  [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
0620..063F    ; XID_Continue # Lo  [32] ARABIC LETTER KASHMIRI YEH..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
0640          ; XID_Continue # Lm       ARABIC TATWEEL
0641..064A    ; XID_Continue # Lo  [10] ARABIC LETTER FEH..ARABIC LETTER YEH
064B..065F    ; XID_Continue # Mn  [21] ARABIC FATHATAN..ARABIC WAVY HAMZA BELOW
0660..0669    ; XID_Continue # Nd  [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE
066E..066F    ; XID_Continue # Lo   [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF
0670          ; XID_Continue # Mn       ARABIC LETTER SUPERSCRIPT ALEF
0671..06D3    ; XID_Continue # Lo  [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
06D5          ; XID_Continue # Lo       ARABIC LETTER AE
06D6..06DC    ; XID_Continue # Mn   [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
06DF..06E4    ; XID_Continue # Mn   [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
06E5..06E6    ; XID_Continue # Lm   [2] ARABIC SMALL WAW..ARABIC SMALL YEH
06E7..06E8    ; XID_Continue # Mn   [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
06EA..06ED    ; XID_Continue # Mn   [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
06EE..06EF    ; XID_Continue # Lo   [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V
06F0..06F9    ; XID_Continue # Nd  [10] EXTENDED ARABIC-INDIC DIGIT ZERO..EXTENDED ARABIC-INDIC DIGIT NINE
06FA..06FC    ; XID_Continue # Lo   [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW
06FF          ; XID_Continue # Lo       ARABIC LETTER HEH WITH INVERTED V
0710          ; XID_Continue # Lo       SYRIAC LETTER ALAPH
0711          ; XID_Continue # Mn       SYRIAC LETTER SUPERSCRIPT ALAPH
0712..072F    ; XID_Continue # Lo  [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH
0730..074A    ; XID_Continue # Mn  [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
074D..07A5    ; XID_Continue # Lo  [89] SYRIAC LETTER SOGDIAN ZHAIN..THAANA LETTER WAAVU
07A6..07B0    ; XID_Continue # Mn  [11] THAANA ABAFILI..THAANA SUKUN
07B1          ; XID_Continue # Lo       THAANA LETTER NAA
07C0..07C9    ; XID_Continue # Nd  [10] NKO DIGIT ZERO..NKO DIGIT NINE
07CA..07EA    ; XID_Continue # Lo  [33] NKO LETTER A..NKO LETTER JONA RA
07EB..07F3    ; XID_Continue # Mn   [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
07F4..07F5    ; XID_Continue # Lm   [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
07FA          ; XID_Continue # Lm       NKO LAJANYALAN
0800..0815    ; XID_Continue # Lo  [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF
0816..0819    ; XID_Continue # Mn   [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
081A          ; XID_Continue # Lm       SAMARITAN MODIFIER LETTER EPENTHETIC YUT
081B..0823    ; XID_Continue # Mn   [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
0824          ; XID_Continue # Lm       SAMARITAN MODIFIER LETTER SHORT A
0825..0827    ; XID_Continue # Mn   [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
0828          ; XID_Continue # Lm       SAMARITAN MODIFIER LETTER I
0829..082D    ; XID_Continue # Mn   [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
0840..0858    ; XID_Continue # Lo  [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
0859..085B    ; XID_Continue # Mn   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
08A0          ; XID_Continue # Lo       ARABIC LETTER BEH WITH SMALL V BELOW
08A2..08AC    ; XID_Continue # Lo  [11] ARABIC LETTER JEEM WITH TWO DOTS ABOVE..ARABIC LETTER ROHINGYA YEH
08E4..08FE    ; XID_Continue # Mn  [27] ARABIC CURLY FATHA..ARABIC DAMMA WITH DOT
0900..0902    ; XID_Continue # Mn   [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
0903          ; XID_Continue # Mc       DEVANAGARI SIGN VISARGA
0904..0939    ; XID_Continue # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
093A          ; XID_Continue # Mn       DEVANAGARI VOWEL SIGN OE
093B          ; XID_Continue # Mc       DEVANAGARI VOWEL SIGN OOE
093C          ; XID_Continue # Mn       DEVANAGARI SIGN NUKTA
093D          ; XID_Continue # Lo       DEVANAGARI SIGN AVAGRAHA
093E..0940    ; XID_Continue # Mc   [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
0941..0948    ; XID_Continue # Mn   [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
0949..094C    ; XID_Continue # Mc   [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
094D          ; XID_Continue # Mn       DEVANAGARI SIGN VIRAMA
094E..094F    ; XID_Continue # Mc   [2] DEVANAGARI VOWEL SIGN PRISHTHAMATRA E..DEVANAGARI VOWEL SIGN AW
0950          ; XID_Continue # Lo       DEVANAGARI OM
0951..0957    ; XID_Continue # Mn   [7] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN UUE
0958..0961    ; XID_Continue # Lo  [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL
0962..0963    ; XID_Continue # Mn   [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
0966..096F    ; XID_Continue # Nd  [10] DEVANAGARI DIGIT ZERO..DEVANAGARI DIGIT NINE
0971          ; XID_Continue # Lm       DEVANAGARI SIGN HIGH SPACING DOT
0972..0977    ; XID_Continue # Lo   [6] DEVANAGARI LETTER CANDRA A..DEVANAGARI LETTER UUE
0979..097F    ; XID_Continue # Lo   [7] DEVANAGARI LETTER ZHA..DEVANAGARI LETTER BBA
0981          ; XID_Continue # Mn       BENGALI SIGN CANDRABINDU
0982..0983    ; XID_Continue # Mc   [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
0985..098C    ; XID_Continue # Lo   [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L
098F..0990    ; XID_Continue # Lo   [2] BENGALI LETTER E..BENGALI LETTER AI
0993..09A8    ; XID_Continue # Lo  [22] BENGALI LETTER O..BENGALI LETTER NA
09AA..09B0    ; XID_Continue # Lo   [7] BENGALI LETTER PA..BENGALI LETTER RA
09B2          ; XID_Continue # Lo       BENGALI LETTER LA
09B6..09B9    ; XID_Continue # Lo   [4] BENGALI LETTER SHA..BENGALI LETTER HA
09BC          ; XID_Continue # Mn       BENGALI SIGN NUKTA
09BD          ; XID_Continue # Lo       BENGALI SIGN AVAGRAHA
09BE..09C0    ; XID_Continue # Mc   [3] BENGALI VOWEL SIGN AA..BENGALI VOWEL SIGN II
09C1..09C4    ; XID_Continue # Mn   [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
09C7..09C8    ; XID_Continue # Mc   [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
09CB..09CC    ; XID_Continue # Mc   [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
09CD          ; XID_Continue # Mn       BENGALI SIGN VIRAMA
09CE          ; XID_Continue # Lo       BENGALI LETTER KHANDA TA
09D7          ; XID_Continue # Mc       BENGALI AU LENGTH MARK
09DC..09DD    ; XID_Continue # Lo   [2] BENGALI LETTER RRA..BENGALI LETTER RHA
09DF..09E1    ; XID_Continue # Lo   [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
09E2..09E3    ; XID_Continue # Mn   [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
09E6..09EF    ; XID_Continue # Nd  [10] BENGALI DIGIT ZERO..BENGALI DIGIT NINE
09F0..09F1    ; XID_Continue # Lo   [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
0A01..0A02    ; XID_Continue # Mn   [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
0A03          ; XID_Continue # Mc       GURMUKHI SIGN VISARGA
0A05..0A0A    ; XID_Continue # Lo   [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
0A0F..0A10    ; XID_Continue # Lo   [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
0A13..0A28    ; XID_Continue # Lo  [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
0A2A..0A30    ; XID_Continue # Lo   [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA
0A32..0A33    ; XID_Continue # Lo   [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA
0A35..0A36    ; XID_Continue # Lo   [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA
0A38..0A39    ; XID_Continue # Lo   [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA
0A3C          ; XID_Continue # Mn       GURMUKHI SIGN NUKTA
0A3E..0A40    ; XID_Continue # Mc   [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
0A41..0A42    ; XID_Continue # Mn   [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
0A47..0A48    ; XID_Continue # Mn   [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
0A4B..0A4D    ; XID_Continue # Mn   [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
0A51          ; XID_Continue # Mn       GURMUKHI SIGN UDAAT
0A59..0A5C    ; XID_Continue # Lo   [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA
0A5E          ; XID_Continue # Lo       GURMUKHI LETTER FA
0A66..0A6F    ; XID_Continue # Nd  [10] GURMUKHI DIGIT ZERO..GURMUKHI DIGIT NINE
0A70..0A71    ; XID_Continue # Mn   [2] GURMUKHI TIPPI..GURMUKHI ADDAK
0A72..0A74    ; XID_Continue # Lo   [3] GURMUKHI IRI..GURMUKHI EK ONKAR
0A75          ; XID_Continue # Mn       GURMUKHI SIGN YAKASH
0A81..0A82    ; XID_Continue # Mn   [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
0A83          ; XID_Continue # Mc       GUJARATI SIGN VISARGA
0A85..0A8D    ; XID_Continue # Lo   [9] GUJARATI LETTER A..GUJARATI VOWEL CANDRA E
0A8F..0A91    ; XID_Continue # Lo   [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O
0A93..0AA8    ; XID_Continue # Lo  [22] GUJARATI LETTER O..GUJARATI LETTER NA
0AAA..0AB0    ; XID_Continue # Lo   [7] GUJARATI LETTER PA..GUJARATI LETTER RA
0AB2..0AB3    ; XID_Continue # Lo   [2] GUJARATI LETTER LA..GUJARATI LETTER LLA
0AB5..0AB9    ; XID_Continue # Lo   [5] GUJARATI LETTER VA..GUJARATI LETTER HA
0ABC          ; XID_Continue # Mn       GUJARATI SIGN NUKTA
0ABD          ; XID_Continue # Lo       GUJARATI SIGN AVAGRAHA
0ABE..0AC0    ; XID_Continue # Mc   [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
0AC1..0AC5    ; XID_Continue # Mn   [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
0AC7..0AC8    ; XID_Continue # Mn   [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
0AC9          ; XID_Continue # Mc       GUJARATI VOWEL SIGN CANDRA O
0ACB..0ACC    ; XID_Continue # Mc   [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
0ACD          ; XID_Continue # Mn       GUJARATI SIGN VIRAMA
0AD0          ; XID_Continue # Lo       GUJARATI OM
0AE0..0AE1    ; XID_Continue # Lo   [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
0AE2..0AE3    ; XID_Continue # Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
0AE6..0AEF    ; XID_Continue # Nd  [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
0B01          ; XID_Continue # Mn       ORIYA SIGN CANDRABINDU
0B02..0B03    ; XID_Continue # Mc   [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
0B05..0B0C    ; XID_Continue # Lo   [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
0B0F..0B10    ; XID_Continue # Lo   [2] ORIYA LETTER E..ORIYA LETTER AI
0B13..0B28    ; XID_Continue # Lo  [22] ORIYA LETTER O..ORIYA LETTER NA
0B2A..0B30    ; XID_Continue # Lo   [7] ORIYA LETTER PA..ORIYA LETTER RA
0B32..0B33    ; XID_Continue # Lo   [2] ORIYA LETTER LA..ORIYA LETTER LLA
0B35..0B39    ; XID_Continue # Lo   [5] ORIYA LETTER VA..ORIYA LETTER HA
0B3C          ; XID_Continue # Mn       ORIYA SIGN NUKTA
0B3D          ; XID_Continue # Lo       ORIYA SIGN AVAGRAHA
0B3E          ; XID_Continue # Mc       ORIYA VOWEL SIGN AA
0B3F          ; XID_Continue # Mn       ORIYA VOWEL SIGN I
0B40          ; XID_Continue # Mc       ORIYA VOWEL SIGN II
0B41..0B44    ; XID_Continue # Mn   [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
0B47..0B48    ; XID_Continue # Mc   [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
0B4B..0B4C    ; XID_Continue # Mc   [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
0B4D          ; XID_Continue # Mn       ORIYA SIGN VIRAMA
0B56          ; XID_Continue # Mn       ORIYA AI LENGTH MARK
0B57          ; XID_Continue # Mc       ORIYA AU LENGTH MARK
0B5C..0B5D    ; XID_Continue # Lo   [2] ORIYA LETTER RRA..ORIYA LETTER RHA
0B5F..0B61    ; XID_Continue # Lo   [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL
0B62..0B63    ; XID_Continue # Mn   [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
0B66..0B6F    ; XID_Continue # Nd  [10] ORIYA DIGIT ZERO..ORIYA DIGIT NINE
0B71          ; XID_Continue # Lo       ORIYA LETTER WA
0B82          ; XID_Continue # Mn       TAMIL SIGN ANUSVARA
0B83          ; XID_Continue # Lo       TAMIL SIGN VISARGA
0B85..0B8A    ; XID_Continue # Lo   [6] TAMIL LETTER A..TAMIL LETTER UU
0B8E..0B90    ; XID_Continue # Lo   [3] TAMIL LETTER E..TAMIL LETTER AI
0B92..0B95    ; XID_Continue # Lo   [4] TAMIL LETTER O..TAMIL LETTER KA
0B99..0B9A    ; XID_Continue # Lo   [2] TAMIL LETTER NGA..TAMIL LETTER CA
0B9C          ; XID_Continue # Lo       TAMIL LETTER JA
0B9E..0B9F    ; XID_Continue # Lo   [2] TAMIL LETTER NYA..TAMIL LETTER TTA
0BA3..0BA4    ; XID_Continue # Lo   [2] TAMIL LETTER NNA..TAMIL LETTER TA
0BA8..0BAA    ; XID_Continue # Lo   [3] TAMIL LETTER NA..TAMIL LETTER PA
0BAE..0BB9    ; XID_Continue # Lo  [12] TAMIL LETTER MA..TAMIL LETTER HA
0BBE..0BBF    ; XID_Continue # Mc   [2] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN I
0BC0          ; XID_Continue # Mn       TAMIL VOWEL SIGN II
0BC1..0BC2    ; XID_Continue # Mc   [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
0BC6..0BC8    ; XID_Continue # Mc   [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
0BCA..0BCC    ; XID_Continue # Mc   [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
0BCD          ; XID_Continue # Mn       TAMIL SIGN VIRAMA
0BD0          ; XID_Continue # Lo       TAMIL OM
0BD7          ; XID_Continue # Mc       TAMIL AU LENGTH MARK
0BE6..0BEF    ; XID_Continue # Nd  [10] TAMIL DIGIT ZERO..TAMIL DIGIT NINE
0C01..0C03    ; XID_Continue # Mc   [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
0C05..0C0C    ; XID_Continue # Lo   [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L
0C0E..0C10    ; XID_Continue # Lo   [3] TELUGU LETTER E..TELUGU LETTER AI
0C12..0C28    ; XID_Continue # Lo  [23] TELUGU LETTER O..TELUGU LETTER NA
0C2A..0C33    ; XID_Continue # Lo  [10] TELUGU LETTER PA..TELUGU LETTER LLA
0C35..0C39    ; XID_Continue # Lo   [5] TELUGU LETTER VA..TELUGU LETTER HA
0C3D          ; XID_Continue # Lo       TELUGU SIGN AVAGRAHA
0C3E..0C40    ; XID_Continue # Mn   [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
0C41..0C44    ; XID_Continue # Mc   [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
0C46..0C48    ; XID_Continue # Mn   [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
0C4A..0C4D    ; XID_Continue # Mn   [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
0C55..0C56    ; XID_Continue # Mn   [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
0C58..0C59    ; XID_Continue # Lo   [2] TELUGU LETTER TSA..TELUGU LETTER DZA
0C60..0C61    ; XID_Continue # Lo   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
0C62..0C63    ; XID_Continue # Mn   [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
0C66..0C6F    ; XID_Continue # Nd  [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
0C82..0C83    ; XID_Continue # Mc   [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
0C85..0C8C    ; XID_Continue # Lo   [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
0C8E..0C90    ; XID_Continue # Lo   [3] KANNADA LETTER E..KANNADA LETTER AI
0C92..0CA8    ; XID_Continue # Lo  [23] KANNADA LETTER O..KANNADA LETTER NA
0CAA..0CB3    ; XID_Continue # Lo  [10] KANNADA LETTER PA..KANNADA LETTER LLA
0CB5..0CB9    ; XID_Continue # Lo   [5] KANNADA LETTER VA..KANNADA LETTER HA
0CBC          ; XID_Continue # Mn       KANNADA SIGN NUKTA
0CBD          ; XID_Continue # Lo       KANNADA SIGN AVAGRAHA
0CBE          ; XID_Continue # Mc       KANNADA VOWEL SIGN AA
0CBF          ; XID_Continue # Mn       KANNADA VOWEL SIGN I
0CC0..0CC4    ; XID_Continue # Mc   [5] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN VOCALIC RR
0CC6          ; XID_Continue # Mn       KANNADA VOWEL SIGN E
0CC7..0CC8    ; XID_Continue # Mc   [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
0CCA..0CCB    ; XID_Continue # Mc   [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
0CCC..0CCD    ; XID_Continue # Mn   [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
0CD5..0CD6    ; XID_Continue # Mc   [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
0CDE          ; XID_Continue # Lo       KANNADA LETTER FA
0CE0..0CE1    ; XID_Continue # Lo   [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
0CE2..0CE3    ; XID_Continue # Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
0CE6..0CEF    ; XID_Continue # Nd  [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
0CF1..0CF2    ; XID_Continue # Lo   [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
0D02..0D03    ; XID_Continue # Mc   [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
0D05..0D0C    ; XID_Continue # Lo   [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
0D0E..0D10    ; XID_Continue # Lo   [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
0D12..0D3A    ; XID_Continue # Lo  [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA
0D3D          ; XID_Continue # Lo       MALAYALAM SIGN AVAGRAHA
0D3E..0D40    ; XID_Continue # Mc   [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
0D41..0D44    ; XID_Continue # Mn   [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
0D46..0D48    ; XID_Continue # Mc   [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
0D4A..0D4C    ; XID_Continue # Mc   [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
0D4D          ; XID_Continue # Mn       MALAYALAM SIGN VIRAMA
0D4E          ; XID_Continue # Lo       MALAYALAM LETTER DOT REPH
0D57          ; XID_Continue # Mc       MALAYALAM AU LENGTH MARK
0D60..0D61    ; XID_Continue # Lo   [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
0D62..0D63    ; XID_Continue # Mn   [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
0D66..0D6F    ; XID_Continue # Nd  [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
0D7A..0D7F    ; XID_Continue # Lo   [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
0D82..0D83    ; XID_Continue # Mc   [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
0D85..0D96    ; XID_Continue # Lo  [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
0D9A..0DB1    ; XID_Continue # Lo  [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
0DB3..0DBB    ; XID_Continue # Lo   [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA
0DBD          ; XID_Continue # Lo       SINHALA LETTER DANTAJA LAYANNA
0DC0..0DC6    ; XID_Continue # Lo   [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA
0DCA          ; XID_Continue # Mn       SINHALA SIGN AL-LAKUNA
0DCF..0DD1    ; XID_Continue # Mc   [3] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
0DD2..0DD4    ; XID_Continue # Mn   [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
0DD6          ; XID_Continue # Mn       SINHALA VOWEL SIGN DIGA PAA-PILLA
0DD8..0DDF    ; XID_Continue # Mc   [8] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN GAYANUKITTA
0DF2..0DF3    ; XID_Continue # Mc   [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
0E01..0E30    ; XID_Continue # Lo  [48] THAI CHARACTER KO KAI..THAI CHARACTER SARA A
0E31          ; XID_Continue # Mn       THAI CHARACTER MAI HAN-AKAT
0E32..0E33    ; XID_Continue # Lo   [2] THAI CHARACTER SARA AA..THAI CHARACTER SARA AM
0E34..0E3A    ; XID_Continue # Mn   [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
0E40..0E45    ; XID_Continue # Lo   [6] THAI CHARACTER SARA E..THAI CHARACTER LAKKHANGYAO
0E46          ; XID_Continue # Lm       THAI CHARACTER MAIYAMOK
0E47..0E4E    ; XID_Continue # Mn   [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
0E50..0E59    ; XID_Continue # Nd  [10] THAI DIGIT ZERO..THAI DIGIT NINE
0E81..0E82    ; XID_Continue # Lo   [2] LAO LETTER KO..LAO LETTER KHO SUNG
0E84          ; XID_Continue # Lo       LAO LETTER KHO TAM
0E87..0E88    ; XID_Continue # Lo   [2] LAO LETTER NGO..LAO LETTER CO
0E8A          ; XID_Continue # Lo       LAO LETTER SO TAM
0E8D          ; XID_Continue # Lo       LAO LETTER NYO
0E94..0E97    ; XID_Continue # Lo   [4] LAO LETTER DO..LAO LETTER THO TAM
0E99..0E9F    ; XID_Continue # Lo   [7] LAO LETTER NO..LAO LETTER FO SUNG
0EA1..0EA3    ; XID_Continue # Lo   [3] LAO LETTER MO..LAO LETTER LO LING
0EA5          ; XID_Continue # Lo       LAO LETTER LO LOOT
0EA7          ; XID_Continue # Lo       LAO LETTER WO
0EAA..0EAB    ; XID_Continue # Lo   [2] LAO LETTER SO SUNG..LAO LETTER HO SUNG
0EAD..0EB0    ; XID_Continue # Lo   [4] LAO LETTER O..LAO VOWEL SIGN A
0EB1          ; XID_Continue # Mn       LAO VOWEL SIGN MAI KAN
0EB2..0EB3    ; XID_Continue # Lo   [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM
0EB4..0EB9    ; XID_Continue # Mn   [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
0EBB..0EBC    ; XID_Continue # Mn   [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
0EBD          ; XID_Continue # Lo       LAO SEMIVOWEL SIGN NYO
0EC0..0EC4    ; XID_Continue # Lo   [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
0EC6          ; XID_Continue # Lm       LAO KO LA
0EC8..0ECD    ; XID_Continue # Mn   [6] LAO TONE MAI EK..LAO NIGGAHITA
0ED0..0ED9    ; XID_Continue # Nd  [10] LAO DIGIT ZERO..LAO DIGIT NINE
0EDC..0EDF    ; XID_Continue # Lo   [4] LAO HO NO..LAO LETTER KHMU NYO
0F00          ; XID_Continue # Lo       TIBETAN SYLLABLE OM
0F18..0F19    ; XID_Continue # Mn   [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
0F20..0F29    ; XID_Continue # Nd  [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE
0F35          ; XID_Continue # Mn       TIBETAN MARK NGAS BZUNG NYI ZLA
0F37          ; XID_Continue # Mn       TIBETAN MARK NGAS BZUNG SGOR RTAGS
0F39          ; XID_Continue # Mn       TIBETAN MARK TSA -PHRU
0F3E..0F3F    ; XID_Continue # Mc   [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
0F40..0F47    ; XID_Continue # Lo   [8] TIBETAN LETTER KA..TIBETAN LETTER JA
0F49..0F6C    ; XID_Continue # Lo  [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
0F71..0F7E    ; XID_Continue # Mn  [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
0F7F          ; XID_Continue # Mc       TIBETAN SIGN RNAM BCAD
0F80..0F84    ; XID_Continue # Mn   [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
0F86..0F87    ; XID_Continue # Mn   [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
0F88..0F8C    ; XID_Continue # Lo   [5] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN INVERTED MCHU CAN
0F8D..0F97    ; XID_Continue # Mn  [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA
0F99..0FBC    ; XID_Continue # Mn  [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
0FC6          ; XID_Continue # Mn       TIBETAN SYMBOL PADMA GDAN
1000..102A    ; XID_Continue # Lo  [43] MYANMAR LETTER KA..MYANMAR LETTER AU
102B..102C    ; XID_Continue # Mc   [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA
102D..1030    ; XID_Continue # Mn   [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
1031          ; XID_Continue # Mc       MYANMAR VOWEL SIGN E
1032..1037    ; XID_Continue # Mn   [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
1038          ; XID_Continue # Mc       MYANMAR SIGN VISARGA
1039..103A    ; XID_Continue # Mn   [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
103B..103C    ; XID_Continue # Mc   [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
103D..103E    ; XID_Continue # Mn   [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
103F          ; XID_Continue # Lo       MYANMAR LETTER GREAT SA
1040..1049    ; XID_Continue # Nd  [10] MYANMAR DIGIT ZERO..MYANMAR DIGIT NINE
1050..1055    ; XID_Continue # Lo   [6] MYANMAR LETTER SHA..MYANMAR LETTER VOCALIC LL
1056..1057    ; XID_Continue # Mc   [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
1058..1059    ; XID_Continue # Mn   [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
105A..105D    ; XID_Continue # Lo   [4] MYANMAR LETTER MON NGA..MYANMAR LETTER MON BBE
105E..1060    ; XID_Continue # Mn   [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
1061          ; XID_Continue # Lo       MYANMAR LETTER SGAW KAREN SHA
1062..1064    ; XID_Continue # Mc   [3] MYANMAR VOWEL SIGN SGAW KAREN EU..MYANMAR TONE MARK SGAW KAREN KE PHO
1065..1066    ; XID_Continue # Lo   [2] MYANMAR LETTER WESTERN PWO KAREN THA..MYANMAR LETTER WESTERN PWO KAREN PWA
1067..106D    ; XID_Continue # Mc   [7] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR SIGN WESTERN PWO KAREN TONE-5
106E..1070    ; XID_Continue # Lo   [3] MYANMAR LETTER EASTERN PWO KAREN NNA..MYANMAR LETTER EASTERN PWO KAREN GHWA
1071..1074    ; XID_Continue # Mn   [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
1075..1081    ; XID_Continue # Lo  [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA
1082          ; XID_Continue # Mn       MYANMAR CONSONANT SIGN SHAN MEDIAL WA
1083..1084    ; XID_Continue # Mc   [2] MYANMAR VOWEL SIGN SHAN AA..MYANMAR VOWEL SIGN SHAN E
1085..1086    ; XID_Continue # Mn   [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
1087..108C    ; XID_Continue # Mc   [6] MYANMAR SIGN SHAN TONE-2..MYANMAR SIGN SHAN COUNCIL TONE-3
108D          ; XID_Continue # Mn       MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
108E          ; XID_Continue # Lo       MYANMAR LETTER RUMAI PALAUNG FA
108F          ; XID_Continue # Mc       MYANMAR SIGN RUMAI PALAUNG TONE-5
1090..1099    ; XID_Continue # Nd  [10] MYANMAR SHAN DIGIT ZERO..MYANMAR SHAN DIGIT NINE
109A..109C    ; XID_Continue # Mc   [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A
109D          ; XID_Continue # Mn       MYANMAR VOWEL SIGN AITON AI
10A0..10C5    ; XID_Continue # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
10C7          ; XID_Continue # L&       GEORGIAN CAPITAL LETTER YN
10CD          ; XID_Continue # L&       GEORGIAN CAPITAL LETTER AEN
10D0..10FA    ; XID_Continue # Lo  [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
10FC          ; XID_Continue # Lm       MODIFIER LETTER GEORGIAN NAR
10FD..1248    ; XID_Continue # Lo [332] GEORGIAN LETTER AEN..ETHIOPIC SYLLABLE QWA
124A..124D    ; XID_Continue # Lo   [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
1250..1256    ; XID_Continue # Lo   [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
1258          ; XID_Continue # Lo       ETHIOPIC SYLLABLE QHWA
125A..125D    ; XID_Continue # Lo   [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE
1260..1288    ; XID_Continue # Lo  [41] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XWA
128A..128D    ; XID_Continue # Lo   [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE
1290..12B0    ; XID_Continue # Lo  [33] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KWA
12B2..12B5    ; XID_Continue # Lo   [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE
12B8..12BE    ; XID_Continue # Lo   [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO
12C0          ; XID_Continue # Lo       ETHIOPIC SYLLABLE KXWA
12C2..12C5    ; XID_Continue # Lo   [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE
12C8..12D6    ; XID_Continue # Lo  [15] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE PHARYNGEAL O
12D8..1310    ; XID_Continue # Lo  [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA
1312..1315    ; XID_Continue # Lo   [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
1318..135A    ; XID_Continue # Lo  [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
135D..135F    ; XID_Continue # Mn   [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK
1369..1371    ; XID_Continue # No   [9] ETHIOPIC DIGIT ONE..ETHIOPIC DIGIT NINE
1380..138F    ; XID_Continue # Lo  [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
13A0..13F4    ; XID_Continue # Lo  [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
1401..166C    ; XID_Continue # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
166F..167F    ; XID_Continue # Lo  [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
1681..169A    ; XID_Continue # Lo  [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
16A0..16EA    ; XID_Continue # Lo  [75] RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X
16EE..16F0    ; XID_Continue # Nl   [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL
1700..170C    ; XID_Continue # Lo  [13] TAGALOG LETTER A..TAGALOG LETTER YA
170E..1711    ; XID_Continue # Lo   [4] TAGALOG LETTER LA..TAGALOG LETTER HA
1712..1714    ; XID_Continue # Mn   [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
1720..1731    ; XID_Continue # Lo  [18] HANUNOO LETTER A..HANUNOO LETTER HA
1732..1734    ; XID_Continue # Mn   [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
1740..1751    ; XID_Continue # Lo  [18] BUHID LETTER A..BUHID LETTER HA
1752..1753    ; XID_Continue # Mn   [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
1760..176C    ; XID_Continue # Lo  [13] TAGBANWA LETTER A..TAGBANWA LETTER YA
176E..1770    ; XID_Continue # Lo   [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
1772..1773    ; XID_Continue # Mn   [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
1780..17B3    ; XID_Continue # Lo  [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
17B4..17B5    ; XID_Continue # Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
17B6          ; XID_Continue # Mc       KHMER VOWEL SIGN AA
17B7..17BD    ; XID_Continue # Mn   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
17BE..17C5    ; XID_Continue # Mc   [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
17C6          ; XID_Continue # Mn       KHMER SIGN NIKAHIT
17C7..17C8    ; XID_Continue # Mc   [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
17C9..17D3    ; XID_Continue # Mn  [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
17D7          ; XID_Continue # Lm       KHMER SIGN LEK TOO
17DC          ; XID_Continue # Lo       KHMER SIGN AVAKRAHASANYA
17DD          ; XID_Continue # Mn       KHMER SIGN ATTHACAN
17E0..17E9    ; XID_Continue # Nd  [10] KHMER DIGIT ZERO..KHMER DIGIT NINE
180B..180D    ; XID_Continue # Mn   [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
1810..1819    ; XID_Continue # Nd  [10] MONGOLIAN DIGIT ZERO..MONGOLIAN DIGIT NINE
1820..1842    ; XID_Continue # Lo  [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI
1843          ; XID_Continue # Lm       MONGOLIAN LETTER TODO LONG VOWEL SIGN
1844..1877    ; XID_Continue # Lo  [52] MONGOLIAN LETTER TODO E..MONGOLIAN LETTER MANCHU ZHA
1880..18A8    ; XID_Continue # Lo  [41] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER MANCHU ALI GALI BHA
18A9          ; XID_Continue # Mn       MONGOLIAN LETTER ALI GALI DAGALGA
18AA          ; XID_Continue # Lo       MONGOLIAN LETTER MANCHU ALI GALI LHA
18B0..18F5    ; XID_Continue # Lo  [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S
1900..191C    ; XID_Continue # Lo  [29] LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER HA
1920..1922    ; XID_Continue # Mn   [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
1923..1926    ; XID_Continue # Mc   [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
1927..1928    ; XID_Continue # Mn   [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
1929..192B    ; XID_Continue # Mc   [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
1930..1931    ; XID_Continue # Mc   [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
1932          ; XID_Continue # Mn       LIMBU SMALL LETTER ANUSVARA
1933..1938    ; XID_Continue # Mc   [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
1939..193B    ; XID_Continue # Mn   [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
1946..194F    ; XID_Continue # Nd  [10] LIMBU DIGIT ZERO..LIMBU DIGIT NINE
1950..196D    ; XID_Continue # Lo  [30] TAI LE LETTER KA..TAI LE LETTER AI
1970..1974    ; XID_Continue # Lo   [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
1980..19AB    ; XID_Continue # Lo  [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
19B0..19C0    ; XID_Continue # Mc  [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
19C1..19C7    ; XID_Continue # Lo   [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
19C8..19C9    ; XID_Continue # Mc   [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
19D0..19D9    ; XID_Continue # Nd  [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE
19DA          ; XID_Continue # No       NEW TAI LUE THAM DIGIT ONE
1A00..1A16    ; XID_Continue # Lo  [23] BUGINESE LETTER KA..BUGINESE LETTER HA
1A17..1A18    ; XID_Continue # Mn   [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
1A19..1A1B    ; XID_Continue # Mc   [3] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN AE
1A20..1A54    ; XID_Continue # Lo  [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
1A55          ; XID_Continue # Mc       TAI THAM CONSONANT SIGN MEDIAL RA
1A56          ; XID_Continue # Mn       TAI THAM CONSONANT SIGN MEDIAL LA
1A57          ; XID_Continue # Mc       TAI THAM CONSONANT SIGN LA TANG LAI
1A58..1A5E    ; XID_Continue # Mn   [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
1A60          ; XID_Continue # Mn       TAI THAM SIGN SAKOT
1A61          ; XID_Continue # Mc       TAI THAM VOWEL SIGN A
1A62          ; XID_Continue # Mn       TAI THAM VOWEL SIGN MAI SAT
1A63..1A64    ; XID_Continue # Mc   [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA
1A65..1A6C    ; XID_Continue # Mn   [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
1A6D..1A72    ; XID_Continue # Mc   [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
1A73..1A7C    ; XID_Continue # Mn  [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
1A7F          ; XID_Continue # Mn       TAI THAM COMBINING CRYPTOGRAMMIC DOT
1A80..1A89    ; XID_Continue # Nd  [10] TAI THAM HORA DIGIT ZERO..TAI THAM HORA DIGIT NINE
1A90..1A99    ; XID_Continue # Nd  [10] TAI THAM THAM DIGIT ZERO..TAI THAM THAM DIGIT NINE
1AA7          ; XID_Continue # Lm       TAI THAM SIGN MAI YAMOK
1B00..1B03    ; XID_Continue # Mn   [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
1B04          ; XID_Continue # Mc       BALINESE SIGN BISAH
1B05..1B33    ; XID_Continue # Lo  [47] BALINESE LETTER AKARA..BALINESE LETTER HA
1B34          ; XID_Continue # Mn       BALINESE SIGN REREKAN
1B35          ; XID_Continue # Mc       BALINESE VOWEL SIGN TEDUNG
1B36..1B3A    ; XID_Continue # Mn   [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
1B3B          ; XID_Continue # Mc       BALINESE VOWEL SIGN RA REPA TEDUNG
1B3C          ; XID_Continue # Mn       BALINESE VOWEL SIGN LA LENGA
1B3D..1B41    ; XID_Continue # Mc   [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
1B42          ; XID_Continue # Mn       BALINESE VOWEL SIGN PEPET
1B43..1B44    ; XID_Continue # Mc   [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG
1B45..1B4B    ; XID_Continue # Lo   [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
1B50..1B59    ; XID_Continue # Nd  [10] BALINESE DIGIT ZERO..BALINESE DIGIT NINE
1B6B..1B73    ; XID_Continue # Mn   [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
1B80..1B81    ; XID_Continue # Mn   [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
1B82          ; XID_Continue # Mc       SUNDANESE SIGN PANGWISAD
1B83..1BA0    ; XID_Continue # Lo  [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
1BA1          ; XID_Continue # Mc       SUNDANESE CONSONANT SIGN PAMINGKAL
1BA2..1BA5    ; XID_Continue # Mn   [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
1BA6..1BA7    ; XID_Continue # Mc   [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
1BA8..1BA9    ; XID_Continue # Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
1BAA          ; XID_Continue # Mc       SUNDANESE SIGN PAMAAEH
1BAB          ; XID_Continue # Mn       SUNDANESE SIGN VIRAMA
1BAC..1BAD    ; XID_Continue # Mc   [2] SUNDANESE CONSONANT SIGN PASANGAN MA..SUNDANESE CONSONANT SIGN PASANGAN WA
1BAE..1BAF    ; XID_Continue # Lo   [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
1BB0..1BB9    ; XID_Continue # Nd  [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE
1BBA..1BE5    ; XID_Continue # Lo  [44] SUNDANESE AVAGRAHA..BATAK LETTER U
1BE6          ; XID_Continue # Mn       BATAK SIGN TOMPI
1BE7          ; XID_Continue # Mc       BATAK VOWEL SIGN E
1BE8..1BE9    ; XID_Continue # Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
1BEA..1BEC    ; XID_Continue # Mc   [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O
1BED          ; XID_Continue # Mn       BATAK VOWEL SIGN KARO O
1BEE          ; XID_Continue # Mc       BATAK VOWEL SIGN U
1BEF..1BF1    ; XID_Continue # Mn   [3] BATAK VOWEL SIGN U FOR SIMALUNGUN SA..BATAK CONSONANT SIGN H
1BF2..1BF3    ; XID_Continue # Mc   [2] BATAK PANGOLAT..BATAK PANONGONAN
1C00..1C23    ; XID_Continue # Lo  [36] LEPCHA LETTER KA..LEPCHA LETTER A
1C24..1C2B    ; XID_Continue # Mc   [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
1C2C..1C33    ; XID_Continue # Mn   [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
1C34..1C35    ; XID_Continue # Mc   [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
1C36..1C37    ; XID_Continue # Mn   [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
1C40..1C49    ; XID_Continue # Nd  [10] LEPCHA DIGIT ZERO..LEPCHA DIGIT NINE
1C4D..1C4F    ; XID_Continue # Lo   [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
1C50..1C59    ; XID_Continue # Nd  [10] OL CHIKI DIGIT ZERO..OL CHIKI DIGIT NINE
1C5A..1C77    ; XID_Continue # Lo  [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
1C78..1C7D    ; XID_Continue # Lm   [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
1CD0..1CD2    ; XID_Continue # Mn   [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
1CD4..1CE0    ; XID_Continue # Mn  [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
1CE1          ; XID_Continue # Mc       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
1CE2..1CE8    ; XID_Continue # Mn   [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
1CE9..1CEC    ; XID_Continue # Lo   [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
1CED          ; XID_Continue # Mn       VEDIC SIGN TIRYAK
1CEE..1CF1    ; XID_Continue # Lo   [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
1CF2..1CF3    ; XID_Continue # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
1CF4          ; XID_Continue # Mn       VEDIC TONE CANDRA ABOVE
1CF5..1CF6    ; XID_Continue # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
1D00..1D2B    ; XID_Continue # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
1D2C..1D6A    ; XID_Continue # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
1D6B..1D77    ; XID_Continue # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
1D78          ; XID_Continue # Lm       MODIFIER LETTER CYRILLIC EN
1D79..1D9A    ; XID_Continue # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
1D9B..1DBF    ; XID_Continue # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
1DC0..1DE6    ; XID_Continue # Mn  [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
1DFC..1DFF    ; XID_Continue # Mn   [4] COMBINING DOUBLE INVERTED BREVE BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
1E00..1F15    ; XID_Continue # L& [278] LATIN CAPITAL LETTER A WITH RING BELOW..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
1F18..1F1D    ; XID_Continue # L&   [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
1F20..1F45    ; XID_Continue # L&  [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
1F48..1F4D    ; XID_Continue # L&   [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
1F50..1F57    ; XID_Continue # L&   [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
1F59          ; XID_Continue # L&       GREEK CAPITAL LETTER UPSILON WITH DASIA
1F5B          ; XID_Continue # L&       GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
1F5D          ; XID_Continue # L&       GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
1F5F..1F7D    ; XID_Continue # L&  [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
1F80..1FB4    ; XID_Continue # L&  [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
1FB6..1FBC    ; XID_Continue # L&   [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
1FBE          ; XID_Continue # L&       GREEK PROSGEGRAMMENI
1FC2..1FC4    ; XID_Continue # L&   [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
1FC6..1FCC    ; XID_Continue # L&   [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
1FD0..1FD3    ; XID_Continue # L&   [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
1FD6..1FDB    ; XID_Continue # L&   [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
1FE0..1FEC    ; XID_Continue # L&  [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
1FF2..1FF4    ; XID_Continue # L&   [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
1FF6..1FFC    ; XID_Continue # L&   [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
203F..2040    ; XID_Continue # Pc   [2] UNDERTIE..CHARACTER TIE
2054          ; XID_Continue # Pc       INVERTED UNDERTIE
2071          ; XID_Continue # Lm       SUPERSCRIPT LATIN SMALL LETTER I
207F          ; XID_Continue # Lm       SUPERSCRIPT LATIN SMALL LETTER N
2090..209C    ; XID_Continue # Lm  [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T
20D0..20DC    ; XID_Continue # Mn  [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
20E1          ; XID_Continue # Mn       COMBINING LEFT RIGHT ARROW ABOVE
20E5..20F0    ; XID_Continue # Mn  [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
2102          ; XID_Continue # L&       DOUBLE-STRUCK CAPITAL C
2107          ; XID_Continue # L&       EULER CONSTANT
210A..2113    ; XID_Continue # L&  [10] SCRIPT SMALL G..SCRIPT SMALL L
2115          ; XID_Continue # L&       DOUBLE-STRUCK CAPITAL N
2118          ; XID_Continue # Sm       SCRIPT CAPITAL P
2119..211D    ; XID_Continue # L&   [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
2124          ; XID_Continue # L&       DOUBLE-STRUCK CAPITAL Z
2126          ; XID_Continue # L&       OHM SIGN
2128          ; XID_Continue # L&       BLACK-LETTER CAPITAL Z
212A..212D    ; XID_Continue # L&   [4] KELVIN SIGN..BLACK-LETTER CAPITAL C
212E          ; XID_Continue # So       ESTIMATED SYMBOL
212F..2134    ; XID_Continue # L&   [6] SCRIPT SMALL E..SCRIPT SMALL O
2135..2138    ; XID_Continue # Lo   [4] ALEF SYMBOL..DALET SYMBOL
2139          ; XID_Continue # L&       INFORMATION SOURCE
213C..213F    ; XID_Continue # L&   [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
2145..2149    ; XID_Continue # L&   [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
214E          ; XID_Continue # L&       TURNED SMALL F
2160..2182    ; XID_Continue # Nl  [35] ROMAN NUMERAL ONE..ROMAN NUMERAL TEN THOUSAND
2183..2184    ; XID_Continue # L&   [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
2185..2188    ; XID_Continue # Nl   [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
2C00..2C2E    ; XID_Continue # L&  [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
2C30..2C5E    ; XID_Continue # L&  [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
2C60..2C7B    ; XID_Continue # L&  [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
2C7C..2C7D    ; XID_Continue # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
2C7E..2CE4    ; XID_Continue # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
2CEB..2CEE    ; XID_Continue # L&   [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
2CEF..2CF1    ; XID_Continue # Mn   [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
2CF2..2CF3    ; XID_Continue # L&   [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI
2D00..2D25    ; XID_Continue # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
2D27          ; XID_Continue # L&       GEORGIAN SMALL LETTER YN
2D2D          ; XID_Continue # L&       GEORGIAN SMALL LETTER AEN
2D30..2D67    ; XID_Continue # Lo  [56] TIFINAGH LETTER YA..TIFINAGH LETTER YO
2D6F          ; XID_Continue # Lm       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
2D7F          ; XID_Continue # Mn       TIFINAGH CONSONANT JOINER
2D80..2D96    ; XID_Continue # Lo  [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
2DA0..2DA6    ; XID_Continue # Lo   [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
2DA8..2DAE    ; XID_Continue # Lo   [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO
2DB0..2DB6    ; XID_Continue # Lo   [7] ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO
2DB8..2DBE    ; XID_Continue # Lo   [7] ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO
2DC0..2DC6    ; XID_Continue # Lo   [7] ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO
2DC8..2DCE    ; XID_Continue # Lo   [7] ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO
2DD0..2DD6    ; XID_Continue # Lo   [7] ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO
2DD8..2DDE    ; XID_Continue # Lo   [7] ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO
2DE0..2DFF    ; XID_Continue # Mn  [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
3005          ; XID_Continue # Lm       IDEOGRAPHIC ITERATION MARK
3006          ; XID_Continue # Lo       IDEOGRAPHIC CLOSING MARK
3007          ; XID_Continue # Nl       IDEOGRAPHIC NUMBER ZERO
3021..3029    ; XID_Continue # Nl   [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
302A..302D    ; XID_Continue # Mn   [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
302E..302F    ; XID_Continue # Mc   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
3031..3035    ; XID_Continue # Lm   [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
3038..303A    ; XID_Continue # Nl   [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
303B          ; XID_Continue # Lm       VERTICAL IDEOGRAPHIC ITERATION MARK
303C          ; XID_Continue # Lo       MASU MARK
3041..3096    ; XID_Continue # Lo  [86] HIRAGANA LETTER SMALL A..HIRAGANA LETTER SMALL KE
3099..309A    ; XID_Continue # Mn   [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
309D..309E    ; XID_Continue # Lm   [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
309F          ; XID_Continue # Lo       HIRAGANA DIGRAPH YORI
30A1..30FA    ; XID_Continue # Lo  [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
30FC..30FE    ; XID_Continue # Lm   [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
30FF          ; XID_Continue # Lo       KATAKANA DIGRAPH KOTO
3105..312D    ; XID_Continue # Lo  [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
3131..318E    ; XID_Continue # Lo  [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
31A0..31BA    ; XID_Continue # Lo  [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY
31F0..31FF    ; XID_Continue # Lo  [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
3400..4DB5    ; XID_Continue # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
4E00..9FCC    ; XID_Continue # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
A000..A014    ; XID_Continue # Lo  [21] YI SYLLABLE IT..YI SYLLABLE E
A015          ; XID_Continue # Lm       YI SYLLABLE WU
A016..A48C    ; XID_Continue # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
A4D0..A4F7    ; XID_Continue # Lo  [40] LISU LETTER BA..LISU LETTER OE
A4F8..A4FD    ; XID_Continue # Lm   [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU
A500..A60B    ; XID_Continue # Lo [268] VAI SYLLABLE EE..VAI SYLLABLE NG
A60C          ; XID_Continue # Lm       VAI SYLLABLE LENGTHENER
A610..A61F    ; XID_Continue # Lo  [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG
A620..A629    ; XID_Continue # Nd  [10] VAI DIGIT ZERO..VAI DIGIT NINE
A62A..A62B    ; XID_Continue # Lo   [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO
A640..A66D    ; XID_Continue # L&  [46] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
A66E          ; XID_Continue # Lo       CYRILLIC LETTER MULTIOCULAR O
A66F          ; XID_Continue # Mn       COMBINING CYRILLIC VZMET
A674..A67D    ; XID_Continue # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
A67F          ; XID_Continue # Lm       CYRILLIC PAYEROK
A680..A697    ; XID_Continue # L&  [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
A69F          ; XID_Continue # Mn       COMBINING CYRILLIC LETTER IOTIFIED E
A6A0..A6E5    ; XID_Continue # Lo  [70] BAMUM LETTER A..BAMUM LETTER KI
A6E6..A6EF    ; XID_Continue # Nl  [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
A6F0..A6F1    ; XID_Continue # Mn   [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
A717..A71F    ; XID_Continue # Lm   [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
A722..A76F    ; XID_Continue # L&  [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON
A770          ; XID_Continue # Lm       MODIFIER LETTER US
A771..A787    ; XID_Continue # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
A788          ; XID_Continue # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
A78B..A78E    ; XID_Continue # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
A790..A793    ; XID_Continue # L&   [4] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER C WITH BAR
A7A0..A7AA    ; XID_Continue # L&  [11] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN CAPITAL LETTER H WITH HOOK
A7F8..A7F9    ; XID_Continue # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
A7FA          ; XID_Continue # L&       LATIN LETTER SMALL CAPITAL TURNED M
A7FB..A801    ; XID_Continue # Lo   [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
A802          ; XID_Continue # Mn       SYLOTI NAGRI SIGN DVISVARA
A803..A805    ; XID_Continue # Lo   [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
A806          ; XID_Continue # Mn       SYLOTI NAGRI SIGN HASANTA
A807..A80A    ; XID_Continue # Lo   [4] SYLOTI NAGRI LETTER KO..SYLOTI NAGRI LETTER GHO
A80B          ; XID_Continue # Mn       SYLOTI NAGRI SIGN ANUSVARA
A80C..A822    ; XID_Continue # Lo  [23] SYLOTI NAGRI LETTER CO..SYLOTI NAGRI LETTER HO
A823..A824    ; XID_Continue # Mc   [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
A825..A826    ; XID_Continue # Mn   [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
A827          ; XID_Continue # Mc       SYLOTI NAGRI VOWEL SIGN OO
A840..A873    ; XID_Continue # Lo  [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU
A880..A881    ; XID_Continue # Mc   [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
A882..A8B3    ; XID_Continue # Lo  [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
A8B4..A8C3    ; XID_Continue # Mc  [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
A8C4          ; XID_Continue # Mn       SAURASHTRA SIGN VIRAMA
A8D0..A8D9    ; XID_Continue # Nd  [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT NINE
A8E0..A8F1    ; XID_Continue # Mn  [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
A8F2..A8F7    ; XID_Continue # Lo   [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
A8FB          ; XID_Continue # Lo       DEVANAGARI HEADSTROKE
A900..A909    ; XID_Continue # Nd  [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE
A90A..A925    ; XID_Continue # Lo  [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
A926..A92D    ; XID_Continue # Mn   [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
A930..A946    ; XID_Continue # Lo  [23] REJANG LETTER KA..REJANG LETTER A
A947..A951    ; XID_Continue # Mn  [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
A952..A953    ; XID_Continue # Mc   [2] REJANG CONSONANT SIGN H..REJANG VIRAMA
A960..A97C    ; XID_Continue # Lo  [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
A980..A982    ; XID_Continue # Mn   [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
A983          ; XID_Continue # Mc       JAVANESE SIGN WIGNYAN
A984..A9B2    ; XID_Continue # Lo  [47] JAVANESE LETTER A..JAVANESE LETTER HA
A9B3          ; XID_Continue # Mn       JAVANESE SIGN CECAK TELU
A9B4..A9B5    ; XID_Continue # Mc   [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
A9B6..A9B9    ; XID_Continue # Mn   [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
A9BA..A9BB    ; XID_Continue # Mc   [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
A9BC          ; XID_Continue # Mn       JAVANESE VOWEL SIGN PEPET
A9BD..A9C0    ; XID_Continue # Mc   [4] JAVANESE CONSONANT SIGN KERET..JAVANESE PANGKON
A9CF          ; XID_Continue # Lm       JAVANESE PANGRANGKEP
A9D0..A9D9    ; XID_Continue # Nd  [10] JAVANESE DIGIT ZERO..JAVANESE DIGIT NINE
AA00..AA28    ; XID_Continue # Lo  [41] CHAM LETTER A..CHAM LETTER HA
AA29..AA2E    ; XID_Continue # Mn   [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
AA2F..AA30    ; XID_Continue # Mc   [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
AA31..AA32    ; XID_Continue # Mn   [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
AA33..AA34    ; XID_Continue # Mc   [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
AA35..AA36    ; XID_Continue # Mn   [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
AA40..AA42    ; XID_Continue # Lo   [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG
AA43          ; XID_Continue # Mn       CHAM CONSONANT SIGN FINAL NG
AA44..AA4B    ; XID_Continue # Lo   [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS
AA4C          ; XID_Continue # Mn       CHAM CONSONANT SIGN FINAL M
AA4D          ; XID_Continue # Mc       CHAM CONSONANT SIGN FINAL H
AA50..AA59    ; XID_Continue # Nd  [10] CHAM DIGIT ZERO..CHAM DIGIT NINE
AA60..AA6F    ; XID_Continue # Lo  [16] MYANMAR LETTER KHAMTI GA..MYANMAR LETTER KHAMTI FA
AA70          ; XID_Continue # Lm       MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
AA71..AA76    ; XID_Continue # Lo   [6] MYANMAR LETTER KHAMTI XA..MYANMAR LOGOGRAM KHAMTI HM
AA7A          ; XID_Continue # Lo       MYANMAR LETTER AITON RA
AA7B          ; XID_Continue # Mc       MYANMAR SIGN PAO KAREN TONE
AA80..AAAF    ; XID_Continue # Lo  [48] TAI VIET LETTER LOW KO..TAI VIET LETTER HIGH O
AAB0          ; XID_Continue # Mn       TAI VIET MAI KANG
AAB1          ; XID_Continue # Lo       TAI VIET VOWEL AA
AAB2..AAB4    ; XID_Continue # Mn   [3] TAI VIET VOWEL I..TAI VIET VOWEL U
AAB5..AAB6    ; XID_Continue # Lo   [2] TAI VIET VOWEL E..TAI VIET VOWEL O
AAB7..AAB8    ; XID_Continue # Mn   [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
AAB9..AABD    ; XID_Continue # Lo   [5] TAI VIET VOWEL UEA..TAI VIET VOWEL AN
AABE..AABF    ; XID_Continue # Mn   [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
AAC0          ; XID_Continue # Lo       TAI VIET TONE MAI NUENG
AAC1          ; XID_Continue # Mn       TAI VIET TONE MAI THO
AAC2          ; XID_Continue # Lo       TAI VIET TONE MAI SONG
AADB..AADC    ; XID_Continue # Lo   [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
AADD          ; XID_Continue # Lm       TAI VIET SYMBOL SAM
AAE0..AAEA    ; XID_Continue # Lo  [11] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER SSA
AAEB          ; XID_Continue # Mc       MEETEI MAYEK VOWEL SIGN II
AAEC..AAED    ; XID_Continue # Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
AAEE..AAEF    ; XID_Continue # Mc   [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
AAF2          ; XID_Continue # Lo       MEETEI MAYEK ANJI
AAF3..AAF4    ; XID_Continue # Lm   [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK
AAF5          ; XID_Continue # Mc       MEETEI MAYEK VOWEL SIGN VISARGA
AAF6          ; XID_Continue # Mn       MEETEI MAYEK VIRAMA
AB01..AB06    ; XID_Continue # Lo   [6] ETHIOPIC SYLLABLE TTHU..ETHIOPIC SYLLABLE TTHO
AB09..AB0E    ; XID_Continue # Lo   [6] ETHIOPIC SYLLABLE DDHU..ETHIOPIC SYLLABLE DDHO
AB11..AB16    ; XID_Continue # Lo   [6] ETHIOPIC SYLLABLE DZU..ETHIOPIC SYLLABLE DZO
AB20..AB26    ; XID_Continue # Lo   [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABLE CCHHO
AB28..AB2E    ; XID_Continue # Lo   [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO
ABC0..ABE2    ; XID_Continue # Lo  [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
ABE3..ABE4    ; XID_Continue # Mc   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
ABE5          ; XID_Continue # Mn       MEETEI MAYEK VOWEL SIGN ANAP
ABE6..ABE7    ; XID_Continue # Mc   [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
ABE8          ; XID_Continue # Mn       MEETEI MAYEK VOWEL SIGN UNAP
ABE9..ABEA    ; XID_Continue # Mc   [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
ABEC          ; XID_Continue # Mc       MEETEI MAYEK LUM IYEK
ABED          ; XID_Continue # Mn       MEETEI MAYEK APUN IYEK
ABF0..ABF9    ; XID_Continue # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
AC00..D7A3    ; XID_Continue # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
D7B0..D7C6    ; XID_Continue # Lo  [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
D7CB..D7FB    ; XID_Continue # Lo  [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
F900..FA6D    ; XID_Continue # Lo [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D
FA70..FAD9    ; XID_Continue # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
FB00..FB06    ; XID_Continue # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
FB13..FB17    ; XID_Continue # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
FB1D          ; XID_Continue # Lo       HEBREW LETTER YOD WITH HIRIQ
FB1E          ; XID_Continue # Mn       HEBREW POINT JUDEO-SPANISH VARIKA
FB1F..FB28    ; XID_Continue # Lo  [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
FB2A..FB36    ; XID_Continue # Lo  [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
FB38..FB3C    ; XID_Continue # Lo   [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
FB3E          ; XID_Continue # Lo       HEBREW LETTER MEM WITH DAGESH
FB40..FB41    ; XID_Continue # Lo   [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
FB43..FB44    ; XID_Continue # Lo   [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
FB46..FBB1    ; XID_Continue # Lo [108] HEBREW LETTER TSADI WITH DAGESH..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
FBD3..FC5D    ; XID_Continue # Lo [139] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
FC64..FD3D    ; XID_Continue # Lo [218] ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
FD50..FD8F    ; XID_Continue # Lo  [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
FD92..FDC7    ; XID_Continue # Lo  [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
FDF0..FDF9    ; XID_Continue # Lo  [10] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE SALLA ISOLATED FORM
FE00..FE0F    ; XID_Continue # Mn  [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
FE20..FE26    ; XID_Continue # Mn   [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON
FE33..FE34    ; XID_Continue # Pc   [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
FE4D..FE4F    ; XID_Continue # Pc   [3] DASHED LOW LINE..WAVY LOW LINE
FE71          ; XID_Continue # Lo       ARABIC TATWEEL WITH FATHATAN ABOVE
FE73          ; XID_Continue # Lo       ARABIC TAIL FRAGMENT
FE77          ; XID_Continue # Lo       ARABIC FATHA MEDIAL FORM
FE79          ; XID_Continue # Lo       ARABIC DAMMA MEDIAL FORM
FE7B          ; XID_Continue # Lo       ARABIC KASRA MEDIAL FORM
FE7D          ; XID_Continue # Lo       ARABIC SHADDA MEDIAL FORM
FE7F..FEFC    ; XID_Continue # Lo [126] ARABIC SUKUN MEDIAL FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
FF10..FF19    ; XID_Continue # Nd  [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE
FF21..FF3A    ; XID_Continue # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
FF3F          ; XID_Continue # Pc       FULLWIDTH LOW LINE
FF41..FF5A    ; XID_Continue # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
FF66..FF6F    ; XID_Continue # Lo  [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU
FF70          ; XID_Continue # Lm       HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
FF71..FF9D    ; XID_Continue # Lo  [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
FF9E..FF9F    ; XID_Continue # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
FFA0..FFBE    ; XID_Continue # Lo  [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH
FFC2..FFC7    ; XID_Continue # Lo   [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
FFCA..FFCF    ; XID_Continue # Lo   [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
FFD2..FFD7    ; XID_Continue # Lo   [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
FFDA..FFDC    ; XID_Continue # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
10000..1000B  ; XID_Continue # Lo  [12] LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE
1000D..10026  ; XID_Continue # Lo  [26] LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO
10028..1003A  ; XID_Continue # Lo  [19] LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO
1003C..1003D  ; XID_Continue # Lo   [2] LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE
1003F..1004D  ; XID_Continue # Lo  [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO
10050..1005D  ; XID_Continue # Lo  [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
10080..100FA  ; XID_Continue # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
10140..10174  ; XID_Continue # Nl  [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS
101FD         ; XID_Continue # Mn       PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
10280..1029C  ; XID_Continue # Lo  [29] LYCIAN LETTER A..LYCIAN LETTER X
102A0..102D0  ; XID_Continue # Lo  [49] CARIAN LETTER A..CARIAN LETTER UUU3
10300..1031E  ; XID_Continue # Lo  [31] OLD ITALIC LETTER A..OLD ITALIC LETTER UU
10330..10340  ; XID_Continue # Lo  [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
10341         ; XID_Continue # Nl       GOTHIC LETTER NINETY
10342..10349  ; XID_Continue # Lo   [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
1034A         ; XID_Continue # Nl       GOTHIC LETTER NINE HUNDRED
10380..1039D  ; XID_Continue # Lo  [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU
103A0..103C3  ; XID_Continue # Lo  [36] OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA
103C8..103CF  ; XID_Continue # Lo   [8] OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN SIGN BUUMISH
103D1..103D5  ; XID_Continue # Nl   [5] OLD PERSIAN NUMBER ONE..OLD PERSIAN NUMBER HUNDRED
10400..1044F  ; XID_Continue # L&  [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW
10450..1049D  ; XID_Continue # Lo  [78] SHAVIAN LETTER PEEP..OSMANYA LETTER OO
104A0..104A9  ; XID_Continue # Nd  [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE
10800..10805  ; XID_Continue # Lo   [6] CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA
10808         ; XID_Continue # Lo       CYPRIOT SYLLABLE JO
1080A..10835  ; XID_Continue # Lo  [44] CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO
10837..10838  ; XID_Continue # Lo   [2] CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE
1083C         ; XID_Continue # Lo       CYPRIOT SYLLABLE ZA
1083F..10855  ; XID_Continue # Lo  [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
10900..10915  ; XID_Continue # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
10920..10939  ; XID_Continue # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
10980..109B7  ; XID_Continue # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
109BE..109BF  ; XID_Continue # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
10A00         ; XID_Continue # Lo       KHAROSHTHI LETTER A
10A01..10A03  ; XID_Continue # Mn   [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
10A05..10A06  ; XID_Continue # Mn   [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
10A0C..10A0F  ; XID_Continue # Mn   [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
10A10..10A13  ; XID_Continue # Lo   [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
10A15..10A17  ; XID_Continue # Lo   [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
10A19..10A33  ; XID_Continue # Lo  [27] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER TTTHA
10A38..10A3A  ; XID_Continue # Mn   [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
10A3F         ; XID_Continue # Mn       KHAROSHTHI VIRAMA
10A60..10A7C  ; XID_Continue # Lo  [29] OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN LETTER THETH
10B00..10B35  ; XID_Continue # Lo  [54] AVESTAN LETTER A..AVESTAN LETTER HE
10B40..10B55  ; XID_Continue # Lo  [22] INSCRIPTIONAL PARTHIAN LETTER ALEPH..INSCRIPTIONAL PARTHIAN LETTER TAW
10B60..10B72  ; XID_Continue # Lo  [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
10C00..10C48  ; XID_Continue # Lo  [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
11000         ; XID_Continue # Mc       BRAHMI SIGN CANDRABINDU
11001         ; XID_Continue # Mn       BRAHMI SIGN ANUSVARA
11002         ; XID_Continue # Mc       BRAHMI SIGN VISARGA
11003..11037  ; XID_Continue # Lo  [53] BRAHMI SIGN JIHVAMULIYA..BRAHMI LETTER OLD TAMIL NNNA
11038..11046  ; XID_Continue # Mn  [15] BRAHMI VOWEL SIGN AA..BRAHMI VIRAMA
11066..1106F  ; XID_Continue # Nd  [10] BRAHMI DIGIT ZERO..BRAHMI DIGIT NINE
11080..11081  ; XID_Continue # Mn   [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
11082         ; XID_Continue # Mc       KAITHI SIGN VISARGA
11083..110AF  ; XID_Continue # Lo  [45] KAITHI LETTER A..KAITHI LETTER HA
110B0..110B2  ; XID_Continue # Mc   [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
110B3..110B6  ; XID_Continue # Mn   [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
110B7..110B8  ; XID_Continue # Mc   [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
110B9..110BA  ; XID_Continue # Mn   [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
110D0..110E8  ; XID_Continue # Lo  [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE
110F0..110F9  ; XID_Continue # Nd  [10] SORA SOMPENG DIGIT ZERO..SORA SOMPENG DIGIT NINE
11100..11102  ; XID_Continue # Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
11103..11126  ; XID_Continue # Lo  [36] CHAKMA LETTER AA..CHAKMA LETTER HAA
11127..1112B  ; XID_Continue # Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
1112C         ; XID_Continue # Mc       CHAKMA VOWEL SIGN E
1112D..11134  ; XID_Continue # Mn   [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
11136..1113F  ; XID_Continue # Nd  [10] CHAKMA DIGIT ZERO..CHAKMA DIGIT NINE
11180..11181  ; XID_Continue # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
11182         ; XID_Continue # Mc       SHARADA SIGN VISARGA
11183..111B2  ; XID_Continue # Lo  [48] SHARADA LETTER A..SHARADA LETTER HA
111B3..111B5  ; XID_Continue # Mc   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
111B6..111BE  ; XID_Continue # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
111BF..111C0  ; XID_Continue # Mc   [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA
111C1..111C4  ; XID_Continue # Lo   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
111D0..111D9  ; XID_Continue # Nd  [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
11680..116AA  ; XID_Continue # Lo  [43] TAKRI LETTER A..TAKRI LETTER RRA
116AB         ; XID_Continue # Mn       TAKRI SIGN ANUSVARA
116AC         ; XID_Continue # Mc       TAKRI SIGN VISARGA
116AD         ; XID_Continue # Mn       TAKRI VOWEL SIGN AA
116AE..116AF  ; XID_Continue # Mc   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
116B0..116B5  ; XID_Continue # Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
116B6         ; XID_Continue # Mc       TAKRI SIGN VIRAMA
116B7         ; XID_Continue # Mn       TAKRI SIGN NUKTA
116C0..116C9  ; XID_Continue # Nd  [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
12000..1236E  ; XID_Continue # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
12400..12462  ; XID_Continue # Nl  [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
13000..1342E  ; XID_Continue # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
16800..16A38  ; XID_Continue # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
16F00..16F44  ; XID_Continue # Lo  [69] MIAO LETTER PA..MIAO LETTER HHA
16F50         ; XID_Continue # Lo       MIAO LETTER NASALIZATION
16F51..16F7E  ; XID_Continue # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
16F8F..16F92  ; XID_Continue # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
16F93..16F9F  ; XID_Continue # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
1B000..1B001  ; XID_Continue # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
1D165..1D166  ; XID_Continue # Mc   [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
1D167..1D169  ; XID_Continue # Mn   [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
1D16D..1D172  ; XID_Continue # Mc   [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5
1D17B..1D182  ; XID_Continue # Mn   [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
1D185..1D18B  ; XID_Continue # Mn   [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
1D1AA..1D1AD  ; XID_Continue # Mn   [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
1D242..1D244  ; XID_Continue # Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
1D400..1D454  ; XID_Continue # L&  [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
1D456..1D49C  ; XID_Continue # L&  [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
1D49E..1D49F  ; XID_Continue # L&   [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
1D4A2         ; XID_Continue # L&       MATHEMATICAL SCRIPT CAPITAL G
1D4A5..1D4A6  ; XID_Continue # L&   [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
1D4A9..1D4AC  ; XID_Continue # L&   [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
1D4AE..1D4B9  ; XID_Continue # L&  [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
1D4BB         ; XID_Continue # L&       MATHEMATICAL SCRIPT SMALL F
1D4BD..1D4C3  ; XID_Continue # L&   [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
1D4C5..1D505  ; XID_Continue # L&  [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
1D507..1D50A  ; XID_Continue # L&   [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
1D50D..1D514  ; XID_Continue # L&   [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
1D516..1D51C  ; XID_Continue # L&   [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
1D51E..1D539  ; XID_Continue # L&  [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
1D53B..1D53E  ; XID_Continue # L&   [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
1D540..1D544  ; XID_Continue # L&   [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
1D546         ; XID_Continue # L&       MATHEMATICAL DOUBLE-STRUCK CAPITAL O
1D54A..1D550  ; XID_Continue # L&   [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
1D552..1D6A5  ; XID_Continue # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
1D6A8..1D6C0  ; XID_Continue # L&  [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
1D6C2..1D6DA  ; XID_Continue # L&  [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
1D6DC..1D6FA  ; XID_Continue # L&  [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
1D6FC..1D714  ; XID_Continue # L&  [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
1D716..1D734  ; XID_Continue # L&  [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
1D736..1D74E  ; XID_Continue # L&  [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
1D750..1D76E  ; XID_Continue # L&  [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
1D770..1D788  ; XID_Continue # L&  [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
1D78A..1D7A8  ; XID_Continue # L&  [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
1D7AA..1D7C2  ; XID_Continue # L&  [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
1D7C4..1D7CB  ; XID_Continue # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
1D7CE..1D7FF  ; XID_Continue # Nd  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
1EE00..1EE03  ; XID_Continue # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
1EE05..1EE1F  ; XID_Continue # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
1EE21..1EE22  ; XID_Continue # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
1EE24         ; XID_Continue # Lo       ARABIC MATHEMATICAL INITIAL HEH
1EE27         ; XID_Continue # Lo       ARABIC MATHEMATICAL INITIAL HAH
1EE29..1EE32  ; XID_Continue # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
1EE34..1EE37  ; XID_Continue # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
1EE39         ; XID_Continue # Lo       ARABIC MATHEMATICAL INITIAL DAD
1EE3B         ; XID_Continue # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
1EE42         ; XID_Continue # Lo       ARABIC MATHEMATICAL TAILED JEEM
1EE47         ; XID_Continue # Lo       ARABIC MATHEMATICAL TAILED HAH
1EE49         ; XID_Continue # Lo       ARABIC MATHEMATICAL TAILED YEH
1EE4B         ; XID_Continue # Lo       ARABIC MATHEMATICAL TAILED LAM
1EE4D..1EE4F  ; XID_Continue # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
1EE51..1EE52  ; XID_Continue # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
1EE54         ; XID_Continue # Lo       ARABIC MATHEMATICAL TAILED SHEEN
1EE57         ; XID_Continue # Lo       ARABIC MATHEMATICAL TAILED KHAH
1EE59         ; XID_Continue # Lo       ARABIC MATHEMATICAL TAILED DAD
1EE5B         ; XID_Continue # Lo       ARABIC MATHEMATICAL TAILED GHAIN
1EE5D         ; XID_Continue # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
1EE5F         ; XID_Continue # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
1EE61..1EE62  ; XID_Continue # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
1EE64         ; XID_Continue # Lo       ARABIC MATHEMATICAL STRETCHED HEH
1EE67..1EE6A  ; XID_Continue # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
1EE6C..1EE72  ; XID_Continue # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
1EE74..1EE77  ; XID_Continue # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
1EE79..1EE7C  ; XID_Continue # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
1EE7E         ; XID_Continue # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
1EE80..1EE89  ; XID_Continue # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
1EE8B..1EE9B  ; XID_Continue # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
1EEA1..1EEA3  ; XID_Continue # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
1EEA5..1EEA9  ; XID_Continue # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
1EEAB..1EEBB  ; XID_Continue # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
20000..2A6D6  ; XID_Continue # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
2A700..2B734  ; XID_Continue # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
2B740..2B81D  ; XID_Continue # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
2F800..2FA1D  ; XID_Continue # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
E0100..E01EF  ; XID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256

# Total code points: 103336
"

module Parser =
    open FParsec.Primitives
    open FParsec.CharParsers

    let hex2int c = (int c &&& 15) + (int c >>> 6)*9 // hex char to int

    let pCodePoint =
        manyMinMaxSatisfyL 4 6 isHex "codepoint with 4-6 hex digits"
        |>> fun s ->
                let mutable n = 0
                for i = 0 to s.Length - 1 do
                    n <- n*16 + hex2int s.[i]
                n

    let skipToBeginOfSection name =
        skipCharsTillString ("Derived Property: " + name) true System.Int32.MaxValue >>. skipRestOfLine true
        >>. skipMany (nextCharSatisfiesNot isHex >>. skipRestOfLine true)

    let str s = pstring s

    let range =
        pipe2 pCodePoint (str ".." >>. pCodePoint <|>% -1)
              (fun i1 i2 -> if i2 <> -1 then (i1, i2) else (i1, i1))
        .>> (spaces >>. str ";" >>. skipRestOfLine true)

    let sectionEnd = newline >>. str "# Total code points:"

    let section name = skipToBeginOfSection name >>. many1 range .>> sectionEnd

    let xidRanges = section "XID_Start" .>>. section "XID_Continue"

    let parseXIdRanges() = run xidRanges xidProperties

open FParsec

let testCharPredicates() =
    let xidStartRanges, xidContinueRanges = match Parser.parseXIdRanges() with
                                            | CharParsers.Success(ranges, _, _ ) -> ranges
                                            | CharParsers.Failure(msg,_,_) -> failwith msg

    let checkPredicate fBmp fSmp ranges =
        let mutable lastLast = -1
        for (first, last) in ranges do
            for i = lastLast + 1 to first - 1 do
                let b = if i < 0x10000 then fBmp (char i) else fSmp (i - 0x10000)
                let isSurrogate = (i >= 0xd800 && i <= 0xdfff)
                b |> Equal isSurrogate
            for i = first to last do
                let b = if i < 0x10000 then fBmp (char i) else fSmp (i - 0x10000)
                b |> True
            lastLast <- last
        for i = lastLast + 1 to 0x10ffff do
            let b = if i < 0x10000 then fBmp (char i) else fSmp (i - 0x10000)
            let isSurrogate = (i >= 0xd800 && i <= 0xdfff)
            b |> Equal isSurrogate

    checkPredicate IdentifierValidator.IsXIdStartOrSurrogate FParsec.IdentifierValidator.IsXIdStartSmp xidStartRanges
    checkPredicate IdentifierValidator.IsXIdContinueOrSurrogate FParsec.IdentifierValidator.IsXIdContinueSmp xidContinueRanges

    let iv = new IdentifierValidator()
    let isIdStartOrSurrogateF = iv.IsIdStartOrSurrogateFunc
    let isIdContinueOrSurrogateF = iv.IsIdContinueOrSurrogateFunc
    let isIdContinueOrJoinControlOrSurrogateF = iv.IsIdContinueOrJoinControlOrSurrogateFunc

    for i = 0 to 0xffff do
        let c = char i

        IdentifierValidator.IsXIdContinueOrJoinControlOrSurrogate(c)
        |> Equal (IdentifierValidator.IsXIdContinueOrSurrogate(c) || (c >= '\u200C' && c <= '\u200D'))

        isIdStartOrSurrogateF(c) |> Equal (IdentifierValidator.IsXIdStartOrSurrogate(c))
        isIdContinueOrSurrogateF(c) |> Equal (IdentifierValidator.IsXIdContinueOrSurrogate(c))
        isIdContinueOrJoinControlOrSurrogateF(c) |> Equal (IdentifierValidator.IsXIdContinueOrJoinControlOrSurrogate(c))

    isIdStartOrSurrogateF '!' |> False
    isIdContinueOrSurrogateF '!' |> False
    isIdContinueOrJoinControlOrSurrogateF '!' |> False
    iv.SetIsAsciiIdNonStartChar('!')
    isIdStartOrSurrogateF '!' |> False
    isIdContinueOrSurrogateF '!' |> True
    isIdContinueOrJoinControlOrSurrogateF '!' |> True
    iv.SetIsAsciiIdStartChar('!')
    isIdStartOrSurrogateF '!' |> True
    isIdContinueOrSurrogateF '!' |> True
    isIdContinueOrJoinControlOrSurrogateF '!' |> True

    try IdentifierValidator.IsXIdStartSmp(-1) |> ignore; Fail()
    with :? System.IndexOutOfRangeException -> ()
    try IdentifierValidator.IsXIdStartSmp(0x100000) |> ignore; Fail()
    with :? System.IndexOutOfRangeException -> ()
    try IdentifierValidator.IsXIdStartSmp(System.Int32.MinValue) |> ignore; Fail()
    with :? System.IndexOutOfRangeException -> ()
    try IdentifierValidator.IsXIdStartSmp(System.Int32.MaxValue) |> ignore; Fail()
    with :? System.IndexOutOfRangeException -> ()

    try IdentifierValidator.IsXIdContinueSmp(-1) |> ignore; Fail()
    with :? System.IndexOutOfRangeException -> ()
    try IdentifierValidator.IsXIdContinueSmp(0x100000) |> ignore; Fail()
    with :? System.IndexOutOfRangeException -> ()
    try IdentifierValidator.IsXIdContinueSmp(System.Int32.MinValue) |> ignore; Fail()
    with :? System.IndexOutOfRangeException -> ()
    try IdentifierValidator.IsXIdContinueSmp(System.Int32.MaxValue) |> ignore; Fail()
    with :? System.IndexOutOfRangeException -> ()


type IdFlags = IdentifierValidator.IdentifierCharFlags

let testIdentifierValidator() =
    let iv = IdentifierValidator()

    try iv.SetIsAsciiIdNonStartChar('\u0000') with :? System.ArgumentOutOfRangeException -> ()
    try iv.SetIsAsciiIdNonStartChar('\u0080') with :? System.ArgumentOutOfRangeException -> ()
    try iv.SetIsAsciiIdStartChar('\u0000') with :? System.ArgumentOutOfRangeException -> ()
    try iv.SetIsAsciiIdStartChar('\u0080') with :? System.ArgumentOutOfRangeException -> ()
    try iv.SetIsAsciiNoIdChar('\u0000') with :? System.ArgumentOutOfRangeException -> ()
    try iv.SetIsAsciiNoIdChar('\u0080') with :? System.ArgumentOutOfRangeException -> ()

    iv.IsIdStartOrSurrogateFunc('$')                 |> False
    iv.IsIdContinueOrSurrogateFunc('$')              |> False
    iv.IsIdContinueOrJoinControlOrSurrogateFunc('$') |> False
    iv.SetIsAsciiIdStartChar('$')
    iv.IsIdStartOrSurrogateFunc('$')                 |> True
    iv.IsIdContinueOrSurrogateFunc('$')              |> True
    iv.IsIdContinueOrJoinControlOrSurrogateFunc('$') |> True
    iv.SetIsAsciiIdNonStartChar('$')
    iv.IsIdStartOrSurrogateFunc('$')                 |> False
    iv.IsIdContinueOrSurrogateFunc('$')              |> True
    iv.IsIdContinueOrJoinControlOrSurrogateFunc('$') |> True
    iv.SetIsAsciiNoIdChar('$')
    iv.IsIdStartOrSurrogateFunc('$')                 |> False
    iv.IsIdContinueOrSurrogateFunc('$')              |> False
    iv.IsIdContinueOrJoinControlOrSurrogateFunc('$') |> False
    iv.SetIsAsciiIdStartChar('$')
    iv.IsIdStartOrSurrogateFunc('$')                 |> True
    iv.IsIdContinueOrSurrogateFunc('$')              |> True
    iv.IsIdContinueOrJoinControlOrSurrogateFunc('$') |> True

    iv.SetIsAsciiIdNonStartChar('?')
    iv.IsIdStartOrSurrogateFunc('?')                 |> False
    iv.IsIdContinueOrSurrogateFunc('?')              |> True
    iv.IsIdContinueOrJoinControlOrSurrogateFunc('?') |> True

    let start = IdFlags.NonContinue ||| IdFlags.Continue

    let opts = Array.zeroCreate 128
    opts.[int '$'] <- start
    opts.[int '?'] <- IdFlags.Continue
    for i = 0 to 127 do
        if IdentifierValidator.IsXIdStartOrSurrogate(char i) then
            opts.[i] <- start
        elif IdentifierValidator.IsXIdContinueOrSurrogate(char i) then
            opts.[i] <- IdFlags.Continue

    let isSurrogate (str: string) (index: int) =
        System.Char.IsHighSurrogate(str.[index])
        && index + 1 < str.Length
        && System.Char.IsLowSurrogate(str.[index + 1])

    let isIdStart (opts: IdFlags[]) (str: string) (index: int) =
        let c = (str.[index])
        if int c < opts.Length then int (opts.[int c] &&& IdFlags.NonContinue) <> 0
        elif not (System.Char.IsSurrogate(c)) then
            IdentifierValidator.IsXIdStartOrSurrogate(c)
        else
            isSurrogate str index
            && IdentifierValidator.IsXIdStartSmp(System.Char.ConvertToUtf32(str, index) - 0x10000)

    let isIdContinue (opts: IdFlags[]) allowJoiner (str: string) (index: int) =
        let c = (str.[index])
        if int c < opts.Length then int (opts.[int c] &&& IdFlags.Continue) <> 0
        elif not (System.Char.IsSurrogate(c)) then
            IdentifierValidator.IsXIdContinueOrSurrogate(c)
            || (allowJoiner && c >= '\u200c' && c <= '\u200d')
        else
            isSurrogate str index
            && IdentifierValidator.IsXIdContinueSmp(System.Char.ConvertToUtf32(str, index) - 0x10000)

    let isIdentifier (opts: IdFlags[]) allowJoiner (str: string) =
        if str.Length > 0 && isIdStart opts str 0 then
            let rec loop iLast =
                let i = iLast + if isSurrogate str iLast then 2 else 1
                if i < str.Length then
                    if isIdContinue opts allowJoiner str i then loop i
                    else (false, i)
                else (true, -1)
            loop 0
        else (false, 0)

    isIdStart    opts       "\uFB1C" 0 |> Equal false
    isIdContinue opts false "\uFB1C" 0 |> Equal false
    isIdStart    opts       "\uFB1D" 0 |> Equal true
    isIdContinue opts false "\uFB1D" 0 |> Equal true
    isIdStart    opts       "\uFB1E" 0 |> Equal false
    isIdContinue opts false "\uFB1E" 0 |> Equal true

    let U = System.Char.ConvertFromUtf32 // the \Uxxxxxxxx char escapes currently don't work in the F# compiler

    isIdStart    opts       (U 0x000101FD) 0 |> Equal false
    isIdContinue opts false (U 0x000101FD) 0 |> Equal true
    isIdStart    opts       (U 0x000101FF) 0 |> Equal false
    isIdContinue opts false (U 0x000101FF) 0 |> Equal false
    isIdStart    opts       (U 0x00010280) 0 |> Equal true
    isIdContinue opts false (U 0x00010280) 0 |> Equal true

    let chars = [|"a"; " "; "1"; "$"; "?"; "\u200C"; "\u200D"; "\uFB1C"; "\uFB1D"; "\uFB1E";
                  // We can't use simple string literals for latin-1 chars due to
                  // normalization issue that is caused by the F# compiler not flagging
                  // strings with chars in the 0x80-0xff range by a trailing 1 in the #US
                  // metadata section of assemblies.
                  // (The .NET CLR requires a trailing 1 for chars in 0x80-0xff, though
                  //  ECMA-335 does not, which is arguably an error in the ECMA spec.)
                  U 0xa0; U 0xaa; U 0xb2;
                  U 0x20a8; U 0x000101FD; U 0x000101FF; U 0x00010280;
                  U 0x0001d400; U 0x0001d6c1; U 0x0001d7ce;|]


    let checkValidate (id: string) =
        let check allowJoiner =
            let isId, errorPos = isIdentifier opts allowJoiner id
            let idN = try id.Normalize(System.Text.NormalizationForm.FormKC)
                      with :? System.ArgumentException -> null
            let isIdN, errorPosN = if idN <> null then isIdentifier opts allowJoiner idN
                                   else false, errorPos

            let mutable errorPos1 = 0
            let str1 = iv.ValidateAndNormalize(id, &errorPos1)

            iv.NormalizationForm <- System.Text.NormalizationForm.FormKC
            let mutable errorPos2 = 0
            let str2 = iv.ValidateAndNormalize(id, &errorPos2)

            iv.NormalizeBeforeValidation <- true
            let mutable errorPos3 = 0
            let str3 = iv.ValidateAndNormalize(id, &errorPos3)

            iv.NormalizationForm <- enum 0
            iv.NormalizeBeforeValidation <- false

            if isId then
                str1 |> Equal id
                errorPos1  |> Equal -1
                str2 |> Equal idN
                errorPos2  |> Equal -1
                str3 |> Equal idN
                errorPos3  |> Equal -1
            else
                str1 |> Equal null
                errorPos1 |> Equal errorPos
                str2 |> Equal null
                errorPos2 |> Equal errorPos
                if isIdN then
                    str3 |> Equal idN
                    errorPos3 |> Equal -1
                else
                    str3 |> Equal null
                    errorPos3 |> Equal errorPosN

        check false
        iv.AllowJoinControlCharsAsIdContinueChars <- true
        check true
        iv.AllowJoinControlCharsAsIdContinueChars <- false

    let mutable errorPos = 0
    iv.NormalizationForm <- System.Text.NormalizationForm.FormC
    iv.ValidateAndNormalize("ϒ\u0308", &errorPos) |> Equal "\u03D4"
    iv.NormalizationForm <- System.Text.NormalizationForm.FormKC
    iv.ValidateAndNormalize("ϒ\u0308", &errorPos) |> Equal "\u03AB"
    iv.NormalizationForm <- enum 0

    let mutable i = 0
    checkValidate ""
    for c1 in chars do
        checkValidate c1
        for c2 in chars do
            checkValidate (System.String.Concat(c1, c2))
            for c3 in chars do
                i <- i + 1
                checkValidate (System.String.Concat(c1, c2, c3))

    // check illegal characters
    let d800 = string (char '\uD800') // "\ud800" doesn't work here
    let dc00 = string (char '\uDC00')
    checkValidate d800
    checkValidate dc00
    checkValidate (d800 + "a")
    checkValidate (dc00 + "a")
    checkValidate "\uFFFF"
    checkValidate ("a" + d800 + "a")
    checkValidate ("a" + dc00 + "a")
    checkValidate "a\uFFFF"
    checkValidate ("ab" + d800)
    checkValidate ("ab" + dc00)
    checkValidate (d800 + d800)
    checkValidate ("a" + d800 + d800)
    checkValidate "ab\uFFFF"

let run() =
    testCharPredicates()
    testIdentifierValidator()