X-Git-Url: http://git.shiar.net/sheet.git/blobdiff_plain/bb412b576d883e11a4ec09d01c34a933d894af6c..3f38a7192491a73a1527179cdd68218f023aed61:/charset-unicode.inc.pl?ds=sidebyside
diff --git a/charset-unicode.inc.pl b/charset-unicode.inc.pl
index 4f5a49d..6c21dcf 100644
--- a/charset-unicode.inc.pl
+++ b/charset-unicode.inc.pl
@@ -1,180 +1,435 @@
-my %uniblock = (
- 0x000, '
control',
- 0x002, ' | comn',
- 0x004, ' | basic latin',
- 0x008, ' | control',
- 0x00A, ' | comn',
- 0x00C, ' | latin1',
- 0x010, ' | latin extended-A',
- 0x018, ' | latin extended-B',
- 0x020, ' | latin ext-B',
- 0x025, ' | IPA',
- 0x02B, ' | spacing modifier',
- 0x030, ' | diacritics',
- 0x038, ' | greek',
- 0x040, ' | cyrillic',
- 0x050, ' | cyrillic+',
- 0x053, ' | armenian',
- 0x058, ' | hebrew',
- 0x060, ' | arabic',
- 0x070, ' | syriac',
- 0x075, ' | arabic+',
- 0x078, ' | thaana',
- 0x07C, ' | n\'ko',
- 0x080, ' | samaritan',
- 0x084, ' | manda',
- 0x086, ' | reserved',
- 0x090, ' | devanagari',
- 0x098, ' | bengali',
- 0x0A0, ' | gurmukhi',
- 0x0A8, ' | gujarati',
- 0x0B0, ' | oriya',
- 0x0B8, ' | tamil',
- 0x0C0, ' | telugu',
- 0x0C8, ' | kannada',
- 0x0D0, ' | malayalam',
- 0x0D8, ' | sinhala',
- 0x0E0, ' | thai',
- 0x0E8, ' | lao',
- 0x0F0, ' | tibetan',
- 0x100, ' | myanmar',
- 0x10A, ' | georgian',
- 0x110, ' | hangeul jamo',
- 0x120, ' | ethiopic',
- 0x130, ' | ethiopic',
- 0x138, ' | eth+',
- 0x13A, ' | cherokee',
- 0x140, ' | unified canadian aboriginal syllabics',
- 0x160, ' | unified canadian syllabics',
- 0x168, ' | ogham',
- 0x16A, ' | runic',
- 0x170, ' | tagalog',
- 0x172, ' | hanun',
- 0x174, ' | buhid',
- 0x176, ' | tagb',
- 0x178, ' | khmer',
- 0x180, ' | mongolian',
- 0x18B, ' | canadian+',
- 0x190, ' | limbu',
- 0x195, ' | tai le',
- 0x198, ' | new tai lue',
- 0x19E, ' | km',
- 0x1A0, ' | lontara',
- 0x1A2, ' | tai tham',
- 0x1AB, ' | reserved',
- 0x1B0, ' | balinese',
- 0x1B8, ' | sundanese',
- 0x1BC, ' | batak',
- 0x1C0, ' | lepcha',
- 0x1C5, ' | ol chiki',
- 0x1C8, ' | reserved',
- 0x1CD, ' | vedic',
- 0x1D0, ' | phonetic',
- 0x1D8, ' | phonetic+',
- 0x1DC, ' | combining',
- 0x1E0, ' | latin extended additional',
- 0x1F0, ' | greek+',
- 0x200, ' | general punctuation',
- 0x207, ' | suþscript', # suth now means "sub and/or sup"
- 0x20A, ' | currency',
- 0x20D, ' | overlay',
- 0x210, ' | letterlike',
- 0x215, ' | number',
- 0x219, ' | arrows',
- 0x220, ' | mathematical symbols',
- 0x230, ' | miscellaneous technical',
- 0x240, ' | control',
- 0x244, ' | OCR',
- 0x246, ' | enclosed alphanumerics',
- 0x250, ' | box drawing',
- 0x258, ' | blocks',
- 0x25A, ' | geometric shapes',
- 0x260, ' | miscellaneous symbols',
- 0x270, ' | dingbats',
- 0x27C, ' | maths-A',
- 0x27F, ' | arr',
- 0x280, ' | braille',
- 0x290, ' | supplemental arrows-B',
- 0x298, ' | mathematical symbols-B',
- 0x2A0, ' | supplemental mathematical operators',
- 0x2B0, ' | miscellaneous symbols and arrows',
- 0x2C0, ' | glagolitic',
- 0x2C6, ' | latin-C',
- 0x2C8, ' | coptic',
- 0x2D0, ' | georgian+',
- 0x2D3, ' | tifinagh', #TODO: proto-canaanite
- 0x2D8, ' | ethiopic+',
- 0x2DE, ' | cyrl-A',
- 0x2E0, ' | punctuation+',
- 0x2E8, ' | cjk radicals',
- 0x2F0, ' | kangxi radicals',
- 0x2FE, ' | ',
- 0x2FF, ' | idc',
- 0x300, ' | cjk misc',
- 0x304, ' | hiragana',
- 0x30A, ' | katakana',
- 0x310, ' | bopomofo',
- 0x313, ' | hangeul compat',
- 0x319, ' | kbn',
- 0x31A, ' | bpmf',
- 0x31C, ' | strokes',
- 0x31F, ' | k+',
- 0x320, ' | enclosed cjk characters',
- 0x330, ' | cjk compatibility',
- 0x340, ' | cjk unified ideographs extension A',
- 0x4D0, ' | cjk unified ideographs extension A',
- 0x4DC, ' | hexagrams',
- 0x4E0, ' | cjk unified ideographs',
- 0xA00, ' | yi',
- 0xA40, ' | yi',
- 0xA49, ' | yi radicals',
- 0xA4D, ' | lisu',
- 0xA50, ' | vai',
- 0xA60, ' | vai',
- 0xA64, ' | cyrillic extended-B',
- 0xA6A, ' | bamum',
- 0xA70, ' | tones',
- 0xA72, ' | latin extended-D',
- 0xA80, ' | sylheti',
- 0xA83, ' | in',
- 0xA84, ' | phags-pa',
- 0xA88, ' | saurashtra',
- 0xA8E, ' | deva+',
- 0xA90, ' | kayah li',
- 0xA93, ' | rejang',
- 0xA96, ' | jamo-A',
- 0xA98, ' | javanese',
- 0xA9E, ' | res',
- 0xAA0, ' | cham',
- 0xAA6, ' | mym-A',
- 0xAA8, ' | tai viet',
- 0xAAE, ' | mtei+',
- 0xAB0, ' | reserved',
- 0xABC, ' | manipuri',
- 0xAC0, ' | hangeul syllables',
- 0xD70, ' | hangeul syllables',
- 0xD7B, ' | haungeul jamo-B',
- 0xD80, ' | high surrogates',
- 0xDC0, ' | low surrogates',
- 0xE00, ' | private use',
- 0xF90, ' | cjk compatibility ideographs',
- 0xFB0, ' | presentation',
- 0xFB5, ' | ',
- 0xFC0, ' | arabic presentation forms A',
- 0xFD0, ' | ',
- 0xFDD, ' | ?',
- 0xFDF, ' | ',
- 0xFE0, ' | var',
- 0xFE1, ' | ver',
- 0xFE2, ' | ½',
- 0xFE3, ' | comp',
- 0xFE5, ' | small',
- 0xFE7, ' | arabic presentation B',
- 0xFF0, ' | halfwidth & fullwidth forms',
- 0xFFF, ' | sp',
-);
+use utf8;
++{
+ colsize => 0x10,
-sub {
- return defined $uniblock{$_[0]} ? $uniblock{$_[0]} : ();
-}
+ # bmp
+ 0x00000 => [0x020, 'X Cc joinr', 'control'],
+ 0x00020 => [0x020, 'X L Po joinl joinr', 'comn', 'common ascii signs'],
+ 0x00040 => [0x040, 'X L Latin joinl', 'basic latin'],
+ 0x00080 => [0x020, 'X Cc joinr', 'control'],
+ 0x000A0 => [0x020, 'X L So joinl joinr', 'comn', 'common latin1 signs'],
+ 0x000C0 => [0x040, 'X L Latin joinl', 'latin1'],
+ 0x00100 => [0x080, 'X L Latin', 'latin extended-A'],
+ 0x00180 => [0x0D0, 'X L Latin', 'latin extended-B'],
+ 0x00250 => [0x060, 'X L Latin', 'IPA'],
+ 0x002B0 => [0x050, 'X Sk', 'spacing modifier'],
+ 0x00300 => [0x080, 'X Mn', 'diacritics'],
+ 0x00380 => [0x080, 'X L Greek', 'greek'],
+ 0x00400 => [0x100, 'X L Cyrillic', 'cyrillic'],
+ 0x00500 => [0x030, 'X L Cyrillic', 'cyrillic+'],
+ 0x00530 => [0x050, 'X L Armenian', 'armenian'],
+ 0x00580 => [0x080, 'X L Hebrew', 'hebrew'],
+ 0x00600 => [0x100, 'X L Arabic', 'arabic'],
+ 0x00700 => [0x050, 'X L Aramaic', 'syriac'],
+ 0x00750 => [0x030, 'X L Arabic', 'arabic+'],
+ 0x00780 => [0x040, 'X L African', 'thaana'],
+ 0x007C0 => [0x040, 'X L African', q(n'ko)],
+ 0x00800 => [0x040, 'X L Hebrew', 'samaritan'],
+ 0x00840 => [0x020, 'X L Aramaic', 'manda', 'mandaic'],
+ 0x00860 => [0x010, 'X L Aramaic', 'syr', 'syriac malayalam'],
+ 0x00870 => [0x030],
+ 0x008A0 => [0x060, 'X L Arabic', 'arabic ext-A'],
+ 0x00900 => [0x080, 'X L Brahmic', 'devanÄgarÄ«'],
+ 0x00980 => [0x080, 'X L Brahmic', 'bengali'],
+ 0x00A00 => [0x080, 'X L Brahmic', 'gurmukhi'],
+ 0x00A80 => [0x080, 'X L Brahmic', 'gujarati'],
+ 0x00B00 => [0x080, 'X L Brahmic', 'oriya'],
+ 0x00B80 => [0x080, 'X L Brahmic', 'tamil'],
+ 0x00C00 => [0x080, 'X L Brahmic', 'telugu'],
+ 0x00C80 => [0x080, 'X L Brahmic', 'kannada'],
+ 0x00D00 => [0x080, 'X L Brahmic', 'malayÄlam'],
+ 0x00D80 => [0x080, 'X L Brahmic', 'sinhala'],
+ 0x00E00 => [0x080, 'X L Brahmic Khmer', 'thai'],
+ 0x00E80 => [0x080, 'X L Brahmic Khmer', 'lao'],
+ 0x00F00 => [0x100, 'X L Brahmic', 'tibetan'],
+ 0x01000 => [0x0A0, 'X L Brahmic', 'myanmar'],
+ 0x010A0 => [0x060, 'X L Aramaic', 'georgian'],
+ 0x01100 => [0x100, 'X L Hangul', 'hangeul jamo'],
+ 0x01200 => [0x180, 'X L African', 'ethiopic'],
+ 0x01380 => [0x020, 'X L African', 'eth+'],
+ 0x013A0 => [0x060, 'X L Syllabic', 'cherokee'],
+ 0x01400 => [0x280, 'X L Syllabic', 'unified canadian aboriginal syllabics'],
+ 0x01680 => [0x020, 'X L Alpha', 'ogham'],
+ 0x016A0 => [0x060, 'X L Alpha', 'runic'],
+ 0x01700 => [0x020, 'X L Brahmic', 'tagalog'],
+ 0x01720 => [0x020, 'X L Brahmic', 'hanun', 'hanunóo'],
+ 0x01740 => [0x020, 'X L Brahmic', 'buhid'],
+ 0x01760 => [0x020, 'X L Brahmic', 'tagb', 'tagbanwa'],
+ 0x01780 => [0x080, 'X L Brahmic Khmer', 'khmer'],
+ 0x01800 => [0x0B0, 'X L Aramaic', 'mongolian'],
+ 0x018B0 => [0x050, 'X L Syllabic', 'canadian+'],
+ 0x01900 => [0x050, 'X L Brahmic', 'limbu'],
+ 0x01950 => [0x030, 'X L Brahmic', 'tai le'],
+ 0x01980 => [0x060, 'X L Brahmic', 'new tai lü'],
+ 0x019E0 => [0x020, 'X L Brahmic Khmer', 'khmer', 'khmer symbols'],
+ 0x01A00 => [0x020, 'X L Brahmic', 'lontara'],
+ 0x01A20 => [0x090, 'X L Brahmic', 'tai tham'],
+ 0x01AB0 => [0x050, 'X Mn', 'diacritics+', 'combining diacritical marks extended'],
+ 0x01B00 => [0x080, 'X L Brahmic', 'balinese'],
+ 0x01B80 => [0x040, 'X L Brahmic', 'sundanese'],
+ 0x01BC0 => [0x040, 'X L Brahmic', 'batak'],
+ 0x01C00 => [0x050, 'X L Brahmic', 'lepcha'],
+ 0x01C50 => [0x030, 'X L Alpha', 'ol chiki'],
+ 0x01C80 => [0x010, 'X L Cyrillic', 'cyr', 'cyrillic extended-C'],
+ 0x01C90 => [0x030, 'X Xr L Aramaic', 'georg+', 'georgian extended'],
+ 0x01CC0 => [0x010, 'X L Brahmic', 'sn', 'sundanese supplement'],
+ 0x01CD0 => [0x030, 'X L Brahmic', 'vedic', 'vedic extensions'],
+ 0x01D00 => [0x080, 'X L Latin', 'phonetic', 'phonetic extensions'],
+ 0x01D80 => [0x040, 'X L Latin', 'phonetic+', 'phonetic extensions supplement'],
+ 0x01DC0 => [0x040, 'X Mn', 'diacritics+', 'combining diacritical marks supplement'],
+ 0x01E00 => [0x100, 'X L Latin', 'latin extended additional'],
+ 0x01F00 => [0x100, 'X L Greek', 'greek+', 'greek extended'],
+ 0x02000 => [0x070, 'X Po', 'general punctuation'],
+ 0x02070 => [0x030, 'X L Latin', 'suþscript', 'superscripts and subscripts'], # suth now means "sub and/or sup"
+ 0x020A0 => [0x030, 'X Sc', 'currency'],
+ 0x020D0 => [0x030, 'X Mn', 'overlay'],
+ 0x02100 => [0x050, 'X So', 'letterlike'],
+ 0x02150 => [0x040, 'X Latin', 'number', 'number forms'],
+ 0x02190 => [0x070, 'X So', 'arrows'],
+ 0x02200 => [0x100, 'X Sm', 'mathematical symbols'],
+ 0x02300 => [0x100, 'X So', 'miscellaneous technical'],
+ 0x02400 => [0x040, 'X So', 'control', 'control pictures'],
+ 0x02440 => [0x020, 'X So', 'OCR'],
+ 0x02460 => [0x0A0, 'X Latin', 'enclosed alphanumerics'],
+ 0x02500 => [0x080, 'X So', 'box drawing'],
+ 0x02580 => [0x020, 'X So', 'blocks'],
+ 0x025A0 => [0x060, 'X So', 'geometric shapes'],
+ 0x02600 => [0x100, 'X So', 'miscellaneous symbols'],
+ 0x02700 => [0x0C0, 'X So', 'dingbats'],
+ 0x027C0 => [0x030, 'X Sm', 'maths-A', 'miscellaneous mathematical symbols-A'],
+ 0x027F0 => [0x010, 'X So', 'arr', 'supplemental arrows-A'],
+ 0x02800 => [0x100, 'X L Alpha', 'braille'],
+ 0x02900 => [0x080, 'X So', 'supplemental arrows-B'],
+ 0x02980 => [0x080, 'X Sm', 'mathematical symbols-B'],
+ 0x02A00 => [0x100, 'X Sm', 'supplemental mathematical operators'],
+ 0x02B00 => [0x100, 'X So', 'miscellaneous symbols and arrows'],
+ 0x02C00 => [0x060, 'X L Cyrillic', 'glagolitic'],
+ 0x02C60 => [0x020, 'X L Latin', 'latin-C'],
+ 0x02C80 => [0x080, 'X L Greek', 'coptic'],
+ 0x02D00 => [0x030, 'X L Aramaic', 'georgian+', 'georgian supplement'],
+ 0x02D30 => [0x050, 'X L Alpha', 'tifinagh'], #TODO: proto-canaanite
+ 0x02D80 => [0x060, 'X L African', 'ethiopic+', 'ethiopic extended'],
+ 0x02DE0 => [0x020, 'X L Cyrillic', 'cyrl-A', 'cyrillic extended-A'],
+ 0x02E00 => [0x080, 'X Po', 'punctuation+', 'supplemental punctuation'],
+ 0x02E80 => [0x080, 'X L Han', 'cjk radicals'],
+ 0x02F00 => [0x0E0, 'X L Han', 'kangxi radicals'],
+ 0x02FE0 => [0x010],
+ 0x02FF0 => [0x010, 'X So Han', 'idc', 'ideographic description characters'],
+ 0x03000 => [0x040, 'X Po Han', 'cjk misc', 'CJK symbols and punctuation'],
+ 0x03040 => [0x060, 'X L Hiragana', 'hiragana'],
+ 0x030A0 => [0x060, 'X L Katakana', 'katakana'],
+ 0x03100 => [0x030, 'X L Bopomofo', 'bopomofo'],
+ 0x03130 => [0x060, 'X L Katakana', 'hangeul compat'],
+ 0x03190 => [0x010, 'X L Han', 'kbn', 'kanbun'],
+ 0x031A0 => [0x020, 'X L Bopomofo', 'bpmf', 'bopomofo extended'],
+ 0x031C0 => [0x030, 'X L Han', 'strokes', 'CJK strokes'],
+ 0x031F0 => [0x010, 'X L Katakana', 'k+', 'katakana phonetic extensions'],
+ 0x03200 => [0x100, 'X L Han', 'enclosed cjk characters'],
+ 0x03300 => [0x100, 'X Xd L Han', 'cjk compatibility'],
+ 0x03400 => [0x19C0,'X L Han', 'cjk unified ideographs extension A'],
+ 0x04DC0 => [0x040, 'X So', 'hexagrams'],
+ 0x04E00 => [0x5200,'X L Han', 'cjk unified ideographs'],
+ 0x0A000 => [0x490, 'X L Syllabic', 'yi'],
+ 0x0A490 => [0x040, 'X L Syllabic', 'yi radicals'],
+ 0x0A4D0 => [0x030, 'X L Latin', 'lisu'],
+ 0x0A500 => [0x140, 'X L Syllabic', 'vai'],
+ 0x0A640 => [0x060, 'X L Cyrillic', 'cyrillic ext-B'],
+ 0x0A6A0 => [0x060, 'X L Syllabic', 'bamum'],
+ 0x0A700 => [0x020, 'X L Mn', 'tones', 'modifier tone letters'],
+ 0x0A720 => [0x0E0, 'X L Latin', 'latin extended-D'],
+ 0x0A800 => [0x030, 'X L Brahmic', 'sylheti', 'syloti nagri'],
+ 0x0A830 => [0x010, 'X No', 'in', 'common indic number forms'],
+ 0x0A840 => [0x040, 'X L Brahmic', 'phags-pa'],
+ 0x0A880 => [0x060, 'X L Brahmic', 'saurashtra'],
+ 0x0A8E0 => [0x020, 'X L Brahmic', 'deva+'],
+ 0x0A900 => [0x030, 'X L Brahmic', 'kayah li'],
+ 0x0A930 => [0x030, 'X L Brahmic', 'rejang'],
+ 0x0A960 => [0x020, 'X L Hangul', 'jamo-A', 'hangul jamo extended-A'],
+ 0x0A980 => [0x060, 'X L Brahmic', 'javanese'],
+ 0x0A9E0 => [0x020, 'X L Brahmic', 'mm-B', 'myanmar extended-B'],
+ 0x0AA00 => [0x060, 'X L Brahmic', 'cham'],
+ 0x0AA60 => [0x020, 'X L Brahmic', 'mm-A', 'myanmar extended-A'],
+ 0x0AA80 => [0x060, 'X L Brahmic Khmer', 'tai viet'],
+ 0x0AAE0 => [0x020, 'X L Brahmic', 'mtei+', 'meetei mayek extended'],
+ 0x0AB00 => [0x030, 'X L African', 'ethiopic-A'],
+ 0x0AB30 => [0x040, 'X L Latin', 'latin ext-E'],
+ 0x0AB70 => [0x050, 'X L Syllabic', 'cherokee+'],
+ 0x0ABC0 => [0x040, 'X L Brahmic', 'meithei', 'meetai mayek'],
+ 0x0AC00 => [0x2BB0,'X L Hangul', 'hangeul syllables'],
+ 0x0D7B0 => [0x050, 'X L Hangul', 'haungeul jamo-B'],
+ 0x0D800 => [0x400, 'X Cs', 'high surrogates'],
+ 0x0DC00 => [0x400, 'X Cs', 'low surrogates'],
+ 0x0E000 => [0x1900,'X Co', 'private use'],
+ 0x0F900 => [0x200, 'X L Han', 'cjk compatibility ideographs'],
+ 0x0FB00 => [0x050, 'X Xd L Alpha', 'presentation'],
+ 0x0FB50 => [0x280, 'X Xd L Arabic', 'arabic presentation forms A'],
+ 0x0FDD0 => [0x020, 'Xi', '?', 'non-characters'],
+ 0x0FDF0 => [0x010, 'X Xd L Arabic joinu', '', 'arabic presentation forms A'], # continue after brief intermission
+ 0x0FE00 => [0x010, 'X Cc', 'vs', 'variation selectors'],
+ 0x0FE10 => [0x010, 'X L Pd', 'ver', 'vertical forms'],
+ 0x0FE20 => [0x010, 'X L Mn', '½', 'combining half marks'],
+ 0x0FE30 => [0x020, 'X Xd Pd Han', 'comp', 'cjk compatibility forms'],
+ 0x0FE50 => [0x020, 'X Xd L Latin', 'small', 'small form variants'],
+ 0x0FE70 => [0x090, 'X Xd L Arabic', 'arabic presentation B'],
+ 0x0FF00 => [0x0F0, 'X L Latin', 'halfwidth & fullwidth forms'],
+ 0x0FFF0 => [0x010, 'X Cc', 'sp', 'specials'],
+ # smp
+ 0x10000 => [0x080, 'X L Syllabic', 'linear B syllabary'],
+ 0x10080 => [0x080, 'X L Syllabic', 'linear B ideograms'],
+ 0x10100 => [0x040, 'X No', 'aegean num'],
+ 0x10140 => [0x050, 'X No', 'greek numbers'],
+ 0x10190 => [0x040, 'X So', 'ancient sym'],
+ 0x101D0 => [0x030, 'X L Syllabic', 'phaistos'],
+ 0x10200 => [0x040, 'X Xr L Greek', 'iberian'],
+ 0x10240 => [0x040],
+ 0x10280 => [0x020, 'X L Greek', 'lycian'],
+ 0x102A0 => [0x040, 'X L Greek', 'carian'],
+ 0x102E0 => [0x020, 'X L No', 'coptic'],
+ 0x10300 => [0x030, 'X L Greek', 'italic'],
+ 0x10330 => [0x020, 'X L Greek', 'gothic'],
+ 0x10350 => [0x030, 'X L Cyrillic', 'permic'],
+ 0x10380 => [0x020, 'X L Alpha', 'ugarit'],
+ 0x103A0 => [0x040, 'X L Alpha', 'old persian'],
+ 0x103E0 => [0x020, 'X Xr L Alpha', 'sh.qs', 'shavian quikscript extensions'],
+ 0x10400 => [0x050, 'X L Alpha', 'deseret'],
+ 0x10450 => [0x030, 'X L Alpha', 'shavian'],
+ 0x10480 => [0x030, 'X L Alpha', 'osmanya'],
+ 0x104B0 => [0x050, 'X L Alpha', 'osage'],
+ 0x10500 => [0x030, 'X L Alpha', 'elbasan'],
+ 0x10530 => [0x040, 'X L Alpha', 'c albanian', 'caucasian albanian'],
+ 0x10570 => [0x050, 'X Xr L Alpha', 'vithkuqi'],
+ 0x105C0 => [0x040, 'X Xr L Alpha', 'todhri'],
+ 0x10600 => [0x180, 'X L Syllabic', 'linear A'],
+ 0x10780 => [0x080, 'X Xr L Syllabic', 'cypro-minoan'],
+ 0x10800 => [0x040, 'X L Syllabic', 'cypriot'],
+ 0x10840 => [0x020, 'X L Aramaic', 'aram'],
+ 0x10860 => [0x020, 'X L Aramaic', 'palmr'],
+ 0x10880 => [0x030, 'X L Aramaic', 'nabataean'],
+ 0x108A0 => [0x010],
+ 0x108C0 => [0x020, 'X Xr L Alpha', 'numid', 'numidian'],
+ 0x108E0 => [0x020, 'X L Aramaic', 'hatr', 'hatran'],
+ 0x10900 => [0x020, 'X L Aramaic', 'phoen', 'phoenician'],
+ 0x10920 => [0x020, 'X L Greek', 'lydian'],
+ 0x10940 => [0x040],
+ 0x10980 => [0x020, 'X L Alpha', 'mer h', 'meroitic hieroglyphs'],
+ 0x109A0 => [0x060, 'X L Alpha', 'meroitic cursive'],
+ 0x10A00 => [0x060, 'X L Syllabic', 'kharoshthi'],
+ 0x10A60 => [0x020, 'X L Aramaic', 's arab'],
+ 0x10A80 => [0x020, 'X L Aramaic', 'n arab'],
+ 0x10AA0 => [0x020, 'X Xr L Brahmic', 'balti'],
+ 0x10AC0 => [0x040, 'X L Aramaic', 'manichaean'],
+ 0x10B00 => [0x040, 'X L Aramaic', 'avestan'],
+ 0x10B40 => [0x020, 'X L Aramaic', 'parth'],
+ 0x10B60 => [0x020, 'X L Aramaic', 'pahlav', 'inscriptional pahlavi'],
+ 0x10B80 => [0x030, 'X L Aramaic', 'psalt pahl', 'psalter pahlavi'],
+ 0x10BB0 => [0x030, 'X Xr L Aramaic', 'book pahl', 'book pahlavi'],
+ 0x10BE0 => [0x020, 'X Xr L Alpha', 'babur', 'khatt-i baburi'],
+ 0x10C00 => [0x050, 'X L Aramaic', 'old turkic'],
+ 0x10C50 => [0x030],
+ 0x10C80 => [0x080, 'X L Aramaic', 'old hungarian'],
+ 0x10D00 => [0x040, 'X Xr L Alpha', 'rohingya'],
+ 0x10D40 => [0x040, 'X Xr L Alpha', 'garay'],
+ 0x10D80 => [0x080, 'X Xr L Syllabic', 'byblos'],
+ 0x10E00 => [0x060],
+ 0x10E60 => [0x020, 'X No', 'rumi', 'rumi numeral symbols'],
+ 0x10E80 => [0x040],
+ 0x10EC0 => [0x020, 'X Xr L Aramaic', 'elym', 'elymaic'],
+ 0x10EE0 => [0x020, 'X Xr L Aramaic', 'khwar', 'khwarezmian'],
+ 0x10F00 => [0x030, 'X Xr L Aramaic', 'old sogd', 'old sogdian'],
+ 0x10F30 => [0x040, 'X Xr L Aramaic', 'sogdian'],
+ 0x10F70 => [0x010],
+ 0x10F80 => [0x080, 'X Xr L Aramaic', 'uyghur'],
+ 0x11000 => [0x080, 'X L Brahmic', 'brahmi'],
+ 0x11080 => [0x050, 'X L Brahmic', 'kaithi'],
+ 0x110D0 => [0x030, 'X L Brahmic', 'sora som'],
+ 0x11100 => [0x050, 'X L Brahmic', 'chakma'],
+ 0x11150 => [0x030, 'X L Brahmic', 'mahajani'],
+ 0x11180 => [0x060, 'X L Brahmic', 'sharada'],
+ 0x111E0 => [0x020, 'X No Brahmic', 'sinhal'],
+ 0x11200 => [0x050, 'X L Brahmic', 'khojki'],
+ 0x11250 => [0x030, 'X Xr L Brahmic', 'landa'],
+ 0x11280 => [0x030, 'X L Brahmic', 'multani'],
+ 0x112B0 => [0x050, 'X L Brahmic', 'khudabadi'],
+ 0x11300 => [0x080, 'X L Brahmic', 'grantha'],
+ 0x11380 => [0x080, 'X Xr L Brahmic', 'tigalari'], # tulu
+ 0x11400 => [0x080, 'X L Brahmic', 'newar'],
+ 0x11480 => [0x060, 'X L Brahmic', 'tirhuta'],
+ 0x114E0 => [0x020, 'X Xr L Alpha', 'tani'],
+ 0x11500 => [0x080, 'X Xr L Brahmic', 'ranjana'],
+ 0x11580 => [0x080, 'X L Brahmic', 'siddham'],
+ 0x11600 => [0x060, 'X L Brahmic', 'modi'],
+ 0x11660 => [0x020, 'X L Aramaic', 'mong', 'mongolian extension'],
+ 0x11680 => [0x050, 'X L Brahmic', 'takri'],
+ 0x116D0 => [0x030, 'X Xr L Brahmic', 'jenticha'],
+ 0x11700 => [0x040, 'X L Brahmic', 'ahom'],
+ 0x11740 => [0x060, 'X Xr L Alpha', 'zou'],
+ 0x117A0 => [0x060, 'X Xr L Brahmic', 'pyu'],
+ 0x11800 => [0x050, 'X Xr L Brahmic', 'dogra'],
+ 0x11850 => [0x040, 'X Xr L Brahmic', 'sirmauri'],
+ 0x11890 => [0x010],
+ 0x118A0 => [0x060, 'X L Syllabic', 'warang citi'],
+ 0x11900 => [0x060, 'X Xr L Brahmic', 'dives akuru'],
+ 0x11960 => [0x040, 'X Xr L Brahmic', 'vatteluttu'],
+ 0x119A0 => [0x060, 'X Xr L Brahmic', 'nandinagari'],
+ 0x11A00 => [0x050, 'X L Brahmic', 'zanabazar square'],
+ 0x11A50 => [0x060, 'X L Brahmic', 'soyombo'],
+ 0x11AB0 => [0x010],
+ 0x11AC0 => [0x040, 'X L Alpha', 'pau cin hau'],
+ 0x11B00 => [0x050, 'X Xr L Brahmic', 'devanÄgarÄ« ext-A'],
+ 0x11B50 => [0x020, 'X Xr L Brahmic', 'shar+', 'sharada extension'],
+ 0x11B70 => [0x010],
+ 0x11B80 => [0x040, 'X Xr L Brahmic', 'tolong siki'],
+ 0x11BC0 => [0x040, 'X Xr L Brahmic', 'khambu rai'],
+ 0x11C00 => [0x070, 'X L Brahmic', 'bhaiksuki'],
+ 0x11C70 => [0x050, 'X L Brahmic', 'marchen'],
+ 0x11CC0 => [0x040, 'X Xr L Brahmic', 'balti B'],
+ 0x11D00 => [0x060, 'X L Brahmic', 'masaram gondi'],
+ 0x11D60 => [0x050, 'X Xr L Brahmic', 'gunjala gondi'],
+ 0x11DB0 => [0x050, 'X Xr L Brahmic', 'kawi'],
+ 0x11E00 => [0x070, 'X Xr L Brahmic', 'tocharian'],
+ 0x11E70 => [0x060, 'X Xr L Brahmic', 'khotanese'],
+ 0x11ED0 => [0x010],
+ 0x11EE0 => [0x020, 'X Xr L Brahmic', 'makas', 'makasar'],
+ 0x11F00 => [0x040, 'X Xr L Brahmic', 'leke'],
+ 0x11F40 => [0x020],
+ 0x11F60 => [0x060, 'X Xr L Brahmic', 'chola'],
+ 0x11FC0 => [0x040, 'X Xr L Brahmic', 'tamil+'],
+ 0x12000 => [0x400, 'X L Syllabic', 'cuneiform'],
+ 0x12400 => [0x080, 'X No', 'cuneiform numbers'],
+ 0x12480 => [0x0D0, 'X L Syllabic', 'early dynastic cuneiform'],
+ 0x12550 => [0x030],
+ 0x12580 => [0x100, 'X Xr L Syllabic', 'proto-cuneiform'],
+ 0x12680 => [0x050, 'X Xr No', 'proto-cun numb'],
+ 0x126D0 => [0x730],
+ 0x12E00 => [0x190, 'X Xr L Syllabic', 'indus'],
+ 0x12F90 => [0x070],
+ 0x13000 => [0x430, 'X L Syllabic', 'egyptian hieroglyphs'],
+ 0x13430 => [0x010, 'X Xr L Syllabic', 'eg.c', 'Egyptian control characters'],
+ 0x13440 => [0xFC0, 'X Xr L Syllabic', 'egyptian hieroglyphs extended-A'],
+ 0x14400 => [0x280, 'X L Syllabic', 'anatolian hieroglyphs'],
+ 0x14680 => [0x980, 'X Xr L Syllabic', 'egyptian hieroglyphs extended-B'],
+ 0x15000 => [0x040, 'X Xr L Brahmic', 'lampung'],
+ 0x15040 => [0x030, 'X Xr L Brahmic', 'kerinci'],
+ 0x15070 => [0x010],
+ 0x15080 => [0x480, 'X Xr L Syllabic', 'mandombe'],
+ 0x15500 => [0x500, 'X Xr L Syllabic', 'maya hieroglyphs'],
+ 0x15A00 => [0x200],
+ 0x15C00 => [0x400, 'X Xr L Syllabic', 'aztec pictograms'],
+ 0x16000 => [0x080, 'X Xr L Alpha', 'cirth'],
+ 0x16080 => [0x080, 'X Xr L Alpha', 'tengwar'],
+ 0x16100 => [0x040, 'X Xr L Brahmic', 'khema'],
+ 0x16140 => [0x040, 'X Xr L Brahmic', 'khe prih'],
+ 0x16180 => [0x020],
+ 0x161A0 => [0x060, 'X Xr L Alpha', 'moon'],
+ 0x16200 => [0x500, 'X Xr L Syllabic', 'blissymbols'],
+ 0x16700 => [0x0B0, 'X Xr L Syllabic', 'bagam'],
+ 0x167B0 => [0x050, 'X Xr L Syllabic', 'iban'],
+ 0x16800 => [0x240, 'X L Syllabic', 'bamum supplement'],
+ 0x16A40 => [0x030, 'X L Alpha', 'mro'],
+ 0x16A70 => [0x060, 'X Xr L Alpha', 'mossang tangsa'],
+ 0x16AD0 => [0x030, 'X L Alpha', 'bassa vah'],
+ 0x16B00 => [0x090, 'X L Syllabic', 'pahawh hmong'],
+ 0x16B90 => [0x070, 'X Xr L Syllabic', 'woleai'],
+ 0x16C00 => [0x080, 'X Xr L Syllabic', 'kpelle'],
+ 0x16C80 => [0x050, 'X Xr L Syllabic', 'afaka'],
+ 0x16CD0 => [0x030, 'X Xr L Syllabic', 'lk tangsa', 'Latsam Khimhun Tangsa'],
+ 0x16D00 => [0x040, 'X Xr L Syllabic', 'tikamuli'],
+ 0x16D40 => [0x040, 'X Xr L Brahmic', 'kirat rai'],
+ 0x16D80 => [0x050],
+ 0x16DD0 => [0x030, 'X Xr L Brahmic', 'kulitan'],
+ 0x16E00 => [0x040, 'X Xr L Alpha', 'mwangwego'],
+ 0x16E40 => [0x060, 'X Xr L Alpha', 'medefaidrin'],
+ 0x16EA0 => [0x060, 'X Xr L Brahmic', 'lontara+', 'buginese'],
+ 0x16F00 => [0x0A0, 'X L Syllabic', 'miao'],
+ 0x16FA0 => [0x040, 'X Xr L Brahmic', 'lontara b-b'],
+ 0x16FE0 => [0x020, 'X So', 'ideo', 'Ideographic Symbols and Punctuation'],
+ 0x17000 => [0x1800,'X L Syllabic', 'tangut ideographs'],
+ 0x18800 => [0x300, 'X L Syllabic', 'tangut components'],
+ 0x18B00 => [0x200, 'X Xr L Han', 'khitan small'],
+ 0x18D00 => [0x900, 'X Xr L Han', 'khitan ideographs'],
+ 0x19600 => [0x560, 'X Xr L Han', 'jurchen'],
+ 0x19B60 => [0x040, 'X Xr L Han', 'jurchen rad'],
+ 0x19BA0 => [0x060],
+ 0x19C00 => [0x200],
+ 0x19E00 => [0x500, 'X Xr L Syllabic', 'pau cin hau syllabary'],
+ 0x1A300 => [0x460, 'X Xr L Syllabic', 'eskaya'],
+ 0x1A760 => [0x020],
+ 0x1A780 => [0x080, 'X Xr L Syllabic', 'kaidÄ'],
+ 0x1A800 => [0x500, 'X Xr L Syllabic', 'naxi dongba'],
+ 0x1AD00 => [0x300, 'X Xr L Syllabic', 'naxi geba'],
+ 0x1B000 => [0x100, 'X L Hiragana', 'kana supplement'],
+ 0x1B100 => [0x030, 'X L Hiragana', 'kana+A', 'hentaigana'],
+ 0x1B130 => [0x040, 'X Xr L Hiragana', 'small kana+'],
+ 0x1B170 => [0x190, 'X L Han', 'nüshu'],
+ 0x1B300 => [0x230, 'X Xr L Han', 'shuishu'],
+ 0x1B530 => [0x700, 'X Xr L Syllabic', 'proto-elamite'],
+ 0x1BC00 => [0x0A0, 'X L Alpha', 'duployan'],
+ 0x1BCA0 => [0x010, 'X L Cc', 'sh', 'Shorthand Formatting'],
+ 0x1BCB0 => [0x050, 'X Xr L Alpha', 'pitman'],
+ 0x1BD00 => [0x300, 'X Xr L Alpha', 'shorthands?'],
+ 0x1C000 => [0xB00, 'X Xr L Syllabic', 'micmac hieroglyphs'],
+ 0x1CB00 => [0x300, 'X Xr L Syllabic', 'rongorongo'],
+ 0x1CE00 => [0x200],
+ 0x1D000 => [0x100, 'X So', 'byzantine musical'],
+ 0x1D100 => [0x100, 'X So', 'musical symbols'],
+ 0x1D200 => [0x050, 'X So', 'anc greek music'],
+ 0x1D250 => [0x030],
+ 0x1D280 => [0x030, 'X Xr So', 'lute'], # pÃpa
+ 0x1D2B0 => [0x020, 'X Xr So', 'flute'], # súzìpÇ
+ 0x1D2D0 => [0x010],
+ 0x1D2E0 => [0x020, 'X Xr No', 'mayan', 'Mayan Numerals'],
+ 0x1D300 => [0x060, 'X So', 'tai xuan jing', 'tetragrams'],
+ 0x1D360 => [0x020, 'X No', 'rod'],
+ 0x1D380 => [0x080, 'X Xr L Sm', 'math alphanumeric+'],
+ 0x1D400 => [0x400, 'X L Sm', 'mathematical alphanumeric'],
+ 0x1D800 => [0x2B0, 'X L Alpha', 'sutton'],
+ 0x1DAB0 => [0x550],
+ 0x1E000 => [0x030, 'X L Cyrillic', 'glagol+'],
+ 0x1E030 => [0x050, 'X Xr L Brahmic', 'pallava'],
+ 0x1E080 => [0x060, 'X Xr L Brahmic', 'chalukya'],
+ 0x1E0E0 => [0x020],
+ 0x1E100 => [0x050, 'X Xr L Alpha', 'chervang hmong', 'nyiakeng puachue hmong'],
+ 0x1E150 => [0x0B0, 'X Xr L Alpha', 'eebee hmong'],
+ 0x1E200 => [0x060, 'X Xr L Brahmic', 'western cham'],
+ 0x1E260 => [0x030, 'X Xr L Alpha', 'beria', 'zaghawa'],
+ 0x1E290 => [0x030],
+ 0x1E2C0 => [0x040, 'X Xr L Alpha', 'wancho'],
+ 0x1E300 => [0x120, 'X Xr L Syllabic', 'loma'],
+ 0x1E420 => [0x0E0],
+ 0x1E500 => [0x030, 'X Xr L Brahmic', 'pungchen'],
+ 0x1E530 => [0x030, 'X Xr L Brahmic', 'pungchuÅ', 'pungchung'],
+ 0x1E560 => [0x040, 'X Xr L Brahmic', 'marchung'],
+ 0x1E5A0 => [0x030, 'X Xr L Brahmic', 'brusha'],
+ 0x1E5D0 => [0x230],
+ 0x1E800 => [0x0E0, 'X L Syllabic', 'mende kikakui'],
+ 0x1E8E0 => [0x020],
+ 0x1E900 => [0x060, 'X L Alpha', 'adlam'],
+ 0x1E960 => [0x2A0],
+ 0x1EC00 => [0x070, 'X Xr No', 'persian siyaq'],
+ 0x1EC70 => [0x050, 'X Xr No', 'indic siyaq'],
+ 0x1ECC0 => [0x040, 'X Xr No', 'diwani siyaq'],
+ 0x1ED00 => [0x050, 'X Xr No', 'ottoman siyaq'],
+ 0x1ED50 => [0x0B0],
+ 0x1EE00 => [0x100, 'X L Arabic', 'arabic mathematical alphabetic'], # Sm
+ 0x1EF00 => [0x100],
+ 0x1F000 => [0x030, 'X So', 'mahjong'],
+ 0x1F030 => [0x070, 'X So', 'domino tiles'],
+ 0x1F0A0 => [0x060, 'X So', 'playing cards'],
+ 0x1F100 => [0x100, 'X L Latin', 'enclosed alphanumeric supplement'], # So
+ 0x1F200 => [0x100, 'X L Han', 'enclosed ideographic supplement'], # So
+ 0x1F300 => [0x300, 'X So', 'miscellaneous symbols and pictographs'],
+ 0x1F600 => [0x050, 'X So', 'emoticons'],
+ 0x1F650 => [0x030, 'X So', 'ornament'],
+ 0x1F680 => [0x080, 'X So', 'transport'],
+ 0x1F700 => [0x080, 'X So', 'alchemical'],
+ 0x1F780 => [0x080, 'X So', 'geometric shapes ext'],
+ 0x1F800 => [0x100, 'X So', 'supplemental arrows-C'],
+ 0x1F900 => [0x100, 'X So', 'supplemental symbols and pictographs'],
+ 0x1FA00 => [0x070, 'X Xr So', 'chess'],
+ 0x1FA70 => [0x010],
+ 0x1FA80 => [0x060, 'X Xr So', 'flag identification'],
+ 0x1FAE0 => [0x020],
+ 0x1FB00 => [0x100, 'X Xr So', 'legacy computing graphics'],
+ 0x1FC00 => [0x400],
+};
|