| /* This Source Code Form is subject to the terms of the Mozilla Public |
| * License, v. 2.0. If a copy of the MPL was not distributed with this |
| * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ |
| |
| // Do not edit: |
| // Generated via: https://www.unicode.org/Public/UNIDATA/Blocks.txt. |
| // $ ./generate-unicode-block.py Blocks.txt > unicode_block.rs |
| |
| #[derive(Clone, Copy, Debug, PartialEq)] |
| pub enum UnicodeBlock { |
| BasicLatin, |
| Latin1Supplement, |
| LatinExtendedA, |
| LatinExtendedB, |
| IPAExtensions, |
| SpacingModifierLetters, |
| CombiningDiacriticalMarks, |
| GreekandCoptic, |
| Cyrillic, |
| CyrillicSupplement, |
| Armenian, |
| Hebrew, |
| Arabic, |
| Syriac, |
| ArabicSupplement, |
| Thaana, |
| NKo, |
| Samaritan, |
| Mandaic, |
| SyriacSupplement, |
| ArabicExtendedB, |
| ArabicExtendedA, |
| Devanagari, |
| Bengali, |
| Gurmukhi, |
| Gujarati, |
| Oriya, |
| Tamil, |
| Telugu, |
| Kannada, |
| Malayalam, |
| Sinhala, |
| Thai, |
| Lao, |
| Tibetan, |
| Myanmar, |
| Georgian, |
| HangulJamo, |
| Ethiopic, |
| EthiopicSupplement, |
| Cherokee, |
| UnifiedCanadianAboriginalSyllabics, |
| Ogham, |
| Runic, |
| Tagalog, |
| Hanunoo, |
| Buhid, |
| Tagbanwa, |
| Khmer, |
| Mongolian, |
| UnifiedCanadianAboriginalSyllabicsExtended, |
| Limbu, |
| TaiLe, |
| NewTaiLue, |
| KhmerSymbols, |
| Buginese, |
| TaiTham, |
| CombiningDiacriticalMarksExtended, |
| Balinese, |
| Sundanese, |
| Batak, |
| Lepcha, |
| OlChiki, |
| CyrillicExtendedC, |
| GeorgianExtended, |
| SundaneseSupplement, |
| VedicExtensions, |
| PhoneticExtensions, |
| PhoneticExtensionsSupplement, |
| CombiningDiacriticalMarksSupplement, |
| LatinExtendedAdditional, |
| GreekExtended, |
| GeneralPunctuation, |
| SuperscriptsandSubscripts, |
| CurrencySymbols, |
| CombiningDiacriticalMarksforSymbols, |
| LetterlikeSymbols, |
| NumberForms, |
| Arrows, |
| MathematicalOperators, |
| MiscellaneousTechnical, |
| ControlPictures, |
| OpticalCharacterRecognition, |
| EnclosedAlphanumerics, |
| BoxDrawing, |
| BlockElements, |
| GeometricShapes, |
| MiscellaneousSymbols, |
| Dingbats, |
| MiscellaneousMathematicalSymbolsA, |
| SupplementalArrowsA, |
| BraillePatterns, |
| SupplementalArrowsB, |
| MiscellaneousMathematicalSymbolsB, |
| SupplementalMathematicalOperators, |
| MiscellaneousSymbolsandArrows, |
| Glagolitic, |
| LatinExtendedC, |
| Coptic, |
| GeorgianSupplement, |
| Tifinagh, |
| EthiopicExtended, |
| CyrillicExtendedA, |
| SupplementalPunctuation, |
| CJKRadicalsSupplement, |
| KangxiRadicals, |
| IdeographicDescriptionCharacters, |
| CJKSymbolsandPunctuation, |
| Hiragana, |
| Katakana, |
| Bopomofo, |
| HangulCompatibilityJamo, |
| Kanbun, |
| BopomofoExtended, |
| CJKStrokes, |
| KatakanaPhoneticExtensions, |
| EnclosedCJKLettersandMonths, |
| CJKCompatibility, |
| CJKUnifiedIdeographsExtensionA, |
| YijingHexagramSymbols, |
| CJKUnifiedIdeographs, |
| YiSyllables, |
| YiRadicals, |
| Lisu, |
| Vai, |
| CyrillicExtendedB, |
| Bamum, |
| ModifierToneLetters, |
| LatinExtendedD, |
| SylotiNagri, |
| CommonIndicNumberForms, |
| Phagspa, |
| Saurashtra, |
| DevanagariExtended, |
| KayahLi, |
| Rejang, |
| HangulJamoExtendedA, |
| Javanese, |
| MyanmarExtendedB, |
| Cham, |
| MyanmarExtendedA, |
| TaiViet, |
| MeeteiMayekExtensions, |
| EthiopicExtendedA, |
| LatinExtendedE, |
| CherokeeSupplement, |
| MeeteiMayek, |
| HangulSyllables, |
| HangulJamoExtendedB, |
| HighSurrogates, |
| HighPrivateUseSurrogates, |
| LowSurrogates, |
| PrivateUseArea, |
| CJKCompatibilityIdeographs, |
| AlphabeticPresentationForms, |
| ArabicPresentationFormsA, |
| VariationSelectors, |
| VerticalForms, |
| CombiningHalfMarks, |
| CJKCompatibilityForms, |
| SmallFormVariants, |
| ArabicPresentationFormsB, |
| HalfwidthandFullwidthForms, |
| Specials, |
| LinearBSyllabary, |
| LinearBIdeograms, |
| AegeanNumbers, |
| AncientGreekNumbers, |
| AncientSymbols, |
| PhaistosDisc, |
| Lycian, |
| Carian, |
| CopticEpactNumbers, |
| OldItalic, |
| Gothic, |
| OldPermic, |
| Ugaritic, |
| OldPersian, |
| Deseret, |
| Shavian, |
| Osmanya, |
| Osage, |
| Elbasan, |
| CaucasianAlbanian, |
| Vithkuqi, |
| LinearA, |
| LatinExtendedF, |
| CypriotSyllabary, |
| ImperialAramaic, |
| Palmyrene, |
| Nabataean, |
| Hatran, |
| Phoenician, |
| Lydian, |
| MeroiticHieroglyphs, |
| MeroiticCursive, |
| Kharoshthi, |
| OldSouthArabian, |
| OldNorthArabian, |
| Manichaean, |
| Avestan, |
| InscriptionalParthian, |
| InscriptionalPahlavi, |
| PsalterPahlavi, |
| OldTurkic, |
| OldHungarian, |
| HanifiRohingya, |
| RumiNumeralSymbols, |
| Yezidi, |
| ArabicExtendedC, |
| OldSogdian, |
| Sogdian, |
| OldUyghur, |
| Chorasmian, |
| Elymaic, |
| Brahmi, |
| Kaithi, |
| SoraSompeng, |
| Chakma, |
| Mahajani, |
| Sharada, |
| SinhalaArchaicNumbers, |
| Khojki, |
| Multani, |
| Khudawadi, |
| Grantha, |
| Newa, |
| Tirhuta, |
| Siddham, |
| Modi, |
| MongolianSupplement, |
| Takri, |
| Ahom, |
| Dogra, |
| WarangCiti, |
| DivesAkuru, |
| Nandinagari, |
| ZanabazarSquare, |
| Soyombo, |
| UnifiedCanadianAboriginalSyllabicsExtendedA, |
| PauCinHau, |
| DevanagariExtendedA, |
| Bhaiksuki, |
| Marchen, |
| MasaramGondi, |
| GunjalaGondi, |
| Makasar, |
| Kawi, |
| LisuSupplement, |
| TamilSupplement, |
| Cuneiform, |
| CuneiformNumbersandPunctuation, |
| EarlyDynasticCuneiform, |
| CyproMinoan, |
| EgyptianHieroglyphs, |
| EgyptianHieroglyphFormatControls, |
| AnatolianHieroglyphs, |
| BamumSupplement, |
| Mro, |
| Tangsa, |
| BassaVah, |
| PahawhHmong, |
| Medefaidrin, |
| Miao, |
| IdeographicSymbolsandPunctuation, |
| Tangut, |
| TangutComponents, |
| KhitanSmallScript, |
| TangutSupplement, |
| KanaExtendedB, |
| KanaSupplement, |
| KanaExtendedA, |
| SmallKanaExtension, |
| Nushu, |
| Duployan, |
| ShorthandFormatControls, |
| ZnamennyMusicalNotation, |
| ByzantineMusicalSymbols, |
| MusicalSymbols, |
| AncientGreekMusicalNotation, |
| KaktovikNumerals, |
| MayanNumerals, |
| TaiXuanJingSymbols, |
| CountingRodNumerals, |
| MathematicalAlphanumericSymbols, |
| SuttonSignWriting, |
| LatinExtendedG, |
| GlagoliticSupplement, |
| CyrillicExtendedD, |
| NyiakengPuachueHmong, |
| Toto, |
| Wancho, |
| NagMundari, |
| EthiopicExtendedB, |
| MendeKikakui, |
| Adlam, |
| IndicSiyaqNumbers, |
| OttomanSiyaqNumbers, |
| ArabicMathematicalAlphabeticSymbols, |
| MahjongTiles, |
| DominoTiles, |
| PlayingCards, |
| EnclosedAlphanumericSupplement, |
| EnclosedIdeographicSupplement, |
| MiscellaneousSymbolsandPictographs, |
| Emoticons, |
| OrnamentalDingbats, |
| TransportandMapSymbols, |
| AlchemicalSymbols, |
| GeometricShapesExtended, |
| SupplementalArrowsC, |
| SupplementalSymbolsandPictographs, |
| ChessSymbols, |
| SymbolsandPictographsExtendedA, |
| SymbolsforLegacyComputing, |
| CJKUnifiedIdeographsExtensionB, |
| CJKUnifiedIdeographsExtensionC, |
| CJKUnifiedIdeographsExtensionD, |
| CJKUnifiedIdeographsExtensionE, |
| CJKUnifiedIdeographsExtensionF, |
| CJKUnifiedIdeographsExtensionI, |
| CJKCompatibilityIdeographsSupplement, |
| CJKUnifiedIdeographsExtensionG, |
| CJKUnifiedIdeographsExtensionH, |
| Tags, |
| VariationSelectorsSupplement, |
| SupplementaryPrivateUseAreaA, |
| SupplementaryPrivateUseAreaB, |
| } |
| |
| pub trait UnicodeBlockMethod { |
| fn block(&self) -> Option<UnicodeBlock>; |
| } |
| |
| impl UnicodeBlockMethod for char { |
| fn block(&self) -> Option<UnicodeBlock> { |
| match *self as u32 { |
| 0x000000..=0x00007F => Some(UnicodeBlock::BasicLatin), |
| 0x000080..=0x0000FF => Some(UnicodeBlock::Latin1Supplement), |
| 0x000100..=0x00017F => Some(UnicodeBlock::LatinExtendedA), |
| 0x000180..=0x00024F => Some(UnicodeBlock::LatinExtendedB), |
| 0x000250..=0x0002AF => Some(UnicodeBlock::IPAExtensions), |
| 0x0002B0..=0x0002FF => Some(UnicodeBlock::SpacingModifierLetters), |
| 0x000300..=0x00036F => Some(UnicodeBlock::CombiningDiacriticalMarks), |
| 0x000370..=0x0003FF => Some(UnicodeBlock::GreekandCoptic), |
| 0x000400..=0x0004FF => Some(UnicodeBlock::Cyrillic), |
| 0x000500..=0x00052F => Some(UnicodeBlock::CyrillicSupplement), |
| 0x000530..=0x00058F => Some(UnicodeBlock::Armenian), |
| 0x000590..=0x0005FF => Some(UnicodeBlock::Hebrew), |
| 0x000600..=0x0006FF => Some(UnicodeBlock::Arabic), |
| 0x000700..=0x00074F => Some(UnicodeBlock::Syriac), |
| 0x000750..=0x00077F => Some(UnicodeBlock::ArabicSupplement), |
| 0x000780..=0x0007BF => Some(UnicodeBlock::Thaana), |
| 0x0007C0..=0x0007FF => Some(UnicodeBlock::NKo), |
| 0x000800..=0x00083F => Some(UnicodeBlock::Samaritan), |
| 0x000840..=0x00085F => Some(UnicodeBlock::Mandaic), |
| 0x000860..=0x00086F => Some(UnicodeBlock::SyriacSupplement), |
| 0x000870..=0x00089F => Some(UnicodeBlock::ArabicExtendedB), |
| 0x0008A0..=0x0008FF => Some(UnicodeBlock::ArabicExtendedA), |
| 0x000900..=0x00097F => Some(UnicodeBlock::Devanagari), |
| 0x000980..=0x0009FF => Some(UnicodeBlock::Bengali), |
| 0x000A00..=0x000A7F => Some(UnicodeBlock::Gurmukhi), |
| 0x000A80..=0x000AFF => Some(UnicodeBlock::Gujarati), |
| 0x000B00..=0x000B7F => Some(UnicodeBlock::Oriya), |
| 0x000B80..=0x000BFF => Some(UnicodeBlock::Tamil), |
| 0x000C00..=0x000C7F => Some(UnicodeBlock::Telugu), |
| 0x000C80..=0x000CFF => Some(UnicodeBlock::Kannada), |
| 0x000D00..=0x000D7F => Some(UnicodeBlock::Malayalam), |
| 0x000D80..=0x000DFF => Some(UnicodeBlock::Sinhala), |
| 0x000E00..=0x000E7F => Some(UnicodeBlock::Thai), |
| 0x000E80..=0x000EFF => Some(UnicodeBlock::Lao), |
| 0x000F00..=0x000FFF => Some(UnicodeBlock::Tibetan), |
| 0x001000..=0x00109F => Some(UnicodeBlock::Myanmar), |
| 0x0010A0..=0x0010FF => Some(UnicodeBlock::Georgian), |
| 0x001100..=0x0011FF => Some(UnicodeBlock::HangulJamo), |
| 0x001200..=0x00137F => Some(UnicodeBlock::Ethiopic), |
| 0x001380..=0x00139F => Some(UnicodeBlock::EthiopicSupplement), |
| 0x0013A0..=0x0013FF => Some(UnicodeBlock::Cherokee), |
| 0x001400..=0x00167F => Some(UnicodeBlock::UnifiedCanadianAboriginalSyllabics), |
| 0x001680..=0x00169F => Some(UnicodeBlock::Ogham), |
| 0x0016A0..=0x0016FF => Some(UnicodeBlock::Runic), |
| 0x001700..=0x00171F => Some(UnicodeBlock::Tagalog), |
| 0x001720..=0x00173F => Some(UnicodeBlock::Hanunoo), |
| 0x001740..=0x00175F => Some(UnicodeBlock::Buhid), |
| 0x001760..=0x00177F => Some(UnicodeBlock::Tagbanwa), |
| 0x001780..=0x0017FF => Some(UnicodeBlock::Khmer), |
| 0x001800..=0x0018AF => Some(UnicodeBlock::Mongolian), |
| 0x0018B0..=0x0018FF => Some(UnicodeBlock::UnifiedCanadianAboriginalSyllabicsExtended), |
| 0x001900..=0x00194F => Some(UnicodeBlock::Limbu), |
| 0x001950..=0x00197F => Some(UnicodeBlock::TaiLe), |
| 0x001980..=0x0019DF => Some(UnicodeBlock::NewTaiLue), |
| 0x0019E0..=0x0019FF => Some(UnicodeBlock::KhmerSymbols), |
| 0x001A00..=0x001A1F => Some(UnicodeBlock::Buginese), |
| 0x001A20..=0x001AAF => Some(UnicodeBlock::TaiTham), |
| 0x001AB0..=0x001AFF => Some(UnicodeBlock::CombiningDiacriticalMarksExtended), |
| 0x001B00..=0x001B7F => Some(UnicodeBlock::Balinese), |
| 0x001B80..=0x001BBF => Some(UnicodeBlock::Sundanese), |
| 0x001BC0..=0x001BFF => Some(UnicodeBlock::Batak), |
| 0x001C00..=0x001C4F => Some(UnicodeBlock::Lepcha), |
| 0x001C50..=0x001C7F => Some(UnicodeBlock::OlChiki), |
| 0x001C80..=0x001C8F => Some(UnicodeBlock::CyrillicExtendedC), |
| 0x001C90..=0x001CBF => Some(UnicodeBlock::GeorgianExtended), |
| 0x001CC0..=0x001CCF => Some(UnicodeBlock::SundaneseSupplement), |
| 0x001CD0..=0x001CFF => Some(UnicodeBlock::VedicExtensions), |
| 0x001D00..=0x001D7F => Some(UnicodeBlock::PhoneticExtensions), |
| 0x001D80..=0x001DBF => Some(UnicodeBlock::PhoneticExtensionsSupplement), |
| 0x001DC0..=0x001DFF => Some(UnicodeBlock::CombiningDiacriticalMarksSupplement), |
| 0x001E00..=0x001EFF => Some(UnicodeBlock::LatinExtendedAdditional), |
| 0x001F00..=0x001FFF => Some(UnicodeBlock::GreekExtended), |
| 0x002000..=0x00206F => Some(UnicodeBlock::GeneralPunctuation), |
| 0x002070..=0x00209F => Some(UnicodeBlock::SuperscriptsandSubscripts), |
| 0x0020A0..=0x0020CF => Some(UnicodeBlock::CurrencySymbols), |
| 0x0020D0..=0x0020FF => Some(UnicodeBlock::CombiningDiacriticalMarksforSymbols), |
| 0x002100..=0x00214F => Some(UnicodeBlock::LetterlikeSymbols), |
| 0x002150..=0x00218F => Some(UnicodeBlock::NumberForms), |
| 0x002190..=0x0021FF => Some(UnicodeBlock::Arrows), |
| 0x002200..=0x0022FF => Some(UnicodeBlock::MathematicalOperators), |
| 0x002300..=0x0023FF => Some(UnicodeBlock::MiscellaneousTechnical), |
| 0x002400..=0x00243F => Some(UnicodeBlock::ControlPictures), |
| 0x002440..=0x00245F => Some(UnicodeBlock::OpticalCharacterRecognition), |
| 0x002460..=0x0024FF => Some(UnicodeBlock::EnclosedAlphanumerics), |
| 0x002500..=0x00257F => Some(UnicodeBlock::BoxDrawing), |
| 0x002580..=0x00259F => Some(UnicodeBlock::BlockElements), |
| 0x0025A0..=0x0025FF => Some(UnicodeBlock::GeometricShapes), |
| 0x002600..=0x0026FF => Some(UnicodeBlock::MiscellaneousSymbols), |
| 0x002700..=0x0027BF => Some(UnicodeBlock::Dingbats), |
| 0x0027C0..=0x0027EF => Some(UnicodeBlock::MiscellaneousMathematicalSymbolsA), |
| 0x0027F0..=0x0027FF => Some(UnicodeBlock::SupplementalArrowsA), |
| 0x002800..=0x0028FF => Some(UnicodeBlock::BraillePatterns), |
| 0x002900..=0x00297F => Some(UnicodeBlock::SupplementalArrowsB), |
| 0x002980..=0x0029FF => Some(UnicodeBlock::MiscellaneousMathematicalSymbolsB), |
| 0x002A00..=0x002AFF => Some(UnicodeBlock::SupplementalMathematicalOperators), |
| 0x002B00..=0x002BFF => Some(UnicodeBlock::MiscellaneousSymbolsandArrows), |
| 0x002C00..=0x002C5F => Some(UnicodeBlock::Glagolitic), |
| 0x002C60..=0x002C7F => Some(UnicodeBlock::LatinExtendedC), |
| 0x002C80..=0x002CFF => Some(UnicodeBlock::Coptic), |
| 0x002D00..=0x002D2F => Some(UnicodeBlock::GeorgianSupplement), |
| 0x002D30..=0x002D7F => Some(UnicodeBlock::Tifinagh), |
| 0x002D80..=0x002DDF => Some(UnicodeBlock::EthiopicExtended), |
| 0x002DE0..=0x002DFF => Some(UnicodeBlock::CyrillicExtendedA), |
| 0x002E00..=0x002E7F => Some(UnicodeBlock::SupplementalPunctuation), |
| 0x002E80..=0x002EFF => Some(UnicodeBlock::CJKRadicalsSupplement), |
| 0x002F00..=0x002FDF => Some(UnicodeBlock::KangxiRadicals), |
| 0x002FF0..=0x002FFF => Some(UnicodeBlock::IdeographicDescriptionCharacters), |
| 0x003000..=0x00303F => Some(UnicodeBlock::CJKSymbolsandPunctuation), |
| 0x003040..=0x00309F => Some(UnicodeBlock::Hiragana), |
| 0x0030A0..=0x0030FF => Some(UnicodeBlock::Katakana), |
| 0x003100..=0x00312F => Some(UnicodeBlock::Bopomofo), |
| 0x003130..=0x00318F => Some(UnicodeBlock::HangulCompatibilityJamo), |
| 0x003190..=0x00319F => Some(UnicodeBlock::Kanbun), |
| 0x0031A0..=0x0031BF => Some(UnicodeBlock::BopomofoExtended), |
| 0x0031C0..=0x0031EF => Some(UnicodeBlock::CJKStrokes), |
| 0x0031F0..=0x0031FF => Some(UnicodeBlock::KatakanaPhoneticExtensions), |
| 0x003200..=0x0032FF => Some(UnicodeBlock::EnclosedCJKLettersandMonths), |
| 0x003300..=0x0033FF => Some(UnicodeBlock::CJKCompatibility), |
| 0x003400..=0x004DBF => Some(UnicodeBlock::CJKUnifiedIdeographsExtensionA), |
| 0x004DC0..=0x004DFF => Some(UnicodeBlock::YijingHexagramSymbols), |
| 0x004E00..=0x009FFF => Some(UnicodeBlock::CJKUnifiedIdeographs), |
| 0x00A000..=0x00A48F => Some(UnicodeBlock::YiSyllables), |
| 0x00A490..=0x00A4CF => Some(UnicodeBlock::YiRadicals), |
| 0x00A4D0..=0x00A4FF => Some(UnicodeBlock::Lisu), |
| 0x00A500..=0x00A63F => Some(UnicodeBlock::Vai), |
| 0x00A640..=0x00A69F => Some(UnicodeBlock::CyrillicExtendedB), |
| 0x00A6A0..=0x00A6FF => Some(UnicodeBlock::Bamum), |
| 0x00A700..=0x00A71F => Some(UnicodeBlock::ModifierToneLetters), |
| 0x00A720..=0x00A7FF => Some(UnicodeBlock::LatinExtendedD), |
| 0x00A800..=0x00A82F => Some(UnicodeBlock::SylotiNagri), |
| 0x00A830..=0x00A83F => Some(UnicodeBlock::CommonIndicNumberForms), |
| 0x00A840..=0x00A87F => Some(UnicodeBlock::Phagspa), |
| 0x00A880..=0x00A8DF => Some(UnicodeBlock::Saurashtra), |
| 0x00A8E0..=0x00A8FF => Some(UnicodeBlock::DevanagariExtended), |
| 0x00A900..=0x00A92F => Some(UnicodeBlock::KayahLi), |
| 0x00A930..=0x00A95F => Some(UnicodeBlock::Rejang), |
| 0x00A960..=0x00A97F => Some(UnicodeBlock::HangulJamoExtendedA), |
| 0x00A980..=0x00A9DF => Some(UnicodeBlock::Javanese), |
| 0x00A9E0..=0x00A9FF => Some(UnicodeBlock::MyanmarExtendedB), |
| 0x00AA00..=0x00AA5F => Some(UnicodeBlock::Cham), |
| 0x00AA60..=0x00AA7F => Some(UnicodeBlock::MyanmarExtendedA), |
| 0x00AA80..=0x00AADF => Some(UnicodeBlock::TaiViet), |
| 0x00AAE0..=0x00AAFF => Some(UnicodeBlock::MeeteiMayekExtensions), |
| 0x00AB00..=0x00AB2F => Some(UnicodeBlock::EthiopicExtendedA), |
| 0x00AB30..=0x00AB6F => Some(UnicodeBlock::LatinExtendedE), |
| 0x00AB70..=0x00ABBF => Some(UnicodeBlock::CherokeeSupplement), |
| 0x00ABC0..=0x00ABFF => Some(UnicodeBlock::MeeteiMayek), |
| 0x00AC00..=0x00D7AF => Some(UnicodeBlock::HangulSyllables), |
| 0x00D7B0..=0x00D7FF => Some(UnicodeBlock::HangulJamoExtendedB), |
| 0x00D800..=0x00DB7F => Some(UnicodeBlock::HighSurrogates), |
| 0x00DB80..=0x00DBFF => Some(UnicodeBlock::HighPrivateUseSurrogates), |
| 0x00DC00..=0x00DFFF => Some(UnicodeBlock::LowSurrogates), |
| 0x00E000..=0x00F8FF => Some(UnicodeBlock::PrivateUseArea), |
| 0x00F900..=0x00FAFF => Some(UnicodeBlock::CJKCompatibilityIdeographs), |
| 0x00FB00..=0x00FB4F => Some(UnicodeBlock::AlphabeticPresentationForms), |
| 0x00FB50..=0x00FDFF => Some(UnicodeBlock::ArabicPresentationFormsA), |
| 0x00FE00..=0x00FE0F => Some(UnicodeBlock::VariationSelectors), |
| 0x00FE10..=0x00FE1F => Some(UnicodeBlock::VerticalForms), |
| 0x00FE20..=0x00FE2F => Some(UnicodeBlock::CombiningHalfMarks), |
| 0x00FE30..=0x00FE4F => Some(UnicodeBlock::CJKCompatibilityForms), |
| 0x00FE50..=0x00FE6F => Some(UnicodeBlock::SmallFormVariants), |
| 0x00FE70..=0x00FEFF => Some(UnicodeBlock::ArabicPresentationFormsB), |
| 0x00FF00..=0x00FFEF => Some(UnicodeBlock::HalfwidthandFullwidthForms), |
| 0x00FFF0..=0x00FFFF => Some(UnicodeBlock::Specials), |
| 0x010000..=0x01007F => Some(UnicodeBlock::LinearBSyllabary), |
| 0x010080..=0x0100FF => Some(UnicodeBlock::LinearBIdeograms), |
| 0x010100..=0x01013F => Some(UnicodeBlock::AegeanNumbers), |
| 0x010140..=0x01018F => Some(UnicodeBlock::AncientGreekNumbers), |
| 0x010190..=0x0101CF => Some(UnicodeBlock::AncientSymbols), |
| 0x0101D0..=0x0101FF => Some(UnicodeBlock::PhaistosDisc), |
| 0x010280..=0x01029F => Some(UnicodeBlock::Lycian), |
| 0x0102A0..=0x0102DF => Some(UnicodeBlock::Carian), |
| 0x0102E0..=0x0102FF => Some(UnicodeBlock::CopticEpactNumbers), |
| 0x010300..=0x01032F => Some(UnicodeBlock::OldItalic), |
| 0x010330..=0x01034F => Some(UnicodeBlock::Gothic), |
| 0x010350..=0x01037F => Some(UnicodeBlock::OldPermic), |
| 0x010380..=0x01039F => Some(UnicodeBlock::Ugaritic), |
| 0x0103A0..=0x0103DF => Some(UnicodeBlock::OldPersian), |
| 0x010400..=0x01044F => Some(UnicodeBlock::Deseret), |
| 0x010450..=0x01047F => Some(UnicodeBlock::Shavian), |
| 0x010480..=0x0104AF => Some(UnicodeBlock::Osmanya), |
| 0x0104B0..=0x0104FF => Some(UnicodeBlock::Osage), |
| 0x010500..=0x01052F => Some(UnicodeBlock::Elbasan), |
| 0x010530..=0x01056F => Some(UnicodeBlock::CaucasianAlbanian), |
| 0x010570..=0x0105BF => Some(UnicodeBlock::Vithkuqi), |
| 0x010600..=0x01077F => Some(UnicodeBlock::LinearA), |
| 0x010780..=0x0107BF => Some(UnicodeBlock::LatinExtendedF), |
| 0x010800..=0x01083F => Some(UnicodeBlock::CypriotSyllabary), |
| 0x010840..=0x01085F => Some(UnicodeBlock::ImperialAramaic), |
| 0x010860..=0x01087F => Some(UnicodeBlock::Palmyrene), |
| 0x010880..=0x0108AF => Some(UnicodeBlock::Nabataean), |
| 0x0108E0..=0x0108FF => Some(UnicodeBlock::Hatran), |
| 0x010900..=0x01091F => Some(UnicodeBlock::Phoenician), |
| 0x010920..=0x01093F => Some(UnicodeBlock::Lydian), |
| 0x010980..=0x01099F => Some(UnicodeBlock::MeroiticHieroglyphs), |
| 0x0109A0..=0x0109FF => Some(UnicodeBlock::MeroiticCursive), |
| 0x010A00..=0x010A5F => Some(UnicodeBlock::Kharoshthi), |
| 0x010A60..=0x010A7F => Some(UnicodeBlock::OldSouthArabian), |
| 0x010A80..=0x010A9F => Some(UnicodeBlock::OldNorthArabian), |
| 0x010AC0..=0x010AFF => Some(UnicodeBlock::Manichaean), |
| 0x010B00..=0x010B3F => Some(UnicodeBlock::Avestan), |
| 0x010B40..=0x010B5F => Some(UnicodeBlock::InscriptionalParthian), |
| 0x010B60..=0x010B7F => Some(UnicodeBlock::InscriptionalPahlavi), |
| 0x010B80..=0x010BAF => Some(UnicodeBlock::PsalterPahlavi), |
| 0x010C00..=0x010C4F => Some(UnicodeBlock::OldTurkic), |
| 0x010C80..=0x010CFF => Some(UnicodeBlock::OldHungarian), |
| 0x010D00..=0x010D3F => Some(UnicodeBlock::HanifiRohingya), |
| 0x010E60..=0x010E7F => Some(UnicodeBlock::RumiNumeralSymbols), |
| 0x010E80..=0x010EBF => Some(UnicodeBlock::Yezidi), |
| 0x010EC0..=0x010EFF => Some(UnicodeBlock::ArabicExtendedC), |
| 0x010F00..=0x010F2F => Some(UnicodeBlock::OldSogdian), |
| 0x010F30..=0x010F6F => Some(UnicodeBlock::Sogdian), |
| 0x010F70..=0x010FAF => Some(UnicodeBlock::OldUyghur), |
| 0x010FB0..=0x010FDF => Some(UnicodeBlock::Chorasmian), |
| 0x010FE0..=0x010FFF => Some(UnicodeBlock::Elymaic), |
| 0x011000..=0x01107F => Some(UnicodeBlock::Brahmi), |
| 0x011080..=0x0110CF => Some(UnicodeBlock::Kaithi), |
| 0x0110D0..=0x0110FF => Some(UnicodeBlock::SoraSompeng), |
| 0x011100..=0x01114F => Some(UnicodeBlock::Chakma), |
| 0x011150..=0x01117F => Some(UnicodeBlock::Mahajani), |
| 0x011180..=0x0111DF => Some(UnicodeBlock::Sharada), |
| 0x0111E0..=0x0111FF => Some(UnicodeBlock::SinhalaArchaicNumbers), |
| 0x011200..=0x01124F => Some(UnicodeBlock::Khojki), |
| 0x011280..=0x0112AF => Some(UnicodeBlock::Multani), |
| 0x0112B0..=0x0112FF => Some(UnicodeBlock::Khudawadi), |
| 0x011300..=0x01137F => Some(UnicodeBlock::Grantha), |
| 0x011400..=0x01147F => Some(UnicodeBlock::Newa), |
| 0x011480..=0x0114DF => Some(UnicodeBlock::Tirhuta), |
| 0x011580..=0x0115FF => Some(UnicodeBlock::Siddham), |
| 0x011600..=0x01165F => Some(UnicodeBlock::Modi), |
| 0x011660..=0x01167F => Some(UnicodeBlock::MongolianSupplement), |
| 0x011680..=0x0116CF => Some(UnicodeBlock::Takri), |
| 0x011700..=0x01174F => Some(UnicodeBlock::Ahom), |
| 0x011800..=0x01184F => Some(UnicodeBlock::Dogra), |
| 0x0118A0..=0x0118FF => Some(UnicodeBlock::WarangCiti), |
| 0x011900..=0x01195F => Some(UnicodeBlock::DivesAkuru), |
| 0x0119A0..=0x0119FF => Some(UnicodeBlock::Nandinagari), |
| 0x011A00..=0x011A4F => Some(UnicodeBlock::ZanabazarSquare), |
| 0x011A50..=0x011AAF => Some(UnicodeBlock::Soyombo), |
| 0x011AB0..=0x011ABF => Some(UnicodeBlock::UnifiedCanadianAboriginalSyllabicsExtendedA), |
| 0x011AC0..=0x011AFF => Some(UnicodeBlock::PauCinHau), |
| 0x011B00..=0x011B5F => Some(UnicodeBlock::DevanagariExtendedA), |
| 0x011C00..=0x011C6F => Some(UnicodeBlock::Bhaiksuki), |
| 0x011C70..=0x011CBF => Some(UnicodeBlock::Marchen), |
| 0x011D00..=0x011D5F => Some(UnicodeBlock::MasaramGondi), |
| 0x011D60..=0x011DAF => Some(UnicodeBlock::GunjalaGondi), |
| 0x011EE0..=0x011EFF => Some(UnicodeBlock::Makasar), |
| 0x011F00..=0x011F5F => Some(UnicodeBlock::Kawi), |
| 0x011FB0..=0x011FBF => Some(UnicodeBlock::LisuSupplement), |
| 0x011FC0..=0x011FFF => Some(UnicodeBlock::TamilSupplement), |
| 0x012000..=0x0123FF => Some(UnicodeBlock::Cuneiform), |
| 0x012400..=0x01247F => Some(UnicodeBlock::CuneiformNumbersandPunctuation), |
| 0x012480..=0x01254F => Some(UnicodeBlock::EarlyDynasticCuneiform), |
| 0x012F90..=0x012FFF => Some(UnicodeBlock::CyproMinoan), |
| 0x013000..=0x01342F => Some(UnicodeBlock::EgyptianHieroglyphs), |
| 0x013430..=0x01345F => Some(UnicodeBlock::EgyptianHieroglyphFormatControls), |
| 0x014400..=0x01467F => Some(UnicodeBlock::AnatolianHieroglyphs), |
| 0x016800..=0x016A3F => Some(UnicodeBlock::BamumSupplement), |
| 0x016A40..=0x016A6F => Some(UnicodeBlock::Mro), |
| 0x016A70..=0x016ACF => Some(UnicodeBlock::Tangsa), |
| 0x016AD0..=0x016AFF => Some(UnicodeBlock::BassaVah), |
| 0x016B00..=0x016B8F => Some(UnicodeBlock::PahawhHmong), |
| 0x016E40..=0x016E9F => Some(UnicodeBlock::Medefaidrin), |
| 0x016F00..=0x016F9F => Some(UnicodeBlock::Miao), |
| 0x016FE0..=0x016FFF => Some(UnicodeBlock::IdeographicSymbolsandPunctuation), |
| 0x017000..=0x0187FF => Some(UnicodeBlock::Tangut), |
| 0x018800..=0x018AFF => Some(UnicodeBlock::TangutComponents), |
| 0x018B00..=0x018CFF => Some(UnicodeBlock::KhitanSmallScript), |
| 0x018D00..=0x018D7F => Some(UnicodeBlock::TangutSupplement), |
| 0x01AFF0..=0x01AFFF => Some(UnicodeBlock::KanaExtendedB), |
| 0x01B000..=0x01B0FF => Some(UnicodeBlock::KanaSupplement), |
| 0x01B100..=0x01B12F => Some(UnicodeBlock::KanaExtendedA), |
| 0x01B130..=0x01B16F => Some(UnicodeBlock::SmallKanaExtension), |
| 0x01B170..=0x01B2FF => Some(UnicodeBlock::Nushu), |
| 0x01BC00..=0x01BC9F => Some(UnicodeBlock::Duployan), |
| 0x01BCA0..=0x01BCAF => Some(UnicodeBlock::ShorthandFormatControls), |
| 0x01CF00..=0x01CFCF => Some(UnicodeBlock::ZnamennyMusicalNotation), |
| 0x01D000..=0x01D0FF => Some(UnicodeBlock::ByzantineMusicalSymbols), |
| 0x01D100..=0x01D1FF => Some(UnicodeBlock::MusicalSymbols), |
| 0x01D200..=0x01D24F => Some(UnicodeBlock::AncientGreekMusicalNotation), |
| 0x01D2C0..=0x01D2DF => Some(UnicodeBlock::KaktovikNumerals), |
| 0x01D2E0..=0x01D2FF => Some(UnicodeBlock::MayanNumerals), |
| 0x01D300..=0x01D35F => Some(UnicodeBlock::TaiXuanJingSymbols), |
| 0x01D360..=0x01D37F => Some(UnicodeBlock::CountingRodNumerals), |
| 0x01D400..=0x01D7FF => Some(UnicodeBlock::MathematicalAlphanumericSymbols), |
| 0x01D800..=0x01DAAF => Some(UnicodeBlock::SuttonSignWriting), |
| 0x01DF00..=0x01DFFF => Some(UnicodeBlock::LatinExtendedG), |
| 0x01E000..=0x01E02F => Some(UnicodeBlock::GlagoliticSupplement), |
| 0x01E030..=0x01E08F => Some(UnicodeBlock::CyrillicExtendedD), |
| 0x01E100..=0x01E14F => Some(UnicodeBlock::NyiakengPuachueHmong), |
| 0x01E290..=0x01E2BF => Some(UnicodeBlock::Toto), |
| 0x01E2C0..=0x01E2FF => Some(UnicodeBlock::Wancho), |
| 0x01E4D0..=0x01E4FF => Some(UnicodeBlock::NagMundari), |
| 0x01E7E0..=0x01E7FF => Some(UnicodeBlock::EthiopicExtendedB), |
| 0x01E800..=0x01E8DF => Some(UnicodeBlock::MendeKikakui), |
| 0x01E900..=0x01E95F => Some(UnicodeBlock::Adlam), |
| 0x01EC70..=0x01ECBF => Some(UnicodeBlock::IndicSiyaqNumbers), |
| 0x01ED00..=0x01ED4F => Some(UnicodeBlock::OttomanSiyaqNumbers), |
| 0x01EE00..=0x01EEFF => Some(UnicodeBlock::ArabicMathematicalAlphabeticSymbols), |
| 0x01F000..=0x01F02F => Some(UnicodeBlock::MahjongTiles), |
| 0x01F030..=0x01F09F => Some(UnicodeBlock::DominoTiles), |
| 0x01F0A0..=0x01F0FF => Some(UnicodeBlock::PlayingCards), |
| 0x01F100..=0x01F1FF => Some(UnicodeBlock::EnclosedAlphanumericSupplement), |
| 0x01F200..=0x01F2FF => Some(UnicodeBlock::EnclosedIdeographicSupplement), |
| 0x01F300..=0x01F5FF => Some(UnicodeBlock::MiscellaneousSymbolsandPictographs), |
| 0x01F600..=0x01F64F => Some(UnicodeBlock::Emoticons), |
| 0x01F650..=0x01F67F => Some(UnicodeBlock::OrnamentalDingbats), |
| 0x01F680..=0x01F6FF => Some(UnicodeBlock::TransportandMapSymbols), |
| 0x01F700..=0x01F77F => Some(UnicodeBlock::AlchemicalSymbols), |
| 0x01F780..=0x01F7FF => Some(UnicodeBlock::GeometricShapesExtended), |
| 0x01F800..=0x01F8FF => Some(UnicodeBlock::SupplementalArrowsC), |
| 0x01F900..=0x01F9FF => Some(UnicodeBlock::SupplementalSymbolsandPictographs), |
| 0x01FA00..=0x01FA6F => Some(UnicodeBlock::ChessSymbols), |
| 0x01FA70..=0x01FAFF => Some(UnicodeBlock::SymbolsandPictographsExtendedA), |
| 0x01FB00..=0x01FBFF => Some(UnicodeBlock::SymbolsforLegacyComputing), |
| 0x020000..=0x02A6DF => Some(UnicodeBlock::CJKUnifiedIdeographsExtensionB), |
| 0x02A700..=0x02B73F => Some(UnicodeBlock::CJKUnifiedIdeographsExtensionC), |
| 0x02B740..=0x02B81F => Some(UnicodeBlock::CJKUnifiedIdeographsExtensionD), |
| 0x02B820..=0x02CEAF => Some(UnicodeBlock::CJKUnifiedIdeographsExtensionE), |
| 0x02CEB0..=0x02EBEF => Some(UnicodeBlock::CJKUnifiedIdeographsExtensionF), |
| 0x02EBF0..=0x02EE5F => Some(UnicodeBlock::CJKUnifiedIdeographsExtensionI), |
| 0x02F800..=0x02FA1F => Some(UnicodeBlock::CJKCompatibilityIdeographsSupplement), |
| 0x030000..=0x03134F => Some(UnicodeBlock::CJKUnifiedIdeographsExtensionG), |
| 0x031350..=0x0323AF => Some(UnicodeBlock::CJKUnifiedIdeographsExtensionH), |
| 0x0E0000..=0x0E007F => Some(UnicodeBlock::Tags), |
| 0x0E0100..=0x0E01EF => Some(UnicodeBlock::VariationSelectorsSupplement), |
| 0x0F0000..=0x0FFFFF => Some(UnicodeBlock::SupplementaryPrivateUseAreaA), |
| 0x100000..=0x10FFFF => Some(UnicodeBlock::SupplementaryPrivateUseAreaB), |
| _ => None, |
| } |
| } |
| } |