charset: full titles for abbreviated unicode scripts
[sheet.git] / charset-unicode.inc.pl
index 6709e844e485a97211e4121bfa775552a006d42b..1d668a972921ce7f98bb457e79aad48ec37d5ddd 100644 (file)
 use utf8;
 +{
+       colsize => 0x10,
+
        # bmp
-       0x0000 => [0x02, 'X Cc joinr',         'control'],
-       0x0002 => [0x02, 'X L Po joinl joinr', 'comn'],
-       0x0004 => [0x04, 'X L Latin joinl',    'basic latin'],
-       0x0008 => [0x02, 'X Cc joinr',         'control'],
-       0x000A => [0x02, 'X L So joinl joinr', 'comn'],
-       0x000C => [0x04, 'X L Latin joinl',    'latin1'],
-       0x0010 => [0x08, 'X L Latin',          'latin extended-A'],
-       0x0018 => [0x08, 'X L Latin',          'latin extended-B'],
-       0x0020 => [0x05, 'X L Latin',          'latin ext-B'],
-       0x0025 => [0x06, 'X L Latin',          'IPA'],
-       0x002B => [0x05, 'X Sk',               'spacing modifier'],
-       0x0030 => [0x08, 'X Mn',               'diacritics'],
-       0x0038 => [0x08, 'X L Greek',          'greek'],
-       0x0040 => [0x10, 'X L Cyrillic',       'cyrillic'],
-       0x0050 => [0x03, 'X L Cyrillic',       'cyrillic+'],
-       0x0053 => [0x05, 'X L Armenian',       'armenian'],
-       0x0058 => [0x08, 'X L Hebrew',         'hebrew'],
-       0x0060 => [0x10, 'X L Arabic',         'arabic'],
-       0x0070 => [0x05, 'X L Aramaic',        'syriac'],
-       0x0075 => [0x03, 'X L Arabic',         'arabic+'],
-       0x0078 => [0x04, 'X L African',        'thaana'],
-       0x007C => [0x04, 'X L African',        'n\'ko'],
-       0x0080 => [0x04, 'X L Hebrew',         'samaritan'],
-       0x0084 => [0x02, 'X L Aramaic',        'manda'],
-       0x0086 => [0x01, 'X Xr L Aramaic',     'syr'],
-       0x0087 => [0x03],
-       0x008A => [0x06, 'X L Arabic',         'arabic ext-A'],
-       0x0090 => [0x08, 'X L Brahmic',        'devanagari'],
-       0x0098 => [0x08, 'X L Brahmic',        'bengali'],
-       0x00A0 => [0x08, 'X L Brahmic',        'gurmukhi'],
-       0x00A8 => [0x08, 'X L Brahmic',        'gujarati'],
-       0x00B0 => [0x08, 'X L Brahmic',        'oriya'],
-       0x00B8 => [0x08, 'X L Brahmic',        'tamil'],
-       0x00C0 => [0x08, 'X L Brahmic',        'telugu'],
-       0x00C8 => [0x08, 'X L Brahmic',        'kannada'],
-       0x00D0 => [0x08, 'X L Brahmic',        'malayalam'],
-       0x00D8 => [0x08, 'X L Brahmic',        'sinhala'],
-       0x00E0 => [0x08, 'X L Brahmic Khmer',  'thai'],
-       0x00E8 => [0x08, 'X L Brahmic Khmer',  'lao'],
-       0x00F0 => [0x10, 'X L Brahmic',        'tibetan'],
-       0x0100 => [0x0A, 'X L Brahmic',        'myanmar'],
-       0x010A => [0x06, 'X L Aramaic',        'georgian'],
-       0x0110 => [0x10, 'X L Hangul',         'hangeul jamo'],
-       0x0120 => [0x10, 'X L African',        'ethiopic'],
-       0x0130 => [0x08, 'X L African',        'ethiopic'],
-       0x0138 => [0x02, 'X L African',        'eth+'],
-       0x013A => [0x06, 'X L Syllabic',       'cherokee'],
-       0x0140 => [0x20, 'X L Syllabic',       'unified canadian aboriginal syllabics'],
-       0x0160 => [0x08, 'X L Syllabic',       'unified canadian syllabics'],
-       0x0168 => [0x02, 'X L Alpha',          'ogham'],
-       0x016A => [0x06, 'X L Alpha',          'runic'],
-       0x0170 => [0x02, 'X L Brahmic',        'tagalog'],
-       0x0172 => [0x02, 'X L Brahmic',        'hanun'],
-       0x0174 => [0x02, 'X L Brahmic',        'buhid'],
-       0x0176 => [0x02, 'X L Brahmic',        'tagb', 'tagbanwa'],
-       0x0178 => [0x08, 'X L Brahmic Khmer',  'khmer'],
-       0x0180 => [0x0B, 'X L Aramaic',        'mongolian'],
-       0x018B => [0x05, 'X L Syllabic',       'canadian+'],
-       0x0190 => [0x05, 'X L Brahmic',        'limbu'],
-       0x0195 => [0x03, 'X L Brahmic',        'tai le'],
-       0x0198 => [0x06, 'X L Brahmic',        'new tai lue'],
-       0x019E => [0x02, 'X L Brahmic Khmer',  'khmer', 'khmer symbols'],
-       0x01A0 => [0x02, 'X L Brahmic',        'lontara'],
-       0x01A2 => [0x09, 'X L Brahmic',        'tai tham'],
-       0x01AB => [0x05, 'X Mn',               'diacritics+'],
-       0x01B0 => [0x08, 'X L Brahmic',        'balinese'],
-       0x01B8 => [0x04, 'X L Brahmic',        'sundanese'],
-       0x01BC => [0x04, 'X L Brahmic',        'batak'],
-       0x01C0 => [0x05, 'X L Brahmic',        'lepcha'],
-       0x01C5 => [0x03, 'X L Alpha',          'ol chiki'],
-       0x01C8 => [0x01, 'X L Cyrillic',       'cyr'],
-       0x01C9 => [0x03, 'X Xr L Aramaic',     'georg+'],
-       0x01CC => [0x01, 'X L Brahmic',        'sn'],
-       0x01CD => [0x03, 'X L Brahmic',        'vedic'],
-       0x01D0 => [0x08, 'X L Latin',          'phonetic'],
-       0x01D8 => [0x04, 'X L Latin',          'phonetic+'],
-       0x01DC => [0x04, 'X Mn',               'diacritics+'],
-       0x01E0 => [0x10, 'X L Latin',          'latin extended additional'],
-       0x01F0 => [0x10, 'X L Greek',          'greek+'],
-       0x0200 => [0x07, 'X Po',               'general punctuation'],
-       0x0207 => [0x03, 'X L Latin',          'suþscript'], # suth now means "sub and/or sup"
-       0x020A => [0x03, 'X Sc',               'currency'],
-       0x020D => [0x03, 'X Mn',               'overlay'],
-       0x0210 => [0x05, 'X So',               'letterlike'],
-       0x0215 => [0x04, 'X Latin',            'number'],
-       0x0219 => [0x07, 'X So',               'arrows'],
-       0x0220 => [0x10, 'X Sm',               'mathematical symbols'],
-       0x0230 => [0x10, 'X So',               'miscellaneous technical'],
-       0x0240 => [0x04, 'X So',               'control'],
-       0x0244 => [0x02, 'X So',               'OCR'],
-       0x0246 => [0x0A, 'X Latin',            'enclosed alphanumerics'],
-       0x0250 => [0x08, 'X So',               'box drawing'],
-       0x0258 => [0x02, 'X So',               'blocks'],
-       0x025A => [0x06, 'X So',               'geometric shapes'],
-       0x0260 => [0x10, 'X So',               'miscellaneous symbols'],
-       0x0270 => [0x0C, 'X So',               'dingbats'],
-       0x027C => [0x03, 'X Sm',               'maths-A'],
-       0x027F => [0x01, 'X So',               'arr', 'supplemental arrows-A'],
-       0x0280 => [0x10, 'X L Alpha',          'braille'],
-       0x0290 => [0x08, 'X So',               'supplemental arrows-B'],
-       0x0298 => [0x08, 'X Sm',               'mathematical symbols-B'],
-       0x02A0 => [0x10, 'X Sm',               'supplemental mathematical operators'],
-       0x02B0 => [0x10, 'X So',               'miscellaneous symbols and arrows'],
-       0x02C0 => [0x06, 'X L Cyrillic',       'glagolitic'],
-       0x02C6 => [0x02, 'X L Latin',          'latin-C'],
-       0x02C8 => [0x08, 'X L Greek',          'coptic'],
-       0x02D0 => [0x03, 'X L Aramaic',        'georgian+'],
-       0x02D3 => [0x05, 'X L Alpha',          'tifinagh'], #TODO: proto-canaanite
-       0x02D8 => [0x06, 'X L African',        'ethiopic+'],
-       0x02DE => [0x02, 'X L Cyrillic',       'cyrl-A'],
-       0x02E0 => [0x08, 'X Po',               'punctuation+'],
-       0x02E8 => [0x08, 'X L Han',            'cjk radicals'],
-       0x02F0 => [0x0E, 'X L Han',            'kangxi radicals'],
-       0x02FE => [0x01],
-       0x02FF => [0x01, 'X So Han',           'idc'],
-       0x0300 => [0x04, 'X Po Han',           'cjk misc'],
-       0x0304 => [0x06, 'X L Hiragana',       'hiragana'],
-       0x030A => [0x06, 'X L Katakana',       'katakana'],
-       0x0310 => [0x03, 'X L Bopomofo',       'bopomofo'],
-       0x0313 => [0x06, 'X L Katakana',       'hangeul compat'],
-       0x0319 => [0x01, 'X L Han',            'kbn', 'kanbun'],
-       0x031A => [0x02, 'X L Bopomofo',       'bpmf', 'bopomofo extended'],
-       0x031C => [0x03, 'X L Han',            'strokes', 'CJK strokes'],
-       0x031F => [0x01, 'X L Katakana',       'k+', 'katakana phonetic extensions'],
-       0x0320 => [0x10, 'X L Han',            'enclosed cjk characters'],
-       0x0330 => [0x10, 'X Xd L Han',         'cjk compatibility'],
-       0x0340 => [0x19C,'X L Han',            'cjk unified ideographs extension A'],
-       0x04DC => [0x04, 'X So',               'hexagrams'],
-       0x04E0 => [0x520,'X L Han',            'cjk unified ideographs'],
-       0x0A00 => [0x49, 'X L Syllabic',       'yi'],
-       0x0A49 => [0x04, 'X L Syllabic',       'yi radicals'],
-       0x0A4D => [0x03, 'X L Latin',          'lisu'],
-       0x0A50 => [0x14, 'X L Syllabic',       'vai'],
-       0x0A64 => [0x06, 'X L Cyrillic',       'cyrillic extended-B'],
-       0x0A6A => [0x06, 'X L Syllabic',       'bamum'],
-       0x0A70 => [0x02, 'X L Mn',             'tones'],
-       0x0A72 => [0x0E, 'X L Latin',          'latin extended-D'],
-       0x0A80 => [0x03, 'X L Brahmic',        'sylheti'],
-       0x0A83 => [0x01, 'X No',               'in'],
-       0x0A84 => [0x04, 'X L Brahmic',        'phags-pa'],
-       0x0A88 => [0x06, 'X L Brahmic',        'saurashtra'],
-       0x0A8E => [0x02, 'X L Brahmic',        'deva+'],
-       0x0A90 => [0x03, 'X L Brahmic',        'kayah li'],
-       0x0A93 => [0x03, 'X L Brahmic',        'rejang'],
-       0x0A96 => [0x02, 'X L Hangul',         'jamo-A'],
-       0x0A98 => [0x06, 'X L Brahmic',        'javanese'],
-       0x0A9E => [0x02, 'X L Brahmic',        'mm-B', 'myanmar extended-B'],
-       0x0AA0 => [0x06, 'X L Brahmic',        'cham'],
-       0x0AA6 => [0x02, 'X L Brahmic',        'mm-A', 'myanmar extended-A'],
-       0x0AA8 => [0x06, 'X L Brahmic Khmer',  'tai viet'],
-       0x0AAE => [0x02, 'X L Brahmic',        'mtei+', 'meetei mayek extended'],
-       0x0AB0 => [0x03, 'X L African',        'ethiopic-A'],
-       0x0AB3 => [0x04, 'X L Latin',          'latin ext-E'],
-       0x0AB7 => [0x05, 'X L Syllabic',       'cherokee+'],
-       0x0ABC => [0x04, 'X L Brahmic',        'meithei', 'meetai mayek'],
-       0x0AC0 => [0x2BB,'X L Hangul',         'hangeul syllables'],
-       0x0D7B => [0x05, 'X L Hangul',         'haungeul jamo-B'],
-       0x0D80 => [0x40, 'X Cs',               'high surrogates'],
-       0x0DC0 => [0x40, 'X Cs',               'low surrogates'],
-       0x0E00 => [0x190,'X Co',               'private use'],
-       0x0F90 => [0x20, 'X L Han',            'cjk compatibility ideographs'],
-       0x0FB0 => [0x05, 'X Xd L Alpha',       'presentation'],
-       0x0FB5 => [0x28, 'X Xd L Arabic',      'arabic presentation forms A'],
-       0x0FDD => [0x02, 'Xi',                 '?'],
-       0x0FDF => [0x01, 'X Xd L Arabic joinu', ''], # continue after brief intermission
-       0x0FE0 => [0x01, 'X Cc',               'var'],
-       0x0FE1 => [0x01, 'X L Pd',             'ver'],
-       0x0FE2 => [0x01, 'X L Mn',             '½'],
-       0x0FE3 => [0x02, 'X Xd Pd Han',        'comp'],
-       0x0FE5 => [0x02, 'X Xd L Latin',       'small'],
-       0x0FE7 => [0x09, 'X Xd L Arabic',      'arabic presentation B'],
-       0x0FF0 => [0x0F, 'X L Latin',          'halfwidth & fullwidth forms'],
-       0x0FFF => [0x01, 'X Cc',               'sp'],
+       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 Xr 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
-       0x1000 => [0x08, 'X L Syllabic',       'linear B syllabary'],
-       0x1008 => [0x08, 'X L Syllabic',       'linear B ideograms'],
-       0x1010 => [0x04, 'X No',               'aegean num'],
-       0x1014 => [0x05, 'X No',               'greek numbers'],
-       0x1019 => [0x04, 'X So',               'ancient sym'],
-       0x101D => [0x03, 'X L Syllabic',       'phaistos'],
-       0x1020 => [0x04, 'X Xr L Greek',       'iberian'],
-       0x1024 => [0x04],
-       0x1028 => [0x02, 'X L Greek',          'lycian'],
-       0x102A => [0x04, 'X L Greek',          'carian'],
-       0x102E => [0x02, 'X L No',             'coptic'],
-       0x1030 => [0x03, 'X L Greek',          'italic'],
-       0x1033 => [0x02, 'X L Greek',          'gothic'],
-       0x1035 => [0x03, 'X L Cyrillic',       'permic'],
-       0x1038 => [0x02, 'X L Alpha',          'ugarit'],
-       0x103A => [0x04, 'X L Alpha',          'old persian'],
-       0x103E => [0x02, 'X Xr L Alpha',       'sh.qs'],
-       0x1040 => [0x05, 'X L Alpha',          'deseret'],
-       0x1045 => [0x03, 'X L Alpha',          'shavian'],
-       0x1048 => [0x03, 'X L Alpha',          'osmanya'],
-       0x104B => [0x05, 'X L Alpha',          'osage'],
-       0x1050 => [0x03, 'X L Alpha',          'elbasan'],
-       0x1053 => [0x04, 'X L Alpha',          'c albanian'],
-       0x1057 => [0x05, 'X Xr L Alpha',       'vithkuqi'],
-       0x105C => [0x04, 'X Xr L Alpha',       'todhri'],
-       0x1060 => [0x18, 'X L Syllabic',       'linear A'],
-       0x1078 => [0x08, 'X Xr L Syllabic',    'cypro-minoan'],
-       0x1080 => [0x04, 'X L Syllabic',       'cypriot'],
-       0x1084 => [0x02, 'X L Aramaic',        'aram'],
-       0x1086 => [0x02, 'X L Aramaic',        'palmr'],
-       0x1088 => [0x03, 'X L Aramaic',        'nabataean'],
-       0x108A => [0x01],
-       0x108C => [0x02, 'X Xr L Alpha',       'numid'],
-       0x108E => [0x02, 'X L Aramaic',        'hatr'],
-       0x1090 => [0x02, 'X L Aramaic',        'phoen'],
-       0x1092 => [0x02, 'X L Greek',          'lydian'],
-       0x1094 => [0x04],
-       0x1098 => [0x02, 'X L Alpha',          'mero h', 'meroitic hieroglyphs'],
-       0x109A => [0x06, 'X L Alpha',          'meroitic cursive'],
-       0x10A0 => [0x06, 'X L Syllabic',       'kharoshthi'],
-       0x10A6 => [0x02, 'X L Aramaic',        's arab'],
-       0x10A8 => [0x02, 'X L Aramaic',        'n arab'],
-       0x10AA => [0x02, 'X Xr L Brahmic',     'balti'],
-       0x10AC => [0x04, 'X L Aramaic',        'manichaean'],
-       0x10B0 => [0x04, 'X L Aramaic',        'avestan'],
-       0x10B4 => [0x02, 'X L Aramaic',        'parth'],
-       0x10B6 => [0x02, 'X L Aramaic',        'pahlav', 'inscriptional pahlavi'],
-       0x10B8 => [0x03, 'X L Aramaic',        'psalt pahl', 'psalter pahlavi'],
-       0x10BB => [0x03, 'X Xr L Aramaic',     'book pahl', 'book pahlavi'],
-       0x10BE => [0x02, 'X Xr L Alpha',       'babur'],
-       0x10C0 => [0x05, 'X L Aramaic',        'old turkic'],
-       0x10C5 => [0x03],
-       0x10C8 => [0x08, 'X L Aramaic',        'old hungarian'],
-       0x10D0 => [0x04, 'X Xr L Alpha',       'rohingya'],
-       0x10D4 => [0x04, 'X Xr L Alpha',       'garay'],
-       0x10D8 => [0x08, 'X Xr L Syllabic',    'byblos'],
-       0x10E0 => [0x06],
-       0x10E6 => [0x02, 'X No',               'rumi'],
-       0x10E8 => [0x06],
-       0x10EE => [0x02, 'X Xr L Aramaic',     'elym'],
-       0x10F0 => [0x03, 'X Xr L Aramaic',     'old sog'],
-       0x10F3 => [0x04, 'X Xr L Aramaic',     'sogdian'],
-       0x10F7 => [0x01],
-       0x10F8 => [0x08, 'X Xr L Aramaic',     'uyghur'],
-       0x1100 => [0x08, 'X L Brahmic',        'brahmi'],
-       0x1108 => [0x05, 'X L Brahmic',        'kaithi'],
-       0x110D => [0x03, 'X L Brahmic',        'sora som'],
-       0x1110 => [0x05, 'X L Brahmic',        'chakma'],
-       0x1115 => [0x03, 'X L Brahmic',        'mahajani'],
-       0x1118 => [0x06, 'X L Brahmic',        'sharada'],
-       0x111E => [0x02, 'X No Brahmic',       'sinhal'],
-       0x1120 => [0x05, 'X L Brahmic',        'khojki'],
-       0x1125 => [0x03, 'X Xr L Brahmic',     'landa'],
-       0x1128 => [0x03, 'X L Brahmic',        'multani'],
-       0x112B => [0x05, 'X L Brahmic',        'khudabadi'],
-       0x1130 => [0x08, 'X L Brahmic',        'grantha'],
-       0x1138 => [0x06, 'X Xr L Brahmic',     'tulu'],
-       0x113E => [0x02, 'X Xr L Brahmic',     'shar+', 'sharada extension'],
-       0x1140 => [0x08, 'X L Brahmic',        'newar'],
-       0x1148 => [0x06, 'X L Brahmic',        'tirhuta'],
-       0x114E => [0x02, 'X Xr L Alpha',       'tani'],
-       0x1150 => [0x08, 'X Xr L Brahmic',     'ranjana'],
-       0x1158 => [0x08, 'X L Brahmic',        'siddham'],
-       0x1160 => [0x06, 'X L Brahmic',        'modi'],
-       0x1166 => [0x02, 'X L Aramaic',        'mong', 'mongolian extension'],
-       0x1168 => [0x05, 'X L Brahmic',        'takri'],
-       0x116D => [0x03, 'X Xr L Brahmic',     'jenticha'],
-       0x1170 => [0x04, 'X Xr L Brahmic',     'ahom'],
-       0x1174 => [0x06, 'X Xr L Alpha',       'zou'],
-       0x117A => [0x06, 'X Xr L Brahmic',     'pyu'],
-       0x1180 => [0x05, 'X Xr L Brahmic',     'dogra'],
-       0x1185 => [0x04, 'X Xr L Brahmic',     'sirmauri'],
-       0x1189 => [0x01],
-       0x118A => [0x06, 'X L Syllabic',       'warang citi'],
-       0x1190 => [0x04, 'X Xr L Brahmic',     'tolong siki'],
-       0x1194 => [0x04, 'X Xr L Brahmic',     'tikamuli'],
-       0x1198 => [0x04, 'X Xr L Brahmic',     'khambu rai'],
-       0x119C => [0x04, 'X Xr L Brahmic',     'kirat rai'],
-       0x11A0 => [0x05, 'X Xr L Brahmic',     'zanabazar square'],
-       0x11A5 => [0x06, 'X Xr L Brahmic',     'soyombo'],
-       0x11AB => [0x01],
-       0x11AC => [0x04, 'X L Alpha',          'pau cin hau'],
-       0x11B0 => [0x05, 'X Xr L Brahmic',     'dhives akuru'],
-       0x11B5 => [0x04, 'X Xr L Brahmic',     'leke'],
-       0x11B9 => [0x06, 'X Xr L Brahmic',     'nandinagari'],
-       0x11BF => [0x01],
-       0x11C0 => [0x07, 'X L Brahmic',        'bhaiksuki'],
-       0x11C7 => [0x05, 'X L Brahmic',        'marchen'],
-       0x11CC => [0x04, 'X Xr L Brahmic',     'balti B'],
-       0x11D0 => [0x06, 'X Xr L Brahmic',     'masaram gondi'],
-       0x11D6 => [0x05, 'X Xr L Brahmic',     'gunjala gondi'],
-       0x11DB => [0x05, 'X Xr L Brahmic',     'kawi'],
-       0x11E0 => [0x07, 'X Xr L Brahmic',     'tocharian'],
-       0x11E7 => [0x06, 'X Xr L Brahmic',     'khotanese'],
-       0x11ED => [0x01],
-       0x11EE => [0x02, 'X Xr L Brahmic',     'makas', 'makasar'],
-       0x11F0 => [0x04, 'X Xr L Brahmic',     'vatteluttu'],
-       0x11F4 => [0x02],
-       0x11F6 => [0x06, 'X Xr L Brahmic',     'chola'],
-       0x11FC => [0x04, 'X Xr L Brahmic',     'tamil+'],
-       0x1200 => [0x40, 'X L Syllabic',       'cuneiform'],
-       0x1240 => [0x08, 'X No',               'cuneiform numbers'],
-       0x1248 => [0x08, 'X L Syllabic',       'early dynastic cuneiform'], #TODO: join bottom but title at top
-       0x1250 => [0x05, 'X L Syllabic',       'e. dyn. cuneiform'],
-       0x1255 => [0x0B],
-       0x1260 => [0x80, 'X Xr L Syllabic',    'proto-cuneiform'],
-       0x12E0 => [0x19, 'X Xr L Syllabic',    'indus'],
-       0x12F9 => [0x07],
-       0x1300 => [0x43, 'X L Syllabic',       'egyptian hieroglyphs'],
-       0x1343 => [0x01, 'X Xr L Syllabic',    'eg.c', 'Egyptian control characters'],
-       0x1344 => [0xFC, 'X Xr L Syllabic',    'egyptian hieroglyphs extended-A'],
-       0x1440 => [0x28, 'X L Syllabic',       'anatolian hieroglyphs'],
-       0x1468 => [0x98, 'X Xr L Syllabic',    'egyptian hieroglyphs extended-B'],
-       0x1500 => [0x04, 'X Xr L Brahmic',     'lampung'],
-       0x1504 => [0x03, 'X Xr L Brahmic',     'kerinci'],
-       0x1507 => [0x01],
-       0x1508 => [0x48, 'X Xr L Syllabic',    'mandombe'],
-       0x1550 => [0x50, 'X Xr L Syllabic',    'maya hieroglyphs'],
-       0x15A0 => [0x20],
-       0x15C0 => [0x40, 'X Xr L Syllabic',    'aztec pictograms'],
-       0x1600 => [0x08, 'X Xr L Alpha',       'cirth'],
-       0x1608 => [0x08, 'X Xr L Alpha',       'tengwar'],
-       0x1610 => [0x04, 'X Xr L Brahmic',     'khema'],
-       0x1614 => [0x04, 'X Xr L Brahmic',     'khe prih'],
-       0x1618 => [0x02],
-       0x161A => [0x06, 'X Xr L Alpha',       'moon'],
-       0x1620 => [0x50, 'X Xr L Syllabic',    'blissymbols'],
-       0x1670 => [0x0B, 'X Xr L Syllabic',    'bagam'],
-       0x167B => [0x05, 'X Xr L Syllabic',    'iban'],
-       0x1680 => [0x24, 'X L Syllabic',       'bamum supplement'],
-       0x16A4 => [0x03, 'X L Alpha',          'mro'],
-       0x16A7 => [0x06, 'X Xr L Alpha',       'mossang tangsa'],
-       0x16AD => [0x03, 'X L Alpha',          'bassa vah'],
-       0x16B0 => [0x09, 'X L Syllabic',       'pahawh hmong'],
-       0x16B9 => [0x07, 'X Xr L Syllabic',    'woleai'],
-       0x16C0 => [0x08, 'X Xr L Syllabic',    'kpelle'],
-       0x16C8 => [0x05, 'X Xr L Syllabic',    'afaka'],
-       0x16CD => [0x03, 'X Xr L Syllabic',    'lk tangsa', 'Latsam Khimhun Tangsa'],
-       0x16D0 => [0x0D],
-       0x16DD => [0x03, 'X Xr L Brahmic',     'kulitan'],
-       0x16E0 => [0x04, 'X Xr L Alpha',       'mwangwego'],
-       0x16E4 => [0x06, 'X Xr L Alpha',       'medefaidrin'],
-       0x16EA => [0x06, 'X Xr L Brahmic',     'lontara+', 'buginese'],
-       0x16F0 => [0x0A, 'X L Syllabic',       'miao'],
-       0x16FA => [0x04, 'X Xr L Brahmic',     'lontara b-b'],
-       0x16FE => [0x02, 'X So',               'ideo', 'Ideographic Symbols and Punctuation'],
-       0x1700 => [0x180,'X L Syllabic',       'tangut ideographs'],
-       0x1880 => [0x30, 'X L Syllabic',       'tangut components'],
-       0x18B0 => [0x20, 'X Xr L Han',         'khitan small'],
-       0x18D0 => [0x90, 'X Xr L Han',         'khitan ideographs'],
-       0x1960 => [0x56, 'X Xr L Han',         'jurchen'],
-       0x19B6 => [0x04, 'X Xr L Han',         'jurchen rad'],
-       0x19BA => [0x06],
-       0x19C0 => [0x20],
-       0x19E0 => [0x50, 'X Xr L Syllabic',    'pau cin hau syllabary'],
-       0x1A30 => [0x50, 'X Xr L Syllabic',    'eskaya'],
-       0x1A80 => [0x2B, 'X Xr L Syllabic',    'naxi geba'],
-       0x1AAB => [0x01],
-       0x1AAC => [0x54, 'X Xr L Syllabic',    'naxi dongba'],
-       0x1B00 => [0x10, 'X L Hiragana',       'kana supplement'],
-       0x1B10 => [0x03, 'X Xr L Hiragana',    'kana+A'],
-       0x1B13 => [0x04, 'X Xr L Syllabic',    'kaidā'],
-       0x1B17 => [0x19, 'X Xr L Han',         'nushu'],
-       0x1B30 => [0x20, 'X Xr L Han',         'shuishu'],
-       0x1B50 => [0x70, 'X Xr L Syllabic',    'proto-elamite'],
-       0x1BC0 => [0x0A, 'X L Alpha',          'duployan'],
-       0x1BCA => [0x01, 'X L Cc',             'sh', 'Shorthand Formatting'],
-       0x1BCB => [0x05, 'X Xr L Alpha',       'pitman'],
-       0x1BD0 => [0x30, 'X Xr L Alpha',       'shorthands?'],
-       0x1C00 => [0xB0, 'X Xr L Alpha',       'micmac hieroglyphs'],
-       0x1CB0 => [0x30, 'X Xr L Syllabic',    'rongorongo'],
-       0x1CE0 => [0x20],
-       0x1D00 => [0x10, 'X So',               'byzantine musical'],
-       0x1D10 => [0x10, 'X So',               'musical symbols'],
-       0x1D20 => [0x05, 'X So',               'anc greek music'],
-       0x1D25 => [0x09],
-       0x1D2E => [0x02, 'X Xr No',            'mayan', 'Mayan Numerals'],
-       0x1D30 => [0x06, 'X So',               'tai xuan jing', 'tetragrams'],
-       0x1D36 => [0x02, 'X No',               'rod'],
-       0x1D38 => [0x08, 'X Xr L Sm',          'mathematical alphanumeric+'],
-       0x1D40 => [0x40, 'X L Sm',             'mathematical alphanumeric'],
-       0x1D80 => [0x2B, 'X L Alpha',          'sutton'],
-       0x1DAB => [0x55],
-       0x1E00 => [0x03, 'X L Cyrillic',       'glagol+'],
-       0x1E03 => [0x05, 'X Xr L Brahmic',     'pallava'],
-       0x1E08 => [0x06, 'X Xr L Brahmic',     'chalukya'],
-       0x1E0E => [0x02],
-       0x1E10 => [0x0B, 'X Xr L Alpha',       'eebee hmong'],
-       0x1E1B => [0x05, 'X Xr L Alpha',       'cher vang hm.'],
-       0x1E20 => [0x06, 'X Xr L Brahmic',     'western cham'],
-       0x1E26 => [0x03, 'X Xr L Alpha',       'beria', 'zaghawa'],
-       0x1E29 => [0x07],
-       0x1E30 => [0x20, 'X Xr L Syllabic',    'loma'],
-       0x1E50 => [0x30],
-       0x1E80 => [0x0E, 'X L Syllabic',       'mende kikakui'],
-       0x1E8E => [0x02],
-       0x1E90 => [0x06, 'X L Alpha',          'adlam'],
-       0x1E96 => [0x2A],
-       0x1EC0 => [0x07, 'X Xr No',            'persian siyaq'],
-       0x1EC7 => [0x05, 'X Xr No',            'indic siyaq'],
-       0x1ECC => [0x04, 'X Xr No',            'diwani siyaq'],
-       0x1ED0 => [0x05, 'X Xr No',            'ottoman siyaq'],
-       0x1ED5 => [0x0B],
-       0x1EE0 => [0x10, 'X L Arabic',         'arabic mathematical alphabetic'], # Sm
-       0x1EF0 => [0x10],
-       0x1F00 => [0x03, 'X So',               'mahjong'],
-       0x1F03 => [0x07, 'X So',               'domino tiles'],
-       0x1F0A => [0x06, 'X So',               'playing cards'],
-       0x1F10 => [0x10, 'X L Latin',          'enclosed alphanumeric supplement'], # So
-       0x1F20 => [0x10, 'X L Han',            'enclosed ideographic supplement'], # So
-       0x1F30 => [0x30, 'X So',               'miscellaneous symbols and pictographs'],
-       0x1F60 => [0x05, 'X So',               'emoticons'],
-       0x1F65 => [0x03, 'X So',               'ornament'],
-       0x1F68 => [0x08, 'X So',               'transport'],
-       0x1F70 => [0x08, 'X So',               'alchemical'],
-       0x1F78 => [0x08, 'X So',               'geometric shapes ext'],
-       0x1F80 => [0x10, 'X So',               'supplemental arrows-C'],
-       0x1F90 => [0x10, 'X So',               'supplemental symbols and pictographs'],
-       0x1FA0 => [0x60],
+       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',          'mero 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 => [0x060],
+       0x10EE0 => [0x020, 'X Xr L Aramaic',     'elym'],
+       0x10F00 => [0x030, 'X Xr L Aramaic',     'old sog'],
+       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 => [0x060, 'X Xr L Brahmic',     'tulu'],
+       0x113E0 => [0x020, 'X Xr L Brahmic',     'shar+', 'sharada extension'],
+       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 Xr 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 => [0x040, 'X Xr L Brahmic',     'tolong siki'],
+       0x11940 => [0x040, 'X Xr L Brahmic',     'tikamuli'],
+       0x11980 => [0x040, 'X Xr L Brahmic',     'khambu rai'],
+       0x119C0 => [0x040, 'X Xr L Brahmic',     'kirat rai'],
+       0x11A00 => [0x050, 'X Xr L Brahmic',     'zanabazar square'],
+       0x11A50 => [0x060, 'X Xr L Brahmic',     'soyombo'],
+       0x11AB0 => [0x010],
+       0x11AC0 => [0x040, 'X L Alpha',          'pau cin hau'],
+       0x11B00 => [0x050, 'X Xr L Brahmic',     'dhives akuru'],
+       0x11B50 => [0x040, 'X Xr L Brahmic',     'leke'],
+       0x11B90 => [0x060, 'X Xr L Brahmic',     'nandinagari'],
+       0x11BF0 => [0x010],
+       0x11C00 => [0x070, 'X L Brahmic',        'bhaiksuki'],
+       0x11C70 => [0x050, 'X L Brahmic',        'marchen'],
+       0x11CC0 => [0x040, 'X Xr L Brahmic',     'balti B'],
+       0x11D00 => [0x060, 'X Xr 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',     'vatteluttu'],
+       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 => [0x0B0],
+       0x12600 => [0x800, 'X Xr L Syllabic',    'proto-cuneiform'],
+       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 => [0x0D0],
+       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 => [0x500, 'X Xr L Syllabic',    'eskaya'],
+       0x1A800 => [0x2B0, 'X Xr L Syllabic',    'naxi geba'],
+       0x1AAB0 => [0x010],
+       0x1AAC0 => [0x540, 'X Xr L Syllabic',    'naxi dongba'],
+       0x1B000 => [0x100, 'X L Hiragana',       'kana supplement'],
+       0x1B100 => [0x030, 'X Xr L Hiragana',    'kana+A'],
+       0x1B130 => [0x040, 'X Xr L Syllabic',    'kaidā'],
+       0x1B170 => [0x190, 'X Xr L Han',         'nüshu'],
+       0x1B300 => [0x200, 'X Xr L Han',         'shuishu'],
+       0x1B500 => [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 => [0x090],
+       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 => [0x0B0, 'X Xr L Alpha',       'eebee hmong'],
+       0x1E1B0 => [0x050, 'X Xr L Alpha',       'cher vang hm.'],
+       0x1E200 => [0x060, 'X Xr L Brahmic',     'western cham'],
+       0x1E260 => [0x030, 'X Xr L Alpha',       'beria', 'zaghawa'],
+       0x1E290 => [0x070],
+       0x1E300 => [0x200, 'X Xr L Syllabic',    'loma'],
+       0x1E500 => [0x300],
+       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 => [0x600],
 };