-- ------------------------------------------------------------ {- | Module : Data.Char.Properties.UnicodeCharProps Copyright : Copyright (C) 2010 - Uwe Schmidt Maintainer : Uwe Schmidt (uwe@fh-wedel.de) Stability : stable Portability: portable Unicode character properties don't edit this module it's generated from 'http:\/\/www.unicode.org\/Public\/UNIDATA\/UnicodeData.txt' -} -- ------------------------------------------------------------ module Data.Char.Properties.UnicodeCharProps ( isUnicodeC , isUnicodeCc , isUnicodeCf , isUnicodeCo , isUnicodeCs , isUnicodeL , isUnicodeLl , isUnicodeLm , isUnicodeLo , isUnicodeLt , isUnicodeLu , isUnicodeM , isUnicodeMc , isUnicodeMe , isUnicodeMn , isUnicodeN , isUnicodeNd , isUnicodeNl , isUnicodeNo , isUnicodeP , isUnicodePc , isUnicodePd , isUnicodePe , isUnicodePf , isUnicodePi , isUnicodePo , isUnicodePs , isUnicodeS , isUnicodeSc , isUnicodeSk , isUnicodeSm , isUnicodeSo , isUnicodeZ , isUnicodeZl , isUnicodeZp , isUnicodeZs , charPropUnicodeC , charPropUnicodeCc , charPropUnicodeCf , charPropUnicodeCo , charPropUnicodeCs , charPropUnicodeL , charPropUnicodeLl , charPropUnicodeLm , charPropUnicodeLo , charPropUnicodeLt , charPropUnicodeLu , charPropUnicodeM , charPropUnicodeMc , charPropUnicodeMe , charPropUnicodeMn , charPropUnicodeN , charPropUnicodeNd , charPropUnicodeNl , charPropUnicodeNo , charPropUnicodeP , charPropUnicodePc , charPropUnicodePd , charPropUnicodePe , charPropUnicodePf , charPropUnicodePi , charPropUnicodePo , charPropUnicodePs , charPropUnicodeS , charPropUnicodeSc , charPropUnicodeSk , charPropUnicodeSm , charPropUnicodeSo , charPropUnicodeZ , charPropUnicodeZl , charPropUnicodeZp , charPropUnicodeZs ) where import Data.Set.CharSet -- ------------------------------------------------------------ isUnicodeC :: Char -> Bool isUnicodeC c = elemCS c charPropUnicodeC charPropUnicodeC :: CharSet charPropUnicodeC = [ ('\NUL','\US') , ('\DEL','\159') , ('\173','\173') , ('\1536','\1541') , ('\1564','\1564') , ('\1757','\1757') , ('\1807','\1807') , ('\2274','\2274') , ('\6158','\6158') , ('\8203','\8207') , ('\8234','\8238') , ('\8288','\8292') , ('\8294','\8303') , ('\55296','\55296') , ('\56191','\56192') , ('\56319','\56320') , ('\57343','\57344') , ('\63743','\63743') , ('\65279','\65279') , ('\65529','\65531') , ('\69821','\69821') , ('\69837','\69837') , ('\78896','\78904') , ('\113824','\113827') , ('\119155','\119162') , ('\917505','\917505') , ('\917536','\917631') , ('\983040','\983040') , ('\1048573','\1048573') , ('\1048576','\1048576') , ('\1114109','\1114109') ] -- ------------------------------------------------------------ isUnicodeCc :: Char -> Bool isUnicodeCc c = elemCS c charPropUnicodeCc charPropUnicodeCc :: CharSet charPropUnicodeCc = [ ('\NUL','\US') , ('\DEL','\159') ] -- ------------------------------------------------------------ isUnicodeCf :: Char -> Bool isUnicodeCf c = elemCS c charPropUnicodeCf charPropUnicodeCf :: CharSet charPropUnicodeCf = [ ('\173','\173') , ('\1536','\1541') , ('\1564','\1564') , ('\1757','\1757') , ('\1807','\1807') , ('\2274','\2274') , ('\6158','\6158') , ('\8203','\8207') , ('\8234','\8238') , ('\8288','\8292') , ('\8294','\8303') , ('\65279','\65279') , ('\65529','\65531') , ('\69821','\69821') , ('\69837','\69837') , ('\78896','\78904') , ('\113824','\113827') , ('\119155','\119162') , ('\917505','\917505') , ('\917536','\917631') ] -- ------------------------------------------------------------ isUnicodeCo :: Char -> Bool isUnicodeCo c = elemCS c charPropUnicodeCo charPropUnicodeCo :: CharSet charPropUnicodeCo = [ ('\57344','\57344') , ('\63743','\63743') , ('\983040','\983040') , ('\1048573','\1048573') , ('\1048576','\1048576') , ('\1114109','\1114109') ] -- ------------------------------------------------------------ isUnicodeCs :: Char -> Bool isUnicodeCs c = elemCS c charPropUnicodeCs charPropUnicodeCs :: CharSet charPropUnicodeCs = [ ('\55296','\55296') , ('\56191','\56192') , ('\56319','\56320') , ('\57343','\57343') ] -- ------------------------------------------------------------ isUnicodeL :: Char -> Bool isUnicodeL c = elemCS c charPropUnicodeL charPropUnicodeL :: CharSet charPropUnicodeL = [ ('A','Z') , ('a','z') , ('\170','\170') , ('\181','\181') , ('\186','\186') , ('\192','\214') , ('\216','\246') , ('\248','\705') , ('\710','\721') , ('\736','\740') , ('\748','\748') , ('\750','\750') , ('\880','\884') , ('\886','\887') , ('\890','\893') , ('\895','\895') , ('\902','\902') , ('\904','\906') , ('\908','\908') , ('\910','\929') , ('\931','\1013') , ('\1015','\1153') , ('\1162','\1327') , ('\1329','\1366') , ('\1369','\1369') , ('\1376','\1416') , ('\1488','\1514') , ('\1519','\1522') , ('\1568','\1610') , ('\1646','\1647') , ('\1649','\1747') , ('\1749','\1749') , ('\1765','\1766') , ('\1774','\1775') , ('\1786','\1788') , ('\1791','\1791') , ('\1808','\1808') , ('\1810','\1839') , ('\1869','\1957') , ('\1969','\1969') , ('\1994','\2026') , ('\2036','\2037') , ('\2042','\2042') , ('\2048','\2069') , ('\2074','\2074') , ('\2084','\2084') , ('\2088','\2088') , ('\2112','\2136') , ('\2144','\2154') , ('\2208','\2228') , ('\2230','\2237') , ('\2308','\2361') , ('\2365','\2365') , ('\2384','\2384') , ('\2392','\2401') , ('\2417','\2432') , ('\2437','\2444') , ('\2447','\2448') , ('\2451','\2472') , ('\2474','\2480') , ('\2482','\2482') , ('\2486','\2489') , ('\2493','\2493') , ('\2510','\2510') , ('\2524','\2525') , ('\2527','\2529') , ('\2544','\2545') , ('\2556','\2556') , ('\2565','\2570') , ('\2575','\2576') , ('\2579','\2600') , ('\2602','\2608') , ('\2610','\2611') , ('\2613','\2614') , ('\2616','\2617') , ('\2649','\2652') , ('\2654','\2654') , ('\2674','\2676') , ('\2693','\2701') , ('\2703','\2705') , ('\2707','\2728') , ('\2730','\2736') , ('\2738','\2739') , ('\2741','\2745') , ('\2749','\2749') , ('\2768','\2768') , ('\2784','\2785') , ('\2809','\2809') , ('\2821','\2828') , ('\2831','\2832') , ('\2835','\2856') , ('\2858','\2864') , ('\2866','\2867') , ('\2869','\2873') , ('\2877','\2877') , ('\2908','\2909') , ('\2911','\2913') , ('\2929','\2929') , ('\2947','\2947') , ('\2949','\2954') , ('\2958','\2960') , ('\2962','\2965') , ('\2969','\2970') , ('\2972','\2972') , ('\2974','\2975') , ('\2979','\2980') , ('\2984','\2986') , ('\2990','\3001') , ('\3024','\3024') , ('\3077','\3084') , ('\3086','\3088') , ('\3090','\3112') , ('\3114','\3129') , ('\3133','\3133') , ('\3160','\3162') , ('\3168','\3169') , ('\3200','\3200') , ('\3205','\3212') , ('\3214','\3216') , ('\3218','\3240') , ('\3242','\3251') , ('\3253','\3257') , ('\3261','\3261') , ('\3294','\3294') , ('\3296','\3297') , ('\3313','\3314') , ('\3333','\3340') , ('\3342','\3344') , ('\3346','\3386') , ('\3389','\3389') , ('\3406','\3406') , ('\3412','\3414') , ('\3423','\3425') , ('\3450','\3455') , ('\3461','\3478') , ('\3482','\3505') , ('\3507','\3515') , ('\3517','\3517') , ('\3520','\3526') , ('\3585','\3632') , ('\3634','\3635') , ('\3648','\3654') , ('\3713','\3714') , ('\3716','\3716') , ('\3718','\3722') , ('\3724','\3747') , ('\3749','\3749') , ('\3751','\3760') , ('\3762','\3763') , ('\3773','\3773') , ('\3776','\3780') , ('\3782','\3782') , ('\3804','\3807') , ('\3840','\3840') , ('\3904','\3911') , ('\3913','\3948') , ('\3976','\3980') , ('\4096','\4138') , ('\4159','\4159') , ('\4176','\4181') , ('\4186','\4189') , ('\4193','\4193') , ('\4197','\4198') , ('\4206','\4208') , ('\4213','\4225') , ('\4238','\4238') , ('\4256','\4293') , ('\4295','\4295') , ('\4301','\4301') , ('\4304','\4346') , ('\4348','\4680') , ('\4682','\4685') , ('\4688','\4694') , ('\4696','\4696') , ('\4698','\4701') , ('\4704','\4744') , ('\4746','\4749') , ('\4752','\4784') , ('\4786','\4789') , ('\4792','\4798') , ('\4800','\4800') , ('\4802','\4805') , ('\4808','\4822') , ('\4824','\4880') , ('\4882','\4885') , ('\4888','\4954') , ('\4992','\5007') , ('\5024','\5109') , ('\5112','\5117') , ('\5121','\5740') , ('\5743','\5759') , ('\5761','\5786') , ('\5792','\5866') , ('\5873','\5880') , ('\5888','\5900') , ('\5902','\5905') , ('\5920','\5937') , ('\5952','\5969') , ('\5984','\5996') , ('\5998','\6000') , ('\6016','\6067') , ('\6103','\6103') , ('\6108','\6108') , ('\6176','\6264') , ('\6272','\6276') , ('\6279','\6312') , ('\6314','\6314') , ('\6320','\6389') , ('\6400','\6430') , ('\6480','\6509') , ('\6512','\6516') , ('\6528','\6571') , ('\6576','\6601') , ('\6656','\6678') , ('\6688','\6740') , ('\6823','\6823') , ('\6917','\6963') , ('\6981','\6987') , ('\7043','\7072') , ('\7086','\7087') , ('\7098','\7141') , ('\7168','\7203') , ('\7245','\7247') , ('\7258','\7293') , ('\7296','\7304') , ('\7312','\7354') , ('\7357','\7359') , ('\7401','\7404') , ('\7406','\7411') , ('\7413','\7414') , ('\7418','\7418') , ('\7424','\7615') , ('\7680','\7957') , ('\7960','\7965') , ('\7968','\8005') , ('\8008','\8013') , ('\8016','\8023') , ('\8025','\8025') , ('\8027','\8027') , ('\8029','\8029') , ('\8031','\8061') , ('\8064','\8116') , ('\8118','\8124') , ('\8126','\8126') , ('\8130','\8132') , ('\8134','\8140') , ('\8144','\8147') , ('\8150','\8155') , ('\8160','\8172') , ('\8178','\8180') , ('\8182','\8188') , ('\8305','\8305') , ('\8319','\8319') , ('\8336','\8348') , ('\8450','\8450') , ('\8455','\8455') , ('\8458','\8467') , ('\8469','\8469') , ('\8473','\8477') , ('\8484','\8484') , ('\8486','\8486') , ('\8488','\8488') , ('\8490','\8493') , ('\8495','\8505') , ('\8508','\8511') , ('\8517','\8521') , ('\8526','\8526') , ('\8579','\8580') , ('\11264','\11310') , ('\11312','\11358') , ('\11360','\11492') , ('\11499','\11502') , ('\11506','\11507') , ('\11520','\11557') , ('\11559','\11559') , ('\11565','\11565') , ('\11568','\11623') , ('\11631','\11631') , ('\11648','\11670') , ('\11680','\11686') , ('\11688','\11694') , ('\11696','\11702') , ('\11704','\11710') , ('\11712','\11718') , ('\11720','\11726') , ('\11728','\11734') , ('\11736','\11742') , ('\11823','\11823') , ('\12293','\12294') , ('\12337','\12341') , ('\12347','\12348') , ('\12353','\12438') , ('\12445','\12447') , ('\12449','\12538') , ('\12540','\12543') , ('\12549','\12591') , ('\12593','\12686') , ('\12704','\12730') , ('\12784','\12799') , ('\13312','\13312') , ('\19893','\19893') , ('\19968','\19968') , ('\40943','\40943') , ('\40960','\42124') , ('\42192','\42237') , ('\42240','\42508') , ('\42512','\42527') , ('\42538','\42539') , ('\42560','\42606') , ('\42623','\42653') , ('\42656','\42725') , ('\42775','\42783') , ('\42786','\42888') , ('\42891','\42943') , ('\42946','\42950') , ('\42999','\43009') , ('\43011','\43013') , ('\43015','\43018') , ('\43020','\43042') , ('\43072','\43123') , ('\43138','\43187') , ('\43250','\43255') , ('\43259','\43259') , ('\43261','\43262') , ('\43274','\43301') , ('\43312','\43334') , ('\43360','\43388') , ('\43396','\43442') , ('\43471','\43471') , ('\43488','\43492') , ('\43494','\43503') , ('\43514','\43518') , ('\43520','\43560') , ('\43584','\43586') , ('\43588','\43595') , ('\43616','\43638') , ('\43642','\43642') , ('\43646','\43695') , ('\43697','\43697') , ('\43701','\43702') , ('\43705','\43709') , ('\43712','\43712') , ('\43714','\43714') , ('\43739','\43741') , ('\43744','\43754') , ('\43762','\43764') , ('\43777','\43782') , ('\43785','\43790') , ('\43793','\43798') , ('\43808','\43814') , ('\43816','\43822') , ('\43824','\43866') , ('\43868','\43879') , ('\43888','\44002') , ('\44032','\44032') , ('\55203','\55203') , ('\55216','\55238') , ('\55243','\55291') , ('\63744','\64109') , ('\64112','\64217') , ('\64256','\64262') , ('\64275','\64279') , ('\64285','\64285') , ('\64287','\64296') , ('\64298','\64310') , ('\64312','\64316') , ('\64318','\64318') , ('\64320','\64321') , ('\64323','\64324') , ('\64326','\64433') , ('\64467','\64829') , ('\64848','\64911') , ('\64914','\64967') , ('\65008','\65019') , ('\65136','\65140') , ('\65142','\65276') , ('\65313','\65338') , ('\65345','\65370') , ('\65382','\65470') , ('\65474','\65479') , ('\65482','\65487') , ('\65490','\65495') , ('\65498','\65500') , ('\65536','\65547') , ('\65549','\65574') , ('\65576','\65594') , ('\65596','\65597') , ('\65599','\65613') , ('\65616','\65629') , ('\65664','\65786') , ('\66176','\66204') , ('\66208','\66256') , ('\66304','\66335') , ('\66349','\66368') , ('\66370','\66377') , ('\66384','\66421') , ('\66432','\66461') , ('\66464','\66499') , ('\66504','\66511') , ('\66560','\66717') , ('\66736','\66771') , ('\66776','\66811') , ('\66816','\66855') , ('\66864','\66915') , ('\67072','\67382') , ('\67392','\67413') , ('\67424','\67431') , ('\67584','\67589') , ('\67592','\67592') , ('\67594','\67637') , ('\67639','\67640') , ('\67644','\67644') , ('\67647','\67669') , ('\67680','\67702') , ('\67712','\67742') , ('\67808','\67826') , ('\67828','\67829') , ('\67840','\67861') , ('\67872','\67897') , ('\67968','\68023') , ('\68030','\68031') , ('\68096','\68096') , ('\68112','\68115') , ('\68117','\68119') , ('\68121','\68149') , ('\68192','\68220') , ('\68224','\68252') , ('\68288','\68295') , ('\68297','\68324') , ('\68352','\68405') , ('\68416','\68437') , ('\68448','\68466') , ('\68480','\68497') , ('\68608','\68680') , ('\68736','\68786') , ('\68800','\68850') , ('\68864','\68899') , ('\69376','\69404') , ('\69415','\69415') , ('\69424','\69445') , ('\69600','\69622') , ('\69635','\69687') , ('\69763','\69807') , ('\69840','\69864') , ('\69891','\69926') , ('\69956','\69956') , ('\69968','\70002') , ('\70006','\70006') , ('\70019','\70066') , ('\70081','\70084') , ('\70106','\70106') , ('\70108','\70108') , ('\70144','\70161') , ('\70163','\70187') , ('\70272','\70278') , ('\70280','\70280') , ('\70282','\70285') , ('\70287','\70301') , ('\70303','\70312') , ('\70320','\70366') , ('\70405','\70412') , ('\70415','\70416') , ('\70419','\70440') , ('\70442','\70448') , ('\70450','\70451') , ('\70453','\70457') , ('\70461','\70461') , ('\70480','\70480') , ('\70493','\70497') , ('\70656','\70708') , ('\70727','\70730') , ('\70751','\70751') , ('\70784','\70831') , ('\70852','\70853') , ('\70855','\70855') , ('\71040','\71086') , ('\71128','\71131') , ('\71168','\71215') , ('\71236','\71236') , ('\71296','\71338') , ('\71352','\71352') , ('\71424','\71450') , ('\71680','\71723') , ('\71840','\71903') , ('\71935','\71935') , ('\72096','\72103') , ('\72106','\72144') , ('\72161','\72161') , ('\72163','\72163') , ('\72192','\72192') , ('\72203','\72242') , ('\72250','\72250') , ('\72272','\72272') , ('\72284','\72329') , ('\72349','\72349') , ('\72384','\72440') , ('\72704','\72712') , ('\72714','\72750') , ('\72768','\72768') , ('\72818','\72847') , ('\72960','\72966') , ('\72968','\72969') , ('\72971','\73008') , ('\73030','\73030') , ('\73056','\73061') , ('\73063','\73064') , ('\73066','\73097') , ('\73112','\73112') , ('\73440','\73458') , ('\73728','\74649') , ('\74880','\75075') , ('\77824','\78894') , ('\82944','\83526') , ('\92160','\92728') , ('\92736','\92766') , ('\92880','\92909') , ('\92928','\92975') , ('\92992','\92995') , ('\93027','\93047') , ('\93053','\93071') , ('\93760','\93823') , ('\93952','\94026') , ('\94032','\94032') , ('\94099','\94111') , ('\94176','\94177') , ('\94179','\94179') , ('\94208','\94208') , ('\100343','\100343') , ('\100352','\101106') , ('\110592','\110878') , ('\110928','\110930') , ('\110948','\110951') , ('\110960','\111355') , ('\113664','\113770') , ('\113776','\113788') , ('\113792','\113800') , ('\113808','\113817') , ('\119808','\119892') , ('\119894','\119964') , ('\119966','\119967') , ('\119970','\119970') , ('\119973','\119974') , ('\119977','\119980') , ('\119982','\119993') , ('\119995','\119995') , ('\119997','\120003') , ('\120005','\120069') , ('\120071','\120074') , ('\120077','\120084') , ('\120086','\120092') , ('\120094','\120121') , ('\120123','\120126') , ('\120128','\120132') , ('\120134','\120134') , ('\120138','\120144') , ('\120146','\120485') , ('\120488','\120512') , ('\120514','\120538') , ('\120540','\120570') , ('\120572','\120596') , ('\120598','\120628') , ('\120630','\120654') , ('\120656','\120686') , ('\120688','\120712') , ('\120714','\120744') , ('\120746','\120770') , ('\120772','\120779') , ('\123136','\123180') , ('\123191','\123197') , ('\123214','\123214') , ('\123584','\123627') , ('\124928','\125124') , ('\125184','\125251') , ('\125259','\125259') , ('\126464','\126467') , ('\126469','\126495') , ('\126497','\126498') , ('\126500','\126500') , ('\126503','\126503') , ('\126505','\126514') , ('\126516','\126519') , ('\126521','\126521') , ('\126523','\126523') , ('\126530','\126530') , ('\126535','\126535') , ('\126537','\126537') , ('\126539','\126539') , ('\126541','\126543') , ('\126545','\126546') , ('\126548','\126548') , ('\126551','\126551') , ('\126553','\126553') , ('\126555','\126555') , ('\126557','\126557') , ('\126559','\126559') , ('\126561','\126562') , ('\126564','\126564') , ('\126567','\126570') , ('\126572','\126578') , ('\126580','\126583') , ('\126585','\126588') , ('\126590','\126590') , ('\126592','\126601') , ('\126603','\126619') , ('\126625','\126627') , ('\126629','\126633') , ('\126635','\126651') , ('\131072','\131072') , ('\173782','\173782') , ('\173824','\173824') , ('\177972','\177972') , ('\177984','\177984') , ('\178205','\178205') , ('\178208','\178208') , ('\183969','\183969') , ('\183984','\183984') , ('\191456','\191456') , ('\194560','\195101') ] -- ------------------------------------------------------------ isUnicodeLl :: Char -> Bool isUnicodeLl c = elemCS c charPropUnicodeLl charPropUnicodeLl :: CharSet charPropUnicodeLl = [ ('a','z') , ('\181','\181') , ('\223','\246') , ('\248','\255') , ('\257','\257') , ('\259','\259') , ('\261','\261') , ('\263','\263') , ('\265','\265') , ('\267','\267') , ('\269','\269') , ('\271','\271') , ('\273','\273') , ('\275','\275') , ('\277','\277') , ('\279','\279') , ('\281','\281') , ('\283','\283') , ('\285','\285') , ('\287','\287') , ('\289','\289') , ('\291','\291') , ('\293','\293') , ('\295','\295') , ('\297','\297') , ('\299','\299') , ('\301','\301') , ('\303','\303') , ('\305','\305') , ('\307','\307') , ('\309','\309') , ('\311','\312') , ('\314','\314') , ('\316','\316') , ('\318','\318') , ('\320','\320') , ('\322','\322') , ('\324','\324') , ('\326','\326') , ('\328','\329') , ('\331','\331') , ('\333','\333') , ('\335','\335') , ('\337','\337') , ('\339','\339') , ('\341','\341') , ('\343','\343') , ('\345','\345') , ('\347','\347') , ('\349','\349') , ('\351','\351') , ('\353','\353') , ('\355','\355') , ('\357','\357') , ('\359','\359') , ('\361','\361') , ('\363','\363') , ('\365','\365') , ('\367','\367') , ('\369','\369') , ('\371','\371') , ('\373','\373') , ('\375','\375') , ('\378','\378') , ('\380','\380') , ('\382','\384') , ('\387','\387') , ('\389','\389') , ('\392','\392') , ('\396','\397') , ('\402','\402') , ('\405','\405') , ('\409','\411') , ('\414','\414') , ('\417','\417') , ('\419','\419') , ('\421','\421') , ('\424','\424') , ('\426','\427') , ('\429','\429') , ('\432','\432') , ('\436','\436') , ('\438','\438') , ('\441','\442') , ('\445','\447') , ('\454','\454') , ('\457','\457') , ('\460','\460') , ('\462','\462') , ('\464','\464') , ('\466','\466') , ('\468','\468') , ('\470','\470') , ('\472','\472') , ('\474','\474') , ('\476','\477') , ('\479','\479') , ('\481','\481') , ('\483','\483') , ('\485','\485') , ('\487','\487') , ('\489','\489') , ('\491','\491') , ('\493','\493') , ('\495','\496') , ('\499','\499') , ('\501','\501') , ('\505','\505') , ('\507','\507') , ('\509','\509') , ('\511','\511') , ('\513','\513') , ('\515','\515') , ('\517','\517') , ('\519','\519') , ('\521','\521') , ('\523','\523') , ('\525','\525') , ('\527','\527') , ('\529','\529') , ('\531','\531') , ('\533','\533') , ('\535','\535') , ('\537','\537') , ('\539','\539') , ('\541','\541') , ('\543','\543') , ('\545','\545') , ('\547','\547') , ('\549','\549') , ('\551','\551') , ('\553','\553') , ('\555','\555') , ('\557','\557') , ('\559','\559') , ('\561','\561') , ('\563','\569') , ('\572','\572') , ('\575','\576') , ('\578','\578') , ('\583','\583') , ('\585','\585') , ('\587','\587') , ('\589','\589') , ('\591','\659') , ('\661','\687') , ('\881','\881') , ('\883','\883') , ('\887','\887') , ('\891','\893') , ('\912','\912') , ('\940','\974') , ('\976','\977') , ('\981','\983') , ('\985','\985') , ('\987','\987') , ('\989','\989') , ('\991','\991') , ('\993','\993') , ('\995','\995') , ('\997','\997') , ('\999','\999') , ('\1001','\1001') , ('\1003','\1003') , ('\1005','\1005') , ('\1007','\1011') , ('\1013','\1013') , ('\1016','\1016') , ('\1019','\1020') , ('\1072','\1119') , ('\1121','\1121') , ('\1123','\1123') , ('\1125','\1125') , ('\1127','\1127') , ('\1129','\1129') , ('\1131','\1131') , ('\1133','\1133') , ('\1135','\1135') , ('\1137','\1137') , ('\1139','\1139') , ('\1141','\1141') , ('\1143','\1143') , ('\1145','\1145') , ('\1147','\1147') , ('\1149','\1149') , ('\1151','\1151') , ('\1153','\1153') , ('\1163','\1163') , ('\1165','\1165') , ('\1167','\1167') , ('\1169','\1169') , ('\1171','\1171') , ('\1173','\1173') , ('\1175','\1175') , ('\1177','\1177') , ('\1179','\1179') , ('\1181','\1181') , ('\1183','\1183') , ('\1185','\1185') , ('\1187','\1187') , ('\1189','\1189') , ('\1191','\1191') , ('\1193','\1193') , ('\1195','\1195') , ('\1197','\1197') , ('\1199','\1199') , ('\1201','\1201') , ('\1203','\1203') , ('\1205','\1205') , ('\1207','\1207') , ('\1209','\1209') , ('\1211','\1211') , ('\1213','\1213') , ('\1215','\1215') , ('\1218','\1218') , ('\1220','\1220') , ('\1222','\1222') , ('\1224','\1224') , ('\1226','\1226') , ('\1228','\1228') , ('\1230','\1231') , ('\1233','\1233') , ('\1235','\1235') , ('\1237','\1237') , ('\1239','\1239') , ('\1241','\1241') , ('\1243','\1243') , ('\1245','\1245') , ('\1247','\1247') , ('\1249','\1249') , ('\1251','\1251') , ('\1253','\1253') , ('\1255','\1255') , ('\1257','\1257') , ('\1259','\1259') , ('\1261','\1261') , ('\1263','\1263') , ('\1265','\1265') , ('\1267','\1267') , ('\1269','\1269') , ('\1271','\1271') , ('\1273','\1273') , ('\1275','\1275') , ('\1277','\1277') , ('\1279','\1279') , ('\1281','\1281') , ('\1283','\1283') , ('\1285','\1285') , ('\1287','\1287') , ('\1289','\1289') , ('\1291','\1291') , ('\1293','\1293') , ('\1295','\1295') , ('\1297','\1297') , ('\1299','\1299') , ('\1301','\1301') , ('\1303','\1303') , ('\1305','\1305') , ('\1307','\1307') , ('\1309','\1309') , ('\1311','\1311') , ('\1313','\1313') , ('\1315','\1315') , ('\1317','\1317') , ('\1319','\1319') , ('\1321','\1321') , ('\1323','\1323') , ('\1325','\1325') , ('\1327','\1327') , ('\1376','\1416') , ('\4304','\4346') , ('\4349','\4351') , ('\5112','\5117') , ('\7296','\7304') , ('\7424','\7467') , ('\7531','\7543') , ('\7545','\7578') , ('\7681','\7681') , ('\7683','\7683') , ('\7685','\7685') , ('\7687','\7687') , ('\7689','\7689') , ('\7691','\7691') , ('\7693','\7693') , ('\7695','\7695') , ('\7697','\7697') , ('\7699','\7699') , ('\7701','\7701') , ('\7703','\7703') , ('\7705','\7705') , ('\7707','\7707') , ('\7709','\7709') , ('\7711','\7711') , ('\7713','\7713') , ('\7715','\7715') , ('\7717','\7717') , ('\7719','\7719') , ('\7721','\7721') , ('\7723','\7723') , ('\7725','\7725') , ('\7727','\7727') , ('\7729','\7729') , ('\7731','\7731') , ('\7733','\7733') , ('\7735','\7735') , ('\7737','\7737') , ('\7739','\7739') , ('\7741','\7741') , ('\7743','\7743') , ('\7745','\7745') , ('\7747','\7747') , ('\7749','\7749') , ('\7751','\7751') , ('\7753','\7753') , ('\7755','\7755') , ('\7757','\7757') , ('\7759','\7759') , ('\7761','\7761') , ('\7763','\7763') , ('\7765','\7765') , ('\7767','\7767') , ('\7769','\7769') , ('\7771','\7771') , ('\7773','\7773') , ('\7775','\7775') , ('\7777','\7777') , ('\7779','\7779') , ('\7781','\7781') , ('\7783','\7783') , ('\7785','\7785') , ('\7787','\7787') , ('\7789','\7789') , ('\7791','\7791') , ('\7793','\7793') , ('\7795','\7795') , ('\7797','\7797') , ('\7799','\7799') , ('\7801','\7801') , ('\7803','\7803') , ('\7805','\7805') , ('\7807','\7807') , ('\7809','\7809') , ('\7811','\7811') , ('\7813','\7813') , ('\7815','\7815') , ('\7817','\7817') , ('\7819','\7819') , ('\7821','\7821') , ('\7823','\7823') , ('\7825','\7825') , ('\7827','\7827') , ('\7829','\7837') , ('\7839','\7839') , ('\7841','\7841') , ('\7843','\7843') , ('\7845','\7845') , ('\7847','\7847') , ('\7849','\7849') , ('\7851','\7851') , ('\7853','\7853') , ('\7855','\7855') , ('\7857','\7857') , ('\7859','\7859') , ('\7861','\7861') , ('\7863','\7863') , ('\7865','\7865') , ('\7867','\7867') , ('\7869','\7869') , ('\7871','\7871') , ('\7873','\7873') , ('\7875','\7875') , ('\7877','\7877') , ('\7879','\7879') , ('\7881','\7881') , ('\7883','\7883') , ('\7885','\7885') , ('\7887','\7887') , ('\7889','\7889') , ('\7891','\7891') , ('\7893','\7893') , ('\7895','\7895') , ('\7897','\7897') , ('\7899','\7899') , ('\7901','\7901') , ('\7903','\7903') , ('\7905','\7905') , ('\7907','\7907') , ('\7909','\7909') , ('\7911','\7911') , ('\7913','\7913') , ('\7915','\7915') , ('\7917','\7917') , ('\7919','\7919') , ('\7921','\7921') , ('\7923','\7923') , ('\7925','\7925') , ('\7927','\7927') , ('\7929','\7929') , ('\7931','\7931') , ('\7933','\7933') , ('\7935','\7943') , ('\7952','\7957') , ('\7968','\7975') , ('\7984','\7991') , ('\8000','\8005') , ('\8016','\8023') , ('\8032','\8039') , ('\8048','\8061') , ('\8064','\8071') , ('\8080','\8087') , ('\8096','\8103') , ('\8112','\8116') , ('\8118','\8119') , ('\8126','\8126') , ('\8130','\8132') , ('\8134','\8135') , ('\8144','\8147') , ('\8150','\8151') , ('\8160','\8167') , ('\8178','\8180') , ('\8182','\8183') , ('\8458','\8458') , ('\8462','\8463') , ('\8467','\8467') , ('\8495','\8495') , ('\8500','\8500') , ('\8505','\8505') , ('\8508','\8509') , ('\8518','\8521') , ('\8526','\8526') , ('\8580','\8580') , ('\11312','\11358') , ('\11361','\11361') , ('\11365','\11366') , ('\11368','\11368') , ('\11370','\11370') , ('\11372','\11372') , ('\11377','\11377') , ('\11379','\11380') , ('\11382','\11387') , ('\11393','\11393') , ('\11395','\11395') , ('\11397','\11397') , ('\11399','\11399') , ('\11401','\11401') , ('\11403','\11403') , ('\11405','\11405') , ('\11407','\11407') , ('\11409','\11409') , ('\11411','\11411') , ('\11413','\11413') , ('\11415','\11415') , ('\11417','\11417') , ('\11419','\11419') , ('\11421','\11421') , ('\11423','\11423') , ('\11425','\11425') , ('\11427','\11427') , ('\11429','\11429') , ('\11431','\11431') , ('\11433','\11433') , ('\11435','\11435') , ('\11437','\11437') , ('\11439','\11439') , ('\11441','\11441') , ('\11443','\11443') , ('\11445','\11445') , ('\11447','\11447') , ('\11449','\11449') , ('\11451','\11451') , ('\11453','\11453') , ('\11455','\11455') , ('\11457','\11457') , ('\11459','\11459') , ('\11461','\11461') , ('\11463','\11463') , ('\11465','\11465') , ('\11467','\11467') , ('\11469','\11469') , ('\11471','\11471') , ('\11473','\11473') , ('\11475','\11475') , ('\11477','\11477') , ('\11479','\11479') , ('\11481','\11481') , ('\11483','\11483') , ('\11485','\11485') , ('\11487','\11487') , ('\11489','\11489') , ('\11491','\11492') , ('\11500','\11500') , ('\11502','\11502') , ('\11507','\11507') , ('\11520','\11557') , ('\11559','\11559') , ('\11565','\11565') , ('\42561','\42561') , ('\42563','\42563') , ('\42565','\42565') , ('\42567','\42567') , ('\42569','\42569') , ('\42571','\42571') , ('\42573','\42573') , ('\42575','\42575') , ('\42577','\42577') , ('\42579','\42579') , ('\42581','\42581') , ('\42583','\42583') , ('\42585','\42585') , ('\42587','\42587') , ('\42589','\42589') , ('\42591','\42591') , ('\42593','\42593') , ('\42595','\42595') , ('\42597','\42597') , ('\42599','\42599') , ('\42601','\42601') , ('\42603','\42603') , ('\42605','\42605') , ('\42625','\42625') , ('\42627','\42627') , ('\42629','\42629') , ('\42631','\42631') , ('\42633','\42633') , ('\42635','\42635') , ('\42637','\42637') , ('\42639','\42639') , ('\42641','\42641') , ('\42643','\42643') , ('\42645','\42645') , ('\42647','\42647') , ('\42649','\42649') , ('\42651','\42651') , ('\42787','\42787') , ('\42789','\42789') , ('\42791','\42791') , ('\42793','\42793') , ('\42795','\42795') , ('\42797','\42797') , ('\42799','\42801') , ('\42803','\42803') , ('\42805','\42805') , ('\42807','\42807') , ('\42809','\42809') , ('\42811','\42811') , ('\42813','\42813') , ('\42815','\42815') , ('\42817','\42817') , ('\42819','\42819') , ('\42821','\42821') , ('\42823','\42823') , ('\42825','\42825') , ('\42827','\42827') , ('\42829','\42829') , ('\42831','\42831') , ('\42833','\42833') , ('\42835','\42835') , ('\42837','\42837') , ('\42839','\42839') , ('\42841','\42841') , ('\42843','\42843') , ('\42845','\42845') , ('\42847','\42847') , ('\42849','\42849') , ('\42851','\42851') , ('\42853','\42853') , ('\42855','\42855') , ('\42857','\42857') , ('\42859','\42859') , ('\42861','\42861') , ('\42863','\42863') , ('\42865','\42872') , ('\42874','\42874') , ('\42876','\42876') , ('\42879','\42879') , ('\42881','\42881') , ('\42883','\42883') , ('\42885','\42885') , ('\42887','\42887') , ('\42892','\42892') , ('\42894','\42894') , ('\42897','\42897') , ('\42899','\42901') , ('\42903','\42903') , ('\42905','\42905') , ('\42907','\42907') , ('\42909','\42909') , ('\42911','\42911') , ('\42913','\42913') , ('\42915','\42915') , ('\42917','\42917') , ('\42919','\42919') , ('\42921','\42921') , ('\42927','\42927') , ('\42933','\42933') , ('\42935','\42935') , ('\42937','\42937') , ('\42939','\42939') , ('\42941','\42941') , ('\42943','\42943') , ('\42947','\42947') , ('\43002','\43002') , ('\43824','\43866') , ('\43872','\43879') , ('\43888','\43967') , ('\64256','\64262') , ('\64275','\64279') , ('\65345','\65370') , ('\66600','\66639') , ('\66776','\66811') , ('\68800','\68850') , ('\71872','\71903') , ('\93792','\93823') , ('\119834','\119859') , ('\119886','\119892') , ('\119894','\119911') , ('\119938','\119963') , ('\119990','\119993') , ('\119995','\119995') , ('\119997','\120003') , ('\120005','\120015') , ('\120042','\120067') , ('\120094','\120119') , ('\120146','\120171') , ('\120198','\120223') , ('\120250','\120275') , ('\120302','\120327') , ('\120354','\120379') , ('\120406','\120431') , ('\120458','\120485') , ('\120514','\120538') , ('\120540','\120545') , ('\120572','\120596') , ('\120598','\120603') , ('\120630','\120654') , ('\120656','\120661') , ('\120688','\120712') , ('\120714','\120719') , ('\120746','\120770') , ('\120772','\120777') , ('\120779','\120779') , ('\125218','\125251') ] -- ------------------------------------------------------------ isUnicodeLm :: Char -> Bool isUnicodeLm c = elemCS c charPropUnicodeLm charPropUnicodeLm :: CharSet charPropUnicodeLm = [ ('\688','\705') , ('\710','\721') , ('\736','\740') , ('\748','\748') , ('\750','\750') , ('\884','\884') , ('\890','\890') , ('\1369','\1369') , ('\1600','\1600') , ('\1765','\1766') , ('\2036','\2037') , ('\2042','\2042') , ('\2074','\2074') , ('\2084','\2084') , ('\2088','\2088') , ('\2417','\2417') , ('\3654','\3654') , ('\3782','\3782') , ('\4348','\4348') , ('\6103','\6103') , ('\6211','\6211') , ('\6823','\6823') , ('\7288','\7293') , ('\7468','\7530') , ('\7544','\7544') , ('\7579','\7615') , ('\8305','\8305') , ('\8319','\8319') , ('\8336','\8348') , ('\11388','\11389') , ('\11631','\11631') , ('\11823','\11823') , ('\12293','\12293') , ('\12337','\12341') , ('\12347','\12347') , ('\12445','\12446') , ('\12540','\12542') , ('\40981','\40981') , ('\42232','\42237') , ('\42508','\42508') , ('\42623','\42623') , ('\42652','\42653') , ('\42775','\42783') , ('\42864','\42864') , ('\42888','\42888') , ('\43000','\43001') , ('\43471','\43471') , ('\43494','\43494') , ('\43632','\43632') , ('\43741','\43741') , ('\43763','\43764') , ('\43868','\43871') , ('\65392','\65392') , ('\65438','\65439') , ('\92992','\92995') , ('\94099','\94111') , ('\94176','\94177') , ('\94179','\94179') , ('\123191','\123197') , ('\125259','\125259') ] -- ------------------------------------------------------------ isUnicodeLo :: Char -> Bool isUnicodeLo c = elemCS c charPropUnicodeLo charPropUnicodeLo :: CharSet charPropUnicodeLo = [ ('\170','\170') , ('\186','\186') , ('\443','\443') , ('\448','\451') , ('\660','\660') , ('\1488','\1514') , ('\1519','\1522') , ('\1568','\1599') , ('\1601','\1610') , ('\1646','\1647') , ('\1649','\1747') , ('\1749','\1749') , ('\1774','\1775') , ('\1786','\1788') , ('\1791','\1791') , ('\1808','\1808') , ('\1810','\1839') , ('\1869','\1957') , ('\1969','\1969') , ('\1994','\2026') , ('\2048','\2069') , ('\2112','\2136') , ('\2144','\2154') , ('\2208','\2228') , ('\2230','\2237') , ('\2308','\2361') , ('\2365','\2365') , ('\2384','\2384') , ('\2392','\2401') , ('\2418','\2432') , ('\2437','\2444') , ('\2447','\2448') , ('\2451','\2472') , ('\2474','\2480') , ('\2482','\2482') , ('\2486','\2489') , ('\2493','\2493') , ('\2510','\2510') , ('\2524','\2525') , ('\2527','\2529') , ('\2544','\2545') , ('\2556','\2556') , ('\2565','\2570') , ('\2575','\2576') , ('\2579','\2600') , ('\2602','\2608') , ('\2610','\2611') , ('\2613','\2614') , ('\2616','\2617') , ('\2649','\2652') , ('\2654','\2654') , ('\2674','\2676') , ('\2693','\2701') , ('\2703','\2705') , ('\2707','\2728') , ('\2730','\2736') , ('\2738','\2739') , ('\2741','\2745') , ('\2749','\2749') , ('\2768','\2768') , ('\2784','\2785') , ('\2809','\2809') , ('\2821','\2828') , ('\2831','\2832') , ('\2835','\2856') , ('\2858','\2864') , ('\2866','\2867') , ('\2869','\2873') , ('\2877','\2877') , ('\2908','\2909') , ('\2911','\2913') , ('\2929','\2929') , ('\2947','\2947') , ('\2949','\2954') , ('\2958','\2960') , ('\2962','\2965') , ('\2969','\2970') , ('\2972','\2972') , ('\2974','\2975') , ('\2979','\2980') , ('\2984','\2986') , ('\2990','\3001') , ('\3024','\3024') , ('\3077','\3084') , ('\3086','\3088') , ('\3090','\3112') , ('\3114','\3129') , ('\3133','\3133') , ('\3160','\3162') , ('\3168','\3169') , ('\3200','\3200') , ('\3205','\3212') , ('\3214','\3216') , ('\3218','\3240') , ('\3242','\3251') , ('\3253','\3257') , ('\3261','\3261') , ('\3294','\3294') , ('\3296','\3297') , ('\3313','\3314') , ('\3333','\3340') , ('\3342','\3344') , ('\3346','\3386') , ('\3389','\3389') , ('\3406','\3406') , ('\3412','\3414') , ('\3423','\3425') , ('\3450','\3455') , ('\3461','\3478') , ('\3482','\3505') , ('\3507','\3515') , ('\3517','\3517') , ('\3520','\3526') , ('\3585','\3632') , ('\3634','\3635') , ('\3648','\3653') , ('\3713','\3714') , ('\3716','\3716') , ('\3718','\3722') , ('\3724','\3747') , ('\3749','\3749') , ('\3751','\3760') , ('\3762','\3763') , ('\3773','\3773') , ('\3776','\3780') , ('\3804','\3807') , ('\3840','\3840') , ('\3904','\3911') , ('\3913','\3948') , ('\3976','\3980') , ('\4096','\4138') , ('\4159','\4159') , ('\4176','\4181') , ('\4186','\4189') , ('\4193','\4193') , ('\4197','\4198') , ('\4206','\4208') , ('\4213','\4225') , ('\4238','\4238') , ('\4352','\4680') , ('\4682','\4685') , ('\4688','\4694') , ('\4696','\4696') , ('\4698','\4701') , ('\4704','\4744') , ('\4746','\4749') , ('\4752','\4784') , ('\4786','\4789') , ('\4792','\4798') , ('\4800','\4800') , ('\4802','\4805') , ('\4808','\4822') , ('\4824','\4880') , ('\4882','\4885') , ('\4888','\4954') , ('\4992','\5007') , ('\5121','\5740') , ('\5743','\5759') , ('\5761','\5786') , ('\5792','\5866') , ('\5873','\5880') , ('\5888','\5900') , ('\5902','\5905') , ('\5920','\5937') , ('\5952','\5969') , ('\5984','\5996') , ('\5998','\6000') , ('\6016','\6067') , ('\6108','\6108') , ('\6176','\6210') , ('\6212','\6264') , ('\6272','\6276') , ('\6279','\6312') , ('\6314','\6314') , ('\6320','\6389') , ('\6400','\6430') , ('\6480','\6509') , ('\6512','\6516') , ('\6528','\6571') , ('\6576','\6601') , ('\6656','\6678') , ('\6688','\6740') , ('\6917','\6963') , ('\6981','\6987') , ('\7043','\7072') , ('\7086','\7087') , ('\7098','\7141') , ('\7168','\7203') , ('\7245','\7247') , ('\7258','\7287') , ('\7401','\7404') , ('\7406','\7411') , ('\7413','\7414') , ('\7418','\7418') , ('\8501','\8504') , ('\11568','\11623') , ('\11648','\11670') , ('\11680','\11686') , ('\11688','\11694') , ('\11696','\11702') , ('\11704','\11710') , ('\11712','\11718') , ('\11720','\11726') , ('\11728','\11734') , ('\11736','\11742') , ('\12294','\12294') , ('\12348','\12348') , ('\12353','\12438') , ('\12447','\12447') , ('\12449','\12538') , ('\12543','\12543') , ('\12549','\12591') , ('\12593','\12686') , ('\12704','\12730') , ('\12784','\12799') , ('\13312','\13312') , ('\19893','\19893') , ('\19968','\19968') , ('\40943','\40943') , ('\40960','\40980') , ('\40982','\42124') , ('\42192','\42231') , ('\42240','\42507') , ('\42512','\42527') , ('\42538','\42539') , ('\42606','\42606') , ('\42656','\42725') , ('\42895','\42895') , ('\42999','\42999') , ('\43003','\43009') , ('\43011','\43013') , ('\43015','\43018') , ('\43020','\43042') , ('\43072','\43123') , ('\43138','\43187') , ('\43250','\43255') , ('\43259','\43259') , ('\43261','\43262') , ('\43274','\43301') , ('\43312','\43334') , ('\43360','\43388') , ('\43396','\43442') , ('\43488','\43492') , ('\43495','\43503') , ('\43514','\43518') , ('\43520','\43560') , ('\43584','\43586') , ('\43588','\43595') , ('\43616','\43631') , ('\43633','\43638') , ('\43642','\43642') , ('\43646','\43695') , ('\43697','\43697') , ('\43701','\43702') , ('\43705','\43709') , ('\43712','\43712') , ('\43714','\43714') , ('\43739','\43740') , ('\43744','\43754') , ('\43762','\43762') , ('\43777','\43782') , ('\43785','\43790') , ('\43793','\43798') , ('\43808','\43814') , ('\43816','\43822') , ('\43968','\44002') , ('\44032','\44032') , ('\55203','\55203') , ('\55216','\55238') , ('\55243','\55291') , ('\63744','\64109') , ('\64112','\64217') , ('\64285','\64285') , ('\64287','\64296') , ('\64298','\64310') , ('\64312','\64316') , ('\64318','\64318') , ('\64320','\64321') , ('\64323','\64324') , ('\64326','\64433') , ('\64467','\64829') , ('\64848','\64911') , ('\64914','\64967') , ('\65008','\65019') , ('\65136','\65140') , ('\65142','\65276') , ('\65382','\65391') , ('\65393','\65437') , ('\65440','\65470') , ('\65474','\65479') , ('\65482','\65487') , ('\65490','\65495') , ('\65498','\65500') , ('\65536','\65547') , ('\65549','\65574') , ('\65576','\65594') , ('\65596','\65597') , ('\65599','\65613') , ('\65616','\65629') , ('\65664','\65786') , ('\66176','\66204') , ('\66208','\66256') , ('\66304','\66335') , ('\66349','\66368') , ('\66370','\66377') , ('\66384','\66421') , ('\66432','\66461') , ('\66464','\66499') , ('\66504','\66511') , ('\66640','\66717') , ('\66816','\66855') , ('\66864','\66915') , ('\67072','\67382') , ('\67392','\67413') , ('\67424','\67431') , ('\67584','\67589') , ('\67592','\67592') , ('\67594','\67637') , ('\67639','\67640') , ('\67644','\67644') , ('\67647','\67669') , ('\67680','\67702') , ('\67712','\67742') , ('\67808','\67826') , ('\67828','\67829') , ('\67840','\67861') , ('\67872','\67897') , ('\67968','\68023') , ('\68030','\68031') , ('\68096','\68096') , ('\68112','\68115') , ('\68117','\68119') , ('\68121','\68149') , ('\68192','\68220') , ('\68224','\68252') , ('\68288','\68295') , ('\68297','\68324') , ('\68352','\68405') , ('\68416','\68437') , ('\68448','\68466') , ('\68480','\68497') , ('\68608','\68680') , ('\68864','\68899') , ('\69376','\69404') , ('\69415','\69415') , ('\69424','\69445') , ('\69600','\69622') , ('\69635','\69687') , ('\69763','\69807') , ('\69840','\69864') , ('\69891','\69926') , ('\69956','\69956') , ('\69968','\70002') , ('\70006','\70006') , ('\70019','\70066') , ('\70081','\70084') , ('\70106','\70106') , ('\70108','\70108') , ('\70144','\70161') , ('\70163','\70187') , ('\70272','\70278') , ('\70280','\70280') , ('\70282','\70285') , ('\70287','\70301') , ('\70303','\70312') , ('\70320','\70366') , ('\70405','\70412') , ('\70415','\70416') , ('\70419','\70440') , ('\70442','\70448') , ('\70450','\70451') , ('\70453','\70457') , ('\70461','\70461') , ('\70480','\70480') , ('\70493','\70497') , ('\70656','\70708') , ('\70727','\70730') , ('\70751','\70751') , ('\70784','\70831') , ('\70852','\70853') , ('\70855','\70855') , ('\71040','\71086') , ('\71128','\71131') , ('\71168','\71215') , ('\71236','\71236') , ('\71296','\71338') , ('\71352','\71352') , ('\71424','\71450') , ('\71680','\71723') , ('\71935','\71935') , ('\72096','\72103') , ('\72106','\72144') , ('\72161','\72161') , ('\72163','\72163') , ('\72192','\72192') , ('\72203','\72242') , ('\72250','\72250') , ('\72272','\72272') , ('\72284','\72329') , ('\72349','\72349') , ('\72384','\72440') , ('\72704','\72712') , ('\72714','\72750') , ('\72768','\72768') , ('\72818','\72847') , ('\72960','\72966') , ('\72968','\72969') , ('\72971','\73008') , ('\73030','\73030') , ('\73056','\73061') , ('\73063','\73064') , ('\73066','\73097') , ('\73112','\73112') , ('\73440','\73458') , ('\73728','\74649') , ('\74880','\75075') , ('\77824','\78894') , ('\82944','\83526') , ('\92160','\92728') , ('\92736','\92766') , ('\92880','\92909') , ('\92928','\92975') , ('\93027','\93047') , ('\93053','\93071') , ('\93952','\94026') , ('\94032','\94032') , ('\94208','\94208') , ('\100343','\100343') , ('\100352','\101106') , ('\110592','\110878') , ('\110928','\110930') , ('\110948','\110951') , ('\110960','\111355') , ('\113664','\113770') , ('\113776','\113788') , ('\113792','\113800') , ('\113808','\113817') , ('\123136','\123180') , ('\123214','\123214') , ('\123584','\123627') , ('\124928','\125124') , ('\126464','\126467') , ('\126469','\126495') , ('\126497','\126498') , ('\126500','\126500') , ('\126503','\126503') , ('\126505','\126514') , ('\126516','\126519') , ('\126521','\126521') , ('\126523','\126523') , ('\126530','\126530') , ('\126535','\126535') , ('\126537','\126537') , ('\126539','\126539') , ('\126541','\126543') , ('\126545','\126546') , ('\126548','\126548') , ('\126551','\126551') , ('\126553','\126553') , ('\126555','\126555') , ('\126557','\126557') , ('\126559','\126559') , ('\126561','\126562') , ('\126564','\126564') , ('\126567','\126570') , ('\126572','\126578') , ('\126580','\126583') , ('\126585','\126588') , ('\126590','\126590') , ('\126592','\126601') , ('\126603','\126619') , ('\126625','\126627') , ('\126629','\126633') , ('\126635','\126651') , ('\131072','\131072') , ('\173782','\173782') , ('\173824','\173824') , ('\177972','\177972') , ('\177984','\177984') , ('\178205','\178205') , ('\178208','\178208') , ('\183969','\183969') , ('\183984','\183984') , ('\191456','\191456') , ('\194560','\195101') ] -- ------------------------------------------------------------ isUnicodeLt :: Char -> Bool isUnicodeLt c = elemCS c charPropUnicodeLt charPropUnicodeLt :: CharSet charPropUnicodeLt = [ ('\453','\453') , ('\456','\456') , ('\459','\459') , ('\498','\498') , ('\8072','\8079') , ('\8088','\8095') , ('\8104','\8111') , ('\8124','\8124') , ('\8140','\8140') , ('\8188','\8188') ] -- ------------------------------------------------------------ isUnicodeLu :: Char -> Bool isUnicodeLu c = elemCS c charPropUnicodeLu charPropUnicodeLu :: CharSet charPropUnicodeLu = [ ('A','Z') , ('\192','\214') , ('\216','\222') , ('\256','\256') , ('\258','\258') , ('\260','\260') , ('\262','\262') , ('\264','\264') , ('\266','\266') , ('\268','\268') , ('\270','\270') , ('\272','\272') , ('\274','\274') , ('\276','\276') , ('\278','\278') , ('\280','\280') , ('\282','\282') , ('\284','\284') , ('\286','\286') , ('\288','\288') , ('\290','\290') , ('\292','\292') , ('\294','\294') , ('\296','\296') , ('\298','\298') , ('\300','\300') , ('\302','\302') , ('\304','\304') , ('\306','\306') , ('\308','\308') , ('\310','\310') , ('\313','\313') , ('\315','\315') , ('\317','\317') , ('\319','\319') , ('\321','\321') , ('\323','\323') , ('\325','\325') , ('\327','\327') , ('\330','\330') , ('\332','\332') , ('\334','\334') , ('\336','\336') , ('\338','\338') , ('\340','\340') , ('\342','\342') , ('\344','\344') , ('\346','\346') , ('\348','\348') , ('\350','\350') , ('\352','\352') , ('\354','\354') , ('\356','\356') , ('\358','\358') , ('\360','\360') , ('\362','\362') , ('\364','\364') , ('\366','\366') , ('\368','\368') , ('\370','\370') , ('\372','\372') , ('\374','\374') , ('\376','\377') , ('\379','\379') , ('\381','\381') , ('\385','\386') , ('\388','\388') , ('\390','\391') , ('\393','\395') , ('\398','\401') , ('\403','\404') , ('\406','\408') , ('\412','\413') , ('\415','\416') , ('\418','\418') , ('\420','\420') , ('\422','\423') , ('\425','\425') , ('\428','\428') , ('\430','\431') , ('\433','\435') , ('\437','\437') , ('\439','\440') , ('\444','\444') , ('\452','\452') , ('\455','\455') , ('\458','\458') , ('\461','\461') , ('\463','\463') , ('\465','\465') , ('\467','\467') , ('\469','\469') , ('\471','\471') , ('\473','\473') , ('\475','\475') , ('\478','\478') , ('\480','\480') , ('\482','\482') , ('\484','\484') , ('\486','\486') , ('\488','\488') , ('\490','\490') , ('\492','\492') , ('\494','\494') , ('\497','\497') , ('\500','\500') , ('\502','\504') , ('\506','\506') , ('\508','\508') , ('\510','\510') , ('\512','\512') , ('\514','\514') , ('\516','\516') , ('\518','\518') , ('\520','\520') , ('\522','\522') , ('\524','\524') , ('\526','\526') , ('\528','\528') , ('\530','\530') , ('\532','\532') , ('\534','\534') , ('\536','\536') , ('\538','\538') , ('\540','\540') , ('\542','\542') , ('\544','\544') , ('\546','\546') , ('\548','\548') , ('\550','\550') , ('\552','\552') , ('\554','\554') , ('\556','\556') , ('\558','\558') , ('\560','\560') , ('\562','\562') , ('\570','\571') , ('\573','\574') , ('\577','\577') , ('\579','\582') , ('\584','\584') , ('\586','\586') , ('\588','\588') , ('\590','\590') , ('\880','\880') , ('\882','\882') , ('\886','\886') , ('\895','\895') , ('\902','\902') , ('\904','\906') , ('\908','\908') , ('\910','\911') , ('\913','\929') , ('\931','\939') , ('\975','\975') , ('\978','\980') , ('\984','\984') , ('\986','\986') , ('\988','\988') , ('\990','\990') , ('\992','\992') , ('\994','\994') , ('\996','\996') , ('\998','\998') , ('\1000','\1000') , ('\1002','\1002') , ('\1004','\1004') , ('\1006','\1006') , ('\1012','\1012') , ('\1015','\1015') , ('\1017','\1018') , ('\1021','\1071') , ('\1120','\1120') , ('\1122','\1122') , ('\1124','\1124') , ('\1126','\1126') , ('\1128','\1128') , ('\1130','\1130') , ('\1132','\1132') , ('\1134','\1134') , ('\1136','\1136') , ('\1138','\1138') , ('\1140','\1140') , ('\1142','\1142') , ('\1144','\1144') , ('\1146','\1146') , ('\1148','\1148') , ('\1150','\1150') , ('\1152','\1152') , ('\1162','\1162') , ('\1164','\1164') , ('\1166','\1166') , ('\1168','\1168') , ('\1170','\1170') , ('\1172','\1172') , ('\1174','\1174') , ('\1176','\1176') , ('\1178','\1178') , ('\1180','\1180') , ('\1182','\1182') , ('\1184','\1184') , ('\1186','\1186') , ('\1188','\1188') , ('\1190','\1190') , ('\1192','\1192') , ('\1194','\1194') , ('\1196','\1196') , ('\1198','\1198') , ('\1200','\1200') , ('\1202','\1202') , ('\1204','\1204') , ('\1206','\1206') , ('\1208','\1208') , ('\1210','\1210') , ('\1212','\1212') , ('\1214','\1214') , ('\1216','\1217') , ('\1219','\1219') , ('\1221','\1221') , ('\1223','\1223') , ('\1225','\1225') , ('\1227','\1227') , ('\1229','\1229') , ('\1232','\1232') , ('\1234','\1234') , ('\1236','\1236') , ('\1238','\1238') , ('\1240','\1240') , ('\1242','\1242') , ('\1244','\1244') , ('\1246','\1246') , ('\1248','\1248') , ('\1250','\1250') , ('\1252','\1252') , ('\1254','\1254') , ('\1256','\1256') , ('\1258','\1258') , ('\1260','\1260') , ('\1262','\1262') , ('\1264','\1264') , ('\1266','\1266') , ('\1268','\1268') , ('\1270','\1270') , ('\1272','\1272') , ('\1274','\1274') , ('\1276','\1276') , ('\1278','\1278') , ('\1280','\1280') , ('\1282','\1282') , ('\1284','\1284') , ('\1286','\1286') , ('\1288','\1288') , ('\1290','\1290') , ('\1292','\1292') , ('\1294','\1294') , ('\1296','\1296') , ('\1298','\1298') , ('\1300','\1300') , ('\1302','\1302') , ('\1304','\1304') , ('\1306','\1306') , ('\1308','\1308') , ('\1310','\1310') , ('\1312','\1312') , ('\1314','\1314') , ('\1316','\1316') , ('\1318','\1318') , ('\1320','\1320') , ('\1322','\1322') , ('\1324','\1324') , ('\1326','\1326') , ('\1329','\1366') , ('\4256','\4293') , ('\4295','\4295') , ('\4301','\4301') , ('\5024','\5109') , ('\7312','\7354') , ('\7357','\7359') , ('\7680','\7680') , ('\7682','\7682') , ('\7684','\7684') , ('\7686','\7686') , ('\7688','\7688') , ('\7690','\7690') , ('\7692','\7692') , ('\7694','\7694') , ('\7696','\7696') , ('\7698','\7698') , ('\7700','\7700') , ('\7702','\7702') , ('\7704','\7704') , ('\7706','\7706') , ('\7708','\7708') , ('\7710','\7710') , ('\7712','\7712') , ('\7714','\7714') , ('\7716','\7716') , ('\7718','\7718') , ('\7720','\7720') , ('\7722','\7722') , ('\7724','\7724') , ('\7726','\7726') , ('\7728','\7728') , ('\7730','\7730') , ('\7732','\7732') , ('\7734','\7734') , ('\7736','\7736') , ('\7738','\7738') , ('\7740','\7740') , ('\7742','\7742') , ('\7744','\7744') , ('\7746','\7746') , ('\7748','\7748') , ('\7750','\7750') , ('\7752','\7752') , ('\7754','\7754') , ('\7756','\7756') , ('\7758','\7758') , ('\7760','\7760') , ('\7762','\7762') , ('\7764','\7764') , ('\7766','\7766') , ('\7768','\7768') , ('\7770','\7770') , ('\7772','\7772') , ('\7774','\7774') , ('\7776','\7776') , ('\7778','\7778') , ('\7780','\7780') , ('\7782','\7782') , ('\7784','\7784') , ('\7786','\7786') , ('\7788','\7788') , ('\7790','\7790') , ('\7792','\7792') , ('\7794','\7794') , ('\7796','\7796') , ('\7798','\7798') , ('\7800','\7800') , ('\7802','\7802') , ('\7804','\7804') , ('\7806','\7806') , ('\7808','\7808') , ('\7810','\7810') , ('\7812','\7812') , ('\7814','\7814') , ('\7816','\7816') , ('\7818','\7818') , ('\7820','\7820') , ('\7822','\7822') , ('\7824','\7824') , ('\7826','\7826') , ('\7828','\7828') , ('\7838','\7838') , ('\7840','\7840') , ('\7842','\7842') , ('\7844','\7844') , ('\7846','\7846') , ('\7848','\7848') , ('\7850','\7850') , ('\7852','\7852') , ('\7854','\7854') , ('\7856','\7856') , ('\7858','\7858') , ('\7860','\7860') , ('\7862','\7862') , ('\7864','\7864') , ('\7866','\7866') , ('\7868','\7868') , ('\7870','\7870') , ('\7872','\7872') , ('\7874','\7874') , ('\7876','\7876') , ('\7878','\7878') , ('\7880','\7880') , ('\7882','\7882') , ('\7884','\7884') , ('\7886','\7886') , ('\7888','\7888') , ('\7890','\7890') , ('\7892','\7892') , ('\7894','\7894') , ('\7896','\7896') , ('\7898','\7898') , ('\7900','\7900') , ('\7902','\7902') , ('\7904','\7904') , ('\7906','\7906') , ('\7908','\7908') , ('\7910','\7910') , ('\7912','\7912') , ('\7914','\7914') , ('\7916','\7916') , ('\7918','\7918') , ('\7920','\7920') , ('\7922','\7922') , ('\7924','\7924') , ('\7926','\7926') , ('\7928','\7928') , ('\7930','\7930') , ('\7932','\7932') , ('\7934','\7934') , ('\7944','\7951') , ('\7960','\7965') , ('\7976','\7983') , ('\7992','\7999') , ('\8008','\8013') , ('\8025','\8025') , ('\8027','\8027') , ('\8029','\8029') , ('\8031','\8031') , ('\8040','\8047') , ('\8120','\8123') , ('\8136','\8139') , ('\8152','\8155') , ('\8168','\8172') , ('\8184','\8187') , ('\8450','\8450') , ('\8455','\8455') , ('\8459','\8461') , ('\8464','\8466') , ('\8469','\8469') , ('\8473','\8477') , ('\8484','\8484') , ('\8486','\8486') , ('\8488','\8488') , ('\8490','\8493') , ('\8496','\8499') , ('\8510','\8511') , ('\8517','\8517') , ('\8579','\8579') , ('\11264','\11310') , ('\11360','\11360') , ('\11362','\11364') , ('\11367','\11367') , ('\11369','\11369') , ('\11371','\11371') , ('\11373','\11376') , ('\11378','\11378') , ('\11381','\11381') , ('\11390','\11392') , ('\11394','\11394') , ('\11396','\11396') , ('\11398','\11398') , ('\11400','\11400') , ('\11402','\11402') , ('\11404','\11404') , ('\11406','\11406') , ('\11408','\11408') , ('\11410','\11410') , ('\11412','\11412') , ('\11414','\11414') , ('\11416','\11416') , ('\11418','\11418') , ('\11420','\11420') , ('\11422','\11422') , ('\11424','\11424') , ('\11426','\11426') , ('\11428','\11428') , ('\11430','\11430') , ('\11432','\11432') , ('\11434','\11434') , ('\11436','\11436') , ('\11438','\11438') , ('\11440','\11440') , ('\11442','\11442') , ('\11444','\11444') , ('\11446','\11446') , ('\11448','\11448') , ('\11450','\11450') , ('\11452','\11452') , ('\11454','\11454') , ('\11456','\11456') , ('\11458','\11458') , ('\11460','\11460') , ('\11462','\11462') , ('\11464','\11464') , ('\11466','\11466') , ('\11468','\11468') , ('\11470','\11470') , ('\11472','\11472') , ('\11474','\11474') , ('\11476','\11476') , ('\11478','\11478') , ('\11480','\11480') , ('\11482','\11482') , ('\11484','\11484') , ('\11486','\11486') , ('\11488','\11488') , ('\11490','\11490') , ('\11499','\11499') , ('\11501','\11501') , ('\11506','\11506') , ('\42560','\42560') , ('\42562','\42562') , ('\42564','\42564') , ('\42566','\42566') , ('\42568','\42568') , ('\42570','\42570') , ('\42572','\42572') , ('\42574','\42574') , ('\42576','\42576') , ('\42578','\42578') , ('\42580','\42580') , ('\42582','\42582') , ('\42584','\42584') , ('\42586','\42586') , ('\42588','\42588') , ('\42590','\42590') , ('\42592','\42592') , ('\42594','\42594') , ('\42596','\42596') , ('\42598','\42598') , ('\42600','\42600') , ('\42602','\42602') , ('\42604','\42604') , ('\42624','\42624') , ('\42626','\42626') , ('\42628','\42628') , ('\42630','\42630') , ('\42632','\42632') , ('\42634','\42634') , ('\42636','\42636') , ('\42638','\42638') , ('\42640','\42640') , ('\42642','\42642') , ('\42644','\42644') , ('\42646','\42646') , ('\42648','\42648') , ('\42650','\42650') , ('\42786','\42786') , ('\42788','\42788') , ('\42790','\42790') , ('\42792','\42792') , ('\42794','\42794') , ('\42796','\42796') , ('\42798','\42798') , ('\42802','\42802') , ('\42804','\42804') , ('\42806','\42806') , ('\42808','\42808') , ('\42810','\42810') , ('\42812','\42812') , ('\42814','\42814') , ('\42816','\42816') , ('\42818','\42818') , ('\42820','\42820') , ('\42822','\42822') , ('\42824','\42824') , ('\42826','\42826') , ('\42828','\42828') , ('\42830','\42830') , ('\42832','\42832') , ('\42834','\42834') , ('\42836','\42836') , ('\42838','\42838') , ('\42840','\42840') , ('\42842','\42842') , ('\42844','\42844') , ('\42846','\42846') , ('\42848','\42848') , ('\42850','\42850') , ('\42852','\42852') , ('\42854','\42854') , ('\42856','\42856') , ('\42858','\42858') , ('\42860','\42860') , ('\42862','\42862') , ('\42873','\42873') , ('\42875','\42875') , ('\42877','\42878') , ('\42880','\42880') , ('\42882','\42882') , ('\42884','\42884') , ('\42886','\42886') , ('\42891','\42891') , ('\42893','\42893') , ('\42896','\42896') , ('\42898','\42898') , ('\42902','\42902') , ('\42904','\42904') , ('\42906','\42906') , ('\42908','\42908') , ('\42910','\42910') , ('\42912','\42912') , ('\42914','\42914') , ('\42916','\42916') , ('\42918','\42918') , ('\42920','\42920') , ('\42922','\42926') , ('\42928','\42932') , ('\42934','\42934') , ('\42936','\42936') , ('\42938','\42938') , ('\42940','\42940') , ('\42942','\42942') , ('\42946','\42946') , ('\42948','\42950') , ('\65313','\65338') , ('\66560','\66599') , ('\66736','\66771') , ('\68736','\68786') , ('\71840','\71871') , ('\93760','\93791') , ('\119808','\119833') , ('\119860','\119885') , ('\119912','\119937') , ('\119964','\119964') , ('\119966','\119967') , ('\119970','\119970') , ('\119973','\119974') , ('\119977','\119980') , ('\119982','\119989') , ('\120016','\120041') , ('\120068','\120069') , ('\120071','\120074') , ('\120077','\120084') , ('\120086','\120092') , ('\120120','\120121') , ('\120123','\120126') , ('\120128','\120132') , ('\120134','\120134') , ('\120138','\120144') , ('\120172','\120197') , ('\120224','\120249') , ('\120276','\120301') , ('\120328','\120353') , ('\120380','\120405') , ('\120432','\120457') , ('\120488','\120512') , ('\120546','\120570') , ('\120604','\120628') , ('\120662','\120686') , ('\120720','\120744') , ('\120778','\120778') , ('\125184','\125217') ] -- ------------------------------------------------------------ isUnicodeM :: Char -> Bool isUnicodeM c = elemCS c charPropUnicodeM charPropUnicodeM :: CharSet charPropUnicodeM = [ ('\768','\879') , ('\1155','\1161') , ('\1425','\1469') , ('\1471','\1471') , ('\1473','\1474') , ('\1476','\1477') , ('\1479','\1479') , ('\1552','\1562') , ('\1611','\1631') , ('\1648','\1648') , ('\1750','\1756') , ('\1759','\1764') , ('\1767','\1768') , ('\1770','\1773') , ('\1809','\1809') , ('\1840','\1866') , ('\1958','\1968') , ('\2027','\2035') , ('\2045','\2045') , ('\2070','\2073') , ('\2075','\2083') , ('\2085','\2087') , ('\2089','\2093') , ('\2137','\2139') , ('\2259','\2273') , ('\2275','\2307') , ('\2362','\2364') , ('\2366','\2383') , ('\2385','\2391') , ('\2402','\2403') , ('\2433','\2435') , ('\2492','\2492') , ('\2494','\2500') , ('\2503','\2504') , ('\2507','\2509') , ('\2519','\2519') , ('\2530','\2531') , ('\2558','\2558') , ('\2561','\2563') , ('\2620','\2620') , ('\2622','\2626') , ('\2631','\2632') , ('\2635','\2637') , ('\2641','\2641') , ('\2672','\2673') , ('\2677','\2677') , ('\2689','\2691') , ('\2748','\2748') , ('\2750','\2757') , ('\2759','\2761') , ('\2763','\2765') , ('\2786','\2787') , ('\2810','\2815') , ('\2817','\2819') , ('\2876','\2876') , ('\2878','\2884') , ('\2887','\2888') , ('\2891','\2893') , ('\2902','\2903') , ('\2914','\2915') , ('\2946','\2946') , ('\3006','\3010') , ('\3014','\3016') , ('\3018','\3021') , ('\3031','\3031') , ('\3072','\3076') , ('\3134','\3140') , ('\3142','\3144') , ('\3146','\3149') , ('\3157','\3158') , ('\3170','\3171') , ('\3201','\3203') , ('\3260','\3260') , ('\3262','\3268') , ('\3270','\3272') , ('\3274','\3277') , ('\3285','\3286') , ('\3298','\3299') , ('\3328','\3331') , ('\3387','\3388') , ('\3390','\3396') , ('\3398','\3400') , ('\3402','\3405') , ('\3415','\3415') , ('\3426','\3427') , ('\3458','\3459') , ('\3530','\3530') , ('\3535','\3540') , ('\3542','\3542') , ('\3544','\3551') , ('\3570','\3571') , ('\3633','\3633') , ('\3636','\3642') , ('\3655','\3662') , ('\3761','\3761') , ('\3764','\3772') , ('\3784','\3789') , ('\3864','\3865') , ('\3893','\3893') , ('\3895','\3895') , ('\3897','\3897') , ('\3902','\3903') , ('\3953','\3972') , ('\3974','\3975') , ('\3981','\3991') , ('\3993','\4028') , ('\4038','\4038') , ('\4139','\4158') , ('\4182','\4185') , ('\4190','\4192') , ('\4194','\4196') , ('\4199','\4205') , ('\4209','\4212') , ('\4226','\4237') , ('\4239','\4239') , ('\4250','\4253') , ('\4957','\4959') , ('\5906','\5908') , ('\5938','\5940') , ('\5970','\5971') , ('\6002','\6003') , ('\6068','\6099') , ('\6109','\6109') , ('\6155','\6157') , ('\6277','\6278') , ('\6313','\6313') , ('\6432','\6443') , ('\6448','\6459') , ('\6679','\6683') , ('\6741','\6750') , ('\6752','\6780') , ('\6783','\6783') , ('\6832','\6846') , ('\6912','\6916') , ('\6964','\6980') , ('\7019','\7027') , ('\7040','\7042') , ('\7073','\7085') , ('\7142','\7155') , ('\7204','\7223') , ('\7376','\7378') , ('\7380','\7400') , ('\7405','\7405') , ('\7412','\7412') , ('\7415','\7417') , ('\7616','\7673') , ('\7675','\7679') , ('\8400','\8432') , ('\11503','\11505') , ('\11647','\11647') , ('\11744','\11775') , ('\12330','\12335') , ('\12441','\12442') , ('\42607','\42610') , ('\42612','\42621') , ('\42654','\42655') , ('\42736','\42737') , ('\43010','\43010') , ('\43014','\43014') , ('\43019','\43019') , ('\43043','\43047') , ('\43136','\43137') , ('\43188','\43205') , ('\43232','\43249') , ('\43263','\43263') , ('\43302','\43309') , ('\43335','\43347') , ('\43392','\43395') , ('\43443','\43456') , ('\43493','\43493') , ('\43561','\43574') , ('\43587','\43587') , ('\43596','\43597') , ('\43643','\43645') , ('\43696','\43696') , ('\43698','\43700') , ('\43703','\43704') , ('\43710','\43711') , ('\43713','\43713') , ('\43755','\43759') , ('\43765','\43766') , ('\44003','\44010') , ('\44012','\44013') , ('\64286','\64286') , ('\65024','\65039') , ('\65056','\65071') , ('\66045','\66045') , ('\66272','\66272') , ('\66422','\66426') , ('\68097','\68099') , ('\68101','\68102') , ('\68108','\68111') , ('\68152','\68154') , ('\68159','\68159') , ('\68325','\68326') , ('\68900','\68903') , ('\69446','\69456') , ('\69632','\69634') , ('\69688','\69702') , ('\69759','\69762') , ('\69808','\69818') , ('\69888','\69890') , ('\69927','\69940') , ('\69957','\69958') , ('\70003','\70003') , ('\70016','\70018') , ('\70067','\70080') , ('\70089','\70092') , ('\70188','\70199') , ('\70206','\70206') , ('\70367','\70378') , ('\70400','\70403') , ('\70459','\70460') , ('\70462','\70468') , ('\70471','\70472') , ('\70475','\70477') , ('\70487','\70487') , ('\70498','\70499') , ('\70502','\70508') , ('\70512','\70516') , ('\70709','\70726') , ('\70750','\70750') , ('\70832','\70851') , ('\71087','\71093') , ('\71096','\71104') , ('\71132','\71133') , ('\71216','\71232') , ('\71339','\71351') , ('\71453','\71467') , ('\71724','\71738') , ('\72145','\72151') , ('\72154','\72160') , ('\72164','\72164') , ('\72193','\72202') , ('\72243','\72249') , ('\72251','\72254') , ('\72263','\72263') , ('\72273','\72283') , ('\72330','\72345') , ('\72751','\72758') , ('\72760','\72767') , ('\72850','\72871') , ('\72873','\72886') , ('\73009','\73014') , ('\73018','\73018') , ('\73020','\73021') , ('\73023','\73029') , ('\73031','\73031') , ('\73098','\73102') , ('\73104','\73105') , ('\73107','\73111') , ('\73459','\73462') , ('\92912','\92916') , ('\92976','\92982') , ('\94031','\94031') , ('\94033','\94087') , ('\94095','\94098') , ('\113821','\113822') , ('\119141','\119145') , ('\119149','\119154') , ('\119163','\119170') , ('\119173','\119179') , ('\119210','\119213') , ('\119362','\119364') , ('\121344','\121398') , ('\121403','\121452') , ('\121461','\121461') , ('\121476','\121476') , ('\121499','\121503') , ('\121505','\121519') , ('\122880','\122886') , ('\122888','\122904') , ('\122907','\122913') , ('\122915','\122916') , ('\122918','\122922') , ('\123184','\123190') , ('\123628','\123631') , ('\125136','\125142') , ('\125252','\125258') , ('\917760','\917999') ] -- ------------------------------------------------------------ isUnicodeMc :: Char -> Bool isUnicodeMc c = elemCS c charPropUnicodeMc charPropUnicodeMc :: CharSet charPropUnicodeMc = [ ('\2307','\2307') , ('\2363','\2363') , ('\2366','\2368') , ('\2377','\2380') , ('\2382','\2383') , ('\2434','\2435') , ('\2494','\2496') , ('\2503','\2504') , ('\2507','\2508') , ('\2519','\2519') , ('\2563','\2563') , ('\2622','\2624') , ('\2691','\2691') , ('\2750','\2752') , ('\2761','\2761') , ('\2763','\2764') , ('\2818','\2819') , ('\2878','\2878') , ('\2880','\2880') , ('\2887','\2888') , ('\2891','\2892') , ('\2903','\2903') , ('\3006','\3007') , ('\3009','\3010') , ('\3014','\3016') , ('\3018','\3020') , ('\3031','\3031') , ('\3073','\3075') , ('\3137','\3140') , ('\3202','\3203') , ('\3262','\3262') , ('\3264','\3268') , ('\3271','\3272') , ('\3274','\3275') , ('\3285','\3286') , ('\3330','\3331') , ('\3390','\3392') , ('\3398','\3400') , ('\3402','\3404') , ('\3415','\3415') , ('\3458','\3459') , ('\3535','\3537') , ('\3544','\3551') , ('\3570','\3571') , ('\3902','\3903') , ('\3967','\3967') , ('\4139','\4140') , ('\4145','\4145') , ('\4152','\4152') , ('\4155','\4156') , ('\4182','\4183') , ('\4194','\4196') , ('\4199','\4205') , ('\4227','\4228') , ('\4231','\4236') , ('\4239','\4239') , ('\4250','\4252') , ('\6070','\6070') , ('\6078','\6085') , ('\6087','\6088') , ('\6435','\6438') , ('\6441','\6443') , ('\6448','\6449') , ('\6451','\6456') , ('\6681','\6682') , ('\6741','\6741') , ('\6743','\6743') , ('\6753','\6753') , ('\6755','\6756') , ('\6765','\6770') , ('\6916','\6916') , ('\6965','\6965') , ('\6971','\6971') , ('\6973','\6977') , ('\6979','\6980') , ('\7042','\7042') , ('\7073','\7073') , ('\7078','\7079') , ('\7082','\7082') , ('\7143','\7143') , ('\7146','\7148') , ('\7150','\7150') , ('\7154','\7155') , ('\7204','\7211') , ('\7220','\7221') , ('\7393','\7393') , ('\7415','\7415') , ('\12334','\12335') , ('\43043','\43044') , ('\43047','\43047') , ('\43136','\43137') , ('\43188','\43203') , ('\43346','\43347') , ('\43395','\43395') , ('\43444','\43445') , ('\43450','\43451') , ('\43454','\43456') , ('\43567','\43568') , ('\43571','\43572') , ('\43597','\43597') , ('\43643','\43643') , ('\43645','\43645') , ('\43755','\43755') , ('\43758','\43759') , ('\43765','\43765') , ('\44003','\44004') , ('\44006','\44007') , ('\44009','\44010') , ('\44012','\44012') , ('\69632','\69632') , ('\69634','\69634') , ('\69762','\69762') , ('\69808','\69810') , ('\69815','\69816') , ('\69932','\69932') , ('\69957','\69958') , ('\70018','\70018') , ('\70067','\70069') , ('\70079','\70080') , ('\70188','\70190') , ('\70194','\70195') , ('\70197','\70197') , ('\70368','\70370') , ('\70402','\70403') , ('\70462','\70463') , ('\70465','\70468') , ('\70471','\70472') , ('\70475','\70477') , ('\70487','\70487') , ('\70498','\70499') , ('\70709','\70711') , ('\70720','\70721') , ('\70725','\70725') , ('\70832','\70834') , ('\70841','\70841') , ('\70843','\70846') , ('\70849','\70849') , ('\71087','\71089') , ('\71096','\71099') , ('\71102','\71102') , ('\71216','\71218') , ('\71227','\71228') , ('\71230','\71230') , ('\71340','\71340') , ('\71342','\71343') , ('\71350','\71350') , ('\71456','\71457') , ('\71462','\71462') , ('\71724','\71726') , ('\71736','\71736') , ('\72145','\72147') , ('\72156','\72159') , ('\72164','\72164') , ('\72249','\72249') , ('\72279','\72280') , ('\72343','\72343') , ('\72751','\72751') , ('\72766','\72766') , ('\72873','\72873') , ('\72881','\72881') , ('\72884','\72884') , ('\73098','\73102') , ('\73107','\73108') , ('\73110','\73110') , ('\73461','\73462') , ('\94033','\94087') , ('\119141','\119142') , ('\119149','\119154') ] -- ------------------------------------------------------------ isUnicodeMe :: Char -> Bool isUnicodeMe c = elemCS c charPropUnicodeMe charPropUnicodeMe :: CharSet charPropUnicodeMe = [ ('\1160','\1161') , ('\6846','\6846') , ('\8413','\8416') , ('\8418','\8420') , ('\42608','\42610') ] -- ------------------------------------------------------------ isUnicodeMn :: Char -> Bool isUnicodeMn c = elemCS c charPropUnicodeMn charPropUnicodeMn :: CharSet charPropUnicodeMn = [ ('\768','\879') , ('\1155','\1159') , ('\1425','\1469') , ('\1471','\1471') , ('\1473','\1474') , ('\1476','\1477') , ('\1479','\1479') , ('\1552','\1562') , ('\1611','\1631') , ('\1648','\1648') , ('\1750','\1756') , ('\1759','\1764') , ('\1767','\1768') , ('\1770','\1773') , ('\1809','\1809') , ('\1840','\1866') , ('\1958','\1968') , ('\2027','\2035') , ('\2045','\2045') , ('\2070','\2073') , ('\2075','\2083') , ('\2085','\2087') , ('\2089','\2093') , ('\2137','\2139') , ('\2259','\2273') , ('\2275','\2306') , ('\2362','\2362') , ('\2364','\2364') , ('\2369','\2376') , ('\2381','\2381') , ('\2385','\2391') , ('\2402','\2403') , ('\2433','\2433') , ('\2492','\2492') , ('\2497','\2500') , ('\2509','\2509') , ('\2530','\2531') , ('\2558','\2558') , ('\2561','\2562') , ('\2620','\2620') , ('\2625','\2626') , ('\2631','\2632') , ('\2635','\2637') , ('\2641','\2641') , ('\2672','\2673') , ('\2677','\2677') , ('\2689','\2690') , ('\2748','\2748') , ('\2753','\2757') , ('\2759','\2760') , ('\2765','\2765') , ('\2786','\2787') , ('\2810','\2815') , ('\2817','\2817') , ('\2876','\2876') , ('\2879','\2879') , ('\2881','\2884') , ('\2893','\2893') , ('\2902','\2902') , ('\2914','\2915') , ('\2946','\2946') , ('\3008','\3008') , ('\3021','\3021') , ('\3072','\3072') , ('\3076','\3076') , ('\3134','\3136') , ('\3142','\3144') , ('\3146','\3149') , ('\3157','\3158') , ('\3170','\3171') , ('\3201','\3201') , ('\3260','\3260') , ('\3263','\3263') , ('\3270','\3270') , ('\3276','\3277') , ('\3298','\3299') , ('\3328','\3329') , ('\3387','\3388') , ('\3393','\3396') , ('\3405','\3405') , ('\3426','\3427') , ('\3530','\3530') , ('\3538','\3540') , ('\3542','\3542') , ('\3633','\3633') , ('\3636','\3642') , ('\3655','\3662') , ('\3761','\3761') , ('\3764','\3772') , ('\3784','\3789') , ('\3864','\3865') , ('\3893','\3893') , ('\3895','\3895') , ('\3897','\3897') , ('\3953','\3966') , ('\3968','\3972') , ('\3974','\3975') , ('\3981','\3991') , ('\3993','\4028') , ('\4038','\4038') , ('\4141','\4144') , ('\4146','\4151') , ('\4153','\4154') , ('\4157','\4158') , ('\4184','\4185') , ('\4190','\4192') , ('\4209','\4212') , ('\4226','\4226') , ('\4229','\4230') , ('\4237','\4237') , ('\4253','\4253') , ('\4957','\4959') , ('\5906','\5908') , ('\5938','\5940') , ('\5970','\5971') , ('\6002','\6003') , ('\6068','\6069') , ('\6071','\6077') , ('\6086','\6086') , ('\6089','\6099') , ('\6109','\6109') , ('\6155','\6157') , ('\6277','\6278') , ('\6313','\6313') , ('\6432','\6434') , ('\6439','\6440') , ('\6450','\6450') , ('\6457','\6459') , ('\6679','\6680') , ('\6683','\6683') , ('\6742','\6742') , ('\6744','\6750') , ('\6752','\6752') , ('\6754','\6754') , ('\6757','\6764') , ('\6771','\6780') , ('\6783','\6783') , ('\6832','\6845') , ('\6912','\6915') , ('\6964','\6964') , ('\6966','\6970') , ('\6972','\6972') , ('\6978','\6978') , ('\7019','\7027') , ('\7040','\7041') , ('\7074','\7077') , ('\7080','\7081') , ('\7083','\7085') , ('\7142','\7142') , ('\7144','\7145') , ('\7149','\7149') , ('\7151','\7153') , ('\7212','\7219') , ('\7222','\7223') , ('\7376','\7378') , ('\7380','\7392') , ('\7394','\7400') , ('\7405','\7405') , ('\7412','\7412') , ('\7416','\7417') , ('\7616','\7673') , ('\7675','\7679') , ('\8400','\8412') , ('\8417','\8417') , ('\8421','\8432') , ('\11503','\11505') , ('\11647','\11647') , ('\11744','\11775') , ('\12330','\12333') , ('\12441','\12442') , ('\42607','\42607') , ('\42612','\42621') , ('\42654','\42655') , ('\42736','\42737') , ('\43010','\43010') , ('\43014','\43014') , ('\43019','\43019') , ('\43045','\43046') , ('\43204','\43205') , ('\43232','\43249') , ('\43263','\43263') , ('\43302','\43309') , ('\43335','\43345') , ('\43392','\43394') , ('\43443','\43443') , ('\43446','\43449') , ('\43452','\43453') , ('\43493','\43493') , ('\43561','\43566') , ('\43569','\43570') , ('\43573','\43574') , ('\43587','\43587') , ('\43596','\43596') , ('\43644','\43644') , ('\43696','\43696') , ('\43698','\43700') , ('\43703','\43704') , ('\43710','\43711') , ('\43713','\43713') , ('\43756','\43757') , ('\43766','\43766') , ('\44005','\44005') , ('\44008','\44008') , ('\44013','\44013') , ('\64286','\64286') , ('\65024','\65039') , ('\65056','\65071') , ('\66045','\66045') , ('\66272','\66272') , ('\66422','\66426') , ('\68097','\68099') , ('\68101','\68102') , ('\68108','\68111') , ('\68152','\68154') , ('\68159','\68159') , ('\68325','\68326') , ('\68900','\68903') , ('\69446','\69456') , ('\69633','\69633') , ('\69688','\69702') , ('\69759','\69761') , ('\69811','\69814') , ('\69817','\69818') , ('\69888','\69890') , ('\69927','\69931') , ('\69933','\69940') , ('\70003','\70003') , ('\70016','\70017') , ('\70070','\70078') , ('\70089','\70092') , ('\70191','\70193') , ('\70196','\70196') , ('\70198','\70199') , ('\70206','\70206') , ('\70367','\70367') , ('\70371','\70378') , ('\70400','\70401') , ('\70459','\70460') , ('\70464','\70464') , ('\70502','\70508') , ('\70512','\70516') , ('\70712','\70719') , ('\70722','\70724') , ('\70726','\70726') , ('\70750','\70750') , ('\70835','\70840') , ('\70842','\70842') , ('\70847','\70848') , ('\70850','\70851') , ('\71090','\71093') , ('\71100','\71101') , ('\71103','\71104') , ('\71132','\71133') , ('\71219','\71226') , ('\71229','\71229') , ('\71231','\71232') , ('\71339','\71339') , ('\71341','\71341') , ('\71344','\71349') , ('\71351','\71351') , ('\71453','\71455') , ('\71458','\71461') , ('\71463','\71467') , ('\71727','\71735') , ('\71737','\71738') , ('\72148','\72151') , ('\72154','\72155') , ('\72160','\72160') , ('\72193','\72202') , ('\72243','\72248') , ('\72251','\72254') , ('\72263','\72263') , ('\72273','\72278') , ('\72281','\72283') , ('\72330','\72342') , ('\72344','\72345') , ('\72752','\72758') , ('\72760','\72765') , ('\72767','\72767') , ('\72850','\72871') , ('\72874','\72880') , ('\72882','\72883') , ('\72885','\72886') , ('\73009','\73014') , ('\73018','\73018') , ('\73020','\73021') , ('\73023','\73029') , ('\73031','\73031') , ('\73104','\73105') , ('\73109','\73109') , ('\73111','\73111') , ('\73459','\73460') , ('\92912','\92916') , ('\92976','\92982') , ('\94031','\94031') , ('\94095','\94098') , ('\113821','\113822') , ('\119143','\119145') , ('\119163','\119170') , ('\119173','\119179') , ('\119210','\119213') , ('\119362','\119364') , ('\121344','\121398') , ('\121403','\121452') , ('\121461','\121461') , ('\121476','\121476') , ('\121499','\121503') , ('\121505','\121519') , ('\122880','\122886') , ('\122888','\122904') , ('\122907','\122913') , ('\122915','\122916') , ('\122918','\122922') , ('\123184','\123190') , ('\123628','\123631') , ('\125136','\125142') , ('\125252','\125258') , ('\917760','\917999') ] -- ------------------------------------------------------------ isUnicodeN :: Char -> Bool isUnicodeN c = elemCS c charPropUnicodeN charPropUnicodeN :: CharSet charPropUnicodeN = [ ('0','9') , ('\178','\179') , ('\185','\185') , ('\188','\190') , ('\1632','\1641') , ('\1776','\1785') , ('\1984','\1993') , ('\2406','\2415') , ('\2534','\2543') , ('\2548','\2553') , ('\2662','\2671') , ('\2790','\2799') , ('\2918','\2927') , ('\2930','\2935') , ('\3046','\3058') , ('\3174','\3183') , ('\3192','\3198') , ('\3302','\3311') , ('\3416','\3422') , ('\3430','\3448') , ('\3558','\3567') , ('\3664','\3673') , ('\3792','\3801') , ('\3872','\3891') , ('\4160','\4169') , ('\4240','\4249') , ('\4969','\4988') , ('\5870','\5872') , ('\6112','\6121') , ('\6128','\6137') , ('\6160','\6169') , ('\6470','\6479') , ('\6608','\6618') , ('\6784','\6793') , ('\6800','\6809') , ('\6992','\7001') , ('\7088','\7097') , ('\7232','\7241') , ('\7248','\7257') , ('\8304','\8304') , ('\8308','\8313') , ('\8320','\8329') , ('\8528','\8578') , ('\8581','\8585') , ('\9312','\9371') , ('\9450','\9471') , ('\10102','\10131') , ('\11517','\11517') , ('\12295','\12295') , ('\12321','\12329') , ('\12344','\12346') , ('\12690','\12693') , ('\12832','\12841') , ('\12872','\12879') , ('\12881','\12895') , ('\12928','\12937') , ('\12977','\12991') , ('\42528','\42537') , ('\42726','\42735') , ('\43056','\43061') , ('\43216','\43225') , ('\43264','\43273') , ('\43472','\43481') , ('\43504','\43513') , ('\43600','\43609') , ('\44016','\44025') , ('\65296','\65305') , ('\65799','\65843') , ('\65856','\65912') , ('\65930','\65931') , ('\66273','\66299') , ('\66336','\66339') , ('\66369','\66369') , ('\66378','\66378') , ('\66513','\66517') , ('\66720','\66729') , ('\67672','\67679') , ('\67705','\67711') , ('\67751','\67759') , ('\67835','\67839') , ('\67862','\67867') , ('\68028','\68029') , ('\68032','\68047') , ('\68050','\68095') , ('\68160','\68168') , ('\68221','\68222') , ('\68253','\68255') , ('\68331','\68335') , ('\68440','\68447') , ('\68472','\68479') , ('\68521','\68527') , ('\68858','\68863') , ('\68912','\68921') , ('\69216','\69246') , ('\69405','\69414') , ('\69457','\69460') , ('\69714','\69743') , ('\69872','\69881') , ('\69942','\69951') , ('\70096','\70105') , ('\70113','\70132') , ('\70384','\70393') , ('\70736','\70745') , ('\70864','\70873') , ('\71248','\71257') , ('\71360','\71369') , ('\71472','\71483') , ('\71904','\71922') , ('\72784','\72812') , ('\73040','\73049') , ('\73120','\73129') , ('\73664','\73684') , ('\74752','\74862') , ('\92768','\92777') , ('\93008','\93017') , ('\93019','\93025') , ('\93824','\93846') , ('\119520','\119539') , ('\119648','\119672') , ('\120782','\120831') , ('\123200','\123209') , ('\123632','\123641') , ('\125127','\125135') , ('\125264','\125273') , ('\126065','\126123') , ('\126125','\126127') , ('\126129','\126132') , ('\126209','\126253') , ('\126255','\126269') , ('\127232','\127244') ] -- ------------------------------------------------------------ isUnicodeNd :: Char -> Bool isUnicodeNd c = elemCS c charPropUnicodeNd charPropUnicodeNd :: CharSet charPropUnicodeNd = [ ('0','9') , ('\1632','\1641') , ('\1776','\1785') , ('\1984','\1993') , ('\2406','\2415') , ('\2534','\2543') , ('\2662','\2671') , ('\2790','\2799') , ('\2918','\2927') , ('\3046','\3055') , ('\3174','\3183') , ('\3302','\3311') , ('\3430','\3439') , ('\3558','\3567') , ('\3664','\3673') , ('\3792','\3801') , ('\3872','\3881') , ('\4160','\4169') , ('\4240','\4249') , ('\6112','\6121') , ('\6160','\6169') , ('\6470','\6479') , ('\6608','\6617') , ('\6784','\6793') , ('\6800','\6809') , ('\6992','\7001') , ('\7088','\7097') , ('\7232','\7241') , ('\7248','\7257') , ('\42528','\42537') , ('\43216','\43225') , ('\43264','\43273') , ('\43472','\43481') , ('\43504','\43513') , ('\43600','\43609') , ('\44016','\44025') , ('\65296','\65305') , ('\66720','\66729') , ('\68912','\68921') , ('\69734','\69743') , ('\69872','\69881') , ('\69942','\69951') , ('\70096','\70105') , ('\70384','\70393') , ('\70736','\70745') , ('\70864','\70873') , ('\71248','\71257') , ('\71360','\71369') , ('\71472','\71481') , ('\71904','\71913') , ('\72784','\72793') , ('\73040','\73049') , ('\73120','\73129') , ('\92768','\92777') , ('\93008','\93017') , ('\120782','\120831') , ('\123200','\123209') , ('\123632','\123641') , ('\125264','\125273') ] -- ------------------------------------------------------------ isUnicodeNl :: Char -> Bool isUnicodeNl c = elemCS c charPropUnicodeNl charPropUnicodeNl :: CharSet charPropUnicodeNl = [ ('\5870','\5872') , ('\8544','\8578') , ('\8581','\8584') , ('\12295','\12295') , ('\12321','\12329') , ('\12344','\12346') , ('\42726','\42735') , ('\65856','\65908') , ('\66369','\66369') , ('\66378','\66378') , ('\66513','\66517') , ('\74752','\74862') ] -- ------------------------------------------------------------ isUnicodeNo :: Char -> Bool isUnicodeNo c = elemCS c charPropUnicodeNo charPropUnicodeNo :: CharSet charPropUnicodeNo = [ ('\178','\179') , ('\185','\185') , ('\188','\190') , ('\2548','\2553') , ('\2930','\2935') , ('\3056','\3058') , ('\3192','\3198') , ('\3416','\3422') , ('\3440','\3448') , ('\3882','\3891') , ('\4969','\4988') , ('\6128','\6137') , ('\6618','\6618') , ('\8304','\8304') , ('\8308','\8313') , ('\8320','\8329') , ('\8528','\8543') , ('\8585','\8585') , ('\9312','\9371') , ('\9450','\9471') , ('\10102','\10131') , ('\11517','\11517') , ('\12690','\12693') , ('\12832','\12841') , ('\12872','\12879') , ('\12881','\12895') , ('\12928','\12937') , ('\12977','\12991') , ('\43056','\43061') , ('\65799','\65843') , ('\65909','\65912') , ('\65930','\65931') , ('\66273','\66299') , ('\66336','\66339') , ('\67672','\67679') , ('\67705','\67711') , ('\67751','\67759') , ('\67835','\67839') , ('\67862','\67867') , ('\68028','\68029') , ('\68032','\68047') , ('\68050','\68095') , ('\68160','\68168') , ('\68221','\68222') , ('\68253','\68255') , ('\68331','\68335') , ('\68440','\68447') , ('\68472','\68479') , ('\68521','\68527') , ('\68858','\68863') , ('\69216','\69246') , ('\69405','\69414') , ('\69457','\69460') , ('\69714','\69733') , ('\70113','\70132') , ('\71482','\71483') , ('\71914','\71922') , ('\72794','\72812') , ('\73664','\73684') , ('\93019','\93025') , ('\93824','\93846') , ('\119520','\119539') , ('\119648','\119672') , ('\125127','\125135') , ('\126065','\126123') , ('\126125','\126127') , ('\126129','\126132') , ('\126209','\126253') , ('\126255','\126269') , ('\127232','\127244') ] -- ------------------------------------------------------------ isUnicodeP :: Char -> Bool isUnicodeP c = elemCS c charPropUnicodeP charPropUnicodeP :: CharSet charPropUnicodeP = [ ('!','#') , ('%','*') , (',','/') , (':',';') , ('?','@') , ('[',']') , ('_','_') , ('{','{') , ('}','}') , ('\161','\161') , ('\167','\167') , ('\171','\171') , ('\182','\183') , ('\187','\187') , ('\191','\191') , ('\894','\894') , ('\903','\903') , ('\1370','\1375') , ('\1417','\1418') , ('\1470','\1470') , ('\1472','\1472') , ('\1475','\1475') , ('\1478','\1478') , ('\1523','\1524') , ('\1545','\1546') , ('\1548','\1549') , ('\1563','\1563') , ('\1566','\1567') , ('\1642','\1645') , ('\1748','\1748') , ('\1792','\1805') , ('\2039','\2041') , ('\2096','\2110') , ('\2142','\2142') , ('\2404','\2405') , ('\2416','\2416') , ('\2557','\2557') , ('\2678','\2678') , ('\2800','\2800') , ('\3191','\3191') , ('\3204','\3204') , ('\3572','\3572') , ('\3663','\3663') , ('\3674','\3675') , ('\3844','\3858') , ('\3860','\3860') , ('\3898','\3901') , ('\3973','\3973') , ('\4048','\4052') , ('\4057','\4058') , ('\4170','\4175') , ('\4347','\4347') , ('\4960','\4968') , ('\5120','\5120') , ('\5742','\5742') , ('\5787','\5788') , ('\5867','\5869') , ('\5941','\5942') , ('\6100','\6102') , ('\6104','\6106') , ('\6144','\6154') , ('\6468','\6469') , ('\6686','\6687') , ('\6816','\6822') , ('\6824','\6829') , ('\7002','\7008') , ('\7164','\7167') , ('\7227','\7231') , ('\7294','\7295') , ('\7360','\7367') , ('\7379','\7379') , ('\8208','\8231') , ('\8240','\8259') , ('\8261','\8273') , ('\8275','\8286') , ('\8317','\8318') , ('\8333','\8334') , ('\8968','\8971') , ('\9001','\9002') , ('\10088','\10101') , ('\10181','\10182') , ('\10214','\10223') , ('\10627','\10648') , ('\10712','\10715') , ('\10748','\10749') , ('\11513','\11516') , ('\11518','\11519') , ('\11632','\11632') , ('\11776','\11822') , ('\11824','\11855') , ('\12289','\12291') , ('\12296','\12305') , ('\12308','\12319') , ('\12336','\12336') , ('\12349','\12349') , ('\12448','\12448') , ('\12539','\12539') , ('\42238','\42239') , ('\42509','\42511') , ('\42611','\42611') , ('\42622','\42622') , ('\42738','\42743') , ('\43124','\43127') , ('\43214','\43215') , ('\43256','\43258') , ('\43260','\43260') , ('\43310','\43311') , ('\43359','\43359') , ('\43457','\43469') , ('\43486','\43487') , ('\43612','\43615') , ('\43742','\43743') , ('\43760','\43761') , ('\44011','\44011') , ('\64830','\64831') , ('\65040','\65049') , ('\65072','\65106') , ('\65108','\65121') , ('\65123','\65123') , ('\65128','\65128') , ('\65130','\65131') , ('\65281','\65283') , ('\65285','\65290') , ('\65292','\65295') , ('\65306','\65307') , ('\65311','\65312') , ('\65339','\65341') , ('\65343','\65343') , ('\65371','\65371') , ('\65373','\65373') , ('\65375','\65381') , ('\65792','\65794') , ('\66463','\66463') , ('\66512','\66512') , ('\66927','\66927') , ('\67671','\67671') , ('\67871','\67871') , ('\67903','\67903') , ('\68176','\68184') , ('\68223','\68223') , ('\68336','\68342') , ('\68409','\68415') , ('\68505','\68508') , ('\69461','\69465') , ('\69703','\69709') , ('\69819','\69820') , ('\69822','\69825') , ('\69952','\69955') , ('\70004','\70005') , ('\70085','\70088') , ('\70093','\70093') , ('\70107','\70107') , ('\70109','\70111') , ('\70200','\70205') , ('\70313','\70313') , ('\70731','\70735') , ('\70747','\70747') , ('\70749','\70749') , ('\70854','\70854') , ('\71105','\71127') , ('\71233','\71235') , ('\71264','\71276') , ('\71484','\71486') , ('\71739','\71739') , ('\72162','\72162') , ('\72255','\72262') , ('\72346','\72348') , ('\72350','\72354') , ('\72769','\72773') , ('\72816','\72817') , ('\73463','\73464') , ('\73727','\73727') , ('\74864','\74868') , ('\92782','\92783') , ('\92917','\92917') , ('\92983','\92987') , ('\92996','\92996') , ('\93847','\93850') , ('\94178','\94178') , ('\113823','\113823') , ('\121479','\121483') , ('\125278','\125279') ] -- ------------------------------------------------------------ isUnicodePc :: Char -> Bool isUnicodePc c = elemCS c charPropUnicodePc charPropUnicodePc :: CharSet charPropUnicodePc = [ ('_','_') , ('\8255','\8256') , ('\8276','\8276') , ('\65075','\65076') , ('\65101','\65103') , ('\65343','\65343') ] -- ------------------------------------------------------------ isUnicodePd :: Char -> Bool isUnicodePd c = elemCS c charPropUnicodePd charPropUnicodePd :: CharSet charPropUnicodePd = [ ('-','-') , ('\1418','\1418') , ('\1470','\1470') , ('\5120','\5120') , ('\6150','\6150') , ('\8208','\8213') , ('\11799','\11799') , ('\11802','\11802') , ('\11834','\11835') , ('\11840','\11840') , ('\12316','\12316') , ('\12336','\12336') , ('\12448','\12448') , ('\65073','\65074') , ('\65112','\65112') , ('\65123','\65123') , ('\65293','\65293') ] -- ------------------------------------------------------------ isUnicodePe :: Char -> Bool isUnicodePe c = elemCS c charPropUnicodePe charPropUnicodePe :: CharSet charPropUnicodePe = [ (')',')') , (']',']') , ('}','}') , ('\3899','\3899') , ('\3901','\3901') , ('\5788','\5788') , ('\8262','\8262') , ('\8318','\8318') , ('\8334','\8334') , ('\8969','\8969') , ('\8971','\8971') , ('\9002','\9002') , ('\10089','\10089') , ('\10091','\10091') , ('\10093','\10093') , ('\10095','\10095') , ('\10097','\10097') , ('\10099','\10099') , ('\10101','\10101') , ('\10182','\10182') , ('\10215','\10215') , ('\10217','\10217') , ('\10219','\10219') , ('\10221','\10221') , ('\10223','\10223') , ('\10628','\10628') , ('\10630','\10630') , ('\10632','\10632') , ('\10634','\10634') , ('\10636','\10636') , ('\10638','\10638') , ('\10640','\10640') , ('\10642','\10642') , ('\10644','\10644') , ('\10646','\10646') , ('\10648','\10648') , ('\10713','\10713') , ('\10715','\10715') , ('\10749','\10749') , ('\11811','\11811') , ('\11813','\11813') , ('\11815','\11815') , ('\11817','\11817') , ('\12297','\12297') , ('\12299','\12299') , ('\12301','\12301') , ('\12303','\12303') , ('\12305','\12305') , ('\12309','\12309') , ('\12311','\12311') , ('\12313','\12313') , ('\12315','\12315') , ('\12318','\12319') , ('\64830','\64830') , ('\65048','\65048') , ('\65078','\65078') , ('\65080','\65080') , ('\65082','\65082') , ('\65084','\65084') , ('\65086','\65086') , ('\65088','\65088') , ('\65090','\65090') , ('\65092','\65092') , ('\65096','\65096') , ('\65114','\65114') , ('\65116','\65116') , ('\65118','\65118') , ('\65289','\65289') , ('\65341','\65341') , ('\65373','\65373') , ('\65376','\65376') , ('\65379','\65379') ] -- ------------------------------------------------------------ isUnicodePf :: Char -> Bool isUnicodePf c = elemCS c charPropUnicodePf charPropUnicodePf :: CharSet charPropUnicodePf = [ ('\187','\187') , ('\8217','\8217') , ('\8221','\8221') , ('\8250','\8250') , ('\11779','\11779') , ('\11781','\11781') , ('\11786','\11786') , ('\11789','\11789') , ('\11805','\11805') , ('\11809','\11809') ] -- ------------------------------------------------------------ isUnicodePi :: Char -> Bool isUnicodePi c = elemCS c charPropUnicodePi charPropUnicodePi :: CharSet charPropUnicodePi = [ ('\171','\171') , ('\8216','\8216') , ('\8219','\8220') , ('\8223','\8223') , ('\8249','\8249') , ('\11778','\11778') , ('\11780','\11780') , ('\11785','\11785') , ('\11788','\11788') , ('\11804','\11804') , ('\11808','\11808') ] -- ------------------------------------------------------------ isUnicodePo :: Char -> Bool isUnicodePo c = elemCS c charPropUnicodePo charPropUnicodePo :: CharSet charPropUnicodePo = [ ('!','#') , ('%','\'') , ('*','*') , (',',',') , ('.','/') , (':',';') , ('?','@') , ('\\','\\') , ('\161','\161') , ('\167','\167') , ('\182','\183') , ('\191','\191') , ('\894','\894') , ('\903','\903') , ('\1370','\1375') , ('\1417','\1417') , ('\1472','\1472') , ('\1475','\1475') , ('\1478','\1478') , ('\1523','\1524') , ('\1545','\1546') , ('\1548','\1549') , ('\1563','\1563') , ('\1566','\1567') , ('\1642','\1645') , ('\1748','\1748') , ('\1792','\1805') , ('\2039','\2041') , ('\2096','\2110') , ('\2142','\2142') , ('\2404','\2405') , ('\2416','\2416') , ('\2557','\2557') , ('\2678','\2678') , ('\2800','\2800') , ('\3191','\3191') , ('\3204','\3204') , ('\3572','\3572') , ('\3663','\3663') , ('\3674','\3675') , ('\3844','\3858') , ('\3860','\3860') , ('\3973','\3973') , ('\4048','\4052') , ('\4057','\4058') , ('\4170','\4175') , ('\4347','\4347') , ('\4960','\4968') , ('\5742','\5742') , ('\5867','\5869') , ('\5941','\5942') , ('\6100','\6102') , ('\6104','\6106') , ('\6144','\6149') , ('\6151','\6154') , ('\6468','\6469') , ('\6686','\6687') , ('\6816','\6822') , ('\6824','\6829') , ('\7002','\7008') , ('\7164','\7167') , ('\7227','\7231') , ('\7294','\7295') , ('\7360','\7367') , ('\7379','\7379') , ('\8214','\8215') , ('\8224','\8231') , ('\8240','\8248') , ('\8251','\8254') , ('\8257','\8259') , ('\8263','\8273') , ('\8275','\8275') , ('\8277','\8286') , ('\11513','\11516') , ('\11518','\11519') , ('\11632','\11632') , ('\11776','\11777') , ('\11782','\11784') , ('\11787','\11787') , ('\11790','\11798') , ('\11800','\11801') , ('\11803','\11803') , ('\11806','\11807') , ('\11818','\11822') , ('\11824','\11833') , ('\11836','\11839') , ('\11841','\11841') , ('\11843','\11855') , ('\12289','\12291') , ('\12349','\12349') , ('\12539','\12539') , ('\42238','\42239') , ('\42509','\42511') , ('\42611','\42611') , ('\42622','\42622') , ('\42738','\42743') , ('\43124','\43127') , ('\43214','\43215') , ('\43256','\43258') , ('\43260','\43260') , ('\43310','\43311') , ('\43359','\43359') , ('\43457','\43469') , ('\43486','\43487') , ('\43612','\43615') , ('\43742','\43743') , ('\43760','\43761') , ('\44011','\44011') , ('\65040','\65046') , ('\65049','\65049') , ('\65072','\65072') , ('\65093','\65094') , ('\65097','\65100') , ('\65104','\65106') , ('\65108','\65111') , ('\65119','\65121') , ('\65128','\65128') , ('\65130','\65131') , ('\65281','\65283') , ('\65285','\65287') , ('\65290','\65290') , ('\65292','\65292') , ('\65294','\65295') , ('\65306','\65307') , ('\65311','\65312') , ('\65340','\65340') , ('\65377','\65377') , ('\65380','\65381') , ('\65792','\65794') , ('\66463','\66463') , ('\66512','\66512') , ('\66927','\66927') , ('\67671','\67671') , ('\67871','\67871') , ('\67903','\67903') , ('\68176','\68184') , ('\68223','\68223') , ('\68336','\68342') , ('\68409','\68415') , ('\68505','\68508') , ('\69461','\69465') , ('\69703','\69709') , ('\69819','\69820') , ('\69822','\69825') , ('\69952','\69955') , ('\70004','\70005') , ('\70085','\70088') , ('\70093','\70093') , ('\70107','\70107') , ('\70109','\70111') , ('\70200','\70205') , ('\70313','\70313') , ('\70731','\70735') , ('\70747','\70747') , ('\70749','\70749') , ('\70854','\70854') , ('\71105','\71127') , ('\71233','\71235') , ('\71264','\71276') , ('\71484','\71486') , ('\71739','\71739') , ('\72162','\72162') , ('\72255','\72262') , ('\72346','\72348') , ('\72350','\72354') , ('\72769','\72773') , ('\72816','\72817') , ('\73463','\73464') , ('\73727','\73727') , ('\74864','\74868') , ('\92782','\92783') , ('\92917','\92917') , ('\92983','\92987') , ('\92996','\92996') , ('\93847','\93850') , ('\94178','\94178') , ('\113823','\113823') , ('\121479','\121483') , ('\125278','\125279') ] -- ------------------------------------------------------------ isUnicodePs :: Char -> Bool isUnicodePs c = elemCS c charPropUnicodePs charPropUnicodePs :: CharSet charPropUnicodePs = [ ('(','(') , ('[','[') , ('{','{') , ('\3898','\3898') , ('\3900','\3900') , ('\5787','\5787') , ('\8218','\8218') , ('\8222','\8222') , ('\8261','\8261') , ('\8317','\8317') , ('\8333','\8333') , ('\8968','\8968') , ('\8970','\8970') , ('\9001','\9001') , ('\10088','\10088') , ('\10090','\10090') , ('\10092','\10092') , ('\10094','\10094') , ('\10096','\10096') , ('\10098','\10098') , ('\10100','\10100') , ('\10181','\10181') , ('\10214','\10214') , ('\10216','\10216') , ('\10218','\10218') , ('\10220','\10220') , ('\10222','\10222') , ('\10627','\10627') , ('\10629','\10629') , ('\10631','\10631') , ('\10633','\10633') , ('\10635','\10635') , ('\10637','\10637') , ('\10639','\10639') , ('\10641','\10641') , ('\10643','\10643') , ('\10645','\10645') , ('\10647','\10647') , ('\10712','\10712') , ('\10714','\10714') , ('\10748','\10748') , ('\11810','\11810') , ('\11812','\11812') , ('\11814','\11814') , ('\11816','\11816') , ('\11842','\11842') , ('\12296','\12296') , ('\12298','\12298') , ('\12300','\12300') , ('\12302','\12302') , ('\12304','\12304') , ('\12308','\12308') , ('\12310','\12310') , ('\12312','\12312') , ('\12314','\12314') , ('\12317','\12317') , ('\64831','\64831') , ('\65047','\65047') , ('\65077','\65077') , ('\65079','\65079') , ('\65081','\65081') , ('\65083','\65083') , ('\65085','\65085') , ('\65087','\65087') , ('\65089','\65089') , ('\65091','\65091') , ('\65095','\65095') , ('\65113','\65113') , ('\65115','\65115') , ('\65117','\65117') , ('\65288','\65288') , ('\65339','\65339') , ('\65371','\65371') , ('\65375','\65375') , ('\65378','\65378') ] -- ------------------------------------------------------------ isUnicodeS :: Char -> Bool isUnicodeS c = elemCS c charPropUnicodeS charPropUnicodeS :: CharSet charPropUnicodeS = [ ('$','$') , ('+','+') , ('<','>') , ('^','^') , ('`','`') , ('|','|') , ('~','~') , ('\162','\166') , ('\168','\169') , ('\172','\172') , ('\174','\177') , ('\180','\180') , ('\184','\184') , ('\215','\215') , ('\247','\247') , ('\706','\709') , ('\722','\735') , ('\741','\747') , ('\749','\749') , ('\751','\767') , ('\885','\885') , ('\900','\901') , ('\1014','\1014') , ('\1154','\1154') , ('\1421','\1423') , ('\1542','\1544') , ('\1547','\1547') , ('\1550','\1551') , ('\1758','\1758') , ('\1769','\1769') , ('\1789','\1790') , ('\2038','\2038') , ('\2046','\2047') , ('\2546','\2547') , ('\2554','\2555') , ('\2801','\2801') , ('\2928','\2928') , ('\3059','\3066') , ('\3199','\3199') , ('\3407','\3407') , ('\3449','\3449') , ('\3647','\3647') , ('\3841','\3843') , ('\3859','\3859') , ('\3861','\3863') , ('\3866','\3871') , ('\3892','\3892') , ('\3894','\3894') , ('\3896','\3896') , ('\4030','\4037') , ('\4039','\4044') , ('\4046','\4047') , ('\4053','\4056') , ('\4254','\4255') , ('\5008','\5017') , ('\5741','\5741') , ('\6107','\6107') , ('\6464','\6464') , ('\6622','\6655') , ('\7009','\7018') , ('\7028','\7036') , ('\8125','\8125') , ('\8127','\8129') , ('\8141','\8143') , ('\8157','\8159') , ('\8173','\8175') , ('\8189','\8190') , ('\8260','\8260') , ('\8274','\8274') , ('\8314','\8316') , ('\8330','\8332') , ('\8352','\8383') , ('\8448','\8449') , ('\8451','\8454') , ('\8456','\8457') , ('\8468','\8468') , ('\8470','\8472') , ('\8478','\8483') , ('\8485','\8485') , ('\8487','\8487') , ('\8489','\8489') , ('\8494','\8494') , ('\8506','\8507') , ('\8512','\8516') , ('\8522','\8525') , ('\8527','\8527') , ('\8586','\8587') , ('\8592','\8967') , ('\8972','\9000') , ('\9003','\9254') , ('\9280','\9290') , ('\9372','\9449') , ('\9472','\10087') , ('\10132','\10180') , ('\10183','\10213') , ('\10224','\10626') , ('\10649','\10711') , ('\10716','\10747') , ('\10750','\11123') , ('\11126','\11157') , ('\11160','\11263') , ('\11493','\11498') , ('\11904','\11929') , ('\11931','\12019') , ('\12032','\12245') , ('\12272','\12283') , ('\12292','\12292') , ('\12306','\12307') , ('\12320','\12320') , ('\12342','\12343') , ('\12350','\12351') , ('\12443','\12444') , ('\12688','\12689') , ('\12694','\12703') , ('\12736','\12771') , ('\12800','\12830') , ('\12842','\12871') , ('\12880','\12880') , ('\12896','\12927') , ('\12938','\12976') , ('\12992','\13311') , ('\19904','\19967') , ('\42128','\42182') , ('\42752','\42774') , ('\42784','\42785') , ('\42889','\42890') , ('\43048','\43051') , ('\43062','\43065') , ('\43639','\43641') , ('\43867','\43867') , ('\64297','\64297') , ('\64434','\64449') , ('\65020','\65021') , ('\65122','\65122') , ('\65124','\65126') , ('\65129','\65129') , ('\65284','\65284') , ('\65291','\65291') , ('\65308','\65310') , ('\65342','\65342') , ('\65344','\65344') , ('\65372','\65372') , ('\65374','\65374') , ('\65504','\65510') , ('\65512','\65518') , ('\65532','\65533') , ('\65847','\65855') , ('\65913','\65929') , ('\65932','\65934') , ('\65936','\65947') , ('\65952','\65952') , ('\66000','\66044') , ('\67703','\67704') , ('\68296','\68296') , ('\71487','\71487') , ('\73685','\73713') , ('\92988','\92991') , ('\92997','\92997') , ('\113820','\113820') , ('\118784','\119029') , ('\119040','\119078') , ('\119081','\119140') , ('\119146','\119148') , ('\119171','\119172') , ('\119180','\119209') , ('\119214','\119272') , ('\119296','\119361') , ('\119365','\119365') , ('\119552','\119638') , ('\120513','\120513') , ('\120539','\120539') , ('\120571','\120571') , ('\120597','\120597') , ('\120629','\120629') , ('\120655','\120655') , ('\120687','\120687') , ('\120713','\120713') , ('\120745','\120745') , ('\120771','\120771') , ('\120832','\121343') , ('\121399','\121402') , ('\121453','\121460') , ('\121462','\121475') , ('\121477','\121478') , ('\123215','\123215') , ('\123647','\123647') , ('\126124','\126124') , ('\126128','\126128') , ('\126254','\126254') , ('\126704','\126705') , ('\126976','\127019') , ('\127024','\127123') , ('\127136','\127150') , ('\127153','\127167') , ('\127169','\127183') , ('\127185','\127221') , ('\127248','\127340') , ('\127344','\127404') , ('\127462','\127490') , ('\127504','\127547') , ('\127552','\127560') , ('\127568','\127569') , ('\127584','\127589') , ('\127744','\128725') , ('\128736','\128748') , ('\128752','\128762') , ('\128768','\128883') , ('\128896','\128984') , ('\128992','\129003') , ('\129024','\129035') , ('\129040','\129095') , ('\129104','\129113') , ('\129120','\129159') , ('\129168','\129197') , ('\129280','\129291') , ('\129293','\129393') , ('\129395','\129398') , ('\129402','\129442') , ('\129445','\129450') , ('\129454','\129482') , ('\129485','\129619') , ('\129632','\129645') , ('\129648','\129651') , ('\129656','\129658') , ('\129664','\129666') , ('\129680','\129685') ] -- ------------------------------------------------------------ isUnicodeSc :: Char -> Bool isUnicodeSc c = elemCS c charPropUnicodeSc charPropUnicodeSc :: CharSet charPropUnicodeSc = [ ('$','$') , ('\162','\165') , ('\1423','\1423') , ('\1547','\1547') , ('\2046','\2047') , ('\2546','\2547') , ('\2555','\2555') , ('\2801','\2801') , ('\3065','\3065') , ('\3647','\3647') , ('\6107','\6107') , ('\8352','\8383') , ('\43064','\43064') , ('\65020','\65020') , ('\65129','\65129') , ('\65284','\65284') , ('\65504','\65505') , ('\65509','\65510') , ('\73693','\73696') , ('\123647','\123647') , ('\126128','\126128') ] -- ------------------------------------------------------------ isUnicodeSk :: Char -> Bool isUnicodeSk c = elemCS c charPropUnicodeSk charPropUnicodeSk :: CharSet charPropUnicodeSk = [ ('^','^') , ('`','`') , ('\168','\168') , ('\175','\175') , ('\180','\180') , ('\184','\184') , ('\706','\709') , ('\722','\735') , ('\741','\747') , ('\749','\749') , ('\751','\767') , ('\885','\885') , ('\900','\901') , ('\8125','\8125') , ('\8127','\8129') , ('\8141','\8143') , ('\8157','\8159') , ('\8173','\8175') , ('\8189','\8190') , ('\12443','\12444') , ('\42752','\42774') , ('\42784','\42785') , ('\42889','\42890') , ('\43867','\43867') , ('\64434','\64449') , ('\65342','\65342') , ('\65344','\65344') , ('\65507','\65507') , ('\127995','\127999') ] -- ------------------------------------------------------------ isUnicodeSm :: Char -> Bool isUnicodeSm c = elemCS c charPropUnicodeSm charPropUnicodeSm :: CharSet charPropUnicodeSm = [ ('+','+') , ('<','>') , ('|','|') , ('~','~') , ('\172','\172') , ('\177','\177') , ('\215','\215') , ('\247','\247') , ('\1014','\1014') , ('\1542','\1544') , ('\8260','\8260') , ('\8274','\8274') , ('\8314','\8316') , ('\8330','\8332') , ('\8472','\8472') , ('\8512','\8516') , ('\8523','\8523') , ('\8592','\8596') , ('\8602','\8603') , ('\8608','\8608') , ('\8611','\8611') , ('\8614','\8614') , ('\8622','\8622') , ('\8654','\8655') , ('\8658','\8658') , ('\8660','\8660') , ('\8692','\8959') , ('\8992','\8993') , ('\9084','\9084') , ('\9115','\9139') , ('\9180','\9185') , ('\9655','\9655') , ('\9665','\9665') , ('\9720','\9727') , ('\9839','\9839') , ('\10176','\10180') , ('\10183','\10213') , ('\10224','\10239') , ('\10496','\10626') , ('\10649','\10711') , ('\10716','\10747') , ('\10750','\11007') , ('\11056','\11076') , ('\11079','\11084') , ('\64297','\64297') , ('\65122','\65122') , ('\65124','\65126') , ('\65291','\65291') , ('\65308','\65310') , ('\65372','\65372') , ('\65374','\65374') , ('\65506','\65506') , ('\65513','\65516') , ('\120513','\120513') , ('\120539','\120539') , ('\120571','\120571') , ('\120597','\120597') , ('\120629','\120629') , ('\120655','\120655') , ('\120687','\120687') , ('\120713','\120713') , ('\120745','\120745') , ('\120771','\120771') , ('\126704','\126705') ] -- ------------------------------------------------------------ isUnicodeSo :: Char -> Bool isUnicodeSo c = elemCS c charPropUnicodeSo charPropUnicodeSo :: CharSet charPropUnicodeSo = [ ('\166','\166') , ('\169','\169') , ('\174','\174') , ('\176','\176') , ('\1154','\1154') , ('\1421','\1422') , ('\1550','\1551') , ('\1758','\1758') , ('\1769','\1769') , ('\1789','\1790') , ('\2038','\2038') , ('\2554','\2554') , ('\2928','\2928') , ('\3059','\3064') , ('\3066','\3066') , ('\3199','\3199') , ('\3407','\3407') , ('\3449','\3449') , ('\3841','\3843') , ('\3859','\3859') , ('\3861','\3863') , ('\3866','\3871') , ('\3892','\3892') , ('\3894','\3894') , ('\3896','\3896') , ('\4030','\4037') , ('\4039','\4044') , ('\4046','\4047') , ('\4053','\4056') , ('\4254','\4255') , ('\5008','\5017') , ('\5741','\5741') , ('\6464','\6464') , ('\6622','\6655') , ('\7009','\7018') , ('\7028','\7036') , ('\8448','\8449') , ('\8451','\8454') , ('\8456','\8457') , ('\8468','\8468') , ('\8470','\8471') , ('\8478','\8483') , ('\8485','\8485') , ('\8487','\8487') , ('\8489','\8489') , ('\8494','\8494') , ('\8506','\8507') , ('\8522','\8522') , ('\8524','\8525') , ('\8527','\8527') , ('\8586','\8587') , ('\8597','\8601') , ('\8604','\8607') , ('\8609','\8610') , ('\8612','\8613') , ('\8615','\8621') , ('\8623','\8653') , ('\8656','\8657') , ('\8659','\8659') , ('\8661','\8691') , ('\8960','\8967') , ('\8972','\8991') , ('\8994','\9000') , ('\9003','\9083') , ('\9085','\9114') , ('\9140','\9179') , ('\9186','\9254') , ('\9280','\9290') , ('\9372','\9449') , ('\9472','\9654') , ('\9656','\9664') , ('\9666','\9719') , ('\9728','\9838') , ('\9840','\10087') , ('\10132','\10175') , ('\10240','\10495') , ('\11008','\11055') , ('\11077','\11078') , ('\11085','\11123') , ('\11126','\11157') , ('\11160','\11263') , ('\11493','\11498') , ('\11904','\11929') , ('\11931','\12019') , ('\12032','\12245') , ('\12272','\12283') , ('\12292','\12292') , ('\12306','\12307') , ('\12320','\12320') , ('\12342','\12343') , ('\12350','\12351') , ('\12688','\12689') , ('\12694','\12703') , ('\12736','\12771') , ('\12800','\12830') , ('\12842','\12871') , ('\12880','\12880') , ('\12896','\12927') , ('\12938','\12976') , ('\12992','\13311') , ('\19904','\19967') , ('\42128','\42182') , ('\43048','\43051') , ('\43062','\43063') , ('\43065','\43065') , ('\43639','\43641') , ('\65021','\65021') , ('\65508','\65508') , ('\65512','\65512') , ('\65517','\65518') , ('\65532','\65533') , ('\65847','\65855') , ('\65913','\65929') , ('\65932','\65934') , ('\65936','\65947') , ('\65952','\65952') , ('\66000','\66044') , ('\67703','\67704') , ('\68296','\68296') , ('\71487','\71487') , ('\73685','\73692') , ('\73697','\73713') , ('\92988','\92991') , ('\92997','\92997') , ('\113820','\113820') , ('\118784','\119029') , ('\119040','\119078') , ('\119081','\119140') , ('\119146','\119148') , ('\119171','\119172') , ('\119180','\119209') , ('\119214','\119272') , ('\119296','\119361') , ('\119365','\119365') , ('\119552','\119638') , ('\120832','\121343') , ('\121399','\121402') , ('\121453','\121460') , ('\121462','\121475') , ('\121477','\121478') , ('\123215','\123215') , ('\126124','\126124') , ('\126254','\126254') , ('\126976','\127019') , ('\127024','\127123') , ('\127136','\127150') , ('\127153','\127167') , ('\127169','\127183') , ('\127185','\127221') , ('\127248','\127340') , ('\127344','\127404') , ('\127462','\127490') , ('\127504','\127547') , ('\127552','\127560') , ('\127568','\127569') , ('\127584','\127589') , ('\127744','\127994') , ('\128000','\128725') , ('\128736','\128748') , ('\128752','\128762') , ('\128768','\128883') , ('\128896','\128984') , ('\128992','\129003') , ('\129024','\129035') , ('\129040','\129095') , ('\129104','\129113') , ('\129120','\129159') , ('\129168','\129197') , ('\129280','\129291') , ('\129293','\129393') , ('\129395','\129398') , ('\129402','\129442') , ('\129445','\129450') , ('\129454','\129482') , ('\129485','\129619') , ('\129632','\129645') , ('\129648','\129651') , ('\129656','\129658') , ('\129664','\129666') , ('\129680','\129685') ] -- ------------------------------------------------------------ isUnicodeZ :: Char -> Bool isUnicodeZ c = elemCS c charPropUnicodeZ charPropUnicodeZ :: CharSet charPropUnicodeZ = [ (' ',' ') , ('\160','\160') , ('\5760','\5760') , ('\8192','\8202') , ('\8232','\8233') , ('\8239','\8239') , ('\8287','\8287') , ('\12288','\12288') ] -- ------------------------------------------------------------ isUnicodeZl :: Char -> Bool isUnicodeZl c = elemCS c charPropUnicodeZl charPropUnicodeZl :: CharSet charPropUnicodeZl = [ ('\8232','\8232') ] -- ------------------------------------------------------------ isUnicodeZp :: Char -> Bool isUnicodeZp c = elemCS c charPropUnicodeZp charPropUnicodeZp :: CharSet charPropUnicodeZp = [ ('\8233','\8233') ] -- ------------------------------------------------------------ isUnicodeZs :: Char -> Bool isUnicodeZs c = elemCS c charPropUnicodeZs charPropUnicodeZs :: CharSet charPropUnicodeZs = [ (' ',' ') , ('\160','\160') , ('\5760','\5760') , ('\8192','\8202') , ('\8239','\8239') , ('\8287','\8287') , ('\12288','\12288') ] -- ------------------------------------------------------------