1mod blocks {
4 use std::sync::LazyLock;
5 use unic_char_range::CharRange;
6 use unic_ucd_block::{Block, BlockIter};
7
8 static BLOCKS: LazyLock<Vec<Block>> = LazyLock::new(|| BlockIter::new().collect());
9
10 #[derive(Debug)]
14 pub enum UnicodeBlockId {
15 BasicLatin,
16 Latin1Supplement,
17 LatinExtendedA,
18 LatinExtendedB,
19 IPAExtensions,
20 SpacingModifierLetters,
21 CombiningDiacriticalMarks,
22 GreekandCoptic,
23 Cyrillic,
24 CyrillicSupplement,
25 Armenian,
26 Hebrew,
27 Arabic,
28 Syriac,
29 ArabicSupplement,
30 Thaana,
31 NKo,
32 Samaritan,
33 Mandaic,
34 SyriacSupplement,
35 ArabicExtendedA,
36 Devanagari,
37 Bengali,
38 Gurmukhi,
39 Gujarati,
40 Oriya,
41 Tamil,
42 Telugu,
43 Kannada,
44 Malayalam,
45 Sinhala,
46 Thai,
47 Lao,
48 Tibetan,
49 Myanmar,
50 Georgian,
51 HangulJamo,
52 Ethiopic,
53 EthiopicSupplement,
54 Cherokee,
55 UnifiedCanadianAboriginalSyllabics,
56 Ogham,
57 Runic,
58 Tagalog,
59 Hanunoo,
60 Buhid,
61 Tagbanwa,
62 Khmer,
63 Mongolian,
64 UnifiedCanadianAboriginalSyllabicsExtended,
65 Limbu,
66 TaiLe,
67 NewTaiLue,
68 KhmerSymbols,
69 Buginese,
70 TaiTham,
71 CombiningDiacriticalMarksExtended,
72 Balinese,
73 Sundanese,
74 Batak,
75 Lepcha,
76 OlChiki,
77 CyrillicExtendedC,
78 SundaneseSupplement,
79 VedicExtensions,
80 PhoneticExtensions,
81 PhoneticExtensionsSupplement,
82 CombiningDiacriticalMarksSupplement,
83 LatinExtendedAdditional,
84 GreekExtended,
85 GeneralPunctuation,
86 SuperscriptsandSubscripts,
87 CurrencySymbols,
88 CombiningDiacriticalMarksforSymbols,
89 LetterlikeSymbols,
90 NumberForms,
91 Arrows,
92 MathematicalOperators,
93 MiscellaneousTechnical,
94 ControlPictures,
95 OpticalCharacterRecognition,
96 EnclosedAlphanumerics,
97 BoxDrawing,
98 BlockElements,
99 GeometricShapes,
100 MiscellaneousSymbols,
101 Dingbats,
102 MiscellaneousMathematicalSymbolsA,
103 SupplementalArrowsA,
104 BraillePatterns,
105 SupplementalArrowsB,
106 MiscellaneousMathematicalSymbolsB,
107 SupplementalMathematicalOperators,
108 MiscellaneousSymbolsandArrows,
109 Glagolitic,
110 LatinExtendedC,
111 Coptic,
112 GeorgianSupplement,
113 Tifinagh,
114 EthiopicExtended,
115 CyrillicExtendedA,
116 SupplementalPunctuation,
117 CJKRadicalsSupplement,
118 KangxiRadicals,
119 IdeographicDescriptionCharacters,
120 CJKSymbolsandPunctuation,
121 Hiragana,
122 Katakana,
123 Bopomofo,
124 HangulCompatibilityJamo,
125 Kanbun,
126 BopomofoExtended,
127 CJKStrokes,
128 KatakanaPhoneticExtensions,
129 EnclosedCJKLettersandMonths,
130 CJKCompatibility,
131 CJKUnifiedIdeographsExtensionA,
132 YijingHexagramSymbols,
133 CJKUnifiedIdeographs,
134 YiSyllables,
135 YiRadicals,
136 Lisu,
137 Vai,
138 CyrillicExtendedB,
139 Bamum,
140 ModifierToneLetters,
141 LatinExtendedD,
142 SylotiNagri,
143 CommonIndicNumberForms,
144 Phagspa,
145 Saurashtra,
146 DevanagariExtended,
147 KayahLi,
148 Rejang,
149 HangulJamoExtendedA,
150 Javanese,
151 MyanmarExtendedB,
152 Cham,
153 MyanmarExtendedA,
154 TaiViet,
155 MeeteiMayekExtensions,
156 EthiopicExtendedA,
157 LatinExtendedE,
158 CherokeeSupplement,
159 MeeteiMayek,
160 HangulSyllables,
161 HangulJamoExtendedB,
162 PrivateUseArea,
163 CJKCompatibilityIdeographs,
164 AlphabeticPresentationForms,
165 ArabicPresentationFormsA,
166 VariationSelectors,
167 VerticalForms,
168 CombiningHalfMarks,
169 CJKCompatibilityForms,
170 SmallFormVariants,
171 ArabicPresentationFormsB,
172 HalfwidthandFullwidthForms,
173 Specials,
174 LinearBSyllabary,
175 LinearBIdeograms,
176 AegeanNumbers,
177 AncientGreekNumbers,
178 AncientSymbols,
179 PhaistosDisc,
180 Lycian,
181 Carian,
182 CopticEpactNumbers,
183 OldItalic,
184 Gothic,
185 OldPermic,
186 Ugaritic,
187 OldPersian,
188 Deseret,
189 Shavian,
190 Osmanya,
191 Osage,
192 Elbasan,
193 CaucasianAlbanian,
194 LinearA,
195 CypriotSyllabary,
196 ImperialAramaic,
197 Palmyrene,
198 Nabataean,
199 Hatran,
200 Phoenician,
201 Lydian,
202 MeroiticHieroglyphs,
203 MeroiticCursive,
204 Kharoshthi,
205 OldSouthArabian,
206 OldNorthArabian,
207 Manichaean,
208 Avestan,
209 InscriptionalParthian,
210 InscriptionalPahlavi,
211 PsalterPahlavi,
212 OldTurkic,
213 OldHungarian,
214 RumiNumeralSymbols,
215 Brahmi,
216 Kaithi,
217 SoraSompeng,
218 Chakma,
219 Mahajani,
220 Sharada,
221 SinhalaArchaicNumbers,
222 Khojki,
223 Multani,
224 Khudawadi,
225 Grantha,
226 Newa,
227 Tirhuta,
228 Siddham,
229 Modi,
230 MongolianSupplement,
231 Takri,
232 Ahom,
233 WarangCiti,
234 ZanabazarSquare,
235 Soyombo,
236 PauCinHau,
237 Bhaiksuki,
238 Marchen,
239 MasaramGondi,
240 Cuneiform,
241 CuneiformNumbersandPunctuation,
242 EarlyDynasticCuneiform,
243 EgyptianHieroglyphs,
244 AnatolianHieroglyphs,
245 BamumSupplement,
246 Mro,
247 BassaVah,
248 PahawhHmong,
249 Miao,
250 IdeographicSymbolsandPunctuation,
251 Tangut,
252 TangutComponents,
253 KanaSupplement,
254 KanaExtendedA,
255 Nushu,
256 Duployan,
257 ShorthandFormatControls,
258 ByzantineMusicalSymbols,
259 MusicalSymbols,
260 AncientGreekMusicalNotation,
261 TaiXuanJingSymbols,
262 CountingRodNumerals,
263 MathematicalAlphanumericSymbols,
264 SuttonSignWriting,
265 GlagoliticSupplement,
266 MendeKikakui,
267 Adlam,
268 ArabicMathematicalAlphabeticSymbols,
269 MahjongTiles,
270 DominoTiles,
271 PlayingCards,
272 EnclosedAlphanumericSupplement,
273 EnclosedIdeographicSupplement,
274 MiscellaneousSymbolsandPictographs,
275 Emoticons,
276 OrnamentalDingbats,
277 TransportandMapSymbols,
278 AlchemicalSymbols,
279 GeometricShapesExtended,
280 SupplementalArrowsC,
281 SupplementalSymbolsandPictographs,
282 CJKUnifiedIdeographsExtensionB,
283 CJKUnifiedIdeographsExtensionC,
284 CJKUnifiedIdeographsExtensionD,
285 CJKUnifiedIdeographsExtensionE,
286 CJKUnifiedIdeographsExtensionF,
287 CJKCompatibilityIdeographsSupplement,
288 Tags,
289 VariationSelectorsSupplement,
290 SupplementaryPrivateUseAreaA,
291 SupplementaryPrivateUseAreaB,
292 }
293
294 impl UnicodeBlockId {
295 pub fn name(&self) -> &str {
297 self.block().name
298 }
299
300 pub fn char_range(&self) -> CharRange {
302 self.block().range
303 }
304
305 pub fn block(&self) -> &'static Block {
307 &BLOCKS[self.idx()]
308 }
309
310 fn idx(&self) -> usize {
311 match self {
312 UnicodeBlockId::BasicLatin => 0,
313 UnicodeBlockId::Latin1Supplement => 1,
314 UnicodeBlockId::LatinExtendedA => 2,
315 UnicodeBlockId::LatinExtendedB => 3,
316 UnicodeBlockId::IPAExtensions => 4,
317 UnicodeBlockId::SpacingModifierLetters => 5,
318 UnicodeBlockId::CombiningDiacriticalMarks => 6,
319 UnicodeBlockId::GreekandCoptic => 7,
320 UnicodeBlockId::Cyrillic => 8,
321 UnicodeBlockId::CyrillicSupplement => 9,
322 UnicodeBlockId::Armenian => 10,
323 UnicodeBlockId::Hebrew => 11,
324 UnicodeBlockId::Arabic => 12,
325 UnicodeBlockId::Syriac => 13,
326 UnicodeBlockId::ArabicSupplement => 14,
327 UnicodeBlockId::Thaana => 15,
328 UnicodeBlockId::NKo => 16,
329 UnicodeBlockId::Samaritan => 17,
330 UnicodeBlockId::Mandaic => 18,
331 UnicodeBlockId::SyriacSupplement => 19,
332 UnicodeBlockId::ArabicExtendedA => 20,
333 UnicodeBlockId::Devanagari => 21,
334 UnicodeBlockId::Bengali => 22,
335 UnicodeBlockId::Gurmukhi => 23,
336 UnicodeBlockId::Gujarati => 24,
337 UnicodeBlockId::Oriya => 25,
338 UnicodeBlockId::Tamil => 26,
339 UnicodeBlockId::Telugu => 27,
340 UnicodeBlockId::Kannada => 28,
341 UnicodeBlockId::Malayalam => 29,
342 UnicodeBlockId::Sinhala => 30,
343 UnicodeBlockId::Thai => 31,
344 UnicodeBlockId::Lao => 32,
345 UnicodeBlockId::Tibetan => 33,
346 UnicodeBlockId::Myanmar => 34,
347 UnicodeBlockId::Georgian => 35,
348 UnicodeBlockId::HangulJamo => 36,
349 UnicodeBlockId::Ethiopic => 37,
350 UnicodeBlockId::EthiopicSupplement => 38,
351 UnicodeBlockId::Cherokee => 39,
352 UnicodeBlockId::UnifiedCanadianAboriginalSyllabics => 40,
353 UnicodeBlockId::Ogham => 41,
354 UnicodeBlockId::Runic => 42,
355 UnicodeBlockId::Tagalog => 43,
356 UnicodeBlockId::Hanunoo => 44,
357 UnicodeBlockId::Buhid => 45,
358 UnicodeBlockId::Tagbanwa => 46,
359 UnicodeBlockId::Khmer => 47,
360 UnicodeBlockId::Mongolian => 48,
361 UnicodeBlockId::UnifiedCanadianAboriginalSyllabicsExtended => 49,
362 UnicodeBlockId::Limbu => 50,
363 UnicodeBlockId::TaiLe => 51,
364 UnicodeBlockId::NewTaiLue => 52,
365 UnicodeBlockId::KhmerSymbols => 53,
366 UnicodeBlockId::Buginese => 54,
367 UnicodeBlockId::TaiTham => 55,
368 UnicodeBlockId::CombiningDiacriticalMarksExtended => 56,
369 UnicodeBlockId::Balinese => 57,
370 UnicodeBlockId::Sundanese => 58,
371 UnicodeBlockId::Batak => 59,
372 UnicodeBlockId::Lepcha => 60,
373 UnicodeBlockId::OlChiki => 61,
374 UnicodeBlockId::CyrillicExtendedC => 62,
375 UnicodeBlockId::SundaneseSupplement => 63,
376 UnicodeBlockId::VedicExtensions => 64,
377 UnicodeBlockId::PhoneticExtensions => 65,
378 UnicodeBlockId::PhoneticExtensionsSupplement => 66,
379 UnicodeBlockId::CombiningDiacriticalMarksSupplement => 67,
380 UnicodeBlockId::LatinExtendedAdditional => 68,
381 UnicodeBlockId::GreekExtended => 69,
382 UnicodeBlockId::GeneralPunctuation => 70,
383 UnicodeBlockId::SuperscriptsandSubscripts => 71,
384 UnicodeBlockId::CurrencySymbols => 72,
385 UnicodeBlockId::CombiningDiacriticalMarksforSymbols => 73,
386 UnicodeBlockId::LetterlikeSymbols => 74,
387 UnicodeBlockId::NumberForms => 75,
388 UnicodeBlockId::Arrows => 76,
389 UnicodeBlockId::MathematicalOperators => 77,
390 UnicodeBlockId::MiscellaneousTechnical => 78,
391 UnicodeBlockId::ControlPictures => 79,
392 UnicodeBlockId::OpticalCharacterRecognition => 80,
393 UnicodeBlockId::EnclosedAlphanumerics => 81,
394 UnicodeBlockId::BoxDrawing => 82,
395 UnicodeBlockId::BlockElements => 83,
396 UnicodeBlockId::GeometricShapes => 84,
397 UnicodeBlockId::MiscellaneousSymbols => 85,
398 UnicodeBlockId::Dingbats => 86,
399 UnicodeBlockId::MiscellaneousMathematicalSymbolsA => 87,
400 UnicodeBlockId::SupplementalArrowsA => 88,
401 UnicodeBlockId::BraillePatterns => 89,
402 UnicodeBlockId::SupplementalArrowsB => 90,
403 UnicodeBlockId::MiscellaneousMathematicalSymbolsB => 91,
404 UnicodeBlockId::SupplementalMathematicalOperators => 92,
405 UnicodeBlockId::MiscellaneousSymbolsandArrows => 93,
406 UnicodeBlockId::Glagolitic => 94,
407 UnicodeBlockId::LatinExtendedC => 95,
408 UnicodeBlockId::Coptic => 96,
409 UnicodeBlockId::GeorgianSupplement => 97,
410 UnicodeBlockId::Tifinagh => 98,
411 UnicodeBlockId::EthiopicExtended => 99,
412 UnicodeBlockId::CyrillicExtendedA => 100,
413 UnicodeBlockId::SupplementalPunctuation => 101,
414 UnicodeBlockId::CJKRadicalsSupplement => 102,
415 UnicodeBlockId::KangxiRadicals => 103,
416 UnicodeBlockId::IdeographicDescriptionCharacters => 104,
417 UnicodeBlockId::CJKSymbolsandPunctuation => 105,
418 UnicodeBlockId::Hiragana => 106,
419 UnicodeBlockId::Katakana => 107,
420 UnicodeBlockId::Bopomofo => 108,
421 UnicodeBlockId::HangulCompatibilityJamo => 109,
422 UnicodeBlockId::Kanbun => 110,
423 UnicodeBlockId::BopomofoExtended => 111,
424 UnicodeBlockId::CJKStrokes => 112,
425 UnicodeBlockId::KatakanaPhoneticExtensions => 113,
426 UnicodeBlockId::EnclosedCJKLettersandMonths => 114,
427 UnicodeBlockId::CJKCompatibility => 115,
428 UnicodeBlockId::CJKUnifiedIdeographsExtensionA => 116,
429 UnicodeBlockId::YijingHexagramSymbols => 117,
430 UnicodeBlockId::CJKUnifiedIdeographs => 118,
431 UnicodeBlockId::YiSyllables => 119,
432 UnicodeBlockId::YiRadicals => 120,
433 UnicodeBlockId::Lisu => 121,
434 UnicodeBlockId::Vai => 122,
435 UnicodeBlockId::CyrillicExtendedB => 123,
436 UnicodeBlockId::Bamum => 124,
437 UnicodeBlockId::ModifierToneLetters => 125,
438 UnicodeBlockId::LatinExtendedD => 126,
439 UnicodeBlockId::SylotiNagri => 127,
440 UnicodeBlockId::CommonIndicNumberForms => 128,
441 UnicodeBlockId::Phagspa => 129,
442 UnicodeBlockId::Saurashtra => 130,
443 UnicodeBlockId::DevanagariExtended => 131,
444 UnicodeBlockId::KayahLi => 132,
445 UnicodeBlockId::Rejang => 133,
446 UnicodeBlockId::HangulJamoExtendedA => 134,
447 UnicodeBlockId::Javanese => 135,
448 UnicodeBlockId::MyanmarExtendedB => 136,
449 UnicodeBlockId::Cham => 137,
450 UnicodeBlockId::MyanmarExtendedA => 138,
451 UnicodeBlockId::TaiViet => 139,
452 UnicodeBlockId::MeeteiMayekExtensions => 140,
453 UnicodeBlockId::EthiopicExtendedA => 141,
454 UnicodeBlockId::LatinExtendedE => 142,
455 UnicodeBlockId::CherokeeSupplement => 143,
456 UnicodeBlockId::MeeteiMayek => 144,
457 UnicodeBlockId::HangulSyllables => 145,
458 UnicodeBlockId::HangulJamoExtendedB => 146,
459 UnicodeBlockId::PrivateUseArea => 147,
460 UnicodeBlockId::CJKCompatibilityIdeographs => 148,
461 UnicodeBlockId::AlphabeticPresentationForms => 149,
462 UnicodeBlockId::ArabicPresentationFormsA => 150,
463 UnicodeBlockId::VariationSelectors => 151,
464 UnicodeBlockId::VerticalForms => 152,
465 UnicodeBlockId::CombiningHalfMarks => 153,
466 UnicodeBlockId::CJKCompatibilityForms => 154,
467 UnicodeBlockId::SmallFormVariants => 155,
468 UnicodeBlockId::ArabicPresentationFormsB => 156,
469 UnicodeBlockId::HalfwidthandFullwidthForms => 157,
470 UnicodeBlockId::Specials => 158,
471 UnicodeBlockId::LinearBSyllabary => 159,
472 UnicodeBlockId::LinearBIdeograms => 160,
473 UnicodeBlockId::AegeanNumbers => 161,
474 UnicodeBlockId::AncientGreekNumbers => 162,
475 UnicodeBlockId::AncientSymbols => 163,
476 UnicodeBlockId::PhaistosDisc => 164,
477 UnicodeBlockId::Lycian => 165,
478 UnicodeBlockId::Carian => 166,
479 UnicodeBlockId::CopticEpactNumbers => 167,
480 UnicodeBlockId::OldItalic => 168,
481 UnicodeBlockId::Gothic => 169,
482 UnicodeBlockId::OldPermic => 170,
483 UnicodeBlockId::Ugaritic => 171,
484 UnicodeBlockId::OldPersian => 172,
485 UnicodeBlockId::Deseret => 173,
486 UnicodeBlockId::Shavian => 174,
487 UnicodeBlockId::Osmanya => 175,
488 UnicodeBlockId::Osage => 176,
489 UnicodeBlockId::Elbasan => 177,
490 UnicodeBlockId::CaucasianAlbanian => 178,
491 UnicodeBlockId::LinearA => 179,
492 UnicodeBlockId::CypriotSyllabary => 180,
493 UnicodeBlockId::ImperialAramaic => 181,
494 UnicodeBlockId::Palmyrene => 182,
495 UnicodeBlockId::Nabataean => 183,
496 UnicodeBlockId::Hatran => 184,
497 UnicodeBlockId::Phoenician => 185,
498 UnicodeBlockId::Lydian => 186,
499 UnicodeBlockId::MeroiticHieroglyphs => 187,
500 UnicodeBlockId::MeroiticCursive => 188,
501 UnicodeBlockId::Kharoshthi => 189,
502 UnicodeBlockId::OldSouthArabian => 190,
503 UnicodeBlockId::OldNorthArabian => 191,
504 UnicodeBlockId::Manichaean => 192,
505 UnicodeBlockId::Avestan => 193,
506 UnicodeBlockId::InscriptionalParthian => 194,
507 UnicodeBlockId::InscriptionalPahlavi => 195,
508 UnicodeBlockId::PsalterPahlavi => 196,
509 UnicodeBlockId::OldTurkic => 197,
510 UnicodeBlockId::OldHungarian => 198,
511 UnicodeBlockId::RumiNumeralSymbols => 199,
512 UnicodeBlockId::Brahmi => 200,
513 UnicodeBlockId::Kaithi => 201,
514 UnicodeBlockId::SoraSompeng => 202,
515 UnicodeBlockId::Chakma => 203,
516 UnicodeBlockId::Mahajani => 204,
517 UnicodeBlockId::Sharada => 205,
518 UnicodeBlockId::SinhalaArchaicNumbers => 206,
519 UnicodeBlockId::Khojki => 207,
520 UnicodeBlockId::Multani => 208,
521 UnicodeBlockId::Khudawadi => 209,
522 UnicodeBlockId::Grantha => 210,
523 UnicodeBlockId::Newa => 211,
524 UnicodeBlockId::Tirhuta => 212,
525 UnicodeBlockId::Siddham => 213,
526 UnicodeBlockId::Modi => 214,
527 UnicodeBlockId::MongolianSupplement => 215,
528 UnicodeBlockId::Takri => 216,
529 UnicodeBlockId::Ahom => 217,
530 UnicodeBlockId::WarangCiti => 218,
531 UnicodeBlockId::ZanabazarSquare => 219,
532 UnicodeBlockId::Soyombo => 220,
533 UnicodeBlockId::PauCinHau => 221,
534 UnicodeBlockId::Bhaiksuki => 222,
535 UnicodeBlockId::Marchen => 223,
536 UnicodeBlockId::MasaramGondi => 224,
537 UnicodeBlockId::Cuneiform => 225,
538 UnicodeBlockId::CuneiformNumbersandPunctuation => 226,
539 UnicodeBlockId::EarlyDynasticCuneiform => 227,
540 UnicodeBlockId::EgyptianHieroglyphs => 228,
541 UnicodeBlockId::AnatolianHieroglyphs => 229,
542 UnicodeBlockId::BamumSupplement => 230,
543 UnicodeBlockId::Mro => 231,
544 UnicodeBlockId::BassaVah => 232,
545 UnicodeBlockId::PahawhHmong => 233,
546 UnicodeBlockId::Miao => 234,
547 UnicodeBlockId::IdeographicSymbolsandPunctuation => 235,
548 UnicodeBlockId::Tangut => 236,
549 UnicodeBlockId::TangutComponents => 237,
550 UnicodeBlockId::KanaSupplement => 238,
551 UnicodeBlockId::KanaExtendedA => 239,
552 UnicodeBlockId::Nushu => 240,
553 UnicodeBlockId::Duployan => 241,
554 UnicodeBlockId::ShorthandFormatControls => 242,
555 UnicodeBlockId::ByzantineMusicalSymbols => 243,
556 UnicodeBlockId::MusicalSymbols => 244,
557 UnicodeBlockId::AncientGreekMusicalNotation => 245,
558 UnicodeBlockId::TaiXuanJingSymbols => 246,
559 UnicodeBlockId::CountingRodNumerals => 247,
560 UnicodeBlockId::MathematicalAlphanumericSymbols => 248,
561 UnicodeBlockId::SuttonSignWriting => 249,
562 UnicodeBlockId::GlagoliticSupplement => 250,
563 UnicodeBlockId::MendeKikakui => 251,
564 UnicodeBlockId::Adlam => 252,
565 UnicodeBlockId::ArabicMathematicalAlphabeticSymbols => 253,
566 UnicodeBlockId::MahjongTiles => 254,
567 UnicodeBlockId::DominoTiles => 255,
568 UnicodeBlockId::PlayingCards => 256,
569 UnicodeBlockId::EnclosedAlphanumericSupplement => 257,
570 UnicodeBlockId::EnclosedIdeographicSupplement => 258,
571 UnicodeBlockId::MiscellaneousSymbolsandPictographs => 259,
572 UnicodeBlockId::Emoticons => 260,
573 UnicodeBlockId::OrnamentalDingbats => 261,
574 UnicodeBlockId::TransportandMapSymbols => 262,
575 UnicodeBlockId::AlchemicalSymbols => 263,
576 UnicodeBlockId::GeometricShapesExtended => 264,
577 UnicodeBlockId::SupplementalArrowsC => 265,
578 UnicodeBlockId::SupplementalSymbolsandPictographs => 266,
579 UnicodeBlockId::CJKUnifiedIdeographsExtensionB => 267,
580 UnicodeBlockId::CJKUnifiedIdeographsExtensionC => 268,
581 UnicodeBlockId::CJKUnifiedIdeographsExtensionD => 269,
582 UnicodeBlockId::CJKUnifiedIdeographsExtensionE => 270,
583 UnicodeBlockId::CJKUnifiedIdeographsExtensionF => 271,
584 UnicodeBlockId::CJKCompatibilityIdeographsSupplement => 272,
585 UnicodeBlockId::Tags => 273,
586 UnicodeBlockId::VariationSelectorsSupplement => 274,
587 UnicodeBlockId::SupplementaryPrivateUseAreaA => 275,
588 UnicodeBlockId::SupplementaryPrivateUseAreaB => 276,
589 }
590 }
591 }
592
593 impl From<&UnicodeBlockId> for CharRange {
594 fn from(source: &UnicodeBlockId) -> Self {
595 source.char_range()
596 }
597 }
598
599}
600
601pub use blocks::UnicodeBlockId;
602