-- ------------------------------------------------------------ {- | Module : Data.Char.Properties.UnicodeBlocks Copyright : Copyright (C) 2010- Uwe Schmidt License : MIT Maintainer : Uwe Schmidt (uwe@fh-wedel.de) Stability : stable Portability: portable Unicode Code Blocks don't edit this module it's generated from 'http:\/\/www.unicode.org\/Public\/UNIDATA\/Blocks.txt' -} -- ------------------------------------------------------------ module Data.Char.Properties.UnicodeBlocks ( codeBlocks , elemCodeBlock , versionUnicode , isBasicLatin , isLatin1Supplement , isLatinExtendedA , isLatinExtendedB , isIPAExtensions , isSpacingModifierLetters , isCombiningDiacriticalMarks , isGreekandCoptic , isCyrillic , isCyrillicSupplement , isArmenian , isHebrew , isArabic , isSyriac , isArabicSupplement , isThaana , isNKo , isSamaritan , isMandaic , isArabicExtendedA , isDevanagari , isBengali , isGurmukhi , isGujarati , isOriya , isTamil , isTelugu , isKannada , isMalayalam , isSinhala , isThai , isLao , isTibetan , isMyanmar , isGeorgian , isHangulJamo , isEthiopic , isEthiopicSupplement , isCherokee , isUnifiedCanadianAboriginalSyllabics , isOgham , isRunic , isTagalog , isHanunoo , isBuhid , isTagbanwa , isKhmer , isMongolian , isUnifiedCanadianAboriginalSyllabicsExtended , isLimbu , isTaiLe , isNewTaiLue , isKhmerSymbols , isBuginese , isTaiTham , isCombiningDiacriticalMarksExtended , isBalinese , isSundanese , isBatak , isLepcha , isOlChiki , isSundaneseSupplement , isVedicExtensions , isPhoneticExtensions , isPhoneticExtensionsSupplement , isCombiningDiacriticalMarksSupplement , isLatinExtendedAdditional , isGreekExtended , isGeneralPunctuation , isSuperscriptsandSubscripts , isCurrencySymbols , isCombiningDiacriticalMarksforSymbols , isLetterlikeSymbols , isNumberForms , isArrows , isMathematicalOperators , isMiscellaneousTechnical , isControlPictures , isOpticalCharacterRecognition , isEnclosedAlphanumerics , isBoxDrawing , isBlockElements , isGeometricShapes , isMiscellaneousSymbols , isDingbats , isMiscellaneousMathematicalSymbolsA , isSupplementalArrowsA , isBraillePatterns , isSupplementalArrowsB , isMiscellaneousMathematicalSymbolsB , isSupplementalMathematicalOperators , isMiscellaneousSymbolsandArrows , isGlagolitic , isLatinExtendedC , isCoptic , isGeorgianSupplement , isTifinagh , isEthiopicExtended , isCyrillicExtendedA , isSupplementalPunctuation , isCJKRadicalsSupplement , isKangxiRadicals , isIdeographicDescriptionCharacters , isCJKSymbolsandPunctuation , isHiragana , isKatakana , isBopomofo , isHangulCompatibilityJamo , isKanbun , isBopomofoExtended , isCJKStrokes , isKatakanaPhoneticExtensions , isEnclosedCJKLettersandMonths , isCJKCompatibility , isCJKUnifiedIdeographsExtensionA , isYijingHexagramSymbols , isCJKUnifiedIdeographs , isYiSyllables , isYiRadicals , isLisu , isVai , isCyrillicExtendedB , isBamum , isModifierToneLetters , isLatinExtendedD , isSylotiNagri , isCommonIndicNumberForms , isPhagspa , isSaurashtra , isDevanagariExtended , isKayahLi , isRejang , isHangulJamoExtendedA , isJavanese , isMyanmarExtendedB , isCham , isMyanmarExtendedA , isTaiViet , isMeeteiMayekExtensions , isEthiopicExtendedA , isLatinExtendedE , isMeeteiMayek , isHangulSyllables , isHangulJamoExtendedB , isHighSurrogates , isHighPrivateUseSurrogates , isLowSurrogates , isPrivateUseArea , isCJKCompatibilityIdeographs , isAlphabeticPresentationForms , isArabicPresentationFormsA , isVariationSelectors , isVerticalForms , isCombiningHalfMarks , isCJKCompatibilityForms , isSmallFormVariants , isArabicPresentationFormsB , isHalfwidthandFullwidthForms , isSpecials , isLinearBSyllabary , isLinearBIdeograms , isAegeanNumbers , isAncientGreekNumbers , isAncientSymbols , isPhaistosDisc , isLycian , isCarian , isCopticEpactNumbers , isOldItalic , isGothic , isOldPermic , isUgaritic , isOldPersian , isDeseret , isShavian , isOsmanya , isElbasan , isCaucasianAlbanian , isLinearA , isCypriotSyllabary , isImperialAramaic , isPalmyrene , isNabataean , isPhoenician , isLydian , isMeroiticHieroglyphs , isMeroiticCursive , isKharoshthi , isOldSouthArabian , isOldNorthArabian , isManichaean , isAvestan , isInscriptionalParthian , isInscriptionalPahlavi , isPsalterPahlavi , isOldTurkic , isRumiNumeralSymbols , isBrahmi , isKaithi , isSoraSompeng , isChakma , isMahajani , isSharada , isSinhalaArchaicNumbers , isKhojki , isKhudawadi , isGrantha , isTirhuta , isSiddham , isModi , isTakri , isWarangCiti , isPauCinHau , isCuneiform , isCuneiformNumbersandPunctuation , isEgyptianHieroglyphs , isBamumSupplement , isMro , isBassaVah , isPahawhHmong , isMiao , isKanaSupplement , isDuployan , isShorthandFormatControls , isByzantineMusicalSymbols , isMusicalSymbols , isAncientGreekMusicalNotation , isTaiXuanJingSymbols , isCountingRodNumerals , isMathematicalAlphanumericSymbols , isMendeKikakui , isArabicMathematicalAlphabeticSymbols , isMahjongTiles , isDominoTiles , isPlayingCards , isEnclosedAlphanumericSupplement , isEnclosedIdeographicSupplement , isMiscellaneousSymbolsandPictographs , isEmoticons , isOrnamentalDingbats , isTransportandMapSymbols , isAlchemicalSymbols , isGeometricShapesExtended , isSupplementalArrowsC , isCJKUnifiedIdeographsExtensionB , isCJKUnifiedIdeographsExtensionC , isCJKUnifiedIdeographsExtensionD , isCJKCompatibilityIdeographsSupplement , isTags , isVariationSelectorsSupplement , isSupplementaryPrivateUseAreaA , isSupplementaryPrivateUseAreaB ) where -- ------------------------------------------------------------ versionUnicode :: String versionUnicode = "7.0.0" elemCodeBlock :: Char -> String -> Bool elemCodeBlock c b = maybe False (\ (lb, ub) -> c >= lb && c <= ub) $ lookup b codeBlocks codeBlocks :: [(String, (Char, Char))] codeBlocks = [ ( "BasicLatin", ( '\x0000', '\x007F') ) , ( "Latin-1Supplement", ( '\x0080', '\x00FF') ) , ( "LatinExtended-A", ( '\x0100', '\x017F') ) , ( "LatinExtended-B", ( '\x0180', '\x024F') ) , ( "IPAExtensions", ( '\x0250', '\x02AF') ) , ( "SpacingModifierLetters", ( '\x02B0', '\x02FF') ) , ( "CombiningDiacriticalMarks", ( '\x0300', '\x036F') ) , ( "GreekandCoptic", ( '\x0370', '\x03FF') ) , ( "Cyrillic", ( '\x0400', '\x04FF') ) , ( "CyrillicSupplement", ( '\x0500', '\x052F') ) , ( "Armenian", ( '\x0530', '\x058F') ) , ( "Hebrew", ( '\x0590', '\x05FF') ) , ( "Arabic", ( '\x0600', '\x06FF') ) , ( "Syriac", ( '\x0700', '\x074F') ) , ( "ArabicSupplement", ( '\x0750', '\x077F') ) , ( "Thaana", ( '\x0780', '\x07BF') ) , ( "NKo", ( '\x07C0', '\x07FF') ) , ( "Samaritan", ( '\x0800', '\x083F') ) , ( "Mandaic", ( '\x0840', '\x085F') ) , ( "ArabicExtended-A", ( '\x08A0', '\x08FF') ) , ( "Devanagari", ( '\x0900', '\x097F') ) , ( "Bengali", ( '\x0980', '\x09FF') ) , ( "Gurmukhi", ( '\x0A00', '\x0A7F') ) , ( "Gujarati", ( '\x0A80', '\x0AFF') ) , ( "Oriya", ( '\x0B00', '\x0B7F') ) , ( "Tamil", ( '\x0B80', '\x0BFF') ) , ( "Telugu", ( '\x0C00', '\x0C7F') ) , ( "Kannada", ( '\x0C80', '\x0CFF') ) , ( "Malayalam", ( '\x0D00', '\x0D7F') ) , ( "Sinhala", ( '\x0D80', '\x0DFF') ) , ( "Thai", ( '\x0E00', '\x0E7F') ) , ( "Lao", ( '\x0E80', '\x0EFF') ) , ( "Tibetan", ( '\x0F00', '\x0FFF') ) , ( "Myanmar", ( '\x1000', '\x109F') ) , ( "Georgian", ( '\x10A0', '\x10FF') ) , ( "HangulJamo", ( '\x1100', '\x11FF') ) , ( "Ethiopic", ( '\x1200', '\x137F') ) , ( "EthiopicSupplement", ( '\x1380', '\x139F') ) , ( "Cherokee", ( '\x13A0', '\x13FF') ) , ( "UnifiedCanadianAboriginalSyllabics", ( '\x1400', '\x167F') ) , ( "Ogham", ( '\x1680', '\x169F') ) , ( "Runic", ( '\x16A0', '\x16FF') ) , ( "Tagalog", ( '\x1700', '\x171F') ) , ( "Hanunoo", ( '\x1720', '\x173F') ) , ( "Buhid", ( '\x1740', '\x175F') ) , ( "Tagbanwa", ( '\x1760', '\x177F') ) , ( "Khmer", ( '\x1780', '\x17FF') ) , ( "Mongolian", ( '\x1800', '\x18AF') ) , ( "UnifiedCanadianAboriginalSyllabicsExtended", ( '\x18B0', '\x18FF') ) , ( "Limbu", ( '\x1900', '\x194F') ) , ( "TaiLe", ( '\x1950', '\x197F') ) , ( "NewTaiLue", ( '\x1980', '\x19DF') ) , ( "KhmerSymbols", ( '\x19E0', '\x19FF') ) , ( "Buginese", ( '\x1A00', '\x1A1F') ) , ( "TaiTham", ( '\x1A20', '\x1AAF') ) , ( "CombiningDiacriticalMarksExtended", ( '\x1AB0', '\x1AFF') ) , ( "Balinese", ( '\x1B00', '\x1B7F') ) , ( "Sundanese", ( '\x1B80', '\x1BBF') ) , ( "Batak", ( '\x1BC0', '\x1BFF') ) , ( "Lepcha", ( '\x1C00', '\x1C4F') ) , ( "OlChiki", ( '\x1C50', '\x1C7F') ) , ( "SundaneseSupplement", ( '\x1CC0', '\x1CCF') ) , ( "VedicExtensions", ( '\x1CD0', '\x1CFF') ) , ( "PhoneticExtensions", ( '\x1D00', '\x1D7F') ) , ( "PhoneticExtensionsSupplement", ( '\x1D80', '\x1DBF') ) , ( "CombiningDiacriticalMarksSupplement", ( '\x1DC0', '\x1DFF') ) , ( "LatinExtendedAdditional", ( '\x1E00', '\x1EFF') ) , ( "GreekExtended", ( '\x1F00', '\x1FFF') ) , ( "GeneralPunctuation", ( '\x2000', '\x206F') ) , ( "SuperscriptsandSubscripts", ( '\x2070', '\x209F') ) , ( "CurrencySymbols", ( '\x20A0', '\x20CF') ) , ( "CombiningDiacriticalMarksforSymbols", ( '\x20D0', '\x20FF') ) , ( "LetterlikeSymbols", ( '\x2100', '\x214F') ) , ( "NumberForms", ( '\x2150', '\x218F') ) , ( "Arrows", ( '\x2190', '\x21FF') ) , ( "MathematicalOperators", ( '\x2200', '\x22FF') ) , ( "MiscellaneousTechnical", ( '\x2300', '\x23FF') ) , ( "ControlPictures", ( '\x2400', '\x243F') ) , ( "OpticalCharacterRecognition", ( '\x2440', '\x245F') ) , ( "EnclosedAlphanumerics", ( '\x2460', '\x24FF') ) , ( "BoxDrawing", ( '\x2500', '\x257F') ) , ( "BlockElements", ( '\x2580', '\x259F') ) , ( "GeometricShapes", ( '\x25A0', '\x25FF') ) , ( "MiscellaneousSymbols", ( '\x2600', '\x26FF') ) , ( "Dingbats", ( '\x2700', '\x27BF') ) , ( "MiscellaneousMathematicalSymbols-A", ( '\x27C0', '\x27EF') ) , ( "SupplementalArrows-A", ( '\x27F0', '\x27FF') ) , ( "BraillePatterns", ( '\x2800', '\x28FF') ) , ( "SupplementalArrows-B", ( '\x2900', '\x297F') ) , ( "MiscellaneousMathematicalSymbols-B", ( '\x2980', '\x29FF') ) , ( "SupplementalMathematicalOperators", ( '\x2A00', '\x2AFF') ) , ( "MiscellaneousSymbolsandArrows", ( '\x2B00', '\x2BFF') ) , ( "Glagolitic", ( '\x2C00', '\x2C5F') ) , ( "LatinExtended-C", ( '\x2C60', '\x2C7F') ) , ( "Coptic", ( '\x2C80', '\x2CFF') ) , ( "GeorgianSupplement", ( '\x2D00', '\x2D2F') ) , ( "Tifinagh", ( '\x2D30', '\x2D7F') ) , ( "EthiopicExtended", ( '\x2D80', '\x2DDF') ) , ( "CyrillicExtended-A", ( '\x2DE0', '\x2DFF') ) , ( "SupplementalPunctuation", ( '\x2E00', '\x2E7F') ) , ( "CJKRadicalsSupplement", ( '\x2E80', '\x2EFF') ) , ( "KangxiRadicals", ( '\x2F00', '\x2FDF') ) , ( "IdeographicDescriptionCharacters", ( '\x2FF0', '\x2FFF') ) , ( "CJKSymbolsandPunctuation", ( '\x3000', '\x303F') ) , ( "Hiragana", ( '\x3040', '\x309F') ) , ( "Katakana", ( '\x30A0', '\x30FF') ) , ( "Bopomofo", ( '\x3100', '\x312F') ) , ( "HangulCompatibilityJamo", ( '\x3130', '\x318F') ) , ( "Kanbun", ( '\x3190', '\x319F') ) , ( "BopomofoExtended", ( '\x31A0', '\x31BF') ) , ( "CJKStrokes", ( '\x31C0', '\x31EF') ) , ( "KatakanaPhoneticExtensions", ( '\x31F0', '\x31FF') ) , ( "EnclosedCJKLettersandMonths", ( '\x3200', '\x32FF') ) , ( "CJKCompatibility", ( '\x3300', '\x33FF') ) , ( "CJKUnifiedIdeographsExtensionA", ( '\x3400', '\x4DBF') ) , ( "YijingHexagramSymbols", ( '\x4DC0', '\x4DFF') ) , ( "CJKUnifiedIdeographs", ( '\x4E00', '\x9FFF') ) , ( "YiSyllables", ( '\xA000', '\xA48F') ) , ( "YiRadicals", ( '\xA490', '\xA4CF') ) , ( "Lisu", ( '\xA4D0', '\xA4FF') ) , ( "Vai", ( '\xA500', '\xA63F') ) , ( "CyrillicExtended-B", ( '\xA640', '\xA69F') ) , ( "Bamum", ( '\xA6A0', '\xA6FF') ) , ( "ModifierToneLetters", ( '\xA700', '\xA71F') ) , ( "LatinExtended-D", ( '\xA720', '\xA7FF') ) , ( "SylotiNagri", ( '\xA800', '\xA82F') ) , ( "CommonIndicNumberForms", ( '\xA830', '\xA83F') ) , ( "Phags-pa", ( '\xA840', '\xA87F') ) , ( "Saurashtra", ( '\xA880', '\xA8DF') ) , ( "DevanagariExtended", ( '\xA8E0', '\xA8FF') ) , ( "KayahLi", ( '\xA900', '\xA92F') ) , ( "Rejang", ( '\xA930', '\xA95F') ) , ( "HangulJamoExtended-A", ( '\xA960', '\xA97F') ) , ( "Javanese", ( '\xA980', '\xA9DF') ) , ( "MyanmarExtended-B", ( '\xA9E0', '\xA9FF') ) , ( "Cham", ( '\xAA00', '\xAA5F') ) , ( "MyanmarExtended-A", ( '\xAA60', '\xAA7F') ) , ( "TaiViet", ( '\xAA80', '\xAADF') ) , ( "MeeteiMayekExtensions", ( '\xAAE0', '\xAAFF') ) , ( "EthiopicExtended-A", ( '\xAB00', '\xAB2F') ) , ( "LatinExtended-E", ( '\xAB30', '\xAB6F') ) , ( "MeeteiMayek", ( '\xABC0', '\xABFF') ) , ( "HangulSyllables", ( '\xAC00', '\xD7AF') ) , ( "HangulJamoExtended-B", ( '\xD7B0', '\xD7FF') ) , ( "HighSurrogates", ( '\xD800', '\xDB7F') ) , ( "HighPrivateUseSurrogates", ( '\xDB80', '\xDBFF') ) , ( "LowSurrogates", ( '\xDC00', '\xDFFF') ) , ( "PrivateUseArea", ( '\xE000', '\xF8FF') ) , ( "CJKCompatibilityIdeographs", ( '\xF900', '\xFAFF') ) , ( "AlphabeticPresentationForms", ( '\xFB00', '\xFB4F') ) , ( "ArabicPresentationForms-A", ( '\xFB50', '\xFDFF') ) , ( "VariationSelectors", ( '\xFE00', '\xFE0F') ) , ( "VerticalForms", ( '\xFE10', '\xFE1F') ) , ( "CombiningHalfMarks", ( '\xFE20', '\xFE2F') ) , ( "CJKCompatibilityForms", ( '\xFE30', '\xFE4F') ) , ( "SmallFormVariants", ( '\xFE50', '\xFE6F') ) , ( "ArabicPresentationForms-B", ( '\xFE70', '\xFEFF') ) , ( "HalfwidthandFullwidthForms", ( '\xFF00', '\xFFEF') ) , ( "Specials", ( '\xFFF0', '\xFFFF') ) , ( "LinearBSyllabary", ( '\x10000', '\x1007F') ) , ( "LinearBIdeograms", ( '\x10080', '\x100FF') ) , ( "AegeanNumbers", ( '\x10100', '\x1013F') ) , ( "AncientGreekNumbers", ( '\x10140', '\x1018F') ) , ( "AncientSymbols", ( '\x10190', '\x101CF') ) , ( "PhaistosDisc", ( '\x101D0', '\x101FF') ) , ( "Lycian", ( '\x10280', '\x1029F') ) , ( "Carian", ( '\x102A0', '\x102DF') ) , ( "CopticEpactNumbers", ( '\x102E0', '\x102FF') ) , ( "OldItalic", ( '\x10300', '\x1032F') ) , ( "Gothic", ( '\x10330', '\x1034F') ) , ( "OldPermic", ( '\x10350', '\x1037F') ) , ( "Ugaritic", ( '\x10380', '\x1039F') ) , ( "OldPersian", ( '\x103A0', '\x103DF') ) , ( "Deseret", ( '\x10400', '\x1044F') ) , ( "Shavian", ( '\x10450', '\x1047F') ) , ( "Osmanya", ( '\x10480', '\x104AF') ) , ( "Elbasan", ( '\x10500', '\x1052F') ) , ( "CaucasianAlbanian", ( '\x10530', '\x1056F') ) , ( "LinearA", ( '\x10600', '\x1077F') ) , ( "CypriotSyllabary", ( '\x10800', '\x1083F') ) , ( "ImperialAramaic", ( '\x10840', '\x1085F') ) , ( "Palmyrene", ( '\x10860', '\x1087F') ) , ( "Nabataean", ( '\x10880', '\x108AF') ) , ( "Phoenician", ( '\x10900', '\x1091F') ) , ( "Lydian", ( '\x10920', '\x1093F') ) , ( "MeroiticHieroglyphs", ( '\x10980', '\x1099F') ) , ( "MeroiticCursive", ( '\x109A0', '\x109FF') ) , ( "Kharoshthi", ( '\x10A00', '\x10A5F') ) , ( "OldSouthArabian", ( '\x10A60', '\x10A7F') ) , ( "OldNorthArabian", ( '\x10A80', '\x10A9F') ) , ( "Manichaean", ( '\x10AC0', '\x10AFF') ) , ( "Avestan", ( '\x10B00', '\x10B3F') ) , ( "InscriptionalParthian", ( '\x10B40', '\x10B5F') ) , ( "InscriptionalPahlavi", ( '\x10B60', '\x10B7F') ) , ( "PsalterPahlavi", ( '\x10B80', '\x10BAF') ) , ( "OldTurkic", ( '\x10C00', '\x10C4F') ) , ( "RumiNumeralSymbols", ( '\x10E60', '\x10E7F') ) , ( "Brahmi", ( '\x11000', '\x1107F') ) , ( "Kaithi", ( '\x11080', '\x110CF') ) , ( "SoraSompeng", ( '\x110D0', '\x110FF') ) , ( "Chakma", ( '\x11100', '\x1114F') ) , ( "Mahajani", ( '\x11150', '\x1117F') ) , ( "Sharada", ( '\x11180', '\x111DF') ) , ( "SinhalaArchaicNumbers", ( '\x111E0', '\x111FF') ) , ( "Khojki", ( '\x11200', '\x1124F') ) , ( "Khudawadi", ( '\x112B0', '\x112FF') ) , ( "Grantha", ( '\x11300', '\x1137F') ) , ( "Tirhuta", ( '\x11480', '\x114DF') ) , ( "Siddham", ( '\x11580', '\x115FF') ) , ( "Modi", ( '\x11600', '\x1165F') ) , ( "Takri", ( '\x11680', '\x116CF') ) , ( "WarangCiti", ( '\x118A0', '\x118FF') ) , ( "PauCinHau", ( '\x11AC0', '\x11AFF') ) , ( "Cuneiform", ( '\x12000', '\x123FF') ) , ( "CuneiformNumbersandPunctuation", ( '\x12400', '\x1247F') ) , ( "EgyptianHieroglyphs", ( '\x13000', '\x1342F') ) , ( "BamumSupplement", ( '\x16800', '\x16A3F') ) , ( "Mro", ( '\x16A40', '\x16A6F') ) , ( "BassaVah", ( '\x16AD0', '\x16AFF') ) , ( "PahawhHmong", ( '\x16B00', '\x16B8F') ) , ( "Miao", ( '\x16F00', '\x16F9F') ) , ( "KanaSupplement", ( '\x1B000', '\x1B0FF') ) , ( "Duployan", ( '\x1BC00', '\x1BC9F') ) , ( "ShorthandFormatControls", ( '\x1BCA0', '\x1BCAF') ) , ( "ByzantineMusicalSymbols", ( '\x1D000', '\x1D0FF') ) , ( "MusicalSymbols", ( '\x1D100', '\x1D1FF') ) , ( "AncientGreekMusicalNotation", ( '\x1D200', '\x1D24F') ) , ( "TaiXuanJingSymbols", ( '\x1D300', '\x1D35F') ) , ( "CountingRodNumerals", ( '\x1D360', '\x1D37F') ) , ( "MathematicalAlphanumericSymbols", ( '\x1D400', '\x1D7FF') ) , ( "MendeKikakui", ( '\x1E800', '\x1E8DF') ) , ( "ArabicMathematicalAlphabeticSymbols", ( '\x1EE00', '\x1EEFF') ) , ( "MahjongTiles", ( '\x1F000', '\x1F02F') ) , ( "DominoTiles", ( '\x1F030', '\x1F09F') ) , ( "PlayingCards", ( '\x1F0A0', '\x1F0FF') ) , ( "EnclosedAlphanumericSupplement", ( '\x1F100', '\x1F1FF') ) , ( "EnclosedIdeographicSupplement", ( '\x1F200', '\x1F2FF') ) , ( "MiscellaneousSymbolsandPictographs", ( '\x1F300', '\x1F5FF') ) , ( "Emoticons", ( '\x1F600', '\x1F64F') ) , ( "OrnamentalDingbats", ( '\x1F650', '\x1F67F') ) , ( "TransportandMapSymbols", ( '\x1F680', '\x1F6FF') ) , ( "AlchemicalSymbols", ( '\x1F700', '\x1F77F') ) , ( "GeometricShapesExtended", ( '\x1F780', '\x1F7FF') ) , ( "SupplementalArrows-C", ( '\x1F800', '\x1F8FF') ) , ( "CJKUnifiedIdeographsExtensionB", ( '\x20000', '\x2A6DF') ) , ( "CJKUnifiedIdeographsExtensionC", ( '\x2A700', '\x2B73F') ) , ( "CJKUnifiedIdeographsExtensionD", ( '\x2B740', '\x2B81F') ) , ( "CJKCompatibilityIdeographsSupplement", ( '\x2F800', '\x2FA1F') ) , ( "Tags", ( '\xE0000', '\xE007F') ) , ( "VariationSelectorsSupplement", ( '\xE0100', '\xE01EF') ) , ( "SupplementaryPrivateUseArea-A", ( '\xF0000', '\xFFFFF') ) , ( "SupplementaryPrivateUseArea-B", ( '\x100000', '\x10FFFF') ) ] -- ------------------------------------------------------------ isBasicLatin :: Char -> Bool isBasicLatin c = c >= '\x0000' && c <= '\x007F' isLatin1Supplement :: Char -> Bool isLatin1Supplement c = c >= '\x0080' && c <= '\x00FF' isLatinExtendedA :: Char -> Bool isLatinExtendedA c = c >= '\x0100' && c <= '\x017F' isLatinExtendedB :: Char -> Bool isLatinExtendedB c = c >= '\x0180' && c <= '\x024F' isIPAExtensions :: Char -> Bool isIPAExtensions c = c >= '\x0250' && c <= '\x02AF' isSpacingModifierLetters :: Char -> Bool isSpacingModifierLetters c = c >= '\x02B0' && c <= '\x02FF' isCombiningDiacriticalMarks :: Char -> Bool isCombiningDiacriticalMarks c = c >= '\x0300' && c <= '\x036F' isGreekandCoptic :: Char -> Bool isGreekandCoptic c = c >= '\x0370' && c <= '\x03FF' isCyrillic :: Char -> Bool isCyrillic c = c >= '\x0400' && c <= '\x04FF' isCyrillicSupplement :: Char -> Bool isCyrillicSupplement c = c >= '\x0500' && c <= '\x052F' isArmenian :: Char -> Bool isArmenian c = c >= '\x0530' && c <= '\x058F' isHebrew :: Char -> Bool isHebrew c = c >= '\x0590' && c <= '\x05FF' isArabic :: Char -> Bool isArabic c = c >= '\x0600' && c <= '\x06FF' isSyriac :: Char -> Bool isSyriac c = c >= '\x0700' && c <= '\x074F' isArabicSupplement :: Char -> Bool isArabicSupplement c = c >= '\x0750' && c <= '\x077F' isThaana :: Char -> Bool isThaana c = c >= '\x0780' && c <= '\x07BF' isNKo :: Char -> Bool isNKo c = c >= '\x07C0' && c <= '\x07FF' isSamaritan :: Char -> Bool isSamaritan c = c >= '\x0800' && c <= '\x083F' isMandaic :: Char -> Bool isMandaic c = c >= '\x0840' && c <= '\x085F' isArabicExtendedA :: Char -> Bool isArabicExtendedA c = c >= '\x08A0' && c <= '\x08FF' isDevanagari :: Char -> Bool isDevanagari c = c >= '\x0900' && c <= '\x097F' isBengali :: Char -> Bool isBengali c = c >= '\x0980' && c <= '\x09FF' isGurmukhi :: Char -> Bool isGurmukhi c = c >= '\x0A00' && c <= '\x0A7F' isGujarati :: Char -> Bool isGujarati c = c >= '\x0A80' && c <= '\x0AFF' isOriya :: Char -> Bool isOriya c = c >= '\x0B00' && c <= '\x0B7F' isTamil :: Char -> Bool isTamil c = c >= '\x0B80' && c <= '\x0BFF' isTelugu :: Char -> Bool isTelugu c = c >= '\x0C00' && c <= '\x0C7F' isKannada :: Char -> Bool isKannada c = c >= '\x0C80' && c <= '\x0CFF' isMalayalam :: Char -> Bool isMalayalam c = c >= '\x0D00' && c <= '\x0D7F' isSinhala :: Char -> Bool isSinhala c = c >= '\x0D80' && c <= '\x0DFF' isThai :: Char -> Bool isThai c = c >= '\x0E00' && c <= '\x0E7F' isLao :: Char -> Bool isLao c = c >= '\x0E80' && c <= '\x0EFF' isTibetan :: Char -> Bool isTibetan c = c >= '\x0F00' && c <= '\x0FFF' isMyanmar :: Char -> Bool isMyanmar c = c >= '\x1000' && c <= '\x109F' isGeorgian :: Char -> Bool isGeorgian c = c >= '\x10A0' && c <= '\x10FF' isHangulJamo :: Char -> Bool isHangulJamo c = c >= '\x1100' && c <= '\x11FF' isEthiopic :: Char -> Bool isEthiopic c = c >= '\x1200' && c <= '\x137F' isEthiopicSupplement :: Char -> Bool isEthiopicSupplement c = c >= '\x1380' && c <= '\x139F' isCherokee :: Char -> Bool isCherokee c = c >= '\x13A0' && c <= '\x13FF' isUnifiedCanadianAboriginalSyllabics :: Char -> Bool isUnifiedCanadianAboriginalSyllabics c = c >= '\x1400' && c <= '\x167F' isOgham :: Char -> Bool isOgham c = c >= '\x1680' && c <= '\x169F' isRunic :: Char -> Bool isRunic c = c >= '\x16A0' && c <= '\x16FF' isTagalog :: Char -> Bool isTagalog c = c >= '\x1700' && c <= '\x171F' isHanunoo :: Char -> Bool isHanunoo c = c >= '\x1720' && c <= '\x173F' isBuhid :: Char -> Bool isBuhid c = c >= '\x1740' && c <= '\x175F' isTagbanwa :: Char -> Bool isTagbanwa c = c >= '\x1760' && c <= '\x177F' isKhmer :: Char -> Bool isKhmer c = c >= '\x1780' && c <= '\x17FF' isMongolian :: Char -> Bool isMongolian c = c >= '\x1800' && c <= '\x18AF' isUnifiedCanadianAboriginalSyllabicsExtended :: Char -> Bool isUnifiedCanadianAboriginalSyllabicsExtended c = c >= '\x18B0' && c <= '\x18FF' isLimbu :: Char -> Bool isLimbu c = c >= '\x1900' && c <= '\x194F' isTaiLe :: Char -> Bool isTaiLe c = c >= '\x1950' && c <= '\x197F' isNewTaiLue :: Char -> Bool isNewTaiLue c = c >= '\x1980' && c <= '\x19DF' isKhmerSymbols :: Char -> Bool isKhmerSymbols c = c >= '\x19E0' && c <= '\x19FF' isBuginese :: Char -> Bool isBuginese c = c >= '\x1A00' && c <= '\x1A1F' isTaiTham :: Char -> Bool isTaiTham c = c >= '\x1A20' && c <= '\x1AAF' isCombiningDiacriticalMarksExtended :: Char -> Bool isCombiningDiacriticalMarksExtended c = c >= '\x1AB0' && c <= '\x1AFF' isBalinese :: Char -> Bool isBalinese c = c >= '\x1B00' && c <= '\x1B7F' isSundanese :: Char -> Bool isSundanese c = c >= '\x1B80' && c <= '\x1BBF' isBatak :: Char -> Bool isBatak c = c >= '\x1BC0' && c <= '\x1BFF' isLepcha :: Char -> Bool isLepcha c = c >= '\x1C00' && c <= '\x1C4F' isOlChiki :: Char -> Bool isOlChiki c = c >= '\x1C50' && c <= '\x1C7F' isSundaneseSupplement :: Char -> Bool isSundaneseSupplement c = c >= '\x1CC0' && c <= '\x1CCF' isVedicExtensions :: Char -> Bool isVedicExtensions c = c >= '\x1CD0' && c <= '\x1CFF' isPhoneticExtensions :: Char -> Bool isPhoneticExtensions c = c >= '\x1D00' && c <= '\x1D7F' isPhoneticExtensionsSupplement :: Char -> Bool isPhoneticExtensionsSupplement c = c >= '\x1D80' && c <= '\x1DBF' isCombiningDiacriticalMarksSupplement :: Char -> Bool isCombiningDiacriticalMarksSupplement c = c >= '\x1DC0' && c <= '\x1DFF' isLatinExtendedAdditional :: Char -> Bool isLatinExtendedAdditional c = c >= '\x1E00' && c <= '\x1EFF' isGreekExtended :: Char -> Bool isGreekExtended c = c >= '\x1F00' && c <= '\x1FFF' isGeneralPunctuation :: Char -> Bool isGeneralPunctuation c = c >= '\x2000' && c <= '\x206F' isSuperscriptsandSubscripts :: Char -> Bool isSuperscriptsandSubscripts c = c >= '\x2070' && c <= '\x209F' isCurrencySymbols :: Char -> Bool isCurrencySymbols c = c >= '\x20A0' && c <= '\x20CF' isCombiningDiacriticalMarksforSymbols :: Char -> Bool isCombiningDiacriticalMarksforSymbols c = c >= '\x20D0' && c <= '\x20FF' isLetterlikeSymbols :: Char -> Bool isLetterlikeSymbols c = c >= '\x2100' && c <= '\x214F' isNumberForms :: Char -> Bool isNumberForms c = c >= '\x2150' && c <= '\x218F' isArrows :: Char -> Bool isArrows c = c >= '\x2190' && c <= '\x21FF' isMathematicalOperators :: Char -> Bool isMathematicalOperators c = c >= '\x2200' && c <= '\x22FF' isMiscellaneousTechnical :: Char -> Bool isMiscellaneousTechnical c = c >= '\x2300' && c <= '\x23FF' isControlPictures :: Char -> Bool isControlPictures c = c >= '\x2400' && c <= '\x243F' isOpticalCharacterRecognition :: Char -> Bool isOpticalCharacterRecognition c = c >= '\x2440' && c <= '\x245F' isEnclosedAlphanumerics :: Char -> Bool isEnclosedAlphanumerics c = c >= '\x2460' && c <= '\x24FF' isBoxDrawing :: Char -> Bool isBoxDrawing c = c >= '\x2500' && c <= '\x257F' isBlockElements :: Char -> Bool isBlockElements c = c >= '\x2580' && c <= '\x259F' isGeometricShapes :: Char -> Bool isGeometricShapes c = c >= '\x25A0' && c <= '\x25FF' isMiscellaneousSymbols :: Char -> Bool isMiscellaneousSymbols c = c >= '\x2600' && c <= '\x26FF' isDingbats :: Char -> Bool isDingbats c = c >= '\x2700' && c <= '\x27BF' isMiscellaneousMathematicalSymbolsA :: Char -> Bool isMiscellaneousMathematicalSymbolsA c = c >= '\x27C0' && c <= '\x27EF' isSupplementalArrowsA :: Char -> Bool isSupplementalArrowsA c = c >= '\x27F0' && c <= '\x27FF' isBraillePatterns :: Char -> Bool isBraillePatterns c = c >= '\x2800' && c <= '\x28FF' isSupplementalArrowsB :: Char -> Bool isSupplementalArrowsB c = c >= '\x2900' && c <= '\x297F' isMiscellaneousMathematicalSymbolsB :: Char -> Bool isMiscellaneousMathematicalSymbolsB c = c >= '\x2980' && c <= '\x29FF' isSupplementalMathematicalOperators :: Char -> Bool isSupplementalMathematicalOperators c = c >= '\x2A00' && c <= '\x2AFF' isMiscellaneousSymbolsandArrows :: Char -> Bool isMiscellaneousSymbolsandArrows c = c >= '\x2B00' && c <= '\x2BFF' isGlagolitic :: Char -> Bool isGlagolitic c = c >= '\x2C00' && c <= '\x2C5F' isLatinExtendedC :: Char -> Bool isLatinExtendedC c = c >= '\x2C60' && c <= '\x2C7F' isCoptic :: Char -> Bool isCoptic c = c >= '\x2C80' && c <= '\x2CFF' isGeorgianSupplement :: Char -> Bool isGeorgianSupplement c = c >= '\x2D00' && c <= '\x2D2F' isTifinagh :: Char -> Bool isTifinagh c = c >= '\x2D30' && c <= '\x2D7F' isEthiopicExtended :: Char -> Bool isEthiopicExtended c = c >= '\x2D80' && c <= '\x2DDF' isCyrillicExtendedA :: Char -> Bool isCyrillicExtendedA c = c >= '\x2DE0' && c <= '\x2DFF' isSupplementalPunctuation :: Char -> Bool isSupplementalPunctuation c = c >= '\x2E00' && c <= '\x2E7F' isCJKRadicalsSupplement :: Char -> Bool isCJKRadicalsSupplement c = c >= '\x2E80' && c <= '\x2EFF' isKangxiRadicals :: Char -> Bool isKangxiRadicals c = c >= '\x2F00' && c <= '\x2FDF' isIdeographicDescriptionCharacters :: Char -> Bool isIdeographicDescriptionCharacters c = c >= '\x2FF0' && c <= '\x2FFF' isCJKSymbolsandPunctuation :: Char -> Bool isCJKSymbolsandPunctuation c = c >= '\x3000' && c <= '\x303F' isHiragana :: Char -> Bool isHiragana c = c >= '\x3040' && c <= '\x309F' isKatakana :: Char -> Bool isKatakana c = c >= '\x30A0' && c <= '\x30FF' isBopomofo :: Char -> Bool isBopomofo c = c >= '\x3100' && c <= '\x312F' isHangulCompatibilityJamo :: Char -> Bool isHangulCompatibilityJamo c = c >= '\x3130' && c <= '\x318F' isKanbun :: Char -> Bool isKanbun c = c >= '\x3190' && c <= '\x319F' isBopomofoExtended :: Char -> Bool isBopomofoExtended c = c >= '\x31A0' && c <= '\x31BF' isCJKStrokes :: Char -> Bool isCJKStrokes c = c >= '\x31C0' && c <= '\x31EF' isKatakanaPhoneticExtensions :: Char -> Bool isKatakanaPhoneticExtensions c = c >= '\x31F0' && c <= '\x31FF' isEnclosedCJKLettersandMonths :: Char -> Bool isEnclosedCJKLettersandMonths c = c >= '\x3200' && c <= '\x32FF' isCJKCompatibility :: Char -> Bool isCJKCompatibility c = c >= '\x3300' && c <= '\x33FF' isCJKUnifiedIdeographsExtensionA :: Char -> Bool isCJKUnifiedIdeographsExtensionA c = c >= '\x3400' && c <= '\x4DBF' isYijingHexagramSymbols :: Char -> Bool isYijingHexagramSymbols c = c >= '\x4DC0' && c <= '\x4DFF' isCJKUnifiedIdeographs :: Char -> Bool isCJKUnifiedIdeographs c = c >= '\x4E00' && c <= '\x9FFF' isYiSyllables :: Char -> Bool isYiSyllables c = c >= '\xA000' && c <= '\xA48F' isYiRadicals :: Char -> Bool isYiRadicals c = c >= '\xA490' && c <= '\xA4CF' isLisu :: Char -> Bool isLisu c = c >= '\xA4D0' && c <= '\xA4FF' isVai :: Char -> Bool isVai c = c >= '\xA500' && c <= '\xA63F' isCyrillicExtendedB :: Char -> Bool isCyrillicExtendedB c = c >= '\xA640' && c <= '\xA69F' isBamum :: Char -> Bool isBamum c = c >= '\xA6A0' && c <= '\xA6FF' isModifierToneLetters :: Char -> Bool isModifierToneLetters c = c >= '\xA700' && c <= '\xA71F' isLatinExtendedD :: Char -> Bool isLatinExtendedD c = c >= '\xA720' && c <= '\xA7FF' isSylotiNagri :: Char -> Bool isSylotiNagri c = c >= '\xA800' && c <= '\xA82F' isCommonIndicNumberForms :: Char -> Bool isCommonIndicNumberForms c = c >= '\xA830' && c <= '\xA83F' isPhagspa :: Char -> Bool isPhagspa c = c >= '\xA840' && c <= '\xA87F' isSaurashtra :: Char -> Bool isSaurashtra c = c >= '\xA880' && c <= '\xA8DF' isDevanagariExtended :: Char -> Bool isDevanagariExtended c = c >= '\xA8E0' && c <= '\xA8FF' isKayahLi :: Char -> Bool isKayahLi c = c >= '\xA900' && c <= '\xA92F' isRejang :: Char -> Bool isRejang c = c >= '\xA930' && c <= '\xA95F' isHangulJamoExtendedA :: Char -> Bool isHangulJamoExtendedA c = c >= '\xA960' && c <= '\xA97F' isJavanese :: Char -> Bool isJavanese c = c >= '\xA980' && c <= '\xA9DF' isMyanmarExtendedB :: Char -> Bool isMyanmarExtendedB c = c >= '\xA9E0' && c <= '\xA9FF' isCham :: Char -> Bool isCham c = c >= '\xAA00' && c <= '\xAA5F' isMyanmarExtendedA :: Char -> Bool isMyanmarExtendedA c = c >= '\xAA60' && c <= '\xAA7F' isTaiViet :: Char -> Bool isTaiViet c = c >= '\xAA80' && c <= '\xAADF' isMeeteiMayekExtensions :: Char -> Bool isMeeteiMayekExtensions c = c >= '\xAAE0' && c <= '\xAAFF' isEthiopicExtendedA :: Char -> Bool isEthiopicExtendedA c = c >= '\xAB00' && c <= '\xAB2F' isLatinExtendedE :: Char -> Bool isLatinExtendedE c = c >= '\xAB30' && c <= '\xAB6F' isMeeteiMayek :: Char -> Bool isMeeteiMayek c = c >= '\xABC0' && c <= '\xABFF' isHangulSyllables :: Char -> Bool isHangulSyllables c = c >= '\xAC00' && c <= '\xD7AF' isHangulJamoExtendedB :: Char -> Bool isHangulJamoExtendedB c = c >= '\xD7B0' && c <= '\xD7FF' isHighSurrogates :: Char -> Bool isHighSurrogates c = c >= '\xD800' && c <= '\xDB7F' isHighPrivateUseSurrogates :: Char -> Bool isHighPrivateUseSurrogates c = c >= '\xDB80' && c <= '\xDBFF' isLowSurrogates :: Char -> Bool isLowSurrogates c = c >= '\xDC00' && c <= '\xDFFF' isPrivateUseArea :: Char -> Bool isPrivateUseArea c = c >= '\xE000' && c <= '\xF8FF' isCJKCompatibilityIdeographs :: Char -> Bool isCJKCompatibilityIdeographs c = c >= '\xF900' && c <= '\xFAFF' isAlphabeticPresentationForms :: Char -> Bool isAlphabeticPresentationForms c = c >= '\xFB00' && c <= '\xFB4F' isArabicPresentationFormsA :: Char -> Bool isArabicPresentationFormsA c = c >= '\xFB50' && c <= '\xFDFF' isVariationSelectors :: Char -> Bool isVariationSelectors c = c >= '\xFE00' && c <= '\xFE0F' isVerticalForms :: Char -> Bool isVerticalForms c = c >= '\xFE10' && c <= '\xFE1F' isCombiningHalfMarks :: Char -> Bool isCombiningHalfMarks c = c >= '\xFE20' && c <= '\xFE2F' isCJKCompatibilityForms :: Char -> Bool isCJKCompatibilityForms c = c >= '\xFE30' && c <= '\xFE4F' isSmallFormVariants :: Char -> Bool isSmallFormVariants c = c >= '\xFE50' && c <= '\xFE6F' isArabicPresentationFormsB :: Char -> Bool isArabicPresentationFormsB c = c >= '\xFE70' && c <= '\xFEFF' isHalfwidthandFullwidthForms :: Char -> Bool isHalfwidthandFullwidthForms c = c >= '\xFF00' && c <= '\xFFEF' isSpecials :: Char -> Bool isSpecials c = c >= '\xFFF0' && c <= '\xFFFF' isLinearBSyllabary :: Char -> Bool isLinearBSyllabary c = c >= '\x10000' && c <= '\x1007F' isLinearBIdeograms :: Char -> Bool isLinearBIdeograms c = c >= '\x10080' && c <= '\x100FF' isAegeanNumbers :: Char -> Bool isAegeanNumbers c = c >= '\x10100' && c <= '\x1013F' isAncientGreekNumbers :: Char -> Bool isAncientGreekNumbers c = c >= '\x10140' && c <= '\x1018F' isAncientSymbols :: Char -> Bool isAncientSymbols c = c >= '\x10190' && c <= '\x101CF' isPhaistosDisc :: Char -> Bool isPhaistosDisc c = c >= '\x101D0' && c <= '\x101FF' isLycian :: Char -> Bool isLycian c = c >= '\x10280' && c <= '\x1029F' isCarian :: Char -> Bool isCarian c = c >= '\x102A0' && c <= '\x102DF' isCopticEpactNumbers :: Char -> Bool isCopticEpactNumbers c = c >= '\x102E0' && c <= '\x102FF' isOldItalic :: Char -> Bool isOldItalic c = c >= '\x10300' && c <= '\x1032F' isGothic :: Char -> Bool isGothic c = c >= '\x10330' && c <= '\x1034F' isOldPermic :: Char -> Bool isOldPermic c = c >= '\x10350' && c <= '\x1037F' isUgaritic :: Char -> Bool isUgaritic c = c >= '\x10380' && c <= '\x1039F' isOldPersian :: Char -> Bool isOldPersian c = c >= '\x103A0' && c <= '\x103DF' isDeseret :: Char -> Bool isDeseret c = c >= '\x10400' && c <= '\x1044F' isShavian :: Char -> Bool isShavian c = c >= '\x10450' && c <= '\x1047F' isOsmanya :: Char -> Bool isOsmanya c = c >= '\x10480' && c <= '\x104AF' isElbasan :: Char -> Bool isElbasan c = c >= '\x10500' && c <= '\x1052F' isCaucasianAlbanian :: Char -> Bool isCaucasianAlbanian c = c >= '\x10530' && c <= '\x1056F' isLinearA :: Char -> Bool isLinearA c = c >= '\x10600' && c <= '\x1077F' isCypriotSyllabary :: Char -> Bool isCypriotSyllabary c = c >= '\x10800' && c <= '\x1083F' isImperialAramaic :: Char -> Bool isImperialAramaic c = c >= '\x10840' && c <= '\x1085F' isPalmyrene :: Char -> Bool isPalmyrene c = c >= '\x10860' && c <= '\x1087F' isNabataean :: Char -> Bool isNabataean c = c >= '\x10880' && c <= '\x108AF' isPhoenician :: Char -> Bool isPhoenician c = c >= '\x10900' && c <= '\x1091F' isLydian :: Char -> Bool isLydian c = c >= '\x10920' && c <= '\x1093F' isMeroiticHieroglyphs :: Char -> Bool isMeroiticHieroglyphs c = c >= '\x10980' && c <= '\x1099F' isMeroiticCursive :: Char -> Bool isMeroiticCursive c = c >= '\x109A0' && c <= '\x109FF' isKharoshthi :: Char -> Bool isKharoshthi c = c >= '\x10A00' && c <= '\x10A5F' isOldSouthArabian :: Char -> Bool isOldSouthArabian c = c >= '\x10A60' && c <= '\x10A7F' isOldNorthArabian :: Char -> Bool isOldNorthArabian c = c >= '\x10A80' && c <= '\x10A9F' isManichaean :: Char -> Bool isManichaean c = c >= '\x10AC0' && c <= '\x10AFF' isAvestan :: Char -> Bool isAvestan c = c >= '\x10B00' && c <= '\x10B3F' isInscriptionalParthian :: Char -> Bool isInscriptionalParthian c = c >= '\x10B40' && c <= '\x10B5F' isInscriptionalPahlavi :: Char -> Bool isInscriptionalPahlavi c = c >= '\x10B60' && c <= '\x10B7F' isPsalterPahlavi :: Char -> Bool isPsalterPahlavi c = c >= '\x10B80' && c <= '\x10BAF' isOldTurkic :: Char -> Bool isOldTurkic c = c >= '\x10C00' && c <= '\x10C4F' isRumiNumeralSymbols :: Char -> Bool isRumiNumeralSymbols c = c >= '\x10E60' && c <= '\x10E7F' isBrahmi :: Char -> Bool isBrahmi c = c >= '\x11000' && c <= '\x1107F' isKaithi :: Char -> Bool isKaithi c = c >= '\x11080' && c <= '\x110CF' isSoraSompeng :: Char -> Bool isSoraSompeng c = c >= '\x110D0' && c <= '\x110FF' isChakma :: Char -> Bool isChakma c = c >= '\x11100' && c <= '\x1114F' isMahajani :: Char -> Bool isMahajani c = c >= '\x11150' && c <= '\x1117F' isSharada :: Char -> Bool isSharada c = c >= '\x11180' && c <= '\x111DF' isSinhalaArchaicNumbers :: Char -> Bool isSinhalaArchaicNumbers c = c >= '\x111E0' && c <= '\x111FF' isKhojki :: Char -> Bool isKhojki c = c >= '\x11200' && c <= '\x1124F' isKhudawadi :: Char -> Bool isKhudawadi c = c >= '\x112B0' && c <= '\x112FF' isGrantha :: Char -> Bool isGrantha c = c >= '\x11300' && c <= '\x1137F' isTirhuta :: Char -> Bool isTirhuta c = c >= '\x11480' && c <= '\x114DF' isSiddham :: Char -> Bool isSiddham c = c >= '\x11580' && c <= '\x115FF' isModi :: Char -> Bool isModi c = c >= '\x11600' && c <= '\x1165F' isTakri :: Char -> Bool isTakri c = c >= '\x11680' && c <= '\x116CF' isWarangCiti :: Char -> Bool isWarangCiti c = c >= '\x118A0' && c <= '\x118FF' isPauCinHau :: Char -> Bool isPauCinHau c = c >= '\x11AC0' && c <= '\x11AFF' isCuneiform :: Char -> Bool isCuneiform c = c >= '\x12000' && c <= '\x123FF' isCuneiformNumbersandPunctuation :: Char -> Bool isCuneiformNumbersandPunctuation c = c >= '\x12400' && c <= '\x1247F' isEgyptianHieroglyphs :: Char -> Bool isEgyptianHieroglyphs c = c >= '\x13000' && c <= '\x1342F' isBamumSupplement :: Char -> Bool isBamumSupplement c = c >= '\x16800' && c <= '\x16A3F' isMro :: Char -> Bool isMro c = c >= '\x16A40' && c <= '\x16A6F' isBassaVah :: Char -> Bool isBassaVah c = c >= '\x16AD0' && c <= '\x16AFF' isPahawhHmong :: Char -> Bool isPahawhHmong c = c >= '\x16B00' && c <= '\x16B8F' isMiao :: Char -> Bool isMiao c = c >= '\x16F00' && c <= '\x16F9F' isKanaSupplement :: Char -> Bool isKanaSupplement c = c >= '\x1B000' && c <= '\x1B0FF' isDuployan :: Char -> Bool isDuployan c = c >= '\x1BC00' && c <= '\x1BC9F' isShorthandFormatControls :: Char -> Bool isShorthandFormatControls c = c >= '\x1BCA0' && c <= '\x1BCAF' isByzantineMusicalSymbols :: Char -> Bool isByzantineMusicalSymbols c = c >= '\x1D000' && c <= '\x1D0FF' isMusicalSymbols :: Char -> Bool isMusicalSymbols c = c >= '\x1D100' && c <= '\x1D1FF' isAncientGreekMusicalNotation :: Char -> Bool isAncientGreekMusicalNotation c = c >= '\x1D200' && c <= '\x1D24F' isTaiXuanJingSymbols :: Char -> Bool isTaiXuanJingSymbols c = c >= '\x1D300' && c <= '\x1D35F' isCountingRodNumerals :: Char -> Bool isCountingRodNumerals c = c >= '\x1D360' && c <= '\x1D37F' isMathematicalAlphanumericSymbols :: Char -> Bool isMathematicalAlphanumericSymbols c = c >= '\x1D400' && c <= '\x1D7FF' isMendeKikakui :: Char -> Bool isMendeKikakui c = c >= '\x1E800' && c <= '\x1E8DF' isArabicMathematicalAlphabeticSymbols :: Char -> Bool isArabicMathematicalAlphabeticSymbols c = c >= '\x1EE00' && c <= '\x1EEFF' isMahjongTiles :: Char -> Bool isMahjongTiles c = c >= '\x1F000' && c <= '\x1F02F' isDominoTiles :: Char -> Bool isDominoTiles c = c >= '\x1F030' && c <= '\x1F09F' isPlayingCards :: Char -> Bool isPlayingCards c = c >= '\x1F0A0' && c <= '\x1F0FF' isEnclosedAlphanumericSupplement :: Char -> Bool isEnclosedAlphanumericSupplement c = c >= '\x1F100' && c <= '\x1F1FF' isEnclosedIdeographicSupplement :: Char -> Bool isEnclosedIdeographicSupplement c = c >= '\x1F200' && c <= '\x1F2FF' isMiscellaneousSymbolsandPictographs :: Char -> Bool isMiscellaneousSymbolsandPictographs c = c >= '\x1F300' && c <= '\x1F5FF' isEmoticons :: Char -> Bool isEmoticons c = c >= '\x1F600' && c <= '\x1F64F' isOrnamentalDingbats :: Char -> Bool isOrnamentalDingbats c = c >= '\x1F650' && c <= '\x1F67F' isTransportandMapSymbols :: Char -> Bool isTransportandMapSymbols c = c >= '\x1F680' && c <= '\x1F6FF' isAlchemicalSymbols :: Char -> Bool isAlchemicalSymbols c = c >= '\x1F700' && c <= '\x1F77F' isGeometricShapesExtended :: Char -> Bool isGeometricShapesExtended c = c >= '\x1F780' && c <= '\x1F7FF' isSupplementalArrowsC :: Char -> Bool isSupplementalArrowsC c = c >= '\x1F800' && c <= '\x1F8FF' isCJKUnifiedIdeographsExtensionB :: Char -> Bool isCJKUnifiedIdeographsExtensionB c = c >= '\x20000' && c <= '\x2A6DF' isCJKUnifiedIdeographsExtensionC :: Char -> Bool isCJKUnifiedIdeographsExtensionC c = c >= '\x2A700' && c <= '\x2B73F' isCJKUnifiedIdeographsExtensionD :: Char -> Bool isCJKUnifiedIdeographsExtensionD c = c >= '\x2B740' && c <= '\x2B81F' isCJKCompatibilityIdeographsSupplement :: Char -> Bool isCJKCompatibilityIdeographsSupplement c = c >= '\x2F800' && c <= '\x2FA1F' isTags :: Char -> Bool isTags c = c >= '\xE0000' && c <= '\xE007F' isVariationSelectorsSupplement :: Char -> Bool isVariationSelectorsSupplement c = c >= '\xE0100' && c <= '\xE01EF' isSupplementaryPrivateUseAreaA :: Char -> Bool isSupplementaryPrivateUseAreaA c = c >= '\xF0000' && c <= '\xFFFFF' isSupplementaryPrivateUseAreaB :: Char -> Bool isSupplementaryPrivateUseAreaB c = c >= '\x100000' && c <= '\x10FFFF' -- ------------------------------------------------------------