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