authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2021-05-31 13:57:42 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2021-05-31 13:57:42 -07:00
log06466b3e51778e19b37dbe4f9e1cb1fc6d5ef2af
tree75aac1dbcb027b1f9ae03e990d37b4aa5d716fb9
parentf0de967fbd16f55bec8aaafd841061d931d2fa40

gen- fix blocks generation


2 files changed, 311 insertions(+), 311 deletions(-)

scripts/blocks.zig+2-2
...@@ -13,7 +13,7 @@ pub const default = common.Main(struct {...@@ -13,7 +13,7 @@ pub const default = common.Main(struct {
13 \\ name: []const u8,13 \\ name: []const u8,
14 \\};14 \\};
15 \\15 \\
16 \\pub const blocks: []Block = &.{16 \\pub const blocks = [_]Block{
17 \\17 \\
18 ;18 ;
1919
...@@ -29,7 +29,7 @@ pub const default = common.Main(struct {...@@ -29,7 +29,7 @@ pub const default = common.Main(struct {
29 const to = it2.next().?;29 const to = it2.next().?;
30 const name = it1.next().?;30 const name = it1.next().?;
3131
32 try writer.print(" .{{ 0x{s}, 0x{s}, \"{s}\" }},\n", .{ from, to, name });32 try writer.print(" .{{ .from = 0x{s}, .to = 0x{s}, .name = \"{s}\" }},\n", .{ from, to, name });
33 return true;33 return true;
34 }34 }
35});35});
src/blocks.zig+309-309
...@@ -8,313 +8,313 @@ pub const Block = struct {...@@ -8,313 +8,313 @@ pub const Block = struct {
8 name: []const u8,8 name: []const u8,
9};9};
1010
11pub const blocks: []Block = &.{11pub const blocks = [_]Block{
12 .{ 0x0000, 0x007F, "Basic Latin" },12 .{ .from = 0x0000, .to = 0x007F, .name = "Basic Latin" },
13 .{ 0x0080, 0x00FF, "Latin-1 Supplement" },13 .{ .from = 0x0080, .to = 0x00FF, .name = "Latin-1 Supplement" },
14 .{ 0x0100, 0x017F, "Latin Extended-A" },14 .{ .from = 0x0100, .to = 0x017F, .name = "Latin Extended-A" },
15 .{ 0x0180, 0x024F, "Latin Extended-B" },15 .{ .from = 0x0180, .to = 0x024F, .name = "Latin Extended-B" },
16 .{ 0x0250, 0x02AF, "IPA Extensions" },16 .{ .from = 0x0250, .to = 0x02AF, .name = "IPA Extensions" },
17 .{ 0x02B0, 0x02FF, "Spacing Modifier Letters" },17 .{ .from = 0x02B0, .to = 0x02FF, .name = "Spacing Modifier Letters" },
18 .{ 0x0300, 0x036F, "Combining Diacritical Marks" },18 .{ .from = 0x0300, .to = 0x036F, .name = "Combining Diacritical Marks" },
19 .{ 0x0370, 0x03FF, "Greek and Coptic" },19 .{ .from = 0x0370, .to = 0x03FF, .name = "Greek and Coptic" },
20 .{ 0x0400, 0x04FF, "Cyrillic" },20 .{ .from = 0x0400, .to = 0x04FF, .name = "Cyrillic" },
21 .{ 0x0500, 0x052F, "Cyrillic Supplement" },21 .{ .from = 0x0500, .to = 0x052F, .name = "Cyrillic Supplement" },
22 .{ 0x0530, 0x058F, "Armenian" },22 .{ .from = 0x0530, .to = 0x058F, .name = "Armenian" },
23 .{ 0x0590, 0x05FF, "Hebrew" },23 .{ .from = 0x0590, .to = 0x05FF, .name = "Hebrew" },
24 .{ 0x0600, 0x06FF, "Arabic" },24 .{ .from = 0x0600, .to = 0x06FF, .name = "Arabic" },
25 .{ 0x0700, 0x074F, "Syriac" },25 .{ .from = 0x0700, .to = 0x074F, .name = "Syriac" },
26 .{ 0x0750, 0x077F, "Arabic Supplement" },26 .{ .from = 0x0750, .to = 0x077F, .name = "Arabic Supplement" },
27 .{ 0x0780, 0x07BF, "Thaana" },27 .{ .from = 0x0780, .to = 0x07BF, .name = "Thaana" },
28 .{ 0x07C0, 0x07FF, "NKo" },28 .{ .from = 0x07C0, .to = 0x07FF, .name = "NKo" },
29 .{ 0x0800, 0x083F, "Samaritan" },29 .{ .from = 0x0800, .to = 0x083F, .name = "Samaritan" },
30 .{ 0x0840, 0x085F, "Mandaic" },30 .{ .from = 0x0840, .to = 0x085F, .name = "Mandaic" },
31 .{ 0x0860, 0x086F, "Syriac Supplement" },31 .{ .from = 0x0860, .to = 0x086F, .name = "Syriac Supplement" },
32 .{ 0x08A0, 0x08FF, "Arabic Extended-A" },32 .{ .from = 0x08A0, .to = 0x08FF, .name = "Arabic Extended-A" },
33 .{ 0x0900, 0x097F, "Devanagari" },33 .{ .from = 0x0900, .to = 0x097F, .name = "Devanagari" },
34 .{ 0x0980, 0x09FF, "Bengali" },34 .{ .from = 0x0980, .to = 0x09FF, .name = "Bengali" },
35 .{ 0x0A00, 0x0A7F, "Gurmukhi" },35 .{ .from = 0x0A00, .to = 0x0A7F, .name = "Gurmukhi" },
36 .{ 0x0A80, 0x0AFF, "Gujarati" },36 .{ .from = 0x0A80, .to = 0x0AFF, .name = "Gujarati" },
37 .{ 0x0B00, 0x0B7F, "Oriya" },37 .{ .from = 0x0B00, .to = 0x0B7F, .name = "Oriya" },
38 .{ 0x0B80, 0x0BFF, "Tamil" },38 .{ .from = 0x0B80, .to = 0x0BFF, .name = "Tamil" },
39 .{ 0x0C00, 0x0C7F, "Telugu" },39 .{ .from = 0x0C00, .to = 0x0C7F, .name = "Telugu" },
40 .{ 0x0C80, 0x0CFF, "Kannada" },40 .{ .from = 0x0C80, .to = 0x0CFF, .name = "Kannada" },
41 .{ 0x0D00, 0x0D7F, "Malayalam" },41 .{ .from = 0x0D00, .to = 0x0D7F, .name = "Malayalam" },
42 .{ 0x0D80, 0x0DFF, "Sinhala" },42 .{ .from = 0x0D80, .to = 0x0DFF, .name = "Sinhala" },
43 .{ 0x0E00, 0x0E7F, "Thai" },43 .{ .from = 0x0E00, .to = 0x0E7F, .name = "Thai" },
44 .{ 0x0E80, 0x0EFF, "Lao" },44 .{ .from = 0x0E80, .to = 0x0EFF, .name = "Lao" },
45 .{ 0x0F00, 0x0FFF, "Tibetan" },45 .{ .from = 0x0F00, .to = 0x0FFF, .name = "Tibetan" },
46 .{ 0x1000, 0x109F, "Myanmar" },46 .{ .from = 0x1000, .to = 0x109F, .name = "Myanmar" },
47 .{ 0x10A0, 0x10FF, "Georgian" },47 .{ .from = 0x10A0, .to = 0x10FF, .name = "Georgian" },
48 .{ 0x1100, 0x11FF, "Hangul Jamo" },48 .{ .from = 0x1100, .to = 0x11FF, .name = "Hangul Jamo" },
49 .{ 0x1200, 0x137F, "Ethiopic" },49 .{ .from = 0x1200, .to = 0x137F, .name = "Ethiopic" },
50 .{ 0x1380, 0x139F, "Ethiopic Supplement" },50 .{ .from = 0x1380, .to = 0x139F, .name = "Ethiopic Supplement" },
51 .{ 0x13A0, 0x13FF, "Cherokee" },51 .{ .from = 0x13A0, .to = 0x13FF, .name = "Cherokee" },
52 .{ 0x1400, 0x167F, "Unified Canadian Aboriginal Syllabics" },52 .{ .from = 0x1400, .to = 0x167F, .name = "Unified Canadian Aboriginal Syllabics" },
53 .{ 0x1680, 0x169F, "Ogham" },53 .{ .from = 0x1680, .to = 0x169F, .name = "Ogham" },
54 .{ 0x16A0, 0x16FF, "Runic" },54 .{ .from = 0x16A0, .to = 0x16FF, .name = "Runic" },
55 .{ 0x1700, 0x171F, "Tagalog" },55 .{ .from = 0x1700, .to = 0x171F, .name = "Tagalog" },
56 .{ 0x1720, 0x173F, "Hanunoo" },56 .{ .from = 0x1720, .to = 0x173F, .name = "Hanunoo" },
57 .{ 0x1740, 0x175F, "Buhid" },57 .{ .from = 0x1740, .to = 0x175F, .name = "Buhid" },
58 .{ 0x1760, 0x177F, "Tagbanwa" },58 .{ .from = 0x1760, .to = 0x177F, .name = "Tagbanwa" },
59 .{ 0x1780, 0x17FF, "Khmer" },59 .{ .from = 0x1780, .to = 0x17FF, .name = "Khmer" },
60 .{ 0x1800, 0x18AF, "Mongolian" },60 .{ .from = 0x1800, .to = 0x18AF, .name = "Mongolian" },
61 .{ 0x18B0, 0x18FF, "Unified Canadian Aboriginal Syllabics Extended" },61 .{ .from = 0x18B0, .to = 0x18FF, .name = "Unified Canadian Aboriginal Syllabics Extended" },
62 .{ 0x1900, 0x194F, "Limbu" },62 .{ .from = 0x1900, .to = 0x194F, .name = "Limbu" },
63 .{ 0x1950, 0x197F, "Tai Le" },63 .{ .from = 0x1950, .to = 0x197F, .name = "Tai Le" },
64 .{ 0x1980, 0x19DF, "New Tai Lue" },64 .{ .from = 0x1980, .to = 0x19DF, .name = "New Tai Lue" },
65 .{ 0x19E0, 0x19FF, "Khmer Symbols" },65 .{ .from = 0x19E0, .to = 0x19FF, .name = "Khmer Symbols" },
66 .{ 0x1A00, 0x1A1F, "Buginese" },66 .{ .from = 0x1A00, .to = 0x1A1F, .name = "Buginese" },
67 .{ 0x1A20, 0x1AAF, "Tai Tham" },67 .{ .from = 0x1A20, .to = 0x1AAF, .name = "Tai Tham" },
68 .{ 0x1AB0, 0x1AFF, "Combining Diacritical Marks Extended" },68 .{ .from = 0x1AB0, .to = 0x1AFF, .name = "Combining Diacritical Marks Extended" },
69 .{ 0x1B00, 0x1B7F, "Balinese" },69 .{ .from = 0x1B00, .to = 0x1B7F, .name = "Balinese" },
70 .{ 0x1B80, 0x1BBF, "Sundanese" },70 .{ .from = 0x1B80, .to = 0x1BBF, .name = "Sundanese" },
71 .{ 0x1BC0, 0x1BFF, "Batak" },71 .{ .from = 0x1BC0, .to = 0x1BFF, .name = "Batak" },
72 .{ 0x1C00, 0x1C4F, "Lepcha" },72 .{ .from = 0x1C00, .to = 0x1C4F, .name = "Lepcha" },
73 .{ 0x1C50, 0x1C7F, "Ol Chiki" },73 .{ .from = 0x1C50, .to = 0x1C7F, .name = "Ol Chiki" },
74 .{ 0x1C80, 0x1C8F, "Cyrillic Extended-C" },74 .{ .from = 0x1C80, .to = 0x1C8F, .name = "Cyrillic Extended-C" },
75 .{ 0x1C90, 0x1CBF, "Georgian Extended" },75 .{ .from = 0x1C90, .to = 0x1CBF, .name = "Georgian Extended" },
76 .{ 0x1CC0, 0x1CCF, "Sundanese Supplement" },76 .{ .from = 0x1CC0, .to = 0x1CCF, .name = "Sundanese Supplement" },
77 .{ 0x1CD0, 0x1CFF, "Vedic Extensions" },77 .{ .from = 0x1CD0, .to = 0x1CFF, .name = "Vedic Extensions" },
78 .{ 0x1D00, 0x1D7F, "Phonetic Extensions" },78 .{ .from = 0x1D00, .to = 0x1D7F, .name = "Phonetic Extensions" },
79 .{ 0x1D80, 0x1DBF, "Phonetic Extensions Supplement" },79 .{ .from = 0x1D80, .to = 0x1DBF, .name = "Phonetic Extensions Supplement" },
80 .{ 0x1DC0, 0x1DFF, "Combining Diacritical Marks Supplement" },80 .{ .from = 0x1DC0, .to = 0x1DFF, .name = "Combining Diacritical Marks Supplement" },
81 .{ 0x1E00, 0x1EFF, "Latin Extended Additional" },81 .{ .from = 0x1E00, .to = 0x1EFF, .name = "Latin Extended Additional" },
82 .{ 0x1F00, 0x1FFF, "Greek Extended" },82 .{ .from = 0x1F00, .to = 0x1FFF, .name = "Greek Extended" },
83 .{ 0x2000, 0x206F, "General Punctuation" },83 .{ .from = 0x2000, .to = 0x206F, .name = "General Punctuation" },
84 .{ 0x2070, 0x209F, "Superscripts and Subscripts" },84 .{ .from = 0x2070, .to = 0x209F, .name = "Superscripts and Subscripts" },
85 .{ 0x20A0, 0x20CF, "Currency Symbols" },85 .{ .from = 0x20A0, .to = 0x20CF, .name = "Currency Symbols" },
86 .{ 0x20D0, 0x20FF, "Combining Diacritical Marks for Symbols" },86 .{ .from = 0x20D0, .to = 0x20FF, .name = "Combining Diacritical Marks for Symbols" },
87 .{ 0x2100, 0x214F, "Letterlike Symbols" },87 .{ .from = 0x2100, .to = 0x214F, .name = "Letterlike Symbols" },
88 .{ 0x2150, 0x218F, "Number Forms" },88 .{ .from = 0x2150, .to = 0x218F, .name = "Number Forms" },
89 .{ 0x2190, 0x21FF, "Arrows" },89 .{ .from = 0x2190, .to = 0x21FF, .name = "Arrows" },
90 .{ 0x2200, 0x22FF, "Mathematical Operators" },90 .{ .from = 0x2200, .to = 0x22FF, .name = "Mathematical Operators" },
91 .{ 0x2300, 0x23FF, "Miscellaneous Technical" },91 .{ .from = 0x2300, .to = 0x23FF, .name = "Miscellaneous Technical" },
92 .{ 0x2400, 0x243F, "Control Pictures" },92 .{ .from = 0x2400, .to = 0x243F, .name = "Control Pictures" },
93 .{ 0x2440, 0x245F, "Optical Character Recognition" },93 .{ .from = 0x2440, .to = 0x245F, .name = "Optical Character Recognition" },
94 .{ 0x2460, 0x24FF, "Enclosed Alphanumerics" },94 .{ .from = 0x2460, .to = 0x24FF, .name = "Enclosed Alphanumerics" },
95 .{ 0x2500, 0x257F, "Box Drawing" },95 .{ .from = 0x2500, .to = 0x257F, .name = "Box Drawing" },
96 .{ 0x2580, 0x259F, "Block Elements" },96 .{ .from = 0x2580, .to = 0x259F, .name = "Block Elements" },
97 .{ 0x25A0, 0x25FF, "Geometric Shapes" },97 .{ .from = 0x25A0, .to = 0x25FF, .name = "Geometric Shapes" },
98 .{ 0x2600, 0x26FF, "Miscellaneous Symbols" },98 .{ .from = 0x2600, .to = 0x26FF, .name = "Miscellaneous Symbols" },
99 .{ 0x2700, 0x27BF, "Dingbats" },99 .{ .from = 0x2700, .to = 0x27BF, .name = "Dingbats" },
100 .{ 0x27C0, 0x27EF, "Miscellaneous Mathematical Symbols-A" },100 .{ .from = 0x27C0, .to = 0x27EF, .name = "Miscellaneous Mathematical Symbols-A" },
101 .{ 0x27F0, 0x27FF, "Supplemental Arrows-A" },101 .{ .from = 0x27F0, .to = 0x27FF, .name = "Supplemental Arrows-A" },
102 .{ 0x2800, 0x28FF, "Braille Patterns" },102 .{ .from = 0x2800, .to = 0x28FF, .name = "Braille Patterns" },
103 .{ 0x2900, 0x297F, "Supplemental Arrows-B" },103 .{ .from = 0x2900, .to = 0x297F, .name = "Supplemental Arrows-B" },
104 .{ 0x2980, 0x29FF, "Miscellaneous Mathematical Symbols-B" },104 .{ .from = 0x2980, .to = 0x29FF, .name = "Miscellaneous Mathematical Symbols-B" },
105 .{ 0x2A00, 0x2AFF, "Supplemental Mathematical Operators" },105 .{ .from = 0x2A00, .to = 0x2AFF, .name = "Supplemental Mathematical Operators" },
106 .{ 0x2B00, 0x2BFF, "Miscellaneous Symbols and Arrows" },106 .{ .from = 0x2B00, .to = 0x2BFF, .name = "Miscellaneous Symbols and Arrows" },
107 .{ 0x2C00, 0x2C5F, "Glagolitic" },107 .{ .from = 0x2C00, .to = 0x2C5F, .name = "Glagolitic" },
108 .{ 0x2C60, 0x2C7F, "Latin Extended-C" },108 .{ .from = 0x2C60, .to = 0x2C7F, .name = "Latin Extended-C" },
109 .{ 0x2C80, 0x2CFF, "Coptic" },109 .{ .from = 0x2C80, .to = 0x2CFF, .name = "Coptic" },
110 .{ 0x2D00, 0x2D2F, "Georgian Supplement" },110 .{ .from = 0x2D00, .to = 0x2D2F, .name = "Georgian Supplement" },
111 .{ 0x2D30, 0x2D7F, "Tifinagh" },111 .{ .from = 0x2D30, .to = 0x2D7F, .name = "Tifinagh" },
112 .{ 0x2D80, 0x2DDF, "Ethiopic Extended" },112 .{ .from = 0x2D80, .to = 0x2DDF, .name = "Ethiopic Extended" },
113 .{ 0x2DE0, 0x2DFF, "Cyrillic Extended-A" },113 .{ .from = 0x2DE0, .to = 0x2DFF, .name = "Cyrillic Extended-A" },
114 .{ 0x2E00, 0x2E7F, "Supplemental Punctuation" },114 .{ .from = 0x2E00, .to = 0x2E7F, .name = "Supplemental Punctuation" },
115 .{ 0x2E80, 0x2EFF, "CJK Radicals Supplement" },115 .{ .from = 0x2E80, .to = 0x2EFF, .name = "CJK Radicals Supplement" },
116 .{ 0x2F00, 0x2FDF, "Kangxi Radicals" },116 .{ .from = 0x2F00, .to = 0x2FDF, .name = "Kangxi Radicals" },
117 .{ 0x2FF0, 0x2FFF, "Ideographic Description Characters" },117 .{ .from = 0x2FF0, .to = 0x2FFF, .name = "Ideographic Description Characters" },
118 .{ 0x3000, 0x303F, "CJK Symbols and Punctuation" },118 .{ .from = 0x3000, .to = 0x303F, .name = "CJK Symbols and Punctuation" },
119 .{ 0x3040, 0x309F, "Hiragana" },119 .{ .from = 0x3040, .to = 0x309F, .name = "Hiragana" },
120 .{ 0x30A0, 0x30FF, "Katakana" },120 .{ .from = 0x30A0, .to = 0x30FF, .name = "Katakana" },
121 .{ 0x3100, 0x312F, "Bopomofo" },121 .{ .from = 0x3100, .to = 0x312F, .name = "Bopomofo" },
122 .{ 0x3130, 0x318F, "Hangul Compatibility Jamo" },122 .{ .from = 0x3130, .to = 0x318F, .name = "Hangul Compatibility Jamo" },
123 .{ 0x3190, 0x319F, "Kanbun" },123 .{ .from = 0x3190, .to = 0x319F, .name = "Kanbun" },
124 .{ 0x31A0, 0x31BF, "Bopomofo Extended" },124 .{ .from = 0x31A0, .to = 0x31BF, .name = "Bopomofo Extended" },
125 .{ 0x31C0, 0x31EF, "CJK Strokes" },125 .{ .from = 0x31C0, .to = 0x31EF, .name = "CJK Strokes" },
126 .{ 0x31F0, 0x31FF, "Katakana Phonetic Extensions" },126 .{ .from = 0x31F0, .to = 0x31FF, .name = "Katakana Phonetic Extensions" },
127 .{ 0x3200, 0x32FF, "Enclosed CJK Letters and Months" },127 .{ .from = 0x3200, .to = 0x32FF, .name = "Enclosed CJK Letters and Months" },
128 .{ 0x3300, 0x33FF, "CJK Compatibility" },128 .{ .from = 0x3300, .to = 0x33FF, .name = "CJK Compatibility" },
129 .{ 0x3400, 0x4DBF, "CJK Unified Ideographs Extension A" },129 .{ .from = 0x3400, .to = 0x4DBF, .name = "CJK Unified Ideographs Extension A" },
130 .{ 0x4DC0, 0x4DFF, "Yijing Hexagram Symbols" },130 .{ .from = 0x4DC0, .to = 0x4DFF, .name = "Yijing Hexagram Symbols" },
131 .{ 0x4E00, 0x9FFF, "CJK Unified Ideographs" },131 .{ .from = 0x4E00, .to = 0x9FFF, .name = "CJK Unified Ideographs" },
132 .{ 0xA000, 0xA48F, "Yi Syllables" },132 .{ .from = 0xA000, .to = 0xA48F, .name = "Yi Syllables" },
133 .{ 0xA490, 0xA4CF, "Yi Radicals" },133 .{ .from = 0xA490, .to = 0xA4CF, .name = "Yi Radicals" },
134 .{ 0xA4D0, 0xA4FF, "Lisu" },134 .{ .from = 0xA4D0, .to = 0xA4FF, .name = "Lisu" },
135 .{ 0xA500, 0xA63F, "Vai" },135 .{ .from = 0xA500, .to = 0xA63F, .name = "Vai" },
136 .{ 0xA640, 0xA69F, "Cyrillic Extended-B" },136 .{ .from = 0xA640, .to = 0xA69F, .name = "Cyrillic Extended-B" },
137 .{ 0xA6A0, 0xA6FF, "Bamum" },137 .{ .from = 0xA6A0, .to = 0xA6FF, .name = "Bamum" },
138 .{ 0xA700, 0xA71F, "Modifier Tone Letters" },138 .{ .from = 0xA700, .to = 0xA71F, .name = "Modifier Tone Letters" },
139 .{ 0xA720, 0xA7FF, "Latin Extended-D" },139 .{ .from = 0xA720, .to = 0xA7FF, .name = "Latin Extended-D" },
140 .{ 0xA800, 0xA82F, "Syloti Nagri" },140 .{ .from = 0xA800, .to = 0xA82F, .name = "Syloti Nagri" },
141 .{ 0xA830, 0xA83F, "Common Indic Number Forms" },141 .{ .from = 0xA830, .to = 0xA83F, .name = "Common Indic Number Forms" },
142 .{ 0xA840, 0xA87F, "Phags-pa" },142 .{ .from = 0xA840, .to = 0xA87F, .name = "Phags-pa" },
143 .{ 0xA880, 0xA8DF, "Saurashtra" },143 .{ .from = 0xA880, .to = 0xA8DF, .name = "Saurashtra" },
144 .{ 0xA8E0, 0xA8FF, "Devanagari Extended" },144 .{ .from = 0xA8E0, .to = 0xA8FF, .name = "Devanagari Extended" },
145 .{ 0xA900, 0xA92F, "Kayah Li" },145 .{ .from = 0xA900, .to = 0xA92F, .name = "Kayah Li" },
146 .{ 0xA930, 0xA95F, "Rejang" },146 .{ .from = 0xA930, .to = 0xA95F, .name = "Rejang" },
147 .{ 0xA960, 0xA97F, "Hangul Jamo Extended-A" },147 .{ .from = 0xA960, .to = 0xA97F, .name = "Hangul Jamo Extended-A" },
148 .{ 0xA980, 0xA9DF, "Javanese" },148 .{ .from = 0xA980, .to = 0xA9DF, .name = "Javanese" },
149 .{ 0xA9E0, 0xA9FF, "Myanmar Extended-B" },149 .{ .from = 0xA9E0, .to = 0xA9FF, .name = "Myanmar Extended-B" },
150 .{ 0xAA00, 0xAA5F, "Cham" },150 .{ .from = 0xAA00, .to = 0xAA5F, .name = "Cham" },
151 .{ 0xAA60, 0xAA7F, "Myanmar Extended-A" },151 .{ .from = 0xAA60, .to = 0xAA7F, .name = "Myanmar Extended-A" },
152 .{ 0xAA80, 0xAADF, "Tai Viet" },152 .{ .from = 0xAA80, .to = 0xAADF, .name = "Tai Viet" },
153 .{ 0xAAE0, 0xAAFF, "Meetei Mayek Extensions" },153 .{ .from = 0xAAE0, .to = 0xAAFF, .name = "Meetei Mayek Extensions" },
154 .{ 0xAB00, 0xAB2F, "Ethiopic Extended-A" },154 .{ .from = 0xAB00, .to = 0xAB2F, .name = "Ethiopic Extended-A" },
155 .{ 0xAB30, 0xAB6F, "Latin Extended-E" },155 .{ .from = 0xAB30, .to = 0xAB6F, .name = "Latin Extended-E" },
156 .{ 0xAB70, 0xABBF, "Cherokee Supplement" },156 .{ .from = 0xAB70, .to = 0xABBF, .name = "Cherokee Supplement" },
157 .{ 0xABC0, 0xABFF, "Meetei Mayek" },157 .{ .from = 0xABC0, .to = 0xABFF, .name = "Meetei Mayek" },
158 .{ 0xAC00, 0xD7AF, "Hangul Syllables" },158 .{ .from = 0xAC00, .to = 0xD7AF, .name = "Hangul Syllables" },
159 .{ 0xD7B0, 0xD7FF, "Hangul Jamo Extended-B" },159 .{ .from = 0xD7B0, .to = 0xD7FF, .name = "Hangul Jamo Extended-B" },
160 .{ 0xD800, 0xDB7F, "High Surrogates" },160 .{ .from = 0xD800, .to = 0xDB7F, .name = "High Surrogates" },
161 .{ 0xDB80, 0xDBFF, "High Private Use Surrogates" },161 .{ .from = 0xDB80, .to = 0xDBFF, .name = "High Private Use Surrogates" },
162 .{ 0xDC00, 0xDFFF, "Low Surrogates" },162 .{ .from = 0xDC00, .to = 0xDFFF, .name = "Low Surrogates" },
163 .{ 0xE000, 0xF8FF, "Private Use Area" },163 .{ .from = 0xE000, .to = 0xF8FF, .name = "Private Use Area" },
164 .{ 0xF900, 0xFAFF, "CJK Compatibility Ideographs" },164 .{ .from = 0xF900, .to = 0xFAFF, .name = "CJK Compatibility Ideographs" },
165 .{ 0xFB00, 0xFB4F, "Alphabetic Presentation Forms" },165 .{ .from = 0xFB00, .to = 0xFB4F, .name = "Alphabetic Presentation Forms" },
166 .{ 0xFB50, 0xFDFF, "Arabic Presentation Forms-A" },166 .{ .from = 0xFB50, .to = 0xFDFF, .name = "Arabic Presentation Forms-A" },
167 .{ 0xFE00, 0xFE0F, "Variation Selectors" },167 .{ .from = 0xFE00, .to = 0xFE0F, .name = "Variation Selectors" },
168 .{ 0xFE10, 0xFE1F, "Vertical Forms" },168 .{ .from = 0xFE10, .to = 0xFE1F, .name = "Vertical Forms" },
169 .{ 0xFE20, 0xFE2F, "Combining Half Marks" },169 .{ .from = 0xFE20, .to = 0xFE2F, .name = "Combining Half Marks" },
170 .{ 0xFE30, 0xFE4F, "CJK Compatibility Forms" },170 .{ .from = 0xFE30, .to = 0xFE4F, .name = "CJK Compatibility Forms" },
171 .{ 0xFE50, 0xFE6F, "Small Form Variants" },171 .{ .from = 0xFE50, .to = 0xFE6F, .name = "Small Form Variants" },
172 .{ 0xFE70, 0xFEFF, "Arabic Presentation Forms-B" },172 .{ .from = 0xFE70, .to = 0xFEFF, .name = "Arabic Presentation Forms-B" },
173 .{ 0xFF00, 0xFFEF, "Halfwidth and Fullwidth Forms" },173 .{ .from = 0xFF00, .to = 0xFFEF, .name = "Halfwidth and Fullwidth Forms" },
174 .{ 0xFFF0, 0xFFFF, "Specials" },174 .{ .from = 0xFFF0, .to = 0xFFFF, .name = "Specials" },
175 .{ 0x10000, 0x1007F, "Linear B Syllabary" },175 .{ .from = 0x10000, .to = 0x1007F, .name = "Linear B Syllabary" },
176 .{ 0x10080, 0x100FF, "Linear B Ideograms" },176 .{ .from = 0x10080, .to = 0x100FF, .name = "Linear B Ideograms" },
177 .{ 0x10100, 0x1013F, "Aegean Numbers" },177 .{ .from = 0x10100, .to = 0x1013F, .name = "Aegean Numbers" },
178 .{ 0x10140, 0x1018F, "Ancient Greek Numbers" },178 .{ .from = 0x10140, .to = 0x1018F, .name = "Ancient Greek Numbers" },
179 .{ 0x10190, 0x101CF, "Ancient Symbols" },179 .{ .from = 0x10190, .to = 0x101CF, .name = "Ancient Symbols" },
180 .{ 0x101D0, 0x101FF, "Phaistos Disc" },180 .{ .from = 0x101D0, .to = 0x101FF, .name = "Phaistos Disc" },
181 .{ 0x10280, 0x1029F, "Lycian" },181 .{ .from = 0x10280, .to = 0x1029F, .name = "Lycian" },
182 .{ 0x102A0, 0x102DF, "Carian" },182 .{ .from = 0x102A0, .to = 0x102DF, .name = "Carian" },
183 .{ 0x102E0, 0x102FF, "Coptic Epact Numbers" },183 .{ .from = 0x102E0, .to = 0x102FF, .name = "Coptic Epact Numbers" },
184 .{ 0x10300, 0x1032F, "Old Italic" },184 .{ .from = 0x10300, .to = 0x1032F, .name = "Old Italic" },
185 .{ 0x10330, 0x1034F, "Gothic" },185 .{ .from = 0x10330, .to = 0x1034F, .name = "Gothic" },
186 .{ 0x10350, 0x1037F, "Old Permic" },186 .{ .from = 0x10350, .to = 0x1037F, .name = "Old Permic" },
187 .{ 0x10380, 0x1039F, "Ugaritic" },187 .{ .from = 0x10380, .to = 0x1039F, .name = "Ugaritic" },
188 .{ 0x103A0, 0x103DF, "Old Persian" },188 .{ .from = 0x103A0, .to = 0x103DF, .name = "Old Persian" },
189 .{ 0x10400, 0x1044F, "Deseret" },189 .{ .from = 0x10400, .to = 0x1044F, .name = "Deseret" },
190 .{ 0x10450, 0x1047F, "Shavian" },190 .{ .from = 0x10450, .to = 0x1047F, .name = "Shavian" },
191 .{ 0x10480, 0x104AF, "Osmanya" },191 .{ .from = 0x10480, .to = 0x104AF, .name = "Osmanya" },
192 .{ 0x104B0, 0x104FF, "Osage" },192 .{ .from = 0x104B0, .to = 0x104FF, .name = "Osage" },
193 .{ 0x10500, 0x1052F, "Elbasan" },193 .{ .from = 0x10500, .to = 0x1052F, .name = "Elbasan" },
194 .{ 0x10530, 0x1056F, "Caucasian Albanian" },194 .{ .from = 0x10530, .to = 0x1056F, .name = "Caucasian Albanian" },
195 .{ 0x10600, 0x1077F, "Linear A" },195 .{ .from = 0x10600, .to = 0x1077F, .name = "Linear A" },
196 .{ 0x10800, 0x1083F, "Cypriot Syllabary" },196 .{ .from = 0x10800, .to = 0x1083F, .name = "Cypriot Syllabary" },
197 .{ 0x10840, 0x1085F, "Imperial Aramaic" },197 .{ .from = 0x10840, .to = 0x1085F, .name = "Imperial Aramaic" },
198 .{ 0x10860, 0x1087F, "Palmyrene" },198 .{ .from = 0x10860, .to = 0x1087F, .name = "Palmyrene" },
199 .{ 0x10880, 0x108AF, "Nabataean" },199 .{ .from = 0x10880, .to = 0x108AF, .name = "Nabataean" },
200 .{ 0x108E0, 0x108FF, "Hatran" },200 .{ .from = 0x108E0, .to = 0x108FF, .name = "Hatran" },
201 .{ 0x10900, 0x1091F, "Phoenician" },201 .{ .from = 0x10900, .to = 0x1091F, .name = "Phoenician" },
202 .{ 0x10920, 0x1093F, "Lydian" },202 .{ .from = 0x10920, .to = 0x1093F, .name = "Lydian" },
203 .{ 0x10980, 0x1099F, "Meroitic Hieroglyphs" },203 .{ .from = 0x10980, .to = 0x1099F, .name = "Meroitic Hieroglyphs" },
204 .{ 0x109A0, 0x109FF, "Meroitic Cursive" },204 .{ .from = 0x109A0, .to = 0x109FF, .name = "Meroitic Cursive" },
205 .{ 0x10A00, 0x10A5F, "Kharoshthi" },205 .{ .from = 0x10A00, .to = 0x10A5F, .name = "Kharoshthi" },
206 .{ 0x10A60, 0x10A7F, "Old South Arabian" },206 .{ .from = 0x10A60, .to = 0x10A7F, .name = "Old South Arabian" },
207 .{ 0x10A80, 0x10A9F, "Old North Arabian" },207 .{ .from = 0x10A80, .to = 0x10A9F, .name = "Old North Arabian" },
208 .{ 0x10AC0, 0x10AFF, "Manichaean" },208 .{ .from = 0x10AC0, .to = 0x10AFF, .name = "Manichaean" },
209 .{ 0x10B00, 0x10B3F, "Avestan" },209 .{ .from = 0x10B00, .to = 0x10B3F, .name = "Avestan" },
210 .{ 0x10B40, 0x10B5F, "Inscriptional Parthian" },210 .{ .from = 0x10B40, .to = 0x10B5F, .name = "Inscriptional Parthian" },
211 .{ 0x10B60, 0x10B7F, "Inscriptional Pahlavi" },211 .{ .from = 0x10B60, .to = 0x10B7F, .name = "Inscriptional Pahlavi" },
212 .{ 0x10B80, 0x10BAF, "Psalter Pahlavi" },212 .{ .from = 0x10B80, .to = 0x10BAF, .name = "Psalter Pahlavi" },
213 .{ 0x10C00, 0x10C4F, "Old Turkic" },213 .{ .from = 0x10C00, .to = 0x10C4F, .name = "Old Turkic" },
214 .{ 0x10C80, 0x10CFF, "Old Hungarian" },214 .{ .from = 0x10C80, .to = 0x10CFF, .name = "Old Hungarian" },
215 .{ 0x10D00, 0x10D3F, "Hanifi Rohingya" },215 .{ .from = 0x10D00, .to = 0x10D3F, .name = "Hanifi Rohingya" },
216 .{ 0x10E60, 0x10E7F, "Rumi Numeral Symbols" },216 .{ .from = 0x10E60, .to = 0x10E7F, .name = "Rumi Numeral Symbols" },
217 .{ 0x10E80, 0x10EBF, "Yezidi" },217 .{ .from = 0x10E80, .to = 0x10EBF, .name = "Yezidi" },
218 .{ 0x10F00, 0x10F2F, "Old Sogdian" },218 .{ .from = 0x10F00, .to = 0x10F2F, .name = "Old Sogdian" },
219 .{ 0x10F30, 0x10F6F, "Sogdian" },219 .{ .from = 0x10F30, .to = 0x10F6F, .name = "Sogdian" },
220 .{ 0x10FB0, 0x10FDF, "Chorasmian" },220 .{ .from = 0x10FB0, .to = 0x10FDF, .name = "Chorasmian" },
221 .{ 0x10FE0, 0x10FFF, "Elymaic" },221 .{ .from = 0x10FE0, .to = 0x10FFF, .name = "Elymaic" },
222 .{ 0x11000, 0x1107F, "Brahmi" },222 .{ .from = 0x11000, .to = 0x1107F, .name = "Brahmi" },
223 .{ 0x11080, 0x110CF, "Kaithi" },223 .{ .from = 0x11080, .to = 0x110CF, .name = "Kaithi" },
224 .{ 0x110D0, 0x110FF, "Sora Sompeng" },224 .{ .from = 0x110D0, .to = 0x110FF, .name = "Sora Sompeng" },
225 .{ 0x11100, 0x1114F, "Chakma" },225 .{ .from = 0x11100, .to = 0x1114F, .name = "Chakma" },
226 .{ 0x11150, 0x1117F, "Mahajani" },226 .{ .from = 0x11150, .to = 0x1117F, .name = "Mahajani" },
227 .{ 0x11180, 0x111DF, "Sharada" },227 .{ .from = 0x11180, .to = 0x111DF, .name = "Sharada" },
228 .{ 0x111E0, 0x111FF, "Sinhala Archaic Numbers" },228 .{ .from = 0x111E0, .to = 0x111FF, .name = "Sinhala Archaic Numbers" },
229 .{ 0x11200, 0x1124F, "Khojki" },229 .{ .from = 0x11200, .to = 0x1124F, .name = "Khojki" },
230 .{ 0x11280, 0x112AF, "Multani" },230 .{ .from = 0x11280, .to = 0x112AF, .name = "Multani" },
231 .{ 0x112B0, 0x112FF, "Khudawadi" },231 .{ .from = 0x112B0, .to = 0x112FF, .name = "Khudawadi" },
232 .{ 0x11300, 0x1137F, "Grantha" },232 .{ .from = 0x11300, .to = 0x1137F, .name = "Grantha" },
233 .{ 0x11400, 0x1147F, "Newa" },233 .{ .from = 0x11400, .to = 0x1147F, .name = "Newa" },
234 .{ 0x11480, 0x114DF, "Tirhuta" },234 .{ .from = 0x11480, .to = 0x114DF, .name = "Tirhuta" },
235 .{ 0x11580, 0x115FF, "Siddham" },235 .{ .from = 0x11580, .to = 0x115FF, .name = "Siddham" },
236 .{ 0x11600, 0x1165F, "Modi" },236 .{ .from = 0x11600, .to = 0x1165F, .name = "Modi" },
237 .{ 0x11660, 0x1167F, "Mongolian Supplement" },237 .{ .from = 0x11660, .to = 0x1167F, .name = "Mongolian Supplement" },
238 .{ 0x11680, 0x116CF, "Takri" },238 .{ .from = 0x11680, .to = 0x116CF, .name = "Takri" },
239 .{ 0x11700, 0x1173F, "Ahom" },239 .{ .from = 0x11700, .to = 0x1173F, .name = "Ahom" },
240 .{ 0x11800, 0x1184F, "Dogra" },240 .{ .from = 0x11800, .to = 0x1184F, .name = "Dogra" },
241 .{ 0x118A0, 0x118FF, "Warang Citi" },241 .{ .from = 0x118A0, .to = 0x118FF, .name = "Warang Citi" },
242 .{ 0x11900, 0x1195F, "Dives Akuru" },242 .{ .from = 0x11900, .to = 0x1195F, .name = "Dives Akuru" },
243 .{ 0x119A0, 0x119FF, "Nandinagari" },243 .{ .from = 0x119A0, .to = 0x119FF, .name = "Nandinagari" },
244 .{ 0x11A00, 0x11A4F, "Zanabazar Square" },244 .{ .from = 0x11A00, .to = 0x11A4F, .name = "Zanabazar Square" },
245 .{ 0x11A50, 0x11AAF, "Soyombo" },245 .{ .from = 0x11A50, .to = 0x11AAF, .name = "Soyombo" },
246 .{ 0x11AC0, 0x11AFF, "Pau Cin Hau" },246 .{ .from = 0x11AC0, .to = 0x11AFF, .name = "Pau Cin Hau" },
247 .{ 0x11C00, 0x11C6F, "Bhaiksuki" },247 .{ .from = 0x11C00, .to = 0x11C6F, .name = "Bhaiksuki" },
248 .{ 0x11C70, 0x11CBF, "Marchen" },248 .{ .from = 0x11C70, .to = 0x11CBF, .name = "Marchen" },
249 .{ 0x11D00, 0x11D5F, "Masaram Gondi" },249 .{ .from = 0x11D00, .to = 0x11D5F, .name = "Masaram Gondi" },
250 .{ 0x11D60, 0x11DAF, "Gunjala Gondi" },250 .{ .from = 0x11D60, .to = 0x11DAF, .name = "Gunjala Gondi" },
251 .{ 0x11EE0, 0x11EFF, "Makasar" },251 .{ .from = 0x11EE0, .to = 0x11EFF, .name = "Makasar" },
252 .{ 0x11FB0, 0x11FBF, "Lisu Supplement" },252 .{ .from = 0x11FB0, .to = 0x11FBF, .name = "Lisu Supplement" },
253 .{ 0x11FC0, 0x11FFF, "Tamil Supplement" },253 .{ .from = 0x11FC0, .to = 0x11FFF, .name = "Tamil Supplement" },
254 .{ 0x12000, 0x123FF, "Cuneiform" },254 .{ .from = 0x12000, .to = 0x123FF, .name = "Cuneiform" },
255 .{ 0x12400, 0x1247F, "Cuneiform Numbers and Punctuation" },255 .{ .from = 0x12400, .to = 0x1247F, .name = "Cuneiform Numbers and Punctuation" },
256 .{ 0x12480, 0x1254F, "Early Dynastic Cuneiform" },256 .{ .from = 0x12480, .to = 0x1254F, .name = "Early Dynastic Cuneiform" },
257 .{ 0x13000, 0x1342F, "Egyptian Hieroglyphs" },257 .{ .from = 0x13000, .to = 0x1342F, .name = "Egyptian Hieroglyphs" },
258 .{ 0x13430, 0x1343F, "Egyptian Hieroglyph Format Controls" },258 .{ .from = 0x13430, .to = 0x1343F, .name = "Egyptian Hieroglyph Format Controls" },
259 .{ 0x14400, 0x1467F, "Anatolian Hieroglyphs" },259 .{ .from = 0x14400, .to = 0x1467F, .name = "Anatolian Hieroglyphs" },
260 .{ 0x16800, 0x16A3F, "Bamum Supplement" },260 .{ .from = 0x16800, .to = 0x16A3F, .name = "Bamum Supplement" },
261 .{ 0x16A40, 0x16A6F, "Mro" },261 .{ .from = 0x16A40, .to = 0x16A6F, .name = "Mro" },
262 .{ 0x16AD0, 0x16AFF, "Bassa Vah" },262 .{ .from = 0x16AD0, .to = 0x16AFF, .name = "Bassa Vah" },
263 .{ 0x16B00, 0x16B8F, "Pahawh Hmong" },263 .{ .from = 0x16B00, .to = 0x16B8F, .name = "Pahawh Hmong" },
264 .{ 0x16E40, 0x16E9F, "Medefaidrin" },264 .{ .from = 0x16E40, .to = 0x16E9F, .name = "Medefaidrin" },
265 .{ 0x16F00, 0x16F9F, "Miao" },265 .{ .from = 0x16F00, .to = 0x16F9F, .name = "Miao" },
266 .{ 0x16FE0, 0x16FFF, "Ideographic Symbols and Punctuation" },266 .{ .from = 0x16FE0, .to = 0x16FFF, .name = "Ideographic Symbols and Punctuation" },
267 .{ 0x17000, 0x187FF, "Tangut" },267 .{ .from = 0x17000, .to = 0x187FF, .name = "Tangut" },
268 .{ 0x18800, 0x18AFF, "Tangut Components" },268 .{ .from = 0x18800, .to = 0x18AFF, .name = "Tangut Components" },
269 .{ 0x18B00, 0x18CFF, "Khitan Small Script" },269 .{ .from = 0x18B00, .to = 0x18CFF, .name = "Khitan Small Script" },
270 .{ 0x18D00, 0x18D8F, "Tangut Supplement" },270 .{ .from = 0x18D00, .to = 0x18D8F, .name = "Tangut Supplement" },
271 .{ 0x1B000, 0x1B0FF, "Kana Supplement" },271 .{ .from = 0x1B000, .to = 0x1B0FF, .name = "Kana Supplement" },
272 .{ 0x1B100, 0x1B12F, "Kana Extended-A" },272 .{ .from = 0x1B100, .to = 0x1B12F, .name = "Kana Extended-A" },
273 .{ 0x1B130, 0x1B16F, "Small Kana Extension" },273 .{ .from = 0x1B130, .to = 0x1B16F, .name = "Small Kana Extension" },
274 .{ 0x1B170, 0x1B2FF, "Nushu" },274 .{ .from = 0x1B170, .to = 0x1B2FF, .name = "Nushu" },
275 .{ 0x1BC00, 0x1BC9F, "Duployan" },275 .{ .from = 0x1BC00, .to = 0x1BC9F, .name = "Duployan" },
276 .{ 0x1BCA0, 0x1BCAF, "Shorthand Format Controls" },276 .{ .from = 0x1BCA0, .to = 0x1BCAF, .name = "Shorthand Format Controls" },
277 .{ 0x1D000, 0x1D0FF, "Byzantine Musical Symbols" },277 .{ .from = 0x1D000, .to = 0x1D0FF, .name = "Byzantine Musical Symbols" },
278 .{ 0x1D100, 0x1D1FF, "Musical Symbols" },278 .{ .from = 0x1D100, .to = 0x1D1FF, .name = "Musical Symbols" },
279 .{ 0x1D200, 0x1D24F, "Ancient Greek Musical Notation" },279 .{ .from = 0x1D200, .to = 0x1D24F, .name = "Ancient Greek Musical Notation" },
280 .{ 0x1D2E0, 0x1D2FF, "Mayan Numerals" },280 .{ .from = 0x1D2E0, .to = 0x1D2FF, .name = "Mayan Numerals" },
281 .{ 0x1D300, 0x1D35F, "Tai Xuan Jing Symbols" },281 .{ .from = 0x1D300, .to = 0x1D35F, .name = "Tai Xuan Jing Symbols" },
282 .{ 0x1D360, 0x1D37F, "Counting Rod Numerals" },282 .{ .from = 0x1D360, .to = 0x1D37F, .name = "Counting Rod Numerals" },
283 .{ 0x1D400, 0x1D7FF, "Mathematical Alphanumeric Symbols" },283 .{ .from = 0x1D400, .to = 0x1D7FF, .name = "Mathematical Alphanumeric Symbols" },
284 .{ 0x1D800, 0x1DAAF, "Sutton SignWriting" },284 .{ .from = 0x1D800, .to = 0x1DAAF, .name = "Sutton SignWriting" },
285 .{ 0x1E000, 0x1E02F, "Glagolitic Supplement" },285 .{ .from = 0x1E000, .to = 0x1E02F, .name = "Glagolitic Supplement" },
286 .{ 0x1E100, 0x1E14F, "Nyiakeng Puachue Hmong" },286 .{ .from = 0x1E100, .to = 0x1E14F, .name = "Nyiakeng Puachue Hmong" },
287 .{ 0x1E2C0, 0x1E2FF, "Wancho" },287 .{ .from = 0x1E2C0, .to = 0x1E2FF, .name = "Wancho" },
288 .{ 0x1E800, 0x1E8DF, "Mende Kikakui" },288 .{ .from = 0x1E800, .to = 0x1E8DF, .name = "Mende Kikakui" },
289 .{ 0x1E900, 0x1E95F, "Adlam" },289 .{ .from = 0x1E900, .to = 0x1E95F, .name = "Adlam" },
290 .{ 0x1EC70, 0x1ECBF, "Indic Siyaq Numbers" },290 .{ .from = 0x1EC70, .to = 0x1ECBF, .name = "Indic Siyaq Numbers" },
291 .{ 0x1ED00, 0x1ED4F, "Ottoman Siyaq Numbers" },291 .{ .from = 0x1ED00, .to = 0x1ED4F, .name = "Ottoman Siyaq Numbers" },
292 .{ 0x1EE00, 0x1EEFF, "Arabic Mathematical Alphabetic Symbols" },292 .{ .from = 0x1EE00, .to = 0x1EEFF, .name = "Arabic Mathematical Alphabetic Symbols" },
293 .{ 0x1F000, 0x1F02F, "Mahjong Tiles" },293 .{ .from = 0x1F000, .to = 0x1F02F, .name = "Mahjong Tiles" },
294 .{ 0x1F030, 0x1F09F, "Domino Tiles" },294 .{ .from = 0x1F030, .to = 0x1F09F, .name = "Domino Tiles" },
295 .{ 0x1F0A0, 0x1F0FF, "Playing Cards" },295 .{ .from = 0x1F0A0, .to = 0x1F0FF, .name = "Playing Cards" },
296 .{ 0x1F100, 0x1F1FF, "Enclosed Alphanumeric Supplement" },296 .{ .from = 0x1F100, .to = 0x1F1FF, .name = "Enclosed Alphanumeric Supplement" },
297 .{ 0x1F200, 0x1F2FF, "Enclosed Ideographic Supplement" },297 .{ .from = 0x1F200, .to = 0x1F2FF, .name = "Enclosed Ideographic Supplement" },
298 .{ 0x1F300, 0x1F5FF, "Miscellaneous Symbols and Pictographs" },298 .{ .from = 0x1F300, .to = 0x1F5FF, .name = "Miscellaneous Symbols and Pictographs" },
299 .{ 0x1F600, 0x1F64F, "Emoticons" },299 .{ .from = 0x1F600, .to = 0x1F64F, .name = "Emoticons" },
300 .{ 0x1F650, 0x1F67F, "Ornamental Dingbats" },300 .{ .from = 0x1F650, .to = 0x1F67F, .name = "Ornamental Dingbats" },
301 .{ 0x1F680, 0x1F6FF, "Transport and Map Symbols" },301 .{ .from = 0x1F680, .to = 0x1F6FF, .name = "Transport and Map Symbols" },
302 .{ 0x1F700, 0x1F77F, "Alchemical Symbols" },302 .{ .from = 0x1F700, .to = 0x1F77F, .name = "Alchemical Symbols" },
303 .{ 0x1F780, 0x1F7FF, "Geometric Shapes Extended" },303 .{ .from = 0x1F780, .to = 0x1F7FF, .name = "Geometric Shapes Extended" },
304 .{ 0x1F800, 0x1F8FF, "Supplemental Arrows-C" },304 .{ .from = 0x1F800, .to = 0x1F8FF, .name = "Supplemental Arrows-C" },
305 .{ 0x1F900, 0x1F9FF, "Supplemental Symbols and Pictographs" },305 .{ .from = 0x1F900, .to = 0x1F9FF, .name = "Supplemental Symbols and Pictographs" },
306 .{ 0x1FA00, 0x1FA6F, "Chess Symbols" },306 .{ .from = 0x1FA00, .to = 0x1FA6F, .name = "Chess Symbols" },
307 .{ 0x1FA70, 0x1FAFF, "Symbols and Pictographs Extended-A" },307 .{ .from = 0x1FA70, .to = 0x1FAFF, .name = "Symbols and Pictographs Extended-A" },
308 .{ 0x1FB00, 0x1FBFF, "Symbols for Legacy Computing" },308 .{ .from = 0x1FB00, .to = 0x1FBFF, .name = "Symbols for Legacy Computing" },
309 .{ 0x20000, 0x2A6DF, "CJK Unified Ideographs Extension B" },309 .{ .from = 0x20000, .to = 0x2A6DF, .name = "CJK Unified Ideographs Extension B" },
310 .{ 0x2A700, 0x2B73F, "CJK Unified Ideographs Extension C" },310 .{ .from = 0x2A700, .to = 0x2B73F, .name = "CJK Unified Ideographs Extension C" },
311 .{ 0x2B740, 0x2B81F, "CJK Unified Ideographs Extension D" },311 .{ .from = 0x2B740, .to = 0x2B81F, .name = "CJK Unified Ideographs Extension D" },
312 .{ 0x2B820, 0x2CEAF, "CJK Unified Ideographs Extension E" },312 .{ .from = 0x2B820, .to = 0x2CEAF, .name = "CJK Unified Ideographs Extension E" },
313 .{ 0x2CEB0, 0x2EBEF, "CJK Unified Ideographs Extension F" },313 .{ .from = 0x2CEB0, .to = 0x2EBEF, .name = "CJK Unified Ideographs Extension F" },
314 .{ 0x2F800, 0x2FA1F, "CJK Compatibility Ideographs Supplement" },314 .{ .from = 0x2F800, .to = 0x2FA1F, .name = "CJK Compatibility Ideographs Supplement" },
315 .{ 0x30000, 0x3134F, "CJK Unified Ideographs Extension G" },315 .{ .from = 0x30000, .to = 0x3134F, .name = "CJK Unified Ideographs Extension G" },
316 .{ 0xE0000, 0xE007F, "Tags" },316 .{ .from = 0xE0000, .to = 0xE007F, .name = "Tags" },
317 .{ 0xE0100, 0xE01EF, "Variation Selectors Supplement" },317 .{ .from = 0xE0100, .to = 0xE01EF, .name = "Variation Selectors Supplement" },
318 .{ 0xF0000, 0xFFFFF, "Supplementary Private Use Area-A" },318 .{ .from = 0xF0000, .to = 0xFFFFF, .name = "Supplementary Private Use Area-A" },
319 .{ 0x100000, 0x10FFFF, "Supplementary Private Use Area-B" },319 .{ .from = 0x100000, .to = 0x10FFFF, .name = "Supplementary Private Use Area-B" },
320};320};