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
|
# -*- coding: utf-8 -*-
#
# NOTE: This file was auto-generated with MetaTools/buildUCD.py.
# Source: https://unicode.org/Public/UNIDATA/Blocks.txt
# License: http://unicode.org/copyright.html#License
#
# Blocks-15.0.0.txt
# Date: 2022-01-28, 20:58:00 GMT [KW]
# © 2022 Unicode®, Inc.
# For terms of use, see https://www.unicode.org/terms_of_use.html
#
# Unicode Character Database
# For documentation, see https://www.unicode.org/reports/tr44/
#
# Format:
# Start Code..End Code; Block Name
RANGES = [
0x0000, # .. 0x007F ; Basic Latin
0x0080, # .. 0x00FF ; Latin-1 Supplement
0x0100, # .. 0x017F ; Latin Extended-A
0x0180, # .. 0x024F ; Latin Extended-B
0x0250, # .. 0x02AF ; IPA Extensions
0x02B0, # .. 0x02FF ; Spacing Modifier Letters
0x0300, # .. 0x036F ; Combining Diacritical Marks
0x0370, # .. 0x03FF ; Greek and Coptic
0x0400, # .. 0x04FF ; Cyrillic
0x0500, # .. 0x052F ; Cyrillic Supplement
0x0530, # .. 0x058F ; Armenian
0x0590, # .. 0x05FF ; Hebrew
0x0600, # .. 0x06FF ; Arabic
0x0700, # .. 0x074F ; Syriac
0x0750, # .. 0x077F ; Arabic Supplement
0x0780, # .. 0x07BF ; Thaana
0x07C0, # .. 0x07FF ; NKo
0x0800, # .. 0x083F ; Samaritan
0x0840, # .. 0x085F ; Mandaic
0x0860, # .. 0x086F ; Syriac Supplement
0x0870, # .. 0x089F ; Arabic Extended-B
0x08A0, # .. 0x08FF ; Arabic Extended-A
0x0900, # .. 0x097F ; Devanagari
0x0980, # .. 0x09FF ; Bengali
0x0A00, # .. 0x0A7F ; Gurmukhi
0x0A80, # .. 0x0AFF ; Gujarati
0x0B00, # .. 0x0B7F ; Oriya
0x0B80, # .. 0x0BFF ; Tamil
0x0C00, # .. 0x0C7F ; Telugu
0x0C80, # .. 0x0CFF ; Kannada
0x0D00, # .. 0x0D7F ; Malayalam
0x0D80, # .. 0x0DFF ; Sinhala
0x0E00, # .. 0x0E7F ; Thai
0x0E80, # .. 0x0EFF ; Lao
0x0F00, # .. 0x0FFF ; Tibetan
0x1000, # .. 0x109F ; Myanmar
0x10A0, # .. 0x10FF ; Georgian
0x1100, # .. 0x11FF ; Hangul Jamo
0x1200, # .. 0x137F ; Ethiopic
0x1380, # .. 0x139F ; Ethiopic Supplement
0x13A0, # .. 0x13FF ; Cherokee
0x1400, # .. 0x167F ; Unified Canadian Aboriginal Syllabics
0x1680, # .. 0x169F ; Ogham
0x16A0, # .. 0x16FF ; Runic
0x1700, # .. 0x171F ; Tagalog
0x1720, # .. 0x173F ; Hanunoo
0x1740, # .. 0x175F ; Buhid
0x1760, # .. 0x177F ; Tagbanwa
0x1780, # .. 0x17FF ; Khmer
0x1800, # .. 0x18AF ; Mongolian
0x18B0, # .. 0x18FF ; Unified Canadian Aboriginal Syllabics Extended
0x1900, # .. 0x194F ; Limbu
0x1950, # .. 0x197F ; Tai Le
0x1980, # .. 0x19DF ; New Tai Lue
0x19E0, # .. 0x19FF ; Khmer Symbols
0x1A00, # .. 0x1A1F ; Buginese
0x1A20, # .. 0x1AAF ; Tai Tham
0x1AB0, # .. 0x1AFF ; Combining Diacritical Marks Extended
0x1B00, # .. 0x1B7F ; Balinese
0x1B80, # .. 0x1BBF ; Sundanese
0x1BC0, # .. 0x1BFF ; Batak
0x1C00, # .. 0x1C4F ; Lepcha
0x1C50, # .. 0x1C7F ; Ol Chiki
0x1C80, # .. 0x1C8F ; Cyrillic Extended-C
0x1C90, # .. 0x1CBF ; Georgian Extended
0x1CC0, # .. 0x1CCF ; Sundanese Supplement
0x1CD0, # .. 0x1CFF ; Vedic Extensions
0x1D00, # .. 0x1D7F ; Phonetic Extensions
0x1D80, # .. 0x1DBF ; Phonetic Extensions Supplement
0x1DC0, # .. 0x1DFF ; Combining Diacritical Marks Supplement
0x1E00, # .. 0x1EFF ; Latin Extended Additional
0x1F00, # .. 0x1FFF ; Greek Extended
0x2000, # .. 0x206F ; General Punctuation
0x2070, # .. 0x209F ; Superscripts and Subscripts
0x20A0, # .. 0x20CF ; Currency Symbols
0x20D0, # .. 0x20FF ; Combining Diacritical Marks for Symbols
0x2100, # .. 0x214F ; Letterlike Symbols
0x2150, # .. 0x218F ; Number Forms
0x2190, # .. 0x21FF ; Arrows
0x2200, # .. 0x22FF ; Mathematical Operators
0x2300, # .. 0x23FF ; Miscellaneous Technical
0x2400, # .. 0x243F ; Control Pictures
0x2440, # .. 0x245F ; Optical Character Recognition
0x2460, # .. 0x24FF ; Enclosed Alphanumerics
0x2500, # .. 0x257F ; Box Drawing
0x2580, # .. 0x259F ; Block Elements
0x25A0, # .. 0x25FF ; Geometric Shapes
0x2600, # .. 0x26FF ; Miscellaneous Symbols
0x2700, # .. 0x27BF ; Dingbats
0x27C0, # .. 0x27EF ; Miscellaneous Mathematical Symbols-A
0x27F0, # .. 0x27FF ; Supplemental Arrows-A
0x2800, # .. 0x28FF ; Braille Patterns
0x2900, # .. 0x297F ; Supplemental Arrows-B
0x2980, # .. 0x29FF ; Miscellaneous Mathematical Symbols-B
0x2A00, # .. 0x2AFF ; Supplemental Mathematical Operators
0x2B00, # .. 0x2BFF ; Miscellaneous Symbols and Arrows
0x2C00, # .. 0x2C5F ; Glagolitic
0x2C60, # .. 0x2C7F ; Latin Extended-C
0x2C80, # .. 0x2CFF ; Coptic
0x2D00, # .. 0x2D2F ; Georgian Supplement
0x2D30, # .. 0x2D7F ; Tifinagh
0x2D80, # .. 0x2DDF ; Ethiopic Extended
0x2DE0, # .. 0x2DFF ; Cyrillic Extended-A
0x2E00, # .. 0x2E7F ; Supplemental Punctuation
0x2E80, # .. 0x2EFF ; CJK Radicals Supplement
0x2F00, # .. 0x2FDF ; Kangxi Radicals
0x2FE0, # .. 0x2FEF ; No_Block
0x2FF0, # .. 0x2FFF ; Ideographic Description Characters
0x3000, # .. 0x303F ; CJK Symbols and Punctuation
0x3040, # .. 0x309F ; Hiragana
0x30A0, # .. 0x30FF ; Katakana
0x3100, # .. 0x312F ; Bopomofo
0x3130, # .. 0x318F ; Hangul Compatibility Jamo
0x3190, # .. 0x319F ; Kanbun
0x31A0, # .. 0x31BF ; Bopomofo Extended
0x31C0, # .. 0x31EF ; CJK Strokes
0x31F0, # .. 0x31FF ; Katakana Phonetic Extensions
0x3200, # .. 0x32FF ; Enclosed CJK Letters and Months
0x3300, # .. 0x33FF ; CJK Compatibility
0x3400, # .. 0x4DBF ; CJK Unified Ideographs Extension A
0x4DC0, # .. 0x4DFF ; Yijing Hexagram Symbols
0x4E00, # .. 0x9FFF ; CJK Unified Ideographs
0xA000, # .. 0xA48F ; Yi Syllables
0xA490, # .. 0xA4CF ; Yi Radicals
0xA4D0, # .. 0xA4FF ; Lisu
0xA500, # .. 0xA63F ; Vai
0xA640, # .. 0xA69F ; Cyrillic Extended-B
0xA6A0, # .. 0xA6FF ; Bamum
0xA700, # .. 0xA71F ; Modifier Tone Letters
0xA720, # .. 0xA7FF ; Latin Extended-D
0xA800, # .. 0xA82F ; Syloti Nagri
0xA830, # .. 0xA83F ; Common Indic Number Forms
0xA840, # .. 0xA87F ; Phags-pa
0xA880, # .. 0xA8DF ; Saurashtra
0xA8E0, # .. 0xA8FF ; Devanagari Extended
0xA900, # .. 0xA92F ; Kayah Li
0xA930, # .. 0xA95F ; Rejang
0xA960, # .. 0xA97F ; Hangul Jamo Extended-A
0xA980, # .. 0xA9DF ; Javanese
0xA9E0, # .. 0xA9FF ; Myanmar Extended-B
0xAA00, # .. 0xAA5F ; Cham
0xAA60, # .. 0xAA7F ; Myanmar Extended-A
0xAA80, # .. 0xAADF ; Tai Viet
0xAAE0, # .. 0xAAFF ; Meetei Mayek Extensions
0xAB00, # .. 0xAB2F ; Ethiopic Extended-A
0xAB30, # .. 0xAB6F ; Latin Extended-E
0xAB70, # .. 0xABBF ; Cherokee Supplement
0xABC0, # .. 0xABFF ; Meetei Mayek
0xAC00, # .. 0xD7AF ; Hangul Syllables
0xD7B0, # .. 0xD7FF ; Hangul Jamo Extended-B
0xD800, # .. 0xDB7F ; High Surrogates
0xDB80, # .. 0xDBFF ; High Private Use Surrogates
0xDC00, # .. 0xDFFF ; Low Surrogates
0xE000, # .. 0xF8FF ; Private Use Area
0xF900, # .. 0xFAFF ; CJK Compatibility Ideographs
0xFB00, # .. 0xFB4F ; Alphabetic Presentation Forms
0xFB50, # .. 0xFDFF ; Arabic Presentation Forms-A
0xFE00, # .. 0xFE0F ; Variation Selectors
0xFE10, # .. 0xFE1F ; Vertical Forms
0xFE20, # .. 0xFE2F ; Combining Half Marks
0xFE30, # .. 0xFE4F ; CJK Compatibility Forms
0xFE50, # .. 0xFE6F ; Small Form Variants
0xFE70, # .. 0xFEFF ; Arabic Presentation Forms-B
0xFF00, # .. 0xFFEF ; Halfwidth and Fullwidth Forms
0xFFF0, # .. 0xFFFF ; Specials
0x10000, # .. 0x1007F ; Linear B Syllabary
0x10080, # .. 0x100FF ; Linear B Ideograms
0x10100, # .. 0x1013F ; Aegean Numbers
0x10140, # .. 0x1018F ; Ancient Greek Numbers
0x10190, # .. 0x101CF ; Ancient Symbols
0x101D0, # .. 0x101FF ; Phaistos Disc
0x10200, # .. 0x1027F ; No_Block
0x10280, # .. 0x1029F ; Lycian
0x102A0, # .. 0x102DF ; Carian
0x102E0, # .. 0x102FF ; Coptic Epact Numbers
0x10300, # .. 0x1032F ; Old Italic
0x10330, # .. 0x1034F ; Gothic
0x10350, # .. 0x1037F ; Old Permic
0x10380, # .. 0x1039F ; Ugaritic
0x103A0, # .. 0x103DF ; Old Persian
0x103E0, # .. 0x103FF ; No_Block
0x10400, # .. 0x1044F ; Deseret
0x10450, # .. 0x1047F ; Shavian
0x10480, # .. 0x104AF ; Osmanya
0x104B0, # .. 0x104FF ; Osage
0x10500, # .. 0x1052F ; Elbasan
0x10530, # .. 0x1056F ; Caucasian Albanian
0x10570, # .. 0x105BF ; Vithkuqi
0x105C0, # .. 0x105FF ; No_Block
0x10600, # .. 0x1077F ; Linear A
0x10780, # .. 0x107BF ; Latin Extended-F
0x107C0, # .. 0x107FF ; No_Block
0x10800, # .. 0x1083F ; Cypriot Syllabary
0x10840, # .. 0x1085F ; Imperial Aramaic
0x10860, # .. 0x1087F ; Palmyrene
0x10880, # .. 0x108AF ; Nabataean
0x108B0, # .. 0x108DF ; No_Block
0x108E0, # .. 0x108FF ; Hatran
0x10900, # .. 0x1091F ; Phoenician
0x10920, # .. 0x1093F ; Lydian
0x10940, # .. 0x1097F ; No_Block
0x10980, # .. 0x1099F ; Meroitic Hieroglyphs
0x109A0, # .. 0x109FF ; Meroitic Cursive
0x10A00, # .. 0x10A5F ; Kharoshthi
0x10A60, # .. 0x10A7F ; Old South Arabian
0x10A80, # .. 0x10A9F ; Old North Arabian
0x10AA0, # .. 0x10ABF ; No_Block
0x10AC0, # .. 0x10AFF ; Manichaean
0x10B00, # .. 0x10B3F ; Avestan
0x10B40, # .. 0x10B5F ; Inscriptional Parthian
0x10B60, # .. 0x10B7F ; Inscriptional Pahlavi
0x10B80, # .. 0x10BAF ; Psalter Pahlavi
0x10BB0, # .. 0x10BFF ; No_Block
0x10C00, # .. 0x10C4F ; Old Turkic
0x10C50, # .. 0x10C7F ; No_Block
0x10C80, # .. 0x10CFF ; Old Hungarian
0x10D00, # .. 0x10D3F ; Hanifi Rohingya
0x10D40, # .. 0x10E5F ; No_Block
0x10E60, # .. 0x10E7F ; Rumi Numeral Symbols
0x10E80, # .. 0x10EBF ; Yezidi
0x10EC0, # .. 0x10EFF ; Arabic Extended-C
0x10F00, # .. 0x10F2F ; Old Sogdian
0x10F30, # .. 0x10F6F ; Sogdian
0x10F70, # .. 0x10FAF ; Old Uyghur
0x10FB0, # .. 0x10FDF ; Chorasmian
0x10FE0, # .. 0x10FFF ; Elymaic
0x11000, # .. 0x1107F ; Brahmi
0x11080, # .. 0x110CF ; Kaithi
0x110D0, # .. 0x110FF ; Sora Sompeng
0x11100, # .. 0x1114F ; Chakma
0x11150, # .. 0x1117F ; Mahajani
0x11180, # .. 0x111DF ; Sharada
0x111E0, # .. 0x111FF ; Sinhala Archaic Numbers
0x11200, # .. 0x1124F ; Khojki
0x11250, # .. 0x1127F ; No_Block
0x11280, # .. 0x112AF ; Multani
0x112B0, # .. 0x112FF ; Khudawadi
0x11300, # .. 0x1137F ; Grantha
0x11380, # .. 0x113FF ; No_Block
0x11400, # .. 0x1147F ; Newa
0x11480, # .. 0x114DF ; Tirhuta
0x114E0, # .. 0x1157F ; No_Block
0x11580, # .. 0x115FF ; Siddham
0x11600, # .. 0x1165F ; Modi
0x11660, # .. 0x1167F ; Mongolian Supplement
0x11680, # .. 0x116CF ; Takri
0x116D0, # .. 0x116FF ; No_Block
0x11700, # .. 0x1174F ; Ahom
0x11750, # .. 0x117FF ; No_Block
0x11800, # .. 0x1184F ; Dogra
0x11850, # .. 0x1189F ; No_Block
0x118A0, # .. 0x118FF ; Warang Citi
0x11900, # .. 0x1195F ; Dives Akuru
0x11960, # .. 0x1199F ; No_Block
0x119A0, # .. 0x119FF ; Nandinagari
0x11A00, # .. 0x11A4F ; Zanabazar Square
0x11A50, # .. 0x11AAF ; Soyombo
0x11AB0, # .. 0x11ABF ; Unified Canadian Aboriginal Syllabics Extended-A
0x11AC0, # .. 0x11AFF ; Pau Cin Hau
0x11B00, # .. 0x11B5F ; Devanagari Extended-A
0x11B60, # .. 0x11BFF ; No_Block
0x11C00, # .. 0x11C6F ; Bhaiksuki
0x11C70, # .. 0x11CBF ; Marchen
0x11CC0, # .. 0x11CFF ; No_Block
0x11D00, # .. 0x11D5F ; Masaram Gondi
0x11D60, # .. 0x11DAF ; Gunjala Gondi
0x11DB0, # .. 0x11EDF ; No_Block
0x11EE0, # .. 0x11EFF ; Makasar
0x11F00, # .. 0x11F5F ; Kawi
0x11F60, # .. 0x11FAF ; No_Block
0x11FB0, # .. 0x11FBF ; Lisu Supplement
0x11FC0, # .. 0x11FFF ; Tamil Supplement
0x12000, # .. 0x123FF ; Cuneiform
0x12400, # .. 0x1247F ; Cuneiform Numbers and Punctuation
0x12480, # .. 0x1254F ; Early Dynastic Cuneiform
0x12550, # .. 0x12F8F ; No_Block
0x12F90, # .. 0x12FFF ; Cypro-Minoan
0x13000, # .. 0x1342F ; Egyptian Hieroglyphs
0x13430, # .. 0x1345F ; Egyptian Hieroglyph Format Controls
0x13460, # .. 0x143FF ; No_Block
0x14400, # .. 0x1467F ; Anatolian Hieroglyphs
0x14680, # .. 0x167FF ; No_Block
0x16800, # .. 0x16A3F ; Bamum Supplement
0x16A40, # .. 0x16A6F ; Mro
0x16A70, # .. 0x16ACF ; Tangsa
0x16AD0, # .. 0x16AFF ; Bassa Vah
0x16B00, # .. 0x16B8F ; Pahawh Hmong
0x16B90, # .. 0x16E3F ; No_Block
0x16E40, # .. 0x16E9F ; Medefaidrin
0x16EA0, # .. 0x16EFF ; No_Block
0x16F00, # .. 0x16F9F ; Miao
0x16FA0, # .. 0x16FDF ; No_Block
0x16FE0, # .. 0x16FFF ; Ideographic Symbols and Punctuation
0x17000, # .. 0x187FF ; Tangut
0x18800, # .. 0x18AFF ; Tangut Components
0x18B00, # .. 0x18CFF ; Khitan Small Script
0x18D00, # .. 0x18D7F ; Tangut Supplement
0x18D80, # .. 0x1AFEF ; No_Block
0x1AFF0, # .. 0x1AFFF ; Kana Extended-B
0x1B000, # .. 0x1B0FF ; Kana Supplement
0x1B100, # .. 0x1B12F ; Kana Extended-A
0x1B130, # .. 0x1B16F ; Small Kana Extension
0x1B170, # .. 0x1B2FF ; Nushu
0x1B300, # .. 0x1BBFF ; No_Block
0x1BC00, # .. 0x1BC9F ; Duployan
0x1BCA0, # .. 0x1BCAF ; Shorthand Format Controls
0x1BCB0, # .. 0x1CEFF ; No_Block
0x1CF00, # .. 0x1CFCF ; Znamenny Musical Notation
0x1CFD0, # .. 0x1CFFF ; No_Block
0x1D000, # .. 0x1D0FF ; Byzantine Musical Symbols
0x1D100, # .. 0x1D1FF ; Musical Symbols
0x1D200, # .. 0x1D24F ; Ancient Greek Musical Notation
0x1D250, # .. 0x1D2BF ; No_Block
0x1D2C0, # .. 0x1D2DF ; Kaktovik Numerals
0x1D2E0, # .. 0x1D2FF ; Mayan Numerals
0x1D300, # .. 0x1D35F ; Tai Xuan Jing Symbols
0x1D360, # .. 0x1D37F ; Counting Rod Numerals
0x1D380, # .. 0x1D3FF ; No_Block
0x1D400, # .. 0x1D7FF ; Mathematical Alphanumeric Symbols
0x1D800, # .. 0x1DAAF ; Sutton SignWriting
0x1DAB0, # .. 0x1DEFF ; No_Block
0x1DF00, # .. 0x1DFFF ; Latin Extended-G
0x1E000, # .. 0x1E02F ; Glagolitic Supplement
0x1E030, # .. 0x1E08F ; Cyrillic Extended-D
0x1E090, # .. 0x1E0FF ; No_Block
0x1E100, # .. 0x1E14F ; Nyiakeng Puachue Hmong
0x1E150, # .. 0x1E28F ; No_Block
0x1E290, # .. 0x1E2BF ; Toto
0x1E2C0, # .. 0x1E2FF ; Wancho
0x1E300, # .. 0x1E4CF ; No_Block
0x1E4D0, # .. 0x1E4FF ; Nag Mundari
0x1E500, # .. 0x1E7DF ; No_Block
0x1E7E0, # .. 0x1E7FF ; Ethiopic Extended-B
0x1E800, # .. 0x1E8DF ; Mende Kikakui
0x1E8E0, # .. 0x1E8FF ; No_Block
0x1E900, # .. 0x1E95F ; Adlam
0x1E960, # .. 0x1EC6F ; No_Block
0x1EC70, # .. 0x1ECBF ; Indic Siyaq Numbers
0x1ECC0, # .. 0x1ECFF ; No_Block
0x1ED00, # .. 0x1ED4F ; Ottoman Siyaq Numbers
0x1ED50, # .. 0x1EDFF ; No_Block
0x1EE00, # .. 0x1EEFF ; Arabic Mathematical Alphabetic Symbols
0x1EF00, # .. 0x1EFFF ; No_Block
0x1F000, # .. 0x1F02F ; Mahjong Tiles
0x1F030, # .. 0x1F09F ; Domino Tiles
0x1F0A0, # .. 0x1F0FF ; Playing Cards
0x1F100, # .. 0x1F1FF ; Enclosed Alphanumeric Supplement
0x1F200, # .. 0x1F2FF ; Enclosed Ideographic Supplement
0x1F300, # .. 0x1F5FF ; Miscellaneous Symbols and Pictographs
0x1F600, # .. 0x1F64F ; Emoticons
0x1F650, # .. 0x1F67F ; Ornamental Dingbats
0x1F680, # .. 0x1F6FF ; Transport and Map Symbols
0x1F700, # .. 0x1F77F ; Alchemical Symbols
0x1F780, # .. 0x1F7FF ; Geometric Shapes Extended
0x1F800, # .. 0x1F8FF ; Supplemental Arrows-C
0x1F900, # .. 0x1F9FF ; Supplemental Symbols and Pictographs
0x1FA00, # .. 0x1FA6F ; Chess Symbols
0x1FA70, # .. 0x1FAFF ; Symbols and Pictographs Extended-A
0x1FB00, # .. 0x1FBFF ; Symbols for Legacy Computing
0x1FC00, # .. 0x1FFFF ; No_Block
0x20000, # .. 0x2A6DF ; CJK Unified Ideographs Extension B
0x2A6E0, # .. 0x2A6FF ; No_Block
0x2A700, # .. 0x2B73F ; CJK Unified Ideographs Extension C
0x2B740, # .. 0x2B81F ; CJK Unified Ideographs Extension D
0x2B820, # .. 0x2CEAF ; CJK Unified Ideographs Extension E
0x2CEB0, # .. 0x2EBEF ; CJK Unified Ideographs Extension F
0x2EBF0, # .. 0x2F7FF ; No_Block
0x2F800, # .. 0x2FA1F ; CJK Compatibility Ideographs Supplement
0x2FA20, # .. 0x2FFFF ; No_Block
0x30000, # .. 0x3134F ; CJK Unified Ideographs Extension G
0x31350, # .. 0x323AF ; CJK Unified Ideographs Extension H
0x323B0, # .. 0xDFFFF ; No_Block
0xE0000, # .. 0xE007F ; Tags
0xE0080, # .. 0xE00FF ; No_Block
0xE0100, # .. 0xE01EF ; Variation Selectors Supplement
0xE01F0, # .. 0xEFFFF ; No_Block
0xF0000, # .. 0xFFFFF ; Supplementary Private Use Area-A
0x100000, # .. 0x10FFFF ; Supplementary Private Use Area-B
]
VALUES = [
"Basic Latin", # 0000..007F
"Latin-1 Supplement", # 0080..00FF
"Latin Extended-A", # 0100..017F
"Latin Extended-B", # 0180..024F
"IPA Extensions", # 0250..02AF
"Spacing Modifier Letters", # 02B0..02FF
"Combining Diacritical Marks", # 0300..036F
"Greek and Coptic", # 0370..03FF
"Cyrillic", # 0400..04FF
"Cyrillic Supplement", # 0500..052F
"Armenian", # 0530..058F
"Hebrew", # 0590..05FF
"Arabic", # 0600..06FF
"Syriac", # 0700..074F
"Arabic Supplement", # 0750..077F
"Thaana", # 0780..07BF
"NKo", # 07C0..07FF
"Samaritan", # 0800..083F
"Mandaic", # 0840..085F
"Syriac Supplement", # 0860..086F
"Arabic Extended-B", # 0870..089F
"Arabic Extended-A", # 08A0..08FF
"Devanagari", # 0900..097F
"Bengali", # 0980..09FF
"Gurmukhi", # 0A00..0A7F
"Gujarati", # 0A80..0AFF
"Oriya", # 0B00..0B7F
"Tamil", # 0B80..0BFF
"Telugu", # 0C00..0C7F
"Kannada", # 0C80..0CFF
"Malayalam", # 0D00..0D7F
"Sinhala", # 0D80..0DFF
"Thai", # 0E00..0E7F
"Lao", # 0E80..0EFF
"Tibetan", # 0F00..0FFF
"Myanmar", # 1000..109F
"Georgian", # 10A0..10FF
"Hangul Jamo", # 1100..11FF
"Ethiopic", # 1200..137F
"Ethiopic Supplement", # 1380..139F
"Cherokee", # 13A0..13FF
"Unified Canadian Aboriginal Syllabics", # 1400..167F
"Ogham", # 1680..169F
"Runic", # 16A0..16FF
"Tagalog", # 1700..171F
"Hanunoo", # 1720..173F
"Buhid", # 1740..175F
"Tagbanwa", # 1760..177F
"Khmer", # 1780..17FF
"Mongolian", # 1800..18AF
"Unified Canadian Aboriginal Syllabics Extended", # 18B0..18FF
"Limbu", # 1900..194F
"Tai Le", # 1950..197F
"New Tai Lue", # 1980..19DF
"Khmer Symbols", # 19E0..19FF
"Buginese", # 1A00..1A1F
"Tai Tham", # 1A20..1AAF
"Combining Diacritical Marks Extended", # 1AB0..1AFF
"Balinese", # 1B00..1B7F
"Sundanese", # 1B80..1BBF
"Batak", # 1BC0..1BFF
"Lepcha", # 1C00..1C4F
"Ol Chiki", # 1C50..1C7F
"Cyrillic Extended-C", # 1C80..1C8F
"Georgian Extended", # 1C90..1CBF
"Sundanese Supplement", # 1CC0..1CCF
"Vedic Extensions", # 1CD0..1CFF
"Phonetic Extensions", # 1D00..1D7F
"Phonetic Extensions Supplement", # 1D80..1DBF
"Combining Diacritical Marks Supplement", # 1DC0..1DFF
"Latin Extended Additional", # 1E00..1EFF
"Greek Extended", # 1F00..1FFF
"General Punctuation", # 2000..206F
"Superscripts and Subscripts", # 2070..209F
"Currency Symbols", # 20A0..20CF
"Combining Diacritical Marks for Symbols", # 20D0..20FF
"Letterlike Symbols", # 2100..214F
"Number Forms", # 2150..218F
"Arrows", # 2190..21FF
"Mathematical Operators", # 2200..22FF
"Miscellaneous Technical", # 2300..23FF
"Control Pictures", # 2400..243F
"Optical Character Recognition", # 2440..245F
"Enclosed Alphanumerics", # 2460..24FF
"Box Drawing", # 2500..257F
"Block Elements", # 2580..259F
"Geometric Shapes", # 25A0..25FF
"Miscellaneous Symbols", # 2600..26FF
"Dingbats", # 2700..27BF
"Miscellaneous Mathematical Symbols-A", # 27C0..27EF
"Supplemental Arrows-A", # 27F0..27FF
"Braille Patterns", # 2800..28FF
"Supplemental Arrows-B", # 2900..297F
"Miscellaneous Mathematical Symbols-B", # 2980..29FF
"Supplemental Mathematical Operators", # 2A00..2AFF
"Miscellaneous Symbols and Arrows", # 2B00..2BFF
"Glagolitic", # 2C00..2C5F
"Latin Extended-C", # 2C60..2C7F
"Coptic", # 2C80..2CFF
"Georgian Supplement", # 2D00..2D2F
"Tifinagh", # 2D30..2D7F
"Ethiopic Extended", # 2D80..2DDF
"Cyrillic Extended-A", # 2DE0..2DFF
"Supplemental Punctuation", # 2E00..2E7F
"CJK Radicals Supplement", # 2E80..2EFF
"Kangxi Radicals", # 2F00..2FDF
"No_Block", # 2FE0..2FEF
"Ideographic Description Characters", # 2FF0..2FFF
"CJK Symbols and Punctuation", # 3000..303F
"Hiragana", # 3040..309F
"Katakana", # 30A0..30FF
"Bopomofo", # 3100..312F
"Hangul Compatibility Jamo", # 3130..318F
"Kanbun", # 3190..319F
"Bopomofo Extended", # 31A0..31BF
"CJK Strokes", # 31C0..31EF
"Katakana Phonetic Extensions", # 31F0..31FF
"Enclosed CJK Letters and Months", # 3200..32FF
"CJK Compatibility", # 3300..33FF
"CJK Unified Ideographs Extension A", # 3400..4DBF
"Yijing Hexagram Symbols", # 4DC0..4DFF
"CJK Unified Ideographs", # 4E00..9FFF
"Yi Syllables", # A000..A48F
"Yi Radicals", # A490..A4CF
"Lisu", # A4D0..A4FF
"Vai", # A500..A63F
"Cyrillic Extended-B", # A640..A69F
"Bamum", # A6A0..A6FF
"Modifier Tone Letters", # A700..A71F
"Latin Extended-D", # A720..A7FF
"Syloti Nagri", # A800..A82F
"Common Indic Number Forms", # A830..A83F
"Phags-pa", # A840..A87F
"Saurashtra", # A880..A8DF
"Devanagari Extended", # A8E0..A8FF
"Kayah Li", # A900..A92F
"Rejang", # A930..A95F
"Hangul Jamo Extended-A", # A960..A97F
"Javanese", # A980..A9DF
"Myanmar Extended-B", # A9E0..A9FF
"Cham", # AA00..AA5F
"Myanmar Extended-A", # AA60..AA7F
"Tai Viet", # AA80..AADF
"Meetei Mayek Extensions", # AAE0..AAFF
"Ethiopic Extended-A", # AB00..AB2F
"Latin Extended-E", # AB30..AB6F
"Cherokee Supplement", # AB70..ABBF
"Meetei Mayek", # ABC0..ABFF
"Hangul Syllables", # AC00..D7AF
"Hangul Jamo Extended-B", # D7B0..D7FF
"High Surrogates", # D800..DB7F
"High Private Use Surrogates", # DB80..DBFF
"Low Surrogates", # DC00..DFFF
"Private Use Area", # E000..F8FF
"CJK Compatibility Ideographs", # F900..FAFF
"Alphabetic Presentation Forms", # FB00..FB4F
"Arabic Presentation Forms-A", # FB50..FDFF
"Variation Selectors", # FE00..FE0F
"Vertical Forms", # FE10..FE1F
"Combining Half Marks", # FE20..FE2F
"CJK Compatibility Forms", # FE30..FE4F
"Small Form Variants", # FE50..FE6F
"Arabic Presentation Forms-B", # FE70..FEFF
"Halfwidth and Fullwidth Forms", # FF00..FFEF
"Specials", # FFF0..FFFF
"Linear B Syllabary", # 10000..1007F
"Linear B Ideograms", # 10080..100FF
"Aegean Numbers", # 10100..1013F
"Ancient Greek Numbers", # 10140..1018F
"Ancient Symbols", # 10190..101CF
"Phaistos Disc", # 101D0..101FF
"No_Block", # 10200..1027F
"Lycian", # 10280..1029F
"Carian", # 102A0..102DF
"Coptic Epact Numbers", # 102E0..102FF
"Old Italic", # 10300..1032F
"Gothic", # 10330..1034F
"Old Permic", # 10350..1037F
"Ugaritic", # 10380..1039F
"Old Persian", # 103A0..103DF
"No_Block", # 103E0..103FF
"Deseret", # 10400..1044F
"Shavian", # 10450..1047F
"Osmanya", # 10480..104AF
"Osage", # 104B0..104FF
"Elbasan", # 10500..1052F
"Caucasian Albanian", # 10530..1056F
"Vithkuqi", # 10570..105BF
"No_Block", # 105C0..105FF
"Linear A", # 10600..1077F
"Latin Extended-F", # 10780..107BF
"No_Block", # 107C0..107FF
"Cypriot Syllabary", # 10800..1083F
"Imperial Aramaic", # 10840..1085F
"Palmyrene", # 10860..1087F
"Nabataean", # 10880..108AF
"No_Block", # 108B0..108DF
"Hatran", # 108E0..108FF
"Phoenician", # 10900..1091F
"Lydian", # 10920..1093F
"No_Block", # 10940..1097F
"Meroitic Hieroglyphs", # 10980..1099F
"Meroitic Cursive", # 109A0..109FF
"Kharoshthi", # 10A00..10A5F
"Old South Arabian", # 10A60..10A7F
"Old North Arabian", # 10A80..10A9F
"No_Block", # 10AA0..10ABF
"Manichaean", # 10AC0..10AFF
"Avestan", # 10B00..10B3F
"Inscriptional Parthian", # 10B40..10B5F
"Inscriptional Pahlavi", # 10B60..10B7F
"Psalter Pahlavi", # 10B80..10BAF
"No_Block", # 10BB0..10BFF
"Old Turkic", # 10C00..10C4F
"No_Block", # 10C50..10C7F
"Old Hungarian", # 10C80..10CFF
"Hanifi Rohingya", # 10D00..10D3F
"No_Block", # 10D40..10E5F
"Rumi Numeral Symbols", # 10E60..10E7F
"Yezidi", # 10E80..10EBF
"Arabic Extended-C", # 10EC0..10EFF
"Old Sogdian", # 10F00..10F2F
"Sogdian", # 10F30..10F6F
"Old Uyghur", # 10F70..10FAF
"Chorasmian", # 10FB0..10FDF
"Elymaic", # 10FE0..10FFF
"Brahmi", # 11000..1107F
"Kaithi", # 11080..110CF
"Sora Sompeng", # 110D0..110FF
"Chakma", # 11100..1114F
"Mahajani", # 11150..1117F
"Sharada", # 11180..111DF
"Sinhala Archaic Numbers", # 111E0..111FF
"Khojki", # 11200..1124F
"No_Block", # 11250..1127F
"Multani", # 11280..112AF
"Khudawadi", # 112B0..112FF
"Grantha", # 11300..1137F
"No_Block", # 11380..113FF
"Newa", # 11400..1147F
"Tirhuta", # 11480..114DF
"No_Block", # 114E0..1157F
"Siddham", # 11580..115FF
"Modi", # 11600..1165F
"Mongolian Supplement", # 11660..1167F
"Takri", # 11680..116CF
"No_Block", # 116D0..116FF
"Ahom", # 11700..1174F
"No_Block", # 11750..117FF
"Dogra", # 11800..1184F
"No_Block", # 11850..1189F
"Warang Citi", # 118A0..118FF
"Dives Akuru", # 11900..1195F
"No_Block", # 11960..1199F
"Nandinagari", # 119A0..119FF
"Zanabazar Square", # 11A00..11A4F
"Soyombo", # 11A50..11AAF
"Unified Canadian Aboriginal Syllabics Extended-A", # 11AB0..11ABF
"Pau Cin Hau", # 11AC0..11AFF
"Devanagari Extended-A", # 11B00..11B5F
"No_Block", # 11B60..11BFF
"Bhaiksuki", # 11C00..11C6F
"Marchen", # 11C70..11CBF
"No_Block", # 11CC0..11CFF
"Masaram Gondi", # 11D00..11D5F
"Gunjala Gondi", # 11D60..11DAF
"No_Block", # 11DB0..11EDF
"Makasar", # 11EE0..11EFF
"Kawi", # 11F00..11F5F
"No_Block", # 11F60..11FAF
"Lisu Supplement", # 11FB0..11FBF
"Tamil Supplement", # 11FC0..11FFF
"Cuneiform", # 12000..123FF
"Cuneiform Numbers and Punctuation", # 12400..1247F
"Early Dynastic Cuneiform", # 12480..1254F
"No_Block", # 12550..12F8F
"Cypro-Minoan", # 12F90..12FFF
"Egyptian Hieroglyphs", # 13000..1342F
"Egyptian Hieroglyph Format Controls", # 13430..1345F
"No_Block", # 13460..143FF
"Anatolian Hieroglyphs", # 14400..1467F
"No_Block", # 14680..167FF
"Bamum Supplement", # 16800..16A3F
"Mro", # 16A40..16A6F
"Tangsa", # 16A70..16ACF
"Bassa Vah", # 16AD0..16AFF
"Pahawh Hmong", # 16B00..16B8F
"No_Block", # 16B90..16E3F
"Medefaidrin", # 16E40..16E9F
"No_Block", # 16EA0..16EFF
"Miao", # 16F00..16F9F
"No_Block", # 16FA0..16FDF
"Ideographic Symbols and Punctuation", # 16FE0..16FFF
"Tangut", # 17000..187FF
"Tangut Components", # 18800..18AFF
"Khitan Small Script", # 18B00..18CFF
"Tangut Supplement", # 18D00..18D7F
"No_Block", # 18D80..1AFEF
"Kana Extended-B", # 1AFF0..1AFFF
"Kana Supplement", # 1B000..1B0FF
"Kana Extended-A", # 1B100..1B12F
"Small Kana Extension", # 1B130..1B16F
"Nushu", # 1B170..1B2FF
"No_Block", # 1B300..1BBFF
"Duployan", # 1BC00..1BC9F
"Shorthand Format Controls", # 1BCA0..1BCAF
"No_Block", # 1BCB0..1CEFF
"Znamenny Musical Notation", # 1CF00..1CFCF
"No_Block", # 1CFD0..1CFFF
"Byzantine Musical Symbols", # 1D000..1D0FF
"Musical Symbols", # 1D100..1D1FF
"Ancient Greek Musical Notation", # 1D200..1D24F
"No_Block", # 1D250..1D2BF
"Kaktovik Numerals", # 1D2C0..1D2DF
"Mayan Numerals", # 1D2E0..1D2FF
"Tai Xuan Jing Symbols", # 1D300..1D35F
"Counting Rod Numerals", # 1D360..1D37F
"No_Block", # 1D380..1D3FF
"Mathematical Alphanumeric Symbols", # 1D400..1D7FF
"Sutton SignWriting", # 1D800..1DAAF
"No_Block", # 1DAB0..1DEFF
"Latin Extended-G", # 1DF00..1DFFF
"Glagolitic Supplement", # 1E000..1E02F
"Cyrillic Extended-D", # 1E030..1E08F
"No_Block", # 1E090..1E0FF
"Nyiakeng Puachue Hmong", # 1E100..1E14F
"No_Block", # 1E150..1E28F
"Toto", # 1E290..1E2BF
"Wancho", # 1E2C0..1E2FF
"No_Block", # 1E300..1E4CF
"Nag Mundari", # 1E4D0..1E4FF
"No_Block", # 1E500..1E7DF
"Ethiopic Extended-B", # 1E7E0..1E7FF
"Mende Kikakui", # 1E800..1E8DF
"No_Block", # 1E8E0..1E8FF
"Adlam", # 1E900..1E95F
"No_Block", # 1E960..1EC6F
"Indic Siyaq Numbers", # 1EC70..1ECBF
"No_Block", # 1ECC0..1ECFF
"Ottoman Siyaq Numbers", # 1ED00..1ED4F
"No_Block", # 1ED50..1EDFF
"Arabic Mathematical Alphabetic Symbols", # 1EE00..1EEFF
"No_Block", # 1EF00..1EFFF
"Mahjong Tiles", # 1F000..1F02F
"Domino Tiles", # 1F030..1F09F
"Playing Cards", # 1F0A0..1F0FF
"Enclosed Alphanumeric Supplement", # 1F100..1F1FF
"Enclosed Ideographic Supplement", # 1F200..1F2FF
"Miscellaneous Symbols and Pictographs", # 1F300..1F5FF
"Emoticons", # 1F600..1F64F
"Ornamental Dingbats", # 1F650..1F67F
"Transport and Map Symbols", # 1F680..1F6FF
"Alchemical Symbols", # 1F700..1F77F
"Geometric Shapes Extended", # 1F780..1F7FF
"Supplemental Arrows-C", # 1F800..1F8FF
"Supplemental Symbols and Pictographs", # 1F900..1F9FF
"Chess Symbols", # 1FA00..1FA6F
"Symbols and Pictographs Extended-A", # 1FA70..1FAFF
"Symbols for Legacy Computing", # 1FB00..1FBFF
"No_Block", # 1FC00..1FFFF
"CJK Unified Ideographs Extension B", # 20000..2A6DF
"No_Block", # 2A6E0..2A6FF
"CJK Unified Ideographs Extension C", # 2A700..2B73F
"CJK Unified Ideographs Extension D", # 2B740..2B81F
"CJK Unified Ideographs Extension E", # 2B820..2CEAF
"CJK Unified Ideographs Extension F", # 2CEB0..2EBEF
"No_Block", # 2EBF0..2F7FF
"CJK Compatibility Ideographs Supplement", # 2F800..2FA1F
"No_Block", # 2FA20..2FFFF
"CJK Unified Ideographs Extension G", # 30000..3134F
"CJK Unified Ideographs Extension H", # 31350..323AF
"No_Block", # 323B0..DFFFF
"Tags", # E0000..E007F
"No_Block", # E0080..E00FF
"Variation Selectors Supplement", # E0100..E01EF
"No_Block", # E01F0..EFFFF
"Supplementary Private Use Area-A", # F0000..FFFFF
"Supplementary Private Use Area-B", # 100000..10FFFF
]
|