{-# LANGUAGE CPP, MultiWayIf #-}
{-# OPTIONS_HADDOCK hide #-}
module Unicode.Internal.Char.Blocks
(Block(..), BlockDefinition(..), block, blockDefinition)
where
#include "MachDeps.h"
import Data.Ix (Ix)
import GHC.Exts
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
| 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)
data BlockDefinition = BlockDefinition
{ BlockDefinition -> (Int, Int)
blockRange :: !(Int, Int)
, BlockDefinition -> String
blockName :: !String
} deriving (BlockDefinition -> BlockDefinition -> Bool
(BlockDefinition -> BlockDefinition -> Bool)
-> (BlockDefinition -> BlockDefinition -> Bool)
-> Eq BlockDefinition
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BlockDefinition -> BlockDefinition -> Bool
== :: BlockDefinition -> BlockDefinition -> Bool
$c/= :: BlockDefinition -> BlockDefinition -> Bool
/= :: BlockDefinition -> BlockDefinition -> Bool
Eq, Eq BlockDefinition
Eq BlockDefinition
-> (BlockDefinition -> BlockDefinition -> Ordering)
-> (BlockDefinition -> BlockDefinition -> Bool)
-> (BlockDefinition -> BlockDefinition -> Bool)
-> (BlockDefinition -> BlockDefinition -> Bool)
-> (BlockDefinition -> BlockDefinition -> Bool)
-> (BlockDefinition -> BlockDefinition -> BlockDefinition)
-> (BlockDefinition -> BlockDefinition -> BlockDefinition)
-> Ord BlockDefinition
BlockDefinition -> BlockDefinition -> Bool
BlockDefinition -> BlockDefinition -> Ordering
BlockDefinition -> BlockDefinition -> BlockDefinition
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 :: BlockDefinition -> BlockDefinition -> Ordering
compare :: BlockDefinition -> BlockDefinition -> Ordering
$c< :: BlockDefinition -> BlockDefinition -> Bool
< :: BlockDefinition -> BlockDefinition -> Bool
$c<= :: BlockDefinition -> BlockDefinition -> Bool
<= :: BlockDefinition -> BlockDefinition -> Bool
$c> :: BlockDefinition -> BlockDefinition -> Bool
> :: BlockDefinition -> BlockDefinition -> Bool
$c>= :: BlockDefinition -> BlockDefinition -> Bool
>= :: BlockDefinition -> BlockDefinition -> Bool
$cmax :: BlockDefinition -> BlockDefinition -> BlockDefinition
max :: BlockDefinition -> BlockDefinition -> BlockDefinition
$cmin :: BlockDefinition -> BlockDefinition -> BlockDefinition
min :: BlockDefinition -> BlockDefinition -> BlockDefinition
Ord, Int -> BlockDefinition -> ShowS
[BlockDefinition] -> ShowS
BlockDefinition -> String
(Int -> BlockDefinition -> ShowS)
-> (BlockDefinition -> String)
-> ([BlockDefinition] -> ShowS)
-> Show BlockDefinition
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> BlockDefinition -> ShowS
showsPrec :: Int -> BlockDefinition -> ShowS
$cshow :: BlockDefinition -> String
show :: BlockDefinition -> String
$cshowList :: [BlockDefinition] -> ShowS
showList :: [BlockDefinition] -> ShowS
Show)
blockDefinition :: Block -> BlockDefinition
blockDefinition :: Block -> BlockDefinition
blockDefinition Block
b = case Block
b of
Block
BasicLatin -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0000, Int
0x007f) String
"Basic Latin"
Block
Latin1Supplement -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0080, Int
0x00ff) String
"Latin-1 Supplement"
Block
LatinExtendedA -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0100, Int
0x017f) String
"Latin Extended-A"
Block
LatinExtendedB -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0180, Int
0x024f) String
"Latin Extended-B"
Block
IPAExtensions -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0250, Int
0x02af) String
"IPA Extensions"
Block
SpacingModifierLetters -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x02b0, Int
0x02ff) String
"Spacing Modifier Letters"
Block
CombiningDiacriticalMarks -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0300, Int
0x036f) String
"Combining Diacritical Marks"
Block
GreekAndCoptic -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0370, Int
0x03ff) String
"Greek and Coptic"
Block
Cyrillic -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0400, Int
0x04ff) String
"Cyrillic"
Block
CyrillicSupplement -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0500, Int
0x052f) String
"Cyrillic Supplement"
Block
Armenian -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0530, Int
0x058f) String
"Armenian"
Block
Hebrew -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0590, Int
0x05ff) String
"Hebrew"
Block
Arabic -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0600, Int
0x06ff) String
"Arabic"
Block
Syriac -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0700, Int
0x074f) String
"Syriac"
Block
ArabicSupplement -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0750, Int
0x077f) String
"Arabic Supplement"
Block
Thaana -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0780, Int
0x07bf) String
"Thaana"
Block
NKo -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x07c0, Int
0x07ff) String
"NKo"
Block
Samaritan -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0800, Int
0x083f) String
"Samaritan"
Block
Mandaic -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0840, Int
0x085f) String
"Mandaic"
Block
SyriacSupplement -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0860, Int
0x086f) String
"Syriac Supplement"
Block
ArabicExtendedB -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0870, Int
0x089f) String
"Arabic Extended-B"
Block
ArabicExtendedA -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x08a0, Int
0x08ff) String
"Arabic Extended-A"
Block
Devanagari -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0900, Int
0x097f) String
"Devanagari"
Block
Bengali -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0980, Int
0x09ff) String
"Bengali"
Block
Gurmukhi -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0a00, Int
0x0a7f) String
"Gurmukhi"
Block
Gujarati -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0a80, Int
0x0aff) String
"Gujarati"
Block
Oriya -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0b00, Int
0x0b7f) String
"Oriya"
Block
Tamil -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0b80, Int
0x0bff) String
"Tamil"
Block
Telugu -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0c00, Int
0x0c7f) String
"Telugu"
Block
Kannada -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0c80, Int
0x0cff) String
"Kannada"
Block
Malayalam -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0d00, Int
0x0d7f) String
"Malayalam"
Block
Sinhala -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0d80, Int
0x0dff) String
"Sinhala"
Block
Thai -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0e00, Int
0x0e7f) String
"Thai"
Block
Lao -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0e80, Int
0x0eff) String
"Lao"
Block
Tibetan -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x0f00, Int
0x0fff) String
"Tibetan"
Block
Myanmar -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1000, Int
0x109f) String
"Myanmar"
Block
Georgian -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10a0, Int
0x10ff) String
"Georgian"
Block
HangulJamo -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1100, Int
0x11ff) String
"Hangul Jamo"
Block
Ethiopic -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1200, Int
0x137f) String
"Ethiopic"
Block
EthiopicSupplement -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1380, Int
0x139f) String
"Ethiopic Supplement"
Block
Cherokee -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x13a0, Int
0x13ff) String
"Cherokee"
Block
UnifiedCanadianAboriginalSyllabics -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1400, Int
0x167f) String
"Unified Canadian Aboriginal Syllabics"
Block
Ogham -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1680, Int
0x169f) String
"Ogham"
Block
Runic -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x16a0, Int
0x16ff) String
"Runic"
Block
Tagalog -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1700, Int
0x171f) String
"Tagalog"
Block
Hanunoo -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1720, Int
0x173f) String
"Hanunoo"
Block
Buhid -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1740, Int
0x175f) String
"Buhid"
Block
Tagbanwa -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1760, Int
0x177f) String
"Tagbanwa"
Block
Khmer -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1780, Int
0x17ff) String
"Khmer"
Block
Mongolian -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1800, Int
0x18af) String
"Mongolian"
Block
UnifiedCanadianAboriginalSyllabicsExtended -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x18b0, Int
0x18ff) String
"Unified Canadian Aboriginal Syllabics Extended"
Block
Limbu -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1900, Int
0x194f) String
"Limbu"
Block
TaiLe -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1950, Int
0x197f) String
"Tai Le"
Block
NewTaiLue -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1980, Int
0x19df) String
"New Tai Lue"
Block
KhmerSymbols -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x19e0, Int
0x19ff) String
"Khmer Symbols"
Block
Buginese -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1a00, Int
0x1a1f) String
"Buginese"
Block
TaiTham -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1a20, Int
0x1aaf) String
"Tai Tham"
Block
CombiningDiacriticalMarksExtended -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1ab0, Int
0x1aff) String
"Combining Diacritical Marks Extended"
Block
Balinese -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1b00, Int
0x1b7f) String
"Balinese"
Block
Sundanese -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1b80, Int
0x1bbf) String
"Sundanese"
Block
Batak -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1bc0, Int
0x1bff) String
"Batak"
Block
Lepcha -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1c00, Int
0x1c4f) String
"Lepcha"
Block
OlChiki -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1c50, Int
0x1c7f) String
"Ol Chiki"
Block
CyrillicExtendedC -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1c80, Int
0x1c8f) String
"Cyrillic Extended-C"
Block
GeorgianExtended -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1c90, Int
0x1cbf) String
"Georgian Extended"
Block
SundaneseSupplement -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1cc0, Int
0x1ccf) String
"Sundanese Supplement"
Block
VedicExtensions -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1cd0, Int
0x1cff) String
"Vedic Extensions"
Block
PhoneticExtensions -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1d00, Int
0x1d7f) String
"Phonetic Extensions"
Block
PhoneticExtensionsSupplement -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1d80, Int
0x1dbf) String
"Phonetic Extensions Supplement"
Block
CombiningDiacriticalMarksSupplement -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1dc0, Int
0x1dff) String
"Combining Diacritical Marks Supplement"
Block
LatinExtendedAdditional -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1e00, Int
0x1eff) String
"Latin Extended Additional"
Block
GreekExtended -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1f00, Int
0x1fff) String
"Greek Extended"
Block
GeneralPunctuation -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2000, Int
0x206f) String
"General Punctuation"
Block
SuperscriptsAndSubscripts -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2070, Int
0x209f) String
"Superscripts and Subscripts"
Block
CurrencySymbols -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x20a0, Int
0x20cf) String
"Currency Symbols"
Block
CombiningDiacriticalMarksForSymbols -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x20d0, Int
0x20ff) String
"Combining Diacritical Marks for Symbols"
Block
LetterlikeSymbols -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2100, Int
0x214f) String
"Letterlike Symbols"
Block
NumberForms -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2150, Int
0x218f) String
"Number Forms"
Block
Arrows -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2190, Int
0x21ff) String
"Arrows"
Block
MathematicalOperators -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2200, Int
0x22ff) String
"Mathematical Operators"
Block
MiscellaneousTechnical -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2300, Int
0x23ff) String
"Miscellaneous Technical"
Block
ControlPictures -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2400, Int
0x243f) String
"Control Pictures"
Block
OpticalCharacterRecognition -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2440, Int
0x245f) String
"Optical Character Recognition"
Block
EnclosedAlphanumerics -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2460, Int
0x24ff) String
"Enclosed Alphanumerics"
Block
BoxDrawing -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2500, Int
0x257f) String
"Box Drawing"
Block
BlockElements -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2580, Int
0x259f) String
"Block Elements"
Block
GeometricShapes -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x25a0, Int
0x25ff) String
"Geometric Shapes"
Block
MiscellaneousSymbols -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2600, Int
0x26ff) String
"Miscellaneous Symbols"
Block
Dingbats -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2700, Int
0x27bf) String
"Dingbats"
Block
MiscellaneousMathematicalSymbolsA -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x27c0, Int
0x27ef) String
"Miscellaneous Mathematical Symbols-A"
Block
SupplementalArrowsA -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x27f0, Int
0x27ff) String
"Supplemental Arrows-A"
Block
BraillePatterns -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2800, Int
0x28ff) String
"Braille Patterns"
Block
SupplementalArrowsB -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2900, Int
0x297f) String
"Supplemental Arrows-B"
Block
MiscellaneousMathematicalSymbolsB -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2980, Int
0x29ff) String
"Miscellaneous Mathematical Symbols-B"
Block
SupplementalMathematicalOperators -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2a00, Int
0x2aff) String
"Supplemental Mathematical Operators"
Block
MiscellaneousSymbolsAndArrows -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2b00, Int
0x2bff) String
"Miscellaneous Symbols and Arrows"
Block
Glagolitic -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2c00, Int
0x2c5f) String
"Glagolitic"
Block
LatinExtendedC -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2c60, Int
0x2c7f) String
"Latin Extended-C"
Block
Coptic -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2c80, Int
0x2cff) String
"Coptic"
Block
GeorgianSupplement -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2d00, Int
0x2d2f) String
"Georgian Supplement"
Block
Tifinagh -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2d30, Int
0x2d7f) String
"Tifinagh"
Block
EthiopicExtended -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2d80, Int
0x2ddf) String
"Ethiopic Extended"
Block
CyrillicExtendedA -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2de0, Int
0x2dff) String
"Cyrillic Extended-A"
Block
SupplementalPunctuation -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2e00, Int
0x2e7f) String
"Supplemental Punctuation"
Block
CJKRadicalsSupplement -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2e80, Int
0x2eff) String
"CJK Radicals Supplement"
Block
KangxiRadicals -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2f00, Int
0x2fdf) String
"Kangxi Radicals"
Block
IdeographicDescriptionCharacters -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2ff0, Int
0x2fff) String
"Ideographic Description Characters"
Block
CJKSymbolsAndPunctuation -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x3000, Int
0x303f) String
"CJK Symbols and Punctuation"
Block
Hiragana -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x3040, Int
0x309f) String
"Hiragana"
Block
Katakana -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x30a0, Int
0x30ff) String
"Katakana"
Block
Bopomofo -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x3100, Int
0x312f) String
"Bopomofo"
Block
HangulCompatibilityJamo -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x3130, Int
0x318f) String
"Hangul Compatibility Jamo"
Block
Kanbun -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x3190, Int
0x319f) String
"Kanbun"
Block
BopomofoExtended -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x31a0, Int
0x31bf) String
"Bopomofo Extended"
Block
CJKStrokes -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x31c0, Int
0x31ef) String
"CJK Strokes"
Block
KatakanaPhoneticExtensions -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x31f0, Int
0x31ff) String
"Katakana Phonetic Extensions"
Block
EnclosedCJKLettersAndMonths -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x3200, Int
0x32ff) String
"Enclosed CJK Letters and Months"
Block
CJKCompatibility -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x3300, Int
0x33ff) String
"CJK Compatibility"
Block
CJKUnifiedIdeographsExtensionA -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x3400, Int
0x4dbf) String
"CJK Unified Ideographs Extension A"
Block
YijingHexagramSymbols -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x4dc0, Int
0x4dff) String
"Yijing Hexagram Symbols"
Block
CJKUnifiedIdeographs -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x4e00, Int
0x9fff) String
"CJK Unified Ideographs"
Block
YiSyllables -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xa000, Int
0xa48f) String
"Yi Syllables"
Block
YiRadicals -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xa490, Int
0xa4cf) String
"Yi Radicals"
Block
Lisu -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xa4d0, Int
0xa4ff) String
"Lisu"
Block
Vai -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xa500, Int
0xa63f) String
"Vai"
Block
CyrillicExtendedB -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xa640, Int
0xa69f) String
"Cyrillic Extended-B"
Block
Bamum -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xa6a0, Int
0xa6ff) String
"Bamum"
Block
ModifierToneLetters -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xa700, Int
0xa71f) String
"Modifier Tone Letters"
Block
LatinExtendedD -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xa720, Int
0xa7ff) String
"Latin Extended-D"
Block
SylotiNagri -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xa800, Int
0xa82f) String
"Syloti Nagri"
Block
CommonIndicNumberForms -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xa830, Int
0xa83f) String
"Common Indic Number Forms"
Block
PhagsPa -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xa840, Int
0xa87f) String
"Phags-pa"
Block
Saurashtra -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xa880, Int
0xa8df) String
"Saurashtra"
Block
DevanagariExtended -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xa8e0, Int
0xa8ff) String
"Devanagari Extended"
Block
KayahLi -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xa900, Int
0xa92f) String
"Kayah Li"
Block
Rejang -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xa930, Int
0xa95f) String
"Rejang"
Block
HangulJamoExtendedA -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xa960, Int
0xa97f) String
"Hangul Jamo Extended-A"
Block
Javanese -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xa980, Int
0xa9df) String
"Javanese"
Block
MyanmarExtendedB -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xa9e0, Int
0xa9ff) String
"Myanmar Extended-B"
Block
Cham -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xaa00, Int
0xaa5f) String
"Cham"
Block
MyanmarExtendedA -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xaa60, Int
0xaa7f) String
"Myanmar Extended-A"
Block
TaiViet -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xaa80, Int
0xaadf) String
"Tai Viet"
Block
MeeteiMayekExtensions -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xaae0, Int
0xaaff) String
"Meetei Mayek Extensions"
Block
EthiopicExtendedA -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xab00, Int
0xab2f) String
"Ethiopic Extended-A"
Block
LatinExtendedE -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xab30, Int
0xab6f) String
"Latin Extended-E"
Block
CherokeeSupplement -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xab70, Int
0xabbf) String
"Cherokee Supplement"
Block
MeeteiMayek -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xabc0, Int
0xabff) String
"Meetei Mayek"
Block
HangulSyllables -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xac00, Int
0xd7af) String
"Hangul Syllables"
Block
HangulJamoExtendedB -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xd7b0, Int
0xd7ff) String
"Hangul Jamo Extended-B"
Block
HighSurrogates -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xd800, Int
0xdb7f) String
"High Surrogates"
Block
HighPrivateUseSurrogates -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xdb80, Int
0xdbff) String
"High Private Use Surrogates"
Block
LowSurrogates -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xdc00, Int
0xdfff) String
"Low Surrogates"
Block
PrivateUseArea -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xe000, Int
0xf8ff) String
"Private Use Area"
Block
CJKCompatibilityIdeographs -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xf900, Int
0xfaff) String
"CJK Compatibility Ideographs"
Block
AlphabeticPresentationForms -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xfb00, Int
0xfb4f) String
"Alphabetic Presentation Forms"
Block
ArabicPresentationFormsA -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xfb50, Int
0xfdff) String
"Arabic Presentation Forms-A"
Block
VariationSelectors -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xfe00, Int
0xfe0f) String
"Variation Selectors"
Block
VerticalForms -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xfe10, Int
0xfe1f) String
"Vertical Forms"
Block
CombiningHalfMarks -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xfe20, Int
0xfe2f) String
"Combining Half Marks"
Block
CJKCompatibilityForms -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xfe30, Int
0xfe4f) String
"CJK Compatibility Forms"
Block
SmallFormVariants -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xfe50, Int
0xfe6f) String
"Small Form Variants"
Block
ArabicPresentationFormsB -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xfe70, Int
0xfeff) String
"Arabic Presentation Forms-B"
Block
HalfwidthAndFullwidthForms -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xff00, Int
0xffef) String
"Halfwidth and Fullwidth Forms"
Block
Specials -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xfff0, Int
0xffff) String
"Specials"
Block
LinearBSyllabary -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10000, Int
0x1007f) String
"Linear B Syllabary"
Block
LinearBIdeograms -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10080, Int
0x100ff) String
"Linear B Ideograms"
Block
AegeanNumbers -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10100, Int
0x1013f) String
"Aegean Numbers"
Block
AncientGreekNumbers -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10140, Int
0x1018f) String
"Ancient Greek Numbers"
Block
AncientSymbols -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10190, Int
0x101cf) String
"Ancient Symbols"
Block
PhaistosDisc -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x101d0, Int
0x101ff) String
"Phaistos Disc"
Block
Lycian -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10280, Int
0x1029f) String
"Lycian"
Block
Carian -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x102a0, Int
0x102df) String
"Carian"
Block
CopticEpactNumbers -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x102e0, Int
0x102ff) String
"Coptic Epact Numbers"
Block
OldItalic -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10300, Int
0x1032f) String
"Old Italic"
Block
Gothic -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10330, Int
0x1034f) String
"Gothic"
Block
OldPermic -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10350, Int
0x1037f) String
"Old Permic"
Block
Ugaritic -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10380, Int
0x1039f) String
"Ugaritic"
Block
OldPersian -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x103a0, Int
0x103df) String
"Old Persian"
Block
Deseret -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10400, Int
0x1044f) String
"Deseret"
Block
Shavian -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10450, Int
0x1047f) String
"Shavian"
Block
Osmanya -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10480, Int
0x104af) String
"Osmanya"
Block
Osage -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x104b0, Int
0x104ff) String
"Osage"
Block
Elbasan -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10500, Int
0x1052f) String
"Elbasan"
Block
CaucasianAlbanian -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10530, Int
0x1056f) String
"Caucasian Albanian"
Block
Vithkuqi -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10570, Int
0x105bf) String
"Vithkuqi"
Block
LinearA -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10600, Int
0x1077f) String
"Linear A"
Block
LatinExtendedF -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10780, Int
0x107bf) String
"Latin Extended-F"
Block
CypriotSyllabary -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10800, Int
0x1083f) String
"Cypriot Syllabary"
Block
ImperialAramaic -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10840, Int
0x1085f) String
"Imperial Aramaic"
Block
Palmyrene -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10860, Int
0x1087f) String
"Palmyrene"
Block
Nabataean -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10880, Int
0x108af) String
"Nabataean"
Block
Hatran -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x108e0, Int
0x108ff) String
"Hatran"
Block
Phoenician -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10900, Int
0x1091f) String
"Phoenician"
Block
Lydian -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10920, Int
0x1093f) String
"Lydian"
Block
MeroiticHieroglyphs -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10980, Int
0x1099f) String
"Meroitic Hieroglyphs"
Block
MeroiticCursive -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x109a0, Int
0x109ff) String
"Meroitic Cursive"
Block
Kharoshthi -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10a00, Int
0x10a5f) String
"Kharoshthi"
Block
OldSouthArabian -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10a60, Int
0x10a7f) String
"Old South Arabian"
Block
OldNorthArabian -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10a80, Int
0x10a9f) String
"Old North Arabian"
Block
Manichaean -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10ac0, Int
0x10aff) String
"Manichaean"
Block
Avestan -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10b00, Int
0x10b3f) String
"Avestan"
Block
InscriptionalParthian -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10b40, Int
0x10b5f) String
"Inscriptional Parthian"
Block
InscriptionalPahlavi -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10b60, Int
0x10b7f) String
"Inscriptional Pahlavi"
Block
PsalterPahlavi -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10b80, Int
0x10baf) String
"Psalter Pahlavi"
Block
OldTurkic -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10c00, Int
0x10c4f) String
"Old Turkic"
Block
OldHungarian -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10c80, Int
0x10cff) String
"Old Hungarian"
Block
HanifiRohingya -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10d00, Int
0x10d3f) String
"Hanifi Rohingya"
Block
RumiNumeralSymbols -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10e60, Int
0x10e7f) String
"Rumi Numeral Symbols"
Block
Yezidi -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10e80, Int
0x10ebf) String
"Yezidi"
Block
ArabicExtendedC -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10ec0, Int
0x10eff) String
"Arabic Extended-C"
Block
OldSogdian -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10f00, Int
0x10f2f) String
"Old Sogdian"
Block
Sogdian -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10f30, Int
0x10f6f) String
"Sogdian"
Block
OldUyghur -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10f70, Int
0x10faf) String
"Old Uyghur"
Block
Chorasmian -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10fb0, Int
0x10fdf) String
"Chorasmian"
Block
Elymaic -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x10fe0, Int
0x10fff) String
"Elymaic"
Block
Brahmi -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11000, Int
0x1107f) String
"Brahmi"
Block
Kaithi -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11080, Int
0x110cf) String
"Kaithi"
Block
SoraSompeng -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x110d0, Int
0x110ff) String
"Sora Sompeng"
Block
Chakma -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11100, Int
0x1114f) String
"Chakma"
Block
Mahajani -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11150, Int
0x1117f) String
"Mahajani"
Block
Sharada -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11180, Int
0x111df) String
"Sharada"
Block
SinhalaArchaicNumbers -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x111e0, Int
0x111ff) String
"Sinhala Archaic Numbers"
Block
Khojki -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11200, Int
0x1124f) String
"Khojki"
Block
Multani -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11280, Int
0x112af) String
"Multani"
Block
Khudawadi -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x112b0, Int
0x112ff) String
"Khudawadi"
Block
Grantha -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11300, Int
0x1137f) String
"Grantha"
Block
Newa -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11400, Int
0x1147f) String
"Newa"
Block
Tirhuta -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11480, Int
0x114df) String
"Tirhuta"
Block
Siddham -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11580, Int
0x115ff) String
"Siddham"
Block
Modi -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11600, Int
0x1165f) String
"Modi"
Block
MongolianSupplement -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11660, Int
0x1167f) String
"Mongolian Supplement"
Block
Takri -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11680, Int
0x116cf) String
"Takri"
Block
Ahom -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11700, Int
0x1174f) String
"Ahom"
Block
Dogra -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11800, Int
0x1184f) String
"Dogra"
Block
WarangCiti -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x118a0, Int
0x118ff) String
"Warang Citi"
Block
DivesAkuru -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11900, Int
0x1195f) String
"Dives Akuru"
Block
Nandinagari -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x119a0, Int
0x119ff) String
"Nandinagari"
Block
ZanabazarSquare -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11a00, Int
0x11a4f) String
"Zanabazar Square"
Block
Soyombo -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11a50, Int
0x11aaf) String
"Soyombo"
Block
UnifiedCanadianAboriginalSyllabicsExtendedA -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11ab0, Int
0x11abf) String
"Unified Canadian Aboriginal Syllabics Extended-A"
Block
PauCinHau -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11ac0, Int
0x11aff) String
"Pau Cin Hau"
Block
DevanagariExtendedA -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11b00, Int
0x11b5f) String
"Devanagari Extended-A"
Block
Bhaiksuki -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11c00, Int
0x11c6f) String
"Bhaiksuki"
Block
Marchen -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11c70, Int
0x11cbf) String
"Marchen"
Block
MasaramGondi -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11d00, Int
0x11d5f) String
"Masaram Gondi"
Block
GunjalaGondi -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11d60, Int
0x11daf) String
"Gunjala Gondi"
Block
Makasar -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11ee0, Int
0x11eff) String
"Makasar"
Block
Kawi -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11f00, Int
0x11f5f) String
"Kawi"
Block
LisuSupplement -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11fb0, Int
0x11fbf) String
"Lisu Supplement"
Block
TamilSupplement -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x11fc0, Int
0x11fff) String
"Tamil Supplement"
Block
Cuneiform -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x12000, Int
0x123ff) String
"Cuneiform"
Block
CuneiformNumbersAndPunctuation -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x12400, Int
0x1247f) String
"Cuneiform Numbers and Punctuation"
Block
EarlyDynasticCuneiform -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x12480, Int
0x1254f) String
"Early Dynastic Cuneiform"
Block
CyproMinoan -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x12f90, Int
0x12fff) String
"Cypro-Minoan"
Block
EgyptianHieroglyphs -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x13000, Int
0x1342f) String
"Egyptian Hieroglyphs"
Block
EgyptianHieroglyphFormatControls -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x13430, Int
0x1345f) String
"Egyptian Hieroglyph Format Controls"
Block
AnatolianHieroglyphs -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x14400, Int
0x1467f) String
"Anatolian Hieroglyphs"
Block
BamumSupplement -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x16800, Int
0x16a3f) String
"Bamum Supplement"
Block
Mro -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x16a40, Int
0x16a6f) String
"Mro"
Block
Tangsa -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x16a70, Int
0x16acf) String
"Tangsa"
Block
BassaVah -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x16ad0, Int
0x16aff) String
"Bassa Vah"
Block
PahawhHmong -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x16b00, Int
0x16b8f) String
"Pahawh Hmong"
Block
Medefaidrin -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x16e40, Int
0x16e9f) String
"Medefaidrin"
Block
Miao -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x16f00, Int
0x16f9f) String
"Miao"
Block
IdeographicSymbolsAndPunctuation -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x16fe0, Int
0x16fff) String
"Ideographic Symbols and Punctuation"
Block
Tangut -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x17000, Int
0x187ff) String
"Tangut"
Block
TangutComponents -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x18800, Int
0x18aff) String
"Tangut Components"
Block
KhitanSmallScript -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x18b00, Int
0x18cff) String
"Khitan Small Script"
Block
TangutSupplement -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x18d00, Int
0x18d7f) String
"Tangut Supplement"
Block
KanaExtendedB -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1aff0, Int
0x1afff) String
"Kana Extended-B"
Block
KanaSupplement -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1b000, Int
0x1b0ff) String
"Kana Supplement"
Block
KanaExtendedA -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1b100, Int
0x1b12f) String
"Kana Extended-A"
Block
SmallKanaExtension -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1b130, Int
0x1b16f) String
"Small Kana Extension"
Block
Nushu -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1b170, Int
0x1b2ff) String
"Nushu"
Block
Duployan -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1bc00, Int
0x1bc9f) String
"Duployan"
Block
ShorthandFormatControls -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1bca0, Int
0x1bcaf) String
"Shorthand Format Controls"
Block
ZnamennyMusicalNotation -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1cf00, Int
0x1cfcf) String
"Znamenny Musical Notation"
Block
ByzantineMusicalSymbols -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1d000, Int
0x1d0ff) String
"Byzantine Musical Symbols"
Block
MusicalSymbols -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1d100, Int
0x1d1ff) String
"Musical Symbols"
Block
AncientGreekMusicalNotation -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1d200, Int
0x1d24f) String
"Ancient Greek Musical Notation"
Block
KaktovikNumerals -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1d2c0, Int
0x1d2df) String
"Kaktovik Numerals"
Block
MayanNumerals -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1d2e0, Int
0x1d2ff) String
"Mayan Numerals"
Block
TaiXuanJingSymbols -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1d300, Int
0x1d35f) String
"Tai Xuan Jing Symbols"
Block
CountingRodNumerals -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1d360, Int
0x1d37f) String
"Counting Rod Numerals"
Block
MathematicalAlphanumericSymbols -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1d400, Int
0x1d7ff) String
"Mathematical Alphanumeric Symbols"
Block
SuttonSignWriting -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1d800, Int
0x1daaf) String
"Sutton SignWriting"
Block
LatinExtendedG -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1df00, Int
0x1dfff) String
"Latin Extended-G"
Block
GlagoliticSupplement -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1e000, Int
0x1e02f) String
"Glagolitic Supplement"
Block
CyrillicExtendedD -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1e030, Int
0x1e08f) String
"Cyrillic Extended-D"
Block
NyiakengPuachueHmong -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1e100, Int
0x1e14f) String
"Nyiakeng Puachue Hmong"
Block
Toto -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1e290, Int
0x1e2bf) String
"Toto"
Block
Wancho -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1e2c0, Int
0x1e2ff) String
"Wancho"
Block
NagMundari -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1e4d0, Int
0x1e4ff) String
"Nag Mundari"
Block
EthiopicExtendedB -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1e7e0, Int
0x1e7ff) String
"Ethiopic Extended-B"
Block
MendeKikakui -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1e800, Int
0x1e8df) String
"Mende Kikakui"
Block
Adlam -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1e900, Int
0x1e95f) String
"Adlam"
Block
IndicSiyaqNumbers -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1ec70, Int
0x1ecbf) String
"Indic Siyaq Numbers"
Block
OttomanSiyaqNumbers -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1ed00, Int
0x1ed4f) String
"Ottoman Siyaq Numbers"
Block
ArabicMathematicalAlphabeticSymbols -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1ee00, Int
0x1eeff) String
"Arabic Mathematical Alphabetic Symbols"
Block
MahjongTiles -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1f000, Int
0x1f02f) String
"Mahjong Tiles"
Block
DominoTiles -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1f030, Int
0x1f09f) String
"Domino Tiles"
Block
PlayingCards -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1f0a0, Int
0x1f0ff) String
"Playing Cards"
Block
EnclosedAlphanumericSupplement -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1f100, Int
0x1f1ff) String
"Enclosed Alphanumeric Supplement"
Block
EnclosedIdeographicSupplement -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1f200, Int
0x1f2ff) String
"Enclosed Ideographic Supplement"
Block
MiscellaneousSymbolsAndPictographs -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1f300, Int
0x1f5ff) String
"Miscellaneous Symbols and Pictographs"
Block
Emoticons -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1f600, Int
0x1f64f) String
"Emoticons"
Block
OrnamentalDingbats -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1f650, Int
0x1f67f) String
"Ornamental Dingbats"
Block
TransportAndMapSymbols -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1f680, Int
0x1f6ff) String
"Transport and Map Symbols"
Block
AlchemicalSymbols -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1f700, Int
0x1f77f) String
"Alchemical Symbols"
Block
GeometricShapesExtended -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1f780, Int
0x1f7ff) String
"Geometric Shapes Extended"
Block
SupplementalArrowsC -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1f800, Int
0x1f8ff) String
"Supplemental Arrows-C"
Block
SupplementalSymbolsAndPictographs -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1f900, Int
0x1f9ff) String
"Supplemental Symbols and Pictographs"
Block
ChessSymbols -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1fa00, Int
0x1fa6f) String
"Chess Symbols"
Block
SymbolsAndPictographsExtendedA -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1fa70, Int
0x1faff) String
"Symbols and Pictographs Extended-A"
Block
SymbolsForLegacyComputing -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x1fb00, Int
0x1fbff) String
"Symbols for Legacy Computing"
Block
CJKUnifiedIdeographsExtensionB -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x20000, Int
0x2a6df) String
"CJK Unified Ideographs Extension B"
Block
CJKUnifiedIdeographsExtensionC -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2a700, Int
0x2b73f) String
"CJK Unified Ideographs Extension C"
Block
CJKUnifiedIdeographsExtensionD -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2b740, Int
0x2b81f) String
"CJK Unified Ideographs Extension D"
Block
CJKUnifiedIdeographsExtensionE -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2b820, Int
0x2ceaf) String
"CJK Unified Ideographs Extension E"
Block
CJKUnifiedIdeographsExtensionF -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2ceb0, Int
0x2ebef) String
"CJK Unified Ideographs Extension F"
Block
CJKCompatibilityIdeographsSupplement -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x2f800, Int
0x2fa1f) String
"CJK Compatibility Ideographs Supplement"
Block
CJKUnifiedIdeographsExtensionG -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x30000, Int
0x3134f) String
"CJK Unified Ideographs Extension G"
Block
CJKUnifiedIdeographsExtensionH -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x31350, Int
0x323af) String
"CJK Unified Ideographs Extension H"
Block
Tags -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xe0000, Int
0xe007f) String
"Tags"
Block
VariationSelectorsSupplement -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xe0100, Int
0xe01ef) String
"Variation Selectors Supplement"
Block
SupplementaryPrivateUseAreaA -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0xf0000, Int
0xfffff) String
"Supplementary Private Use Area-A"
Block
SupplementaryPrivateUseAreaB -> (Int, Int) -> String -> BlockDefinition
BlockDefinition (Int
0x100000, Int
0x10ffff) String
"Supplementary Private Use Area-B"
block :: Char -> Maybe Int
block :: Char -> Maybe Int
block (C# Char#
c#) = Int# -> Int# -> Maybe Int
getBlock Int#
0# Int#
326#
where
cp# :: Word#
cp# = Int# -> Word#
int2Word# (Char# -> Int#
ord# Char#
c#)
getBlock :: Int# -> Int# -> Maybe Int
getBlock Int#
l# Int#
u# = if Int# -> Bool
isTrue# (Int#
l# Int# -> Int# -> Int#
># Int#
u#)
then Maybe Int
forall a. Maybe a
Nothing
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# -> Maybe 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# -> Maybe 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 Int -> Maybe Int
forall a. a -> Maybe a
Just (Int# -> Int
I# (Word# -> Int#
word2Int# Word#
block#))
getRawCodePoint# :: Int# -> Word#
getRawCodePoint# Int#
k# =
#ifdef WORDS_BIGENDIAN
#if MIN_VERSION_base(4,16,0)
narrow32Word# (byteSwap32# (word32ToWord# (indexWord32OffAddr# ranges# k#)))
#else
narrow32Word# (byteSwap32# (indexWord32OffAddr# ranges# k#))
#endif
#elif MIN_VERSION_base(4,16,0)
Word32# -> Word#
word32ToWord# (Addr# -> Int# -> Word32#
indexWord32OffAddr# Addr#
ranges# Int#
k#)
#else
indexWord32OffAddr# ranges# k#
#endif
ranges# :: Addr#
ranges# = 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\0\248\2\40\31\250\2\0\0\0\35\40\79\19\3\0\80\19\67\40\175\35\3\0\0\0\110\40\127\0\14\0\0\1\142\40\239\1\14\0\0\0\175\40\255\255\15\0\0\0\208\40\255\255\16\0"#