mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Remove the `ucd` dependency which has not been updated in 8 years. In addition, replace it with a generated UnicodeBlock enum which reflects the modern Unicode standard. This is generated via a Python script which is included in the repository. The generation is not part of the build process, because the Unicode database is hosted on the web and it does not change the frequently. This is done instead of bringing in the more up-to-date `unicode_blocks` dependency. `unicode_blocks` defines each block as constant, which means that they cannot be used in match statements -- which we do in Servo. Co-authored-by: Lauryn Menard <lauryn.menard@gmail.com>
679 lines
30 KiB
Rust
679 lines
30 KiB
Rust
/* 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,
|
|
}
|
|
}
|
|
}
|