{-# OPTIONS_HADDOCK hide #-}
module Unicode.Internal.Char.Blocks
(Block(..), block, blockDefinition)
where
import Data.Ix (Ix)
import Data.Word (Word32)
import GHC.Exts
import Unicode.Internal.Bits (lookupWord32#)
data Block
= 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
|
| SupplementaryPrivateUseAreaA
| SupplementaryPrivateUseAreaB
deriving (Int -> Block
Block -> Int
Block -> [Block]
Block -> Block
Block -> Block -> [Block]
Block -> Block -> Block -> [Block]
(Block -> Block)
-> (Block -> Block)
-> (Int -> Block)
-> (Block -> Int)
-> (Block -> [Block])
-> (Block -> Block -> [Block])
-> (Block -> Block -> [Block])
-> (Block -> Block -> Block -> [Block])
-> Enum Block
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: Block -> Block
succ :: Block -> Block
$cpred :: Block -> Block
pred :: Block -> Block
$ctoEnum :: Int -> Block
toEnum :: Int -> Block
$cfromEnum :: Block -> Int
fromEnum :: Block -> Int
$cenumFrom :: Block -> [Block]
enumFrom :: Block -> [Block]
$cenumFromThen :: Block -> Block -> [Block]
enumFromThen :: Block -> Block -> [Block]
$cenumFromTo :: Block -> Block -> [Block]
enumFromTo :: Block -> Block -> [Block]
$cenumFromThenTo :: Block -> Block -> Block -> [Block]
enumFromThenTo :: Block -> Block -> Block -> [Block]
Enum, Block
Block -> Block -> Bounded Block
forall a. a -> a -> Bounded a
$cminBound :: Block
minBound :: Block
$cmaxBound :: Block
maxBound :: Block
Bounded, Block -> Block -> Bool
(Block -> Block -> Bool) -> (Block -> Block -> Bool) -> Eq Block
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Block -> Block -> Bool
== :: Block -> Block -> Bool
$c/= :: Block -> Block -> Bool
/= :: Block -> Block -> Bool
Eq, Eq Block
Eq Block
-> (Block -> Block -> Ordering)
-> (Block -> Block -> Bool)
-> (Block -> Block -> Bool)
-> (Block -> Block -> Bool)
-> (Block -> Block -> Bool)
-> (Block -> Block -> Block)
-> (Block -> Block -> Block)
-> Ord Block
Block -> Block -> Bool
Block -> Block -> Ordering
Block -> Block -> Block
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: Block -> Block -> Ordering
compare :: Block -> Block -> Ordering
$c< :: Block -> Block -> Bool
< :: Block -> Block -> Bool
$c<= :: Block -> Block -> Bool
<= :: Block -> Block -> Bool
$c> :: Block -> Block -> Bool
> :: Block -> Block -> Bool
$c>= :: Block -> Block -> Bool
>= :: Block -> Block -> Bool
$cmax :: Block -> Block -> Block
max :: Block -> Block -> Block
$cmin :: Block -> Block -> Block
min :: Block -> Block -> Block
Ord, Ord Block
Ord Block
-> ((Block, Block) -> [Block])
-> ((Block, Block) -> Block -> Int)
-> ((Block, Block) -> Block -> Int)
-> ((Block, Block) -> Block -> Bool)
-> ((Block, Block) -> Int)
-> ((Block, Block) -> Int)
-> Ix Block
(Block, Block) -> Int
(Block, Block) -> [Block]
(Block, Block) -> Block -> Bool
(Block, Block) -> Block -> Int
forall a.
Ord a
-> ((a, a) -> [a])
-> ((a, a) -> a -> Int)
-> ((a, a) -> a -> Int)
-> ((a, a) -> a -> Bool)
-> ((a, a) -> Int)
-> ((a, a) -> Int)
-> Ix a
$crange :: (Block, Block) -> [Block]
range :: (Block, Block) -> [Block]
$cindex :: (Block, Block) -> Block -> Int
index :: (Block, Block) -> Block -> Int
$cunsafeIndex :: (Block, Block) -> Block -> Int
unsafeIndex :: (Block, Block) -> Block -> Int
$cinRange :: (Block, Block) -> Block -> Bool
inRange :: (Block, Block) -> Block -> Bool
$crangeSize :: (Block, Block) -> Int
rangeSize :: (Block, Block) -> Int
$cunsafeRangeSize :: (Block, Block) -> Int
unsafeRangeSize :: (Block, Block) -> Int
Ix, Int -> Block -> ShowS
[Block] -> ShowS
Block -> String
(Int -> Block -> ShowS)
-> (Block -> String) -> ([Block] -> ShowS) -> Show Block
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Block -> ShowS
showsPrec :: Int -> Block -> ShowS
$cshow :: Block -> String
show :: Block -> String
$cshowList :: [Block] -> ShowS
showList :: [Block] -> ShowS
Show)
blockDefinition :: Int# -> (# Int#, Int#, Addr# #)
blockDefinition :: Int# -> (# Int#, Int#, Addr# #)
blockDefinition = \case
Int#
0# -> (# Int#
0x0000#, Int#
0x007f#, Addr#
"Basic Latin\0"# #)
Int#
1# -> (# Int#
0x0080#, Int#
0x00ff#, Addr#
"Latin-1 Supplement\0"# #)
Int#
2# -> (# Int#
0x0100#, Int#
0x017f#, Addr#
"Latin Extended-A\0"# #)
Int#
3# -> (# Int#
0x0180#, Int#
0x024f#, Addr#
"Latin Extended-B\0"# #)
Int#
4# -> (# Int#
0x0250#, Int#
0x02af#, Addr#
"IPA Extensions\0"# #)
Int#
5# -> (# Int#
0x02b0#, Int#
0x02ff#, Addr#
"Spacing Modifier Letters\0"# #)
Int#
6# -> (# Int#
0x0300#, Int#
0x036f#, Addr#
"Combining Diacritical Marks\0"# #)
Int#
7# -> (# Int#
0x0370#, Int#
0x03ff#, Addr#
"Greek and Coptic\0"# #)
Int#
8# -> (# Int#
0x0400#, Int#
0x04ff#, Addr#
"Cyrillic\0"# #)
Int#
9# -> (# Int#
0x0500#, Int#
0x052f#, Addr#
"Cyrillic Supplement\0"# #)
Int#
10# -> (# Int#
0x0530#, Int#
0x058f#, Addr#
"Armenian\0"# #)
Int#
11# -> (# Int#
0x0590#, Int#
0x05ff#, Addr#
"Hebrew\0"# #)
Int#
12# -> (# Int#
0x0600#, Int#
0x06ff#, Addr#
"Arabic\0"# #)
Int#
13# -> (# Int#
0x0700#, Int#
0x074f#, Addr#
"Syriac\0"# #)
Int#
14# -> (# Int#
0x0750#, Int#
0x077f#, Addr#
"Arabic Supplement\0"# #)
Int#
15# -> (# Int#
0x0780#, Int#
0x07bf#, Addr#
"Thaana\0"# #)
Int#
16# -> (# Int#
0x07c0#, Int#
0x07ff#, Addr#
"NKo\0"# #)
Int#
17# -> (# Int#
0x0800#, Int#
0x083f#, Addr#
"Samaritan\0"# #)
Int#
18# -> (# Int#
0x0840#, Int#
0x085f#, Addr#
"Mandaic\0"# #)
Int#
19# -> (# Int#
0x0860#, Int#
0x086f#, Addr#
"Syriac Supplement\0"# #)
Int#
20# -> (# Int#
0x0870#, Int#
0x089f#, Addr#
"Arabic Extended-B\0"# #)
Int#
21# -> (# Int#
0x08a0#, Int#
0x08ff#, Addr#
"Arabic Extended-A\0"# #)
Int#
22# -> (# Int#
0x0900#, Int#
0x097f#, Addr#
"Devanagari\0"# #)
Int#
23# -> (# Int#
0x0980#, Int#
0x09ff#, Addr#
"Bengali\0"# #)
Int#
24# -> (# Int#
0x0a00#, Int#
0x0a7f#, Addr#
"Gurmukhi\0"# #)
Int#
25# -> (# Int#
0x0a80#, Int#
0x0aff#, Addr#
"Gujarati\0"# #)
Int#
26# -> (# Int#
0x0b00#, Int#
0x0b7f#, Addr#
"Oriya\0"# #)
Int#
27# -> (# Int#
0x0b80#, Int#
0x0bff#, Addr#
"Tamil\0"# #)
Int#
28# -> (# Int#
0x0c00#, Int#
0x0c7f#, Addr#
"Telugu\0"# #)
Int#
29# -> (# Int#
0x0c80#, Int#
0x0cff#, Addr#
"Kannada\0"# #)
Int#
30# -> (# Int#
0x0d00#, Int#
0x0d7f#, Addr#
"Malayalam\0"# #)
Int#
31# -> (# Int#
0x0d80#, Int#
0x0dff#, Addr#
"Sinhala\0"# #)
Int#
32# -> (# Int#
0x0e00#, Int#
0x0e7f#, Addr#
"Thai\0"# #)
Int#
33# -> (# Int#
0x0e80#, Int#
0x0eff#, Addr#
"Lao\0"# #)
Int#
34# -> (# Int#
0x0f00#, Int#
0x0fff#, Addr#
"Tibetan\0"# #)
Int#
35# -> (# Int#
0x1000#, Int#
0x109f#, Addr#
"Myanmar\0"# #)
Int#
36# -> (# Int#
0x10a0#, Int#
0x10ff#, Addr#
"Georgian\0"# #)
Int#
37# -> (# Int#
0x1100#, Int#
0x11ff#, Addr#
"Hangul Jamo\0"# #)
Int#
38# -> (# Int#
0x1200#, Int#
0x137f#, Addr#
"Ethiopic\0"# #)
Int#
39# -> (# Int#
0x1380#, Int#
0x139f#, Addr#
"Ethiopic Supplement\0"# #)
Int#
40# -> (# Int#
0x13a0#, Int#
0x13ff#, Addr#
"Cherokee\0"# #)
Int#
41# -> (# Int#
0x1400#, Int#
0x167f#, Addr#
"Unified Canadian Aboriginal Syllabics\0"# #)
Int#
42# -> (# Int#
0x1680#, Int#
0x169f#, Addr#
"Ogham\0"# #)
Int#
43# -> (# Int#
0x16a0#, Int#
0x16ff#, Addr#
"Runic\0"# #)
Int#
44# -> (# Int#
0x1700#, Int#
0x171f#, Addr#
"Tagalog\0"# #)
Int#
45# -> (# Int#
0x1720#, Int#
0x173f#, Addr#
"Hanunoo\0"# #)
Int#
46# -> (# Int#
0x1740#, Int#
0x175f#, Addr#
"Buhid\0"# #)
Int#
47# -> (# Int#
0x1760#, Int#
0x177f#, Addr#
"Tagbanwa\0"# #)
Int#
48# -> (# Int#
0x1780#, Int#
0x17ff#, Addr#
"Khmer\0"# #)
Int#
49# -> (# Int#
0x1800#, Int#
0x18af#, Addr#
"Mongolian\0"# #)
Int#
50# -> (# Int#
0x18b0#, Int#
0x18ff#, Addr#
"Unified Canadian Aboriginal Syllabics Extended\0"# #)
Int#
51# -> (# Int#
0x1900#, Int#
0x194f#, Addr#
"Limbu\0"# #)
Int#
52# -> (# Int#
0x1950#, Int#
0x197f#, Addr#
"Tai Le\0"# #)
Int#
53# -> (# Int#
0x1980#, Int#
0x19df#, Addr#
"New Tai Lue\0"# #)
Int#
54# -> (# Int#
0x19e0#, Int#
0x19ff#, Addr#
"Khmer Symbols\0"# #)
Int#
55# -> (# Int#
0x1a00#, Int#
0x1a1f#, Addr#
"Buginese\0"# #)
Int#
56# -> (# Int#
0x1a20#, Int#
0x1aaf#, Addr#
"Tai Tham\0"# #)
Int#
57# -> (# Int#
0x1ab0#, Int#
0x1aff#, Addr#
"Combining Diacritical Marks Extended\0"# #)
Int#
58# -> (# Int#
0x1b00#, Int#
0x1b7f#, Addr#
"Balinese\0"# #)
Int#
59# -> (# Int#
0x1b80#, Int#
0x1bbf#, Addr#
"Sundanese\0"# #)
Int#
60# -> (# Int#
0x1bc0#, Int#
0x1bff#, Addr#
"Batak\0"# #)
Int#
61# -> (# Int#
0x1c00#, Int#
0x1c4f#, Addr#
"Lepcha\0"# #)
Int#
62# -> (# Int#
0x1c50#, Int#
0x1c7f#, Addr#
"Ol Chiki\0"# #)
Int#
63# -> (# Int#
0x1c80#, Int#
0x1c8f#, Addr#
"Cyrillic Extended-C\0"# #)
Int#
64# -> (# Int#
0x1c90#, Int#
0x1cbf#, Addr#
"Georgian Extended\0"# #)
Int#
65# -> (# Int#
0x1cc0#, Int#
0x1ccf#, Addr#
"Sundanese Supplement\0"# #)
Int#
66# -> (# Int#
0x1cd0#, Int#
0x1cff#, Addr#
"Vedic Extensions\0"# #)
Int#
67# -> (# Int#
0x1d00#, Int#
0x1d7f#, Addr#
"Phonetic Extensions\0"# #)
Int#
68# -> (# Int#
0x1d80#, Int#
0x1dbf#, Addr#
"Phonetic Extensions Supplement\0"# #)
Int#
69# -> (# Int#
0x1dc0#, Int#
0x1dff#, Addr#
"Combining Diacritical Marks Supplement\0"# #)
Int#
70# -> (# Int#
0x1e00#, Int#
0x1eff#, Addr#
"Latin Extended Additional\0"# #)
Int#
71# -> (# Int#
0x1f00#, Int#
0x1fff#, Addr#
"Greek Extended\0"# #)
Int#
72# -> (# Int#
0x2000#, Int#
0x206f#, Addr#
"General Punctuation\0"# #)
Int#
73# -> (# Int#
0x2070#, Int#
0x209f#, Addr#
"Superscripts and Subscripts\0"# #)
Int#
74# -> (# Int#
0x20a0#, Int#
0x20cf#, Addr#
"Currency Symbols\0"# #)
Int#
75# -> (# Int#
0x20d0#, Int#
0x20ff#, Addr#
"Combining Diacritical Marks for Symbols\0"# #)
Int#
76# -> (# Int#
0x2100#, Int#
0x214f#, Addr#
"Letterlike Symbols\0"# #)
Int#
77# -> (# Int#
0x2150#, Int#
0x218f#, Addr#
"Number Forms\0"# #)
Int#
78# -> (# Int#
0x2190#, Int#
0x21ff#, Addr#
"Arrows\0"# #)
Int#
79# -> (# Int#
0x2200#, Int#
0x22ff#, Addr#
"Mathematical Operators\0"# #)
Int#
80# -> (# Int#
0x2300#, Int#
0x23ff#, Addr#
"Miscellaneous Technical\0"# #)
Int#
81# -> (# Int#
0x2400#, Int#
0x243f#, Addr#
"Control Pictures\0"# #)
Int#
82# -> (# Int#
0x2440#, Int#
0x245f#, Addr#
"Optical Character Recognition\0"# #)
Int#
83# -> (# Int#
0x2460#, Int#
0x24ff#, Addr#
"Enclosed Alphanumerics\0"# #)
Int#
84# -> (# Int#
0x2500#, Int#
0x257f#, Addr#
"Box Drawing\0"# #)
Int#
85# -> (# Int#
0x2580#, Int#
0x259f#, Addr#
"Block Elements\0"# #)
Int#
86# -> (# Int#
0x25a0#, Int#
0x25ff#, Addr#
"Geometric Shapes\0"# #)
Int#
87# -> (# Int#
0x2600#, Int#
0x26ff#, Addr#
"Miscellaneous Symbols\0"# #)
Int#
88# -> (# Int#
0x2700#, Int#
0x27bf#, Addr#
"Dingbats\0"# #)
Int#
89# -> (# Int#
0x27c0#, Int#
0x27ef#, Addr#
"Miscellaneous Mathematical Symbols-A\0"# #)
Int#
90# -> (# Int#
0x27f0#, Int#
0x27ff#, Addr#
"Supplemental Arrows-A\0"# #)
Int#
91# -> (# Int#
0x2800#, Int#
0x28ff#, Addr#
"Braille Patterns\0"# #)
Int#
92# -> (# Int#
0x2900#, Int#
0x297f#, Addr#
"Supplemental Arrows-B\0"# #)
Int#
93# -> (# Int#
0x2980#, Int#
0x29ff#, Addr#
"Miscellaneous Mathematical Symbols-B\0"# #)
Int#
94# -> (# Int#
0x2a00#, Int#
0x2aff#, Addr#
"Supplemental Mathematical Operators\0"# #)
Int#
95# -> (# Int#
0x2b00#, Int#
0x2bff#, Addr#
"Miscellaneous Symbols and Arrows\0"# #)
Int#
96# -> (# Int#
0x2c00#, Int#
0x2c5f#, Addr#
"Glagolitic\0"# #)
Int#
97# -> (# Int#
0x2c60#, Int#
0x2c7f#, Addr#
"Latin Extended-C\0"# #)
Int#
98# -> (# Int#
0x2c80#, Int#
0x2cff#, Addr#
"Coptic\0"# #)
Int#
99# -> (# Int#
0x2d00#, Int#
0x2d2f#, Addr#
"Georgian Supplement\0"# #)
Int#
100# -> (# Int#
0x2d30#, Int#
0x2d7f#, Addr#
"Tifinagh\0"# #)
Int#
101# -> (# Int#
0x2d80#, Int#
0x2ddf#, Addr#
"Ethiopic Extended\0"# #)
Int#
102# -> (# Int#
0x2de0#, Int#
0x2dff#, Addr#
"Cyrillic Extended-A\0"# #)
Int#
103# -> (# Int#
0x2e00#, Int#
0x2e7f#, Addr#
"Supplemental Punctuation\0"# #)
Int#
104# -> (# Int#
0x2e80#, Int#
0x2eff#, Addr#
"CJK Radicals Supplement\0"# #)
Int#
105# -> (# Int#
0x2f00#, Int#
0x2fdf#, Addr#
"Kangxi Radicals\0"# #)
Int#
106# -> (# Int#
0x2ff0#, Int#
0x2fff#, Addr#
"Ideographic Description Characters\0"# #)
Int#
107# -> (# Int#
0x3000#, Int#
0x303f#, Addr#
"CJK Symbols and Punctuation\0"# #)
Int#
108# -> (# Int#
0x3040#, Int#
0x309f#, Addr#
"Hiragana\0"# #)
Int#
109# -> (# Int#
0x30a0#, Int#
0x30ff#, Addr#
"Katakana\0"# #)
Int#
110# -> (# Int#
0x3100#, Int#
0x312f#, Addr#
"Bopomofo\0"# #)
Int#
111# -> (# Int#
0x3130#, Int#
0x318f#, Addr#
"Hangul Compatibility Jamo\0"# #)
Int#
112# -> (# Int#
0x3190#, Int#
0x319f#, Addr#
"Kanbun\0"# #)
Int#
113# -> (# Int#
0x31a0#, Int#
0x31bf#, Addr#
"Bopomofo Extended\0"# #)
Int#
114# -> (# Int#
0x31c0#, Int#
0x31ef#, Addr#
"CJK Strokes\0"# #)
Int#
115# -> (# Int#
0x31f0#, Int#
0x31ff#, Addr#
"Katakana Phonetic Extensions\0"# #)
Int#
116# -> (# Int#
0x3200#, Int#
0x32ff#, Addr#
"Enclosed CJK Letters and Months\0"# #)
Int#
117# -> (# Int#
0x3300#, Int#
0x33ff#, Addr#
"CJK Compatibility\0"# #)
Int#
118# -> (# Int#
0x3400#, Int#
0x4dbf#, Addr#
"CJK Unified Ideographs Extension A\0"# #)
Int#
119# -> (# Int#
0x4dc0#, Int#
0x4dff#, Addr#
"Yijing Hexagram Symbols\0"# #)
Int#
120# -> (# Int#
0x4e00#, Int#
0x9fff#, Addr#
"CJK Unified Ideographs\0"# #)
Int#
121# -> (# Int#
0xa000#, Int#
0xa48f#, Addr#
"Yi Syllables\0"# #)
Int#
122# -> (# Int#
0xa490#, Int#
0xa4cf#, Addr#
"Yi Radicals\0"# #)
Int#
123# -> (# Int#
0xa4d0#, Int#
0xa4ff#, Addr#
"Lisu\0"# #)
Int#
124# -> (# Int#
0xa500#, Int#
0xa63f#, Addr#
"Vai\0"# #)
Int#
125# -> (# Int#
0xa640#, Int#
0xa69f#, Addr#
"Cyrillic Extended-B\0"# #)
Int#
126# -> (# Int#
0xa6a0#, Int#
0xa6ff#, Addr#
"Bamum\0"# #)
Int#
127# -> (# Int#
0xa700#, Int#
0xa71f#, Addr#
"Modifier Tone Letters\0"# #)
Int#
128# -> (# Int#
0xa720#, Int#
0xa7ff#, Addr#
"Latin Extended-D\0"# #)
Int#
129# -> (# Int#
0xa800#, Int#
0xa82f#, Addr#
"Syloti Nagri\0"# #)
Int#
130# -> (# Int#
0xa830#, Int#
0xa83f#, Addr#
"Common Indic Number Forms\0"# #)
Int#
131# -> (# Int#
0xa840#, Int#
0xa87f#, Addr#
"Phags-pa\0"# #)
Int#
132# -> (# Int#
0xa880#, Int#
0xa8df#, Addr#
"Saurashtra\0"# #)
Int#
133# -> (# Int#
0xa8e0#, Int#
0xa8ff#, Addr#
"Devanagari Extended\0"# #)
Int#
134# -> (# Int#
0xa900#, Int#
0xa92f#, Addr#
"Kayah Li\0"# #)
Int#
135# -> (# Int#
0xa930#, Int#
0xa95f#, Addr#
"Rejang\0"# #)
Int#
136# -> (# Int#
0xa960#, Int#
0xa97f#, Addr#
"Hangul Jamo Extended-A\0"# #)
Int#
137# -> (# Int#
0xa980#, Int#
0xa9df#, Addr#
"Javanese\0"# #)
Int#
138# -> (# Int#
0xa9e0#, Int#
0xa9ff#, Addr#
"Myanmar Extended-B\0"# #)
Int#
139# -> (# Int#
0xaa00#, Int#
0xaa5f#, Addr#
"Cham\0"# #)
Int#
140# -> (# Int#
0xaa60#, Int#
0xaa7f#, Addr#
"Myanmar Extended-A\0"# #)
Int#
141# -> (# Int#
0xaa80#, Int#
0xaadf#, Addr#
"Tai Viet\0"# #)
Int#
142# -> (# Int#
0xaae0#, Int#
0xaaff#, Addr#
"Meetei Mayek Extensions\0"# #)
Int#
143# -> (# Int#
0xab00#, Int#
0xab2f#, Addr#
"Ethiopic Extended-A\0"# #)
Int#
144# -> (# Int#
0xab30#, Int#
0xab6f#, Addr#
"Latin Extended-E\0"# #)
Int#
145# -> (# Int#
0xab70#, Int#
0xabbf#, Addr#
"Cherokee Supplement\0"# #)
Int#
146# -> (# Int#
0xabc0#, Int#
0xabff#, Addr#
"Meetei Mayek\0"# #)
Int#
147# -> (# Int#
0xac00#, Int#
0xd7af#, Addr#
"Hangul Syllables\0"# #)
Int#
148# -> (# Int#
0xd7b0#, Int#
0xd7ff#, Addr#
"Hangul Jamo Extended-B\0"# #)
Int#
149# -> (# Int#
0xd800#, Int#
0xdb7f#, Addr#
"High Surrogates\0"# #)
Int#
150# -> (# Int#
0xdb80#, Int#
0xdbff#, Addr#
"High Private Use Surrogates\0"# #)
Int#
151# -> (# Int#
0xdc00#, Int#
0xdfff#, Addr#
"Low Surrogates\0"# #)
Int#
152# -> (# Int#
0xe000#, Int#
0xf8ff#, Addr#
"Private Use Area\0"# #)
Int#
153# -> (# Int#
0xf900#, Int#
0xfaff#, Addr#
"CJK Compatibility Ideographs\0"# #)
Int#
154# -> (# Int#
0xfb00#, Int#
0xfb4f#, Addr#
"Alphabetic Presentation Forms\0"# #)
Int#
155# -> (# Int#
0xfb50#, Int#
0xfdff#, Addr#
"Arabic Presentation Forms-A\0"# #)
Int#
156# -> (# Int#
0xfe00#, Int#
0xfe0f#, Addr#
"Variation Selectors\0"# #)
Int#
157# -> (# Int#
0xfe10#, Int#
0xfe1f#, Addr#
"Vertical Forms\0"# #)
Int#
158# -> (# Int#
0xfe20#, Int#
0xfe2f#, Addr#
"Combining Half Marks\0"# #)
Int#
159# -> (# Int#
0xfe30#, Int#
0xfe4f#, Addr#
"CJK Compatibility Forms\0"# #)
Int#
160# -> (# Int#
0xfe50#, Int#
0xfe6f#, Addr#
"Small Form Variants\0"# #)
Int#
161# -> (# Int#
0xfe70#, Int#
0xfeff#, Addr#
"Arabic Presentation Forms-B\0"# #)
Int#
162# -> (# Int#
0xff00#, Int#
0xffef#, Addr#
"Halfwidth and Fullwidth Forms\0"# #)
Int#
163# -> (# Int#
0xfff0#, Int#
0xffff#, Addr#
"Specials\0"# #)
Int#
164# -> (# Int#
0x10000#, Int#
0x1007f#, Addr#
"Linear B Syllabary\0"# #)
Int#
165# -> (# Int#
0x10080#, Int#
0x100ff#, Addr#
"Linear B Ideograms\0"# #)
Int#
166# -> (# Int#
0x10100#, Int#
0x1013f#, Addr#
"Aegean Numbers\0"# #)
Int#
167# -> (# Int#
0x10140#, Int#
0x1018f#, Addr#
"Ancient Greek Numbers\0"# #)
Int#
168# -> (# Int#
0x10190#, Int#
0x101cf#, Addr#
"Ancient Symbols\0"# #)
Int#
169# -> (# Int#
0x101d0#, Int#
0x101ff#, Addr#
"Phaistos Disc\0"# #)
Int#
170# -> (# Int#
0x10280#, Int#
0x1029f#, Addr#
"Lycian\0"# #)
Int#
171# -> (# Int#
0x102a0#, Int#
0x102df#, Addr#
"Carian\0"# #)
Int#
172# -> (# Int#
0x102e0#, Int#
0x102ff#, Addr#
"Coptic Epact Numbers\0"# #)
Int#
173# -> (# Int#
0x10300#, Int#
0x1032f#, Addr#
"Old Italic\0"# #)
Int#
174# -> (# Int#
0x10330#, Int#
0x1034f#, Addr#
"Gothic\0"# #)
Int#
175# -> (# Int#
0x10350#, Int#
0x1037f#, Addr#
"Old Permic\0"# #)
Int#
176# -> (# Int#
0x10380#, Int#
0x1039f#, Addr#
"Ugaritic\0"# #)
Int#
177# -> (# Int#
0x103a0#, Int#
0x103df#, Addr#
"Old Persian\0"# #)
Int#
178# -> (# Int#
0x10400#, Int#
0x1044f#, Addr#
"Deseret\0"# #)
Int#
179# -> (# Int#
0x10450#, Int#
0x1047f#, Addr#
"Shavian\0"# #)
Int#
180# -> (# Int#
0x10480#, Int#
0x104af#, Addr#
"Osmanya\0"# #)
Int#
181# -> (# Int#
0x104b0#, Int#
0x104ff#, Addr#
"Osage\0"# #)
Int#
182# -> (# Int#
0x10500#, Int#
0x1052f#, Addr#
"Elbasan\0"# #)
Int#
183# -> (# Int#
0x10530#, Int#
0x1056f#, Addr#
"Caucasian Albanian\0"# #)
Int#
184# -> (# Int#
0x10570#, Int#
0x105bf#, Addr#
"Vithkuqi\0"# #)
Int#
185# -> (# Int#
0x10600#, Int#
0x1077f#, Addr#
"Linear A\0"# #)
Int#
186# -> (# Int#
0x10780#, Int#
0x107bf#, Addr#
"Latin Extended-F\0"# #)
Int#
187# -> (# Int#
0x10800#, Int#
0x1083f#, Addr#
"Cypriot Syllabary\0"# #)
Int#
188# -> (# Int#
0x10840#, Int#
0x1085f#, Addr#
"Imperial Aramaic\0"# #)
Int#
189# -> (# Int#
0x10860#, Int#
0x1087f#, Addr#
"Palmyrene\0"# #)
Int#
190# -> (# Int#
0x10880#, Int#
0x108af#, Addr#
"Nabataean\0"# #)
Int#
191# -> (# Int#
0x108e0#, Int#
0x108ff#, Addr#
"Hatran\0"# #)
Int#
192# -> (# Int#
0x10900#, Int#
0x1091f#, Addr#
"Phoenician\0"# #)
Int#
193# -> (# Int#
0x10920#, Int#
0x1093f#, Addr#
"Lydian\0"# #)
Int#
194# -> (# Int#
0x10980#, Int#
0x1099f#, Addr#
"Meroitic Hieroglyphs\0"# #)
Int#
195# -> (# Int#
0x109a0#, Int#
0x109ff#, Addr#
"Meroitic Cursive\0"# #)
Int#
196# -> (# Int#
0x10a00#, Int#
0x10a5f#, Addr#
"Kharoshthi\0"# #)
Int#
197# -> (# Int#
0x10a60#, Int#
0x10a7f#, Addr#
"Old South Arabian\0"# #)
Int#
198# -> (# Int#
0x10a80#, Int#
0x10a9f#, Addr#
"Old North Arabian\0"# #)
Int#
199# -> (# Int#
0x10ac0#, Int#
0x10aff#, Addr#
"Manichaean\0"# #)
Int#
200# -> (# Int#
0x10b00#, Int#
0x10b3f#, Addr#
"Avestan\0"# #)
Int#
201# -> (# Int#
0x10b40#, Int#
0x10b5f#, Addr#
"Inscriptional Parthian\0"# #)
Int#
202# -> (# Int#
0x10b60#, Int#
0x10b7f#, Addr#
"Inscriptional Pahlavi\0"# #)
Int#
203# -> (# Int#
0x10b80#, Int#
0x10baf#, Addr#
"Psalter Pahlavi\0"# #)
Int#
204# -> (# Int#
0x10c00#, Int#
0x10c4f#, Addr#
"Old Turkic\0"# #)
Int#
205# -> (# Int#
0x10c80#, Int#
0x10cff#, Addr#
"Old Hungarian\0"# #)
Int#
206# -> (# Int#
0x10d00#, Int#
0x10d3f#, Addr#
"Hanifi Rohingya\0"# #)
Int#
207# -> (# Int#
0x10e60#, Int#
0x10e7f#, Addr#
"Rumi Numeral Symbols\0"# #)
Int#
208# -> (# Int#
0x10e80#, Int#
0x10ebf#, Addr#
"Yezidi\0"# #)
Int#
209# -> (# Int#
0x10ec0#, Int#
0x10eff#, Addr#
"Arabic Extended-C\0"# #)
Int#
210# -> (# Int#
0x10f00#, Int#
0x10f2f#, Addr#
"Old Sogdian\0"# #)
Int#
211# -> (# Int#
0x10f30#, Int#
0x10f6f#, Addr#
"Sogdian\0"# #)
Int#
212# -> (# Int#
0x10f70#, Int#
0x10faf#, Addr#
"Old Uyghur\0"# #)
Int#
213# -> (# Int#
0x10fb0#, Int#
0x10fdf#, Addr#
"Chorasmian\0"# #)
Int#
214# -> (# Int#
0x10fe0#, Int#
0x10fff#, Addr#
"Elymaic\0"# #)
Int#
215# -> (# Int#
0x11000#, Int#
0x1107f#, Addr#
"Brahmi\0"# #)
Int#
216# -> (# Int#
0x11080#, Int#
0x110cf#, Addr#
"Kaithi\0"# #)
Int#
217# -> (# Int#
0x110d0#, Int#
0x110ff#, Addr#
"Sora Sompeng\0"# #)
Int#
218# -> (# Int#
0x11100#, Int#
0x1114f#, Addr#
"Chakma\0"# #)
Int#
219# -> (# Int#
0x11150#, Int#
0x1117f#, Addr#
"Mahajani\0"# #)
Int#
220# -> (# Int#
0x11180#, Int#
0x111df#, Addr#
"Sharada\0"# #)
Int#
221# -> (# Int#
0x111e0#, Int#
0x111ff#, Addr#
"Sinhala Archaic Numbers\0"# #)
Int#
222# -> (# Int#
0x11200#, Int#
0x1124f#, Addr#
"Khojki\0"# #)
Int#
223# -> (# Int#
0x11280#, Int#
0x112af#, Addr#
"Multani\0"# #)
Int#
224# -> (# Int#
0x112b0#, Int#
0x112ff#, Addr#
"Khudawadi\0"# #)
Int#
225# -> (# Int#
0x11300#, Int#
0x1137f#, Addr#
"Grantha\0"# #)
Int#
226# -> (# Int#
0x11400#, Int#
0x1147f#, Addr#
"Newa\0"# #)
Int#
227# -> (# Int#
0x11480#, Int#
0x114df#, Addr#
"Tirhuta\0"# #)
Int#
228# -> (# Int#
0x11580#, Int#
0x115ff#, Addr#
"Siddham\0"# #)
Int#
229# -> (# Int#
0x11600#, Int#
0x1165f#, Addr#
"Modi\0"# #)
Int#
230# -> (# Int#
0x11660#, Int#
0x1167f#, Addr#
"Mongolian Supplement\0"# #)
Int#
231# -> (# Int#
0x11680#, Int#
0x116cf#, Addr#
"Takri\0"# #)
Int#
232# -> (# Int#
0x11700#, Int#
0x1174f#, Addr#
"Ahom\0"# #)
Int#
233# -> (# Int#
0x11800#, Int#
0x1184f#, Addr#
"Dogra\0"# #)
Int#
234# -> (# Int#
0x118a0#, Int#
0x118ff#, Addr#
"Warang Citi\0"# #)
Int#
235# -> (# Int#
0x11900#, Int#
0x1195f#, Addr#
"Dives Akuru\0"# #)
Int#
236# -> (# Int#
0x119a0#, Int#
0x119ff#, Addr#
"Nandinagari\0"# #)
Int#
237# -> (# Int#
0x11a00#, Int#
0x11a4f#, Addr#
"Zanabazar Square\0"# #)
Int#
238# -> (# Int#
0x11a50#, Int#
0x11aaf#, Addr#
"Soyombo\0"# #)
Int#
239# -> (# Int#
0x11ab0#, Int#
0x11abf#, Addr#
"Unified Canadian Aboriginal Syllabics Extended-A\0"# #)
Int#
240# -> (# Int#
0x11ac0#, Int#
0x11aff#, Addr#
"Pau Cin Hau\0"# #)
Int#
241# -> (# Int#
0x11b00#, Int#
0x11b5f#, Addr#
"Devanagari Extended-A\0"# #)
Int#
242# -> (# Int#
0x11c00#, Int#
0x11c6f#, Addr#
"Bhaiksuki\0"# #)
Int#
243# -> (# Int#
0x11c70#, Int#
0x11cbf#, Addr#
"Marchen\0"# #)
Int#
244# -> (# Int#
0x11d00#, Int#
0x11d5f#, Addr#
"Masaram Gondi\0"# #)
Int#
245# -> (# Int#
0x11d60#, Int#
0x11daf#, Addr#
"Gunjala Gondi\0"# #)
Int#
246# -> (# Int#
0x11ee0#, Int#
0x11eff#, Addr#
"Makasar\0"# #)
Int#
247# -> (# Int#
0x11f00#, Int#
0x11f5f#, Addr#
"Kawi\0"# #)
Int#
248# -> (# Int#
0x11fb0#, Int#
0x11fbf#, Addr#
"Lisu Supplement\0"# #)
Int#
249# -> (# Int#
0x11fc0#, Int#
0x11fff#, Addr#
"Tamil Supplement\0"# #)
Int#
250# -> (# Int#
0x12000#, Int#
0x123ff#, Addr#
"Cuneiform\0"# #)
Int#
251# -> (# Int#
0x12400#, Int#
0x1247f#, Addr#
"Cuneiform Numbers and Punctuation\0"# #)
Int#
252# -> (# Int#
0x12480#, Int#
0x1254f#, Addr#
"Early Dynastic Cuneiform\0"# #)
Int#
253# -> (# Int#
0x12f90#, Int#
0x12fff#, Addr#
"Cypro-Minoan\0"# #)
Int#
254# -> (# Int#
0x13000#, Int#
0x1342f#, Addr#
"Egyptian Hieroglyphs\0"# #)
Int#
255# -> (# Int#
0x13430#, Int#
0x1345f#, Addr#
"Egyptian Hieroglyph Format Controls\0"# #)
Int#
256# -> (# Int#
0x14400#, Int#
0x1467f#, Addr#
"Anatolian Hieroglyphs\0"# #)
Int#
257# -> (# Int#
0x16800#, Int#
0x16a3f#, Addr#
"Bamum Supplement\0"# #)
Int#
258# -> (# Int#
0x16a40#, Int#
0x16a6f#, Addr#
"Mro\0"# #)
Int#
259# -> (# Int#
0x16a70#, Int#
0x16acf#, Addr#
"Tangsa\0"# #)
Int#
260# -> (# Int#
0x16ad0#, Int#
0x16aff#, Addr#
"Bassa Vah\0"# #)
Int#
261# -> (# Int#
0x16b00#, Int#
0x16b8f#, Addr#
"Pahawh Hmong\0"# #)
Int#
262# -> (# Int#
0x16e40#, Int#
0x16e9f#, Addr#
"Medefaidrin\0"# #)
Int#
263# -> (# Int#
0x16f00#, Int#
0x16f9f#, Addr#
"Miao\0"# #)
Int#
264# -> (# Int#
0x16fe0#, Int#
0x16fff#, Addr#
"Ideographic Symbols and Punctuation\0"# #)
Int#
265# -> (# Int#
0x17000#, Int#
0x187ff#, Addr#
"Tangut\0"# #)
Int#
266# -> (# Int#
0x18800#, Int#
0x18aff#, Addr#
"Tangut Components\0"# #)
Int#
267# -> (# Int#
0x18b00#, Int#
0x18cff#, Addr#
"Khitan Small Script\0"# #)
Int#
268# -> (# Int#
0x18d00#, Int#
0x18d7f#, Addr#
"Tangut Supplement\0"# #)
Int#
269# -> (# Int#
0x1aff0#, Int#
0x1afff#, Addr#
"Kana Extended-B\0"# #)
Int#
270# -> (# Int#
0x1b000#, Int#
0x1b0ff#, Addr#
"Kana Supplement\0"# #)
Int#
271# -> (# Int#
0x1b100#, Int#
0x1b12f#, Addr#
"Kana Extended-A\0"# #)
Int#
272# -> (# Int#
0x1b130#, Int#
0x1b16f#, Addr#
"Small Kana Extension\0"# #)
Int#
273# -> (# Int#
0x1b170#, Int#
0x1b2ff#, Addr#
"Nushu\0"# #)
Int#
274# -> (# Int#
0x1bc00#, Int#
0x1bc9f#, Addr#
"Duployan\0"# #)
Int#
275# -> (# Int#
0x1bca0#, Int#
0x1bcaf#, Addr#
"Shorthand Format Controls\0"# #)
Int#
276# -> (# Int#
0x1cf00#, Int#
0x1cfcf#, Addr#
"Znamenny Musical Notation\0"# #)
Int#
277# -> (# Int#
0x1d000#, Int#
0x1d0ff#, Addr#
"Byzantine Musical Symbols\0"# #)
Int#
278# -> (# Int#
0x1d100#, Int#
0x1d1ff#, Addr#
"Musical Symbols\0"# #)
Int#
279# -> (# Int#
0x1d200#, Int#
0x1d24f#, Addr#
"Ancient Greek Musical Notation\0"# #)
Int#
280# -> (# Int#
0x1d2c0#, Int#
0x1d2df#, Addr#
"Kaktovik Numerals\0"# #)
Int#
281# -> (# Int#
0x1d2e0#, Int#
0x1d2ff#, Addr#
"Mayan Numerals\0"# #)
Int#
282# -> (# Int#
0x1d300#, Int#
0x1d35f#, Addr#
"Tai Xuan Jing Symbols\0"# #)
Int#
283# -> (# Int#
0x1d360#, Int#
0x1d37f#, Addr#
"Counting Rod Numerals\0"# #)
Int#
284# -> (# Int#
0x1d400#, Int#
0x1d7ff#, Addr#
"Mathematical Alphanumeric Symbols\0"# #)
Int#
285# -> (# Int#
0x1d800#, Int#
0x1daaf#, Addr#
"Sutton SignWriting\0"# #)
Int#
286# -> (# Int#
0x1df00#, Int#
0x1dfff#, Addr#
"Latin Extended-G\0"# #)
Int#
287# -> (# Int#
0x1e000#, Int#
0x1e02f#, Addr#
"Glagolitic Supplement\0"# #)
Int#
288# -> (# Int#
0x1e030#, Int#
0x1e08f#, Addr#
"Cyrillic Extended-D\0"# #)
Int#
289# -> (# Int#
0x1e100#, Int#
0x1e14f#, Addr#
"Nyiakeng Puachue Hmong\0"# #)
Int#
290# -> (# Int#
0x1e290#, Int#
0x1e2bf#, Addr#
"Toto\0"# #)
Int#
291# -> (# Int#
0x1e2c0#, Int#
0x1e2ff#, Addr#
"Wancho\0"# #)
Int#
292# -> (# Int#
0x1e4d0#, Int#
0x1e4ff#, Addr#
"Nag Mundari\0"# #)
Int#
293# -> (# Int#
0x1e7e0#, Int#
0x1e7ff#, Addr#
"Ethiopic Extended-B\0"# #)
Int#
294# -> (# Int#
0x1e800#, Int#
0x1e8df#, Addr#
"Mende Kikakui\0"# #)
Int#
295# -> (# Int#
0x1e900#, Int#
0x1e95f#, Addr#
"Adlam\0"# #)
Int#
296# -> (# Int#
0x1ec70#, Int#
0x1ecbf#, Addr#
"Indic Siyaq Numbers\0"# #)
Int#
297# -> (# Int#
0x1ed00#, Int#
0x1ed4f#, Addr#
"Ottoman Siyaq Numbers\0"# #)
Int#
298# -> (# Int#
0x1ee00#, Int#
0x1eeff#, Addr#
"Arabic Mathematical Alphabetic Symbols\0"# #)
Int#
299# -> (# Int#
0x1f000#, Int#
0x1f02f#, Addr#
"Mahjong Tiles\0"# #)
Int#
300# -> (# Int#
0x1f030#, Int#
0x1f09f#, Addr#
"Domino Tiles\0"# #)
Int#
301# -> (# Int#
0x1f0a0#, Int#
0x1f0ff#, Addr#
"Playing Cards\0"# #)
Int#
302# -> (# Int#
0x1f100#, Int#
0x1f1ff#, Addr#
"Enclosed Alphanumeric Supplement\0"# #)
Int#
303# -> (# Int#
0x1f200#, Int#
0x1f2ff#, Addr#
"Enclosed Ideographic Supplement\0"# #)
Int#
304# -> (# Int#
0x1f300#, Int#
0x1f5ff#, Addr#
"Miscellaneous Symbols and Pictographs\0"# #)
Int#
305# -> (# Int#
0x1f600#, Int#
0x1f64f#, Addr#
"Emoticons\0"# #)
Int#
306# -> (# Int#
0x1f650#, Int#
0x1f67f#, Addr#
"Ornamental Dingbats\0"# #)
Int#
307# -> (# Int#
0x1f680#, Int#
0x1f6ff#, Addr#
"Transport and Map Symbols\0"# #)
Int#
308# -> (# Int#
0x1f700#, Int#
0x1f77f#, Addr#
"Alchemical Symbols\0"# #)
Int#
309# -> (# Int#
0x1f780#, Int#
0x1f7ff#, Addr#
"Geometric Shapes Extended\0"# #)
Int#
310# -> (# Int#
0x1f800#, Int#
0x1f8ff#, Addr#
"Supplemental Arrows-C\0"# #)
Int#
311# -> (# Int#
0x1f900#, Int#
0x1f9ff#, Addr#
"Supplemental Symbols and Pictographs\0"# #)
Int#
312# -> (# Int#
0x1fa00#, Int#
0x1fa6f#, Addr#
"Chess Symbols\0"# #)
Int#
313# -> (# Int#
0x1fa70#, Int#
0x1faff#, Addr#
"Symbols and Pictographs Extended-A\0"# #)
Int#
314# -> (# Int#
0x1fb00#, Int#
0x1fbff#, Addr#
"Symbols for Legacy Computing\0"# #)
Int#
315# -> (# Int#
0x20000#, Int#
0x2a6df#, Addr#
"CJK Unified Ideographs Extension B\0"# #)
Int#
316# -> (# Int#
0x2a700#, Int#
0x2b73f#, Addr#
"CJK Unified Ideographs Extension C\0"# #)
Int#
317# -> (# Int#
0x2b740#, Int#
0x2b81f#, Addr#
"CJK Unified Ideographs Extension D\0"# #)
Int#
318# -> (# Int#
0x2b820#, Int#
0x2ceaf#, Addr#
"CJK Unified Ideographs Extension E\0"# #)
Int#
319# -> (# Int#
0x2ceb0#, Int#
0x2ebef#, Addr#
"CJK Unified Ideographs Extension F\0"# #)
Int#
320# -> (# Int#
0x2ebf0#, Int#
0x2ee5f#, Addr#
"CJK Unified Ideographs Extension I\0"# #)
Int#
321# -> (# Int#
0x2f800#, Int#
0x2fa1f#, Addr#
"CJK Compatibility Ideographs Supplement\0"# #)
Int#
322# -> (# Int#
0x30000#, Int#
0x3134f#, Addr#
"CJK Unified Ideographs Extension G\0"# #)
Int#
323# -> (# Int#
0x31350#, Int#
0x323af#, Addr#
"CJK Unified Ideographs Extension H\0"# #)
Int#
324# -> (# Int#
0xe0000#, Int#
0xe007f#, Addr#
"Tags\0"# #)
Int#
325# -> (# Int#
0xe0100#, Int#
0xe01ef#, Addr#
"Variation Selectors Supplement\0"# #)
Int#
326# -> (# Int#
0xf0000#, Int#
0xfffff#, Addr#
"Supplementary Private Use Area-A\0"# #)
Int#
_ -> (# Int#
0x100000#, Int#
0x10ffff#, Addr#
"Supplementary Private Use Area-B\0"# #)
block :: Char# -> Int#
block :: Char# -> Int#
block Char#
c# = Int# -> Int# -> Int#
getBlock Int#
0# Int#
327#
where
cp# :: Word#
cp# = Int# -> Word#
int2Word# (Char# -> Int#
ord# Char#
c#)
getBlock :: Int# -> Int# -> Int#
getBlock Int#
l# Int#
u# = if Int# -> Bool
isTrue# (Int#
l# Int# -> Int# -> Int#
># Int#
u#)
then Int#
-1#
else
let k# :: Int#
k# = Int#
l# Int# -> Int# -> Int#
+# Int# -> Int# -> Int#
uncheckedIShiftRL# (Int#
u# Int# -> Int# -> Int#
-# Int#
l#) Int#
1#
j# :: Int#
j# = Int#
k# Int# -> Int# -> Int#
`uncheckedIShiftL#` Int#
1#
cpL0# :: Word#
cpL0# = Int# -> Word#
getRawCodePoint# Int#
j#
cpL# :: Word#
cpL# = Word#
cpL0# Word# -> Word# -> Word#
`and#` Word#
0x1fffff##
cpU# :: Word#
cpU# = Int# -> Word#
getRawCodePoint# (Int#
j# Int# -> Int# -> Int#
+# Int#
1#)
in if Int# -> Bool
isTrue# (Word#
cpU# Word# -> Word# -> Int#
`ltWord#` Word#
cp#)
then Int# -> Int# -> Int#
getBlock (Int#
k# Int# -> Int# -> Int#
+# Int#
1#) Int#
u#
else if Int# -> Bool
isTrue# (Word#
cp# Word# -> Word# -> Int#
`ltWord#` Word#
cpL#)
then Int# -> Int# -> Int#
getBlock Int#
l# (Int#
k# Int# -> Int# -> Int#
-# Int#
1#)
else let block# :: Word#
block# = Word#
cpL0# Word# -> Int# -> Word#
`uncheckedShiftRL#` Int#
21#
in Word# -> Int#
word2Int# Word#
block#
getRawCodePoint# :: Int# -> Word#
getRawCodePoint# = Addr# -> Int# -> Word#
lookupWord32# Addr#
ranges#
!(Ptr Addr#
ranges#) = Ptr Word32
rangesBitmap
rangesBitmap :: Ptr Word32
rangesBitmap :: Ptr Word32
rangesBitmap = Addr# -> Ptr Word32
forall a. Addr# -> Ptr a
Ptr
Addr#
"\0\0\0\0\127\0\0\0\128\0\32\0\255\0\0\0\0\1\64\0\127\1\0\0\128\1\96\0\79\2\0\0\80\2\128\0\175\2\0\0\176\2\160\0\255\2\0\0\0\3\192\0\111\3\0\0\112\3\224\0\255\3\0\0\0\4\0\1\255\4\0\0\0\5\32\1\47\5\0\0\48\5\64\1\143\5\0\0\144\5\96\1\255\5\0\0\0\6\128\1\255\6\0\0\0\7\160\1\79\7\0\0\80\7\192\1\127\7\0\0\128\7\224\1\191\7\0\0\192\7\0\2\255\7\0\0\0\8\32\2\63\8\0\0\64\8\64\2\95\8\0\0\96\8\96\2\111\8\0\0\112\8\128\2\159\8\0\0\160\8\160\2\255\8\0\0\0\9\192\2\127\9\0\0\128\9\224\2\255\9\0\0\0\10\0\3\127\10\0\0\128\10\32\3\255\10\0\0\0\11\64\3\127\11\0\0\128\11\96\3\255\11\0\0\0\12\128\3\127\12\0\0\128\12\160\3\255\12\0\0\0\13\192\3\127\13\0\0\128\13\224\3\255\13\0\
\\0\0\14\0\4\127\14\0\0\128\14\32\4\255\14\0\0\0\15\64\4\255\15\0\0\0\16\96\4\159\16\0\0\160\16\128\4\255\16\0\0\0\17\160\4\255\17\0\0\0\18\192\4\127\19\0\0\128\19\224\4\159\19\0\0\160\19\0\5\255\19\0\0\0\20\32\5\127\22\0\0\128\22\64\5\159\22\0\0\160\22\96\5\255\22\0\0\0\23\128\5\31\23\0\0\32\23\160\5\63\23\0\0\64\23\192\5\95\23\0\0\96\23\224\5\127\23\0\0\128\23\0\6\255\23\0\0\0\24\32\6\175\24\0\0\176\24\64\6\255\24\0\0\0\25\96\6\79\25\0\0\80\25\128\6\127\25\0\0\128\25\160\6\223\25\0\0\224\25\192\6\255\25\0\0\0\26\224\6\31\26\0\0\32\26\0\7\175\26\0\0\176\26\32\7\255\26\0\0\0\27\64\7\127\27\0\0\128\27\96\7\191\27\0\0\192\27\128\7\255\27\0\0\0\28\160\7\79\28\0\0\80\28\192\7\127\28\0\0\128\28\224\7\143\28\
\\0\0\144\28\0\8\191\28\0\0\192\28\32\8\207\28\0\0\208\28\64\8\255\28\0\0\0\29\96\8\127\29\0\0\128\29\128\8\191\29\0\0\192\29\160\8\255\29\0\0\0\30\192\8\255\30\0\0\0\31\224\8\255\31\0\0\0\32\0\9\111\32\0\0\112\32\32\9\159\32\0\0\160\32\64\9\207\32\0\0\208\32\96\9\255\32\0\0\0\33\128\9\79\33\0\0\80\33\160\9\143\33\0\0\144\33\192\9\255\33\0\0\0\34\224\9\255\34\0\0\0\35\0\10\255\35\0\0\0\36\32\10\63\36\0\0\64\36\64\10\95\36\0\0\96\36\96\10\255\36\0\0\0\37\128\10\127\37\0\0\128\37\160\10\159\37\0\0\160\37\192\10\255\37\0\0\0\38\224\10\255\38\0\0\0\39\0\11\191\39\0\0\192\39\32\11\239\39\0\0\240\39\64\11\255\39\0\0\0\40\96\11\255\40\0\0\0\41\128\11\127\41\0\0\128\41\160\11\255\41\0\0\0\42\192\11\255\42\0\0\0\43\224\11\255\
\\43\0\0\0\44\0\12\95\44\0\0\96\44\32\12\127\44\0\0\128\44\64\12\255\44\0\0\0\45\96\12\47\45\0\0\48\45\128\12\127\45\0\0\128\45\160\12\223\45\0\0\224\45\192\12\255\45\0\0\0\46\224\12\127\46\0\0\128\46\0\13\255\46\0\0\0\47\32\13\223\47\0\0\240\47\64\13\255\47\0\0\0\48\96\13\63\48\0\0\64\48\128\13\159\48\0\0\160\48\160\13\255\48\0\0\0\49\192\13\47\49\0\0\48\49\224\13\143\49\0\0\144\49\0\14\159\49\0\0\160\49\32\14\191\49\0\0\192\49\64\14\239\49\0\0\240\49\96\14\255\49\0\0\0\50\128\14\255\50\0\0\0\51\160\14\255\51\0\0\0\52\192\14\191\77\0\0\192\77\224\14\255\77\0\0\0\78\0\15\255\159\0\0\0\160\32\15\143\164\0\0\144\164\64\15\207\164\0\0\208\164\96\15\255\164\0\0\0\165\128\15\63\166\0\0\64\166\160\15\159\166\0\0\160\166\192\15\255\166\0\0\0\167\224\15\
\\31\167\0\0\32\167\0\16\255\167\0\0\0\168\32\16\47\168\0\0\48\168\64\16\63\168\0\0\64\168\96\16\127\168\0\0\128\168\128\16\223\168\0\0\224\168\160\16\255\168\0\0\0\169\192\16\47\169\0\0\48\169\224\16\95\169\0\0\96\169\0\17\127\169\0\0\128\169\32\17\223\169\0\0\224\169\64\17\255\169\0\0\0\170\96\17\95\170\0\0\96\170\128\17\127\170\0\0\128\170\160\17\223\170\0\0\224\170\192\17\255\170\0\0\0\171\224\17\47\171\0\0\48\171\0\18\111\171\0\0\112\171\32\18\191\171\0\0\192\171\64\18\255\171\0\0\0\172\96\18\175\215\0\0\176\215\128\18\255\215\0\0\0\216\160\18\127\219\0\0\128\219\192\18\255\219\0\0\0\220\224\18\255\223\0\0\0\224\0\19\255\248\0\0\0\249\32\19\255\250\0\0\0\251\64\19\79\251\0\0\80\251\96\19\255\253\0\0\0\254\128\19\15\254\0\0\16\254\160\19\31\254\0\0\32\254\192\19\47\254\0\0\48\254\224\
\\19\79\254\0\0\80\254\0\20\111\254\0\0\112\254\32\20\255\254\0\0\0\255\64\20\239\255\0\0\240\255\96\20\255\255\0\0\0\0\129\20\127\0\1\0\128\0\161\20\255\0\1\0\0\1\193\20\63\1\1\0\64\1\225\20\143\1\1\0\144\1\1\21\207\1\1\0\208\1\33\21\255\1\1\0\128\2\65\21\159\2\1\0\160\2\97\21\223\2\1\0\224\2\129\21\255\2\1\0\0\3\161\21\47\3\1\0\48\3\193\21\79\3\1\0\80\3\225\21\127\3\1\0\128\3\1\22\159\3\1\0\160\3\33\22\223\3\1\0\0\4\65\22\79\4\1\0\80\4\97\22\127\4\1\0\128\4\129\22\175\4\1\0\176\4\161\22\255\4\1\0\0\5\193\22\47\5\1\0\48\5\225\22\111\5\1\0\112\5\1\23\191\5\1\0\0\6\33\23\127\7\1\0\128\7\65\23\191\7\1\0\0\8\97\23\63\8\1\0\64\8\129\23\95\8\1\0\96\8\161\23\127\8\1\0\128\8\193\23\175\8\1\0\224\8\
\\225\23\255\8\1\0\0\9\1\24\31\9\1\0\32\9\33\24\63\9\1\0\128\9\65\24\159\9\1\0\160\9\97\24\255\9\1\0\0\10\129\24\95\10\1\0\96\10\161\24\127\10\1\0\128\10\193\24\159\10\1\0\192\10\225\24\255\10\1\0\0\11\1\25\63\11\1\0\64\11\33\25\95\11\1\0\96\11\65\25\127\11\1\0\128\11\97\25\175\11\1\0\0\12\129\25\79\12\1\0\128\12\161\25\255\12\1\0\0\13\193\25\63\13\1\0\96\14\225\25\127\14\1\0\128\14\1\26\191\14\1\0\192\14\33\26\255\14\1\0\0\15\65\26\47\15\1\0\48\15\97\26\111\15\1\0\112\15\129\26\175\15\1\0\176\15\161\26\223\15\1\0\224\15\193\26\255\15\1\0\0\16\225\26\127\16\1\0\128\16\1\27\207\16\1\0\208\16\33\27\255\16\1\0\0\17\65\27\79\17\1\0\80\17\97\27\127\17\1\0\128\17\129\27\223\17\1\0\224\17\161\27\255\17\1\0\0\18\193\27\79\18\1\0\128\
\\18\225\27\175\18\1\0\176\18\1\28\255\18\1\0\0\19\33\28\127\19\1\0\0\20\65\28\127\20\1\0\128\20\97\28\223\20\1\0\128\21\129\28\255\21\1\0\0\22\161\28\95\22\1\0\96\22\193\28\127\22\1\0\128\22\225\28\207\22\1\0\0\23\1\29\79\23\1\0\0\24\33\29\79\24\1\0\160\24\65\29\255\24\1\0\0\25\97\29\95\25\1\0\160\25\129\29\255\25\1\0\0\26\161\29\79\26\1\0\80\26\193\29\175\26\1\0\176\26\225\29\191\26\1\0\192\26\1\30\255\26\1\0\0\27\33\30\95\27\1\0\0\28\65\30\111\28\1\0\112\28\97\30\191\28\1\0\0\29\129\30\95\29\1\0\96\29\161\30\175\29\1\0\224\30\193\30\255\30\1\0\0\31\225\30\95\31\1\0\176\31\1\31\191\31\1\0\192\31\33\31\255\31\1\0\0\32\65\31\255\35\1\0\0\36\97\31\127\36\1\0\128\36\129\31\79\37\1\0\144\47\161\31\255\47\1\0\0\48\193\31\47\52\1\0\
\\48\52\225\31\95\52\1\0\0\68\1\32\127\70\1\0\0\104\33\32\63\106\1\0\64\106\65\32\111\106\1\0\112\106\97\32\207\106\1\0\208\106\129\32\255\106\1\0\0\107\161\32\143\107\1\0\64\110\193\32\159\110\1\0\0\111\225\32\159\111\1\0\224\111\1\33\255\111\1\0\0\112\33\33\255\135\1\0\0\136\65\33\255\138\1\0\0\139\97\33\255\140\1\0\0\141\129\33\127\141\1\0\240\175\161\33\255\175\1\0\0\176\193\33\255\176\1\0\0\177\225\33\47\177\1\0\48\177\1\34\111\177\1\0\112\177\33\34\255\178\1\0\0\188\65\34\159\188\1\0\160\188\97\34\175\188\1\0\0\207\129\34\207\207\1\0\0\208\161\34\255\208\1\0\0\209\193\34\255\209\1\0\0\210\225\34\79\210\1\0\192\210\1\35\223\210\1\0\224\210\33\35\255\210\1\0\0\211\65\35\95\211\1\0\96\211\97\35\127\211\1\0\0\212\129\35\255\215\1\0\0\216\161\35\175\218\1\0\0\223\193\35\255\223\1\
\\0\0\224\225\35\47\224\1\0\48\224\1\36\143\224\1\0\0\225\33\36\79\225\1\0\144\226\65\36\191\226\1\0\192\226\97\36\255\226\1\0\208\228\129\36\255\228\1\0\224\231\161\36\255\231\1\0\0\232\193\36\223\232\1\0\0\233\225\36\95\233\1\0\112\236\1\37\191\236\1\0\0\237\33\37\79\237\1\0\0\238\65\37\255\238\1\0\0\240\97\37\47\240\1\0\48\240\129\37\159\240\1\0\160\240\161\37\255\240\1\0\0\241\193\37\255\241\1\0\0\242\225\37\255\242\1\0\0\243\1\38\255\245\1\0\0\246\33\38\79\246\1\0\80\246\65\38\127\246\1\0\128\246\97\38\255\246\1\0\0\247\129\38\127\247\1\0\128\247\161\38\255\247\1\0\0\248\193\38\255\248\1\0\0\249\225\38\255\249\1\0\0\250\1\39\111\250\1\0\112\250\33\39\255\250\1\0\0\251\65\39\255\251\1\0\0\0\98\39\223\166\2\0\0\167\130\39\63\183\2\0\64\183\162\39\31\184\2\0\32\184\194\39\175\206\
\\2\0\176\206\226\39\239\235\2\0\240\235\2\40\95\238\2\0\0\248\34\40\31\250\2\0\0\0\67\40\79\19\3\0\80\19\99\40\175\35\3\0\0\0\142\40\127\0\14\0\0\1\174\40\239\1\14\0\0\0\207\40\255\255\15\0\0\0\240\40\255\255\16\0"#