Ignore:
Timestamp:
Sep 12, 2016, 2:47:27 PM (3 years ago)
Author:
cameron
Message:

Fix for -gs mode from Xiangyu

Location:
icGREP/icgrep-devel/icgrep/UCD
Files:
18 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/UCD/Blocks.h

    r5145 r5154  
    1515namespace UCD {
    1616    namespace BLK_ns {
    17     /** Code Point Ranges for Adlam
    18     [125184, 125279]**/
    19     const UnicodeSet adlam_Set
    20         {{{Empty, 3912}, {Full, 3}, {Empty, 30901}},
    21          {}};
    22     /** Code Point Ranges for Aegean_Numbers
    23     [65792, 65855]**/
    24     const UnicodeSet aegean_numbers_Set
    25         {{{Empty, 2056}, {Full, 2}, {Empty, 32758}},
    26          {}};
    27     /** Code Point Ranges for Ahom
    28     [71424, 71487]**/
    29     const UnicodeSet ahom_Set
    30         {{{Empty, 2232}, {Full, 2}, {Empty, 32582}},
    31          {}};
    32     /** Code Point Ranges for Alchemical
    33     [128768, 128895]**/
    34     const UnicodeSet alchemical_Set
    35         {{{Empty, 4024}, {Full, 4}, {Empty, 30788}},
    36          {}};
    37     /** Code Point Ranges for Alphabetic_PF
    38     [64256, 64335]**/
    39     const UnicodeSet alphabetic_pf_Set
    40         {{{Empty, 2008}, {Full, 2}, {Mixed, 1}, {Empty, 32805}},
    41          {0x0000ffff}};
    42     /** Code Point Ranges for Anatolian_Hieroglyphs
    43     [82944, 83583]**/
    44     const UnicodeSet anatolian_hieroglyphs_Set
    45         {{{Empty, 2592}, {Full, 20}, {Empty, 32204}},
    46          {}};
    47     /** Code Point Ranges for Ancient_Greek_Music
    48     [119296, 119375]**/
    49     const UnicodeSet ancient_greek_music_Set
    50         {{{Empty, 3728}, {Full, 2}, {Mixed, 1}, {Empty, 31085}},
    51          {0x0000ffff}};
    52     /** Code Point Ranges for Ancient_Greek_Numbers
    53     [65856, 65935]**/
    54     const UnicodeSet ancient_greek_numbers_Set
    55         {{{Empty, 2058}, {Full, 2}, {Mixed, 1}, {Empty, 32755}},
    56          {0x0000ffff}};
    57     /** Code Point Ranges for Ancient_Symbols
    58     [65936, 65999]**/
    59     const UnicodeSet ancient_symbols_Set
    60         {{{Empty, 2060}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 32753}},
    61          {0xffff0000, 0x0000ffff}};
    62     /** Code Point Ranges for Arabic
    63     [1536, 1791]**/
    64     const UnicodeSet arabic_Set
    65         {{{Empty, 48}, {Full, 8}, {Empty, 34760}},
    66          {}};
    67     /** Code Point Ranges for Arabic_Ext_A
    68     [2208, 2303]**/
    69     const UnicodeSet arabic_ext_a_Set
    70         {{{Empty, 69}, {Full, 3}, {Empty, 34744}},
    71          {}};
    72     /** Code Point Ranges for Arabic_Math
    73     [126464, 126719]**/
    74     const UnicodeSet arabic_math_Set
    75         {{{Empty, 3952}, {Full, 8}, {Empty, 30856}},
    76          {}};
    77     /** Code Point Ranges for Arabic_PF_A
    78     [64336, 65023]**/
    79     const UnicodeSet arabic_pf_a_Set
    80         {{{Empty, 2010}, {Mixed, 1}, {Full, 21}, {Empty, 32784}},
    81          {0xffff0000}};
    82     /** Code Point Ranges for Arabic_PF_B
    83     [65136, 65279]**/
    84     const UnicodeSet arabic_pf_b_Set
    85         {{{Empty, 2035}, {Mixed, 1}, {Full, 4}, {Empty, 32776}},
    86          {0xffff0000}};
    87     /** Code Point Ranges for Arabic_Sup
    88     [1872, 1919]**/
    89     const UnicodeSet arabic_sup_Set
    90         {{{Empty, 58}, {Mixed, 1}, {Full, 1}, {Empty, 34756}},
    91          {0xffff0000}};
    92     /** Code Point Ranges for Armenian
    93     [1328, 1423]**/
    94     const UnicodeSet armenian_Set
    95         {{{Empty, 41}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 34771}},
    96          {0xffff0000, 0x0000ffff}};
    97     /** Code Point Ranges for Arrows
    98     [8592, 8703]**/
    99     const UnicodeSet arrows_Set
    100         {{{Empty, 268}, {Mixed, 1}, {Full, 3}, {Empty, 34544}},
    101          {0xffff0000}};
    102     /** Code Point Ranges for ASCII
    103     [0, 127]**/
    104     const UnicodeSet ascii_Set
    105         {{{Full, 4}, {Empty, 34812}},
    106          {}};
    107     /** Code Point Ranges for Avestan
    108     [68352, 68415]**/
    109     const UnicodeSet avestan_Set
    110         {{{Empty, 2136}, {Full, 2}, {Empty, 32678}},
    111          {}};
    112     /** Code Point Ranges for Balinese
    113     [6912, 7039]**/
    114     const UnicodeSet balinese_Set
    115         {{{Empty, 216}, {Full, 4}, {Empty, 34596}},
    116          {}};
    117     /** Code Point Ranges for Bamum
    118     [42656, 42751]**/
    119     const UnicodeSet bamum_Set
    120         {{{Empty, 1333}, {Full, 3}, {Empty, 33480}},
    121          {}};
    122     /** Code Point Ranges for Bamum_Sup
    123     [92160, 92735]**/
    124     const UnicodeSet bamum_sup_Set
    125         {{{Empty, 2880}, {Full, 18}, {Empty, 31918}},
    126          {}};
    127     /** Code Point Ranges for Bassa_Vah
    128     [92880, 92927]**/
    129     const UnicodeSet bassa_vah_Set
    130         {{{Empty, 2902}, {Mixed, 1}, {Full, 1}, {Empty, 31912}},
    131          {0xffff0000}};
    132     /** Code Point Ranges for Batak
    133     [7104, 7167]**/
    134     const UnicodeSet batak_Set
    135         {{{Empty, 222}, {Full, 2}, {Empty, 34592}},
    136          {}};
    137     /** Code Point Ranges for Bengali
    138     [2432, 2559]**/
    139     const UnicodeSet bengali_Set
    140         {{{Empty, 76}, {Full, 4}, {Empty, 34736}},
    141          {}};
    142     /** Code Point Ranges for Bhaiksuki
    143     [72704, 72815]**/
    144     const UnicodeSet bhaiksuki_Set
    145         {{{Empty, 2272}, {Full, 3}, {Mixed, 1}, {Empty, 32540}},
    146          {0x0000ffff}};
    147     /** Code Point Ranges for Block_Elements
    148     [9600, 9631]**/
    149     const UnicodeSet block_elements_Set
    150         {{{Empty, 300}, {Full, 1}, {Empty, 34515}},
    151          {}};
    152     /** Code Point Ranges for Bopomofo
    153     [12544, 12591]**/
    154     const UnicodeSet bopomofo_Set
    155         {{{Empty, 392}, {Full, 1}, {Mixed, 1}, {Empty, 34422}},
    156          {0x0000ffff}};
    157     /** Code Point Ranges for Bopomofo_Ext
    158     [12704, 12735]**/
    159     const UnicodeSet bopomofo_ext_Set
    160         {{{Empty, 397}, {Full, 1}, {Empty, 34418}},
    161          {}};
    162     /** Code Point Ranges for Box_Drawing
    163     [9472, 9599]**/
    164     const UnicodeSet box_drawing_Set
    165         {{{Empty, 296}, {Full, 4}, {Empty, 34516}},
    166          {}};
    167     /** Code Point Ranges for Brahmi
    168     [69632, 69759]**/
    169     const UnicodeSet brahmi_Set
    170         {{{Empty, 2176}, {Full, 4}, {Empty, 32636}},
    171          {}};
    172     /** Code Point Ranges for Braille
    173     [10240, 10495]**/
    174     const UnicodeSet braille_Set
    175         {{{Empty, 320}, {Full, 8}, {Empty, 34488}},
    176          {}};
    177     /** Code Point Ranges for Buginese
    178     [6656, 6687]**/
    179     const UnicodeSet buginese_Set
    180         {{{Empty, 208}, {Full, 1}, {Empty, 34607}},
    181          {}};
    182     /** Code Point Ranges for Buhid
    183     [5952, 5983]**/
    184     const UnicodeSet buhid_Set
    185         {{{Empty, 186}, {Full, 1}, {Empty, 34629}},
    186          {}};
    187     /** Code Point Ranges for Byzantine_Music
    188     [118784, 119039]**/
    189     const UnicodeSet byzantine_music_Set
    190         {{{Empty, 3712}, {Full, 8}, {Empty, 31096}},
    191          {}};
    192     /** Code Point Ranges for Carian
    193     [66208, 66271]**/
    194     const UnicodeSet carian_Set
    195         {{{Empty, 2069}, {Full, 2}, {Empty, 32745}},
    196          {}};
    197     /** Code Point Ranges for Caucasian_Albanian
    198     [66864, 66927]**/
    199     const UnicodeSet caucasian_albanian_Set
    200         {{{Empty, 2089}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 32724}},
    201          {0xffff0000, 0x0000ffff}};
    202     /** Code Point Ranges for Chakma
    203     [69888, 69967]**/
    204     const UnicodeSet chakma_Set
    205         {{{Empty, 2184}, {Full, 2}, {Mixed, 1}, {Empty, 32629}},
    206          {0x0000ffff}};
    207     /** Code Point Ranges for Cham
    208     [43520, 43615]**/
    209     const UnicodeSet cham_Set
    210         {{{Empty, 1360}, {Full, 3}, {Empty, 33453}},
    211          {}};
    212     /** Code Point Ranges for Cherokee
    213     [5024, 5119]**/
    214     const UnicodeSet cherokee_Set
    215         {{{Empty, 157}, {Full, 3}, {Empty, 34656}},
    216          {}};
    217     /** Code Point Ranges for Cherokee_Sup
    218     [43888, 43967]**/
    219     const UnicodeSet cherokee_sup_Set
    220         {{{Empty, 1371}, {Mixed, 1}, {Full, 2}, {Empty, 33442}},
    221          {0xffff0000}};
    222     /** Code Point Ranges for CJK
    223     [19968, 40959]**/
    224     const UnicodeSet cjk_Set
    225         {{{Empty, 624}, {Full, 656}, {Empty, 33536}},
    226          {}};
    227     /** Code Point Ranges for CJK_Compat
    228     [13056, 13311]**/
    229     const UnicodeSet cjk_compat_Set
    230         {{{Empty, 408}, {Full, 8}, {Empty, 34400}},
    231          {}};
    232     /** Code Point Ranges for CJK_Compat_Forms
    233     [65072, 65103]**/
    234     const UnicodeSet cjk_compat_forms_Set
    235         {{{Empty, 2033}, {Mixed, 2}, {Empty, 32781}},
    236          {0xffff0000, 0x0000ffff}};
    237     /** Code Point Ranges for CJK_Compat_Ideographs
    238     [63744, 64255]**/
    239     const UnicodeSet cjk_compat_ideographs_Set
    240         {{{Empty, 1992}, {Full, 16}, {Empty, 32808}},
    241          {}};
    242     /** Code Point Ranges for CJK_Compat_Ideographs_Sup
    243     [194560, 195103]**/
    244     const UnicodeSet cjk_compat_ideographs_sup_Set
    245         {{{Empty, 6080}, {Full, 17}, {Empty, 28719}},
    246          {}};
    247     /** Code Point Ranges for CJK_Ext_A
    248     [13312, 19903]**/
    249     const UnicodeSet cjk_ext_a_Set
    250         {{{Empty, 416}, {Full, 206}, {Empty, 34194}},
    251          {}};
    252     /** Code Point Ranges for CJK_Ext_B
    253     [131072, 173791]**/
    254     const UnicodeSet cjk_ext_b_Set
    255         {{{Empty, 4096}, {Full, 1335}, {Empty, 29385}},
    256          {}};
    257     /** Code Point Ranges for CJK_Ext_C
    258     [173824, 177983]**/
    259     const UnicodeSet cjk_ext_c_Set
    260         {{{Empty, 5432}, {Full, 130}, {Empty, 29254}},
    261          {}};
    262     /** Code Point Ranges for CJK_Ext_D
    263     [177984, 178207]**/
    264     const UnicodeSet cjk_ext_d_Set
    265         {{{Empty, 5562}, {Full, 7}, {Empty, 29247}},
    266          {}};
    267     /** Code Point Ranges for CJK_Ext_E
    268     [178208, 183983]**/
    269     const UnicodeSet cjk_ext_e_Set
    270         {{{Empty, 5569}, {Full, 180}, {Mixed, 1}, {Empty, 29066}},
    271          {0x0000ffff}};
    272     /** Code Point Ranges for CJK_Radicals_Sup
    273     [11904, 12031]**/
    274     const UnicodeSet cjk_radicals_sup_Set
    275         {{{Empty, 372}, {Full, 4}, {Empty, 34440}},
    276          {}};
    277     /** Code Point Ranges for CJK_Strokes
    278     [12736, 12783]**/
    279     const UnicodeSet cjk_strokes_Set
    280         {{{Empty, 398}, {Full, 1}, {Mixed, 1}, {Empty, 34416}},
    281          {0x0000ffff}};
    282     /** Code Point Ranges for CJK_Symbols
    283     [12288, 12351]**/
    284     const UnicodeSet cjk_symbols_Set
    285         {{{Empty, 384}, {Full, 2}, {Empty, 34430}},
    286          {}};
    287     /** Code Point Ranges for Compat_Jamo
    288     [12592, 12687]**/
    289     const UnicodeSet compat_jamo_Set
    290         {{{Empty, 393}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 34419}},
    291          {0xffff0000, 0x0000ffff}};
    292     /** Code Point Ranges for Control_Pictures
    293     [9216, 9279]**/
    294     const UnicodeSet control_pictures_Set
    295         {{{Empty, 288}, {Full, 2}, {Empty, 34526}},
    296          {}};
    297     /** Code Point Ranges for Coptic
    298     [11392, 11519]**/
    299     const UnicodeSet coptic_Set
    300         {{{Empty, 356}, {Full, 4}, {Empty, 34456}},
    301          {}};
    302     /** Code Point Ranges for Coptic_Epact_Numbers
    303     [66272, 66303]**/
    304     const UnicodeSet coptic_epact_numbers_Set
    305         {{{Empty, 2071}, {Full, 1}, {Empty, 32744}},
    306          {}};
    307     /** Code Point Ranges for Counting_Rod
    308     [119648, 119679]**/
    309     const UnicodeSet counting_rod_Set
    310         {{{Empty, 3739}, {Full, 1}, {Empty, 31076}},
    311          {}};
    312     /** Code Point Ranges for Cuneiform
    313     [73728, 74751]**/
    314     const UnicodeSet cuneiform_Set
    315         {{{Empty, 2304}, {Full, 32}, {Empty, 32480}},
    316          {}};
    317     /** Code Point Ranges for Cuneiform_Numbers
    318     [74752, 74879]**/
    319     const UnicodeSet cuneiform_numbers_Set
    320         {{{Empty, 2336}, {Full, 4}, {Empty, 32476}},
    321          {}};
    322     /** Code Point Ranges for Currency_Symbols
    323     [8352, 8399]**/
    324     const UnicodeSet currency_symbols_Set
    325         {{{Empty, 261}, {Full, 1}, {Mixed, 1}, {Empty, 34553}},
    326          {0x0000ffff}};
    327     /** Code Point Ranges for Cypriot_Syllabary
    328     [67584, 67647]**/
    329     const UnicodeSet cypriot_syllabary_Set
    330         {{{Empty, 2112}, {Full, 2}, {Empty, 32702}},
    331          {}};
    332     /** Code Point Ranges for Cyrillic
    333     [1024, 1279]**/
    334     const UnicodeSet cyrillic_Set
    335         {{{Empty, 32}, {Full, 8}, {Empty, 34776}},
    336          {}};
    337     /** Code Point Ranges for Cyrillic_Ext_A
    338     [11744, 11775]**/
    339     const UnicodeSet cyrillic_ext_a_Set
    340         {{{Empty, 367}, {Full, 1}, {Empty, 34448}},
    341          {}};
    342     /** Code Point Ranges for Cyrillic_Ext_B
    343     [42560, 42655]**/
    344     const UnicodeSet cyrillic_ext_b_Set
    345         {{{Empty, 1330}, {Full, 3}, {Empty, 33483}},
    346          {}};
    347     /** Code Point Ranges for Cyrillic_Ext_C
    348     [7296, 7311]**/
    349     const UnicodeSet cyrillic_ext_c_Set
    350         {{{Empty, 228}, {Mixed, 1}, {Empty, 34587}},
    351          {0x0000ffff}};
    352     /** Code Point Ranges for Cyrillic_Sup
    353     [1280, 1327]**/
    354     const UnicodeSet cyrillic_sup_Set
    355         {{{Empty, 40}, {Full, 1}, {Mixed, 1}, {Empty, 34774}},
    356          {0x0000ffff}};
    357     /** Code Point Ranges for Deseret
    358     [66560, 66639]**/
    359     const UnicodeSet deseret_Set
    360         {{{Empty, 2080}, {Full, 2}, {Mixed, 1}, {Empty, 32733}},
    361          {0x0000ffff}};
    362     /** Code Point Ranges for Devanagari
    363     [2304, 2431]**/
    364     const UnicodeSet devanagari_Set
    365         {{{Empty, 72}, {Full, 4}, {Empty, 34740}},
    366          {}};
    367     /** Code Point Ranges for Devanagari_Ext
    368     [43232, 43263]**/
    369     const UnicodeSet devanagari_ext_Set
    370         {{{Empty, 1351}, {Full, 1}, {Empty, 33464}},
    371          {}};
    372     /** Code Point Ranges for Diacriticals
    373     [768, 879]**/
    374     const UnicodeSet diacriticals_Set
    375         {{{Empty, 24}, {Full, 3}, {Mixed, 1}, {Empty, 34788}},
    376          {0x0000ffff}};
    377     /** Code Point Ranges for Diacriticals_Ext
    378     [6832, 6911]**/
    379     const UnicodeSet diacriticals_ext_Set
    380         {{{Empty, 213}, {Mixed, 1}, {Full, 2}, {Empty, 34600}},
    381          {0xffff0000}};
    382     /** Code Point Ranges for Diacriticals_For_Symbols
    383     [8400, 8447]**/
    384     const UnicodeSet diacriticals_for_symbols_Set
    385         {{{Empty, 262}, {Mixed, 1}, {Full, 1}, {Empty, 34552}},
    386          {0xffff0000}};
    387     /** Code Point Ranges for Diacriticals_Sup
    388     [7616, 7679]**/
    389     const UnicodeSet diacriticals_sup_Set
    390         {{{Empty, 238}, {Full, 2}, {Empty, 34576}},
    391          {}};
    392     /** Code Point Ranges for Dingbats
    393     [9984, 10175]**/
    394     const UnicodeSet dingbats_Set
    395         {{{Empty, 312}, {Full, 6}, {Empty, 34498}},
    396          {}};
    397     /** Code Point Ranges for Domino
    398     [127024, 127135]**/
    399     const UnicodeSet domino_Set
    400         {{{Empty, 3969}, {Mixed, 1}, {Full, 3}, {Empty, 30843}},
    401          {0xffff0000}};
    402     /** Code Point Ranges for Duployan
    403     [113664, 113823]**/
    404     const UnicodeSet duployan_Set
    405         {{{Empty, 3552}, {Full, 5}, {Empty, 31259}},
    406          {}};
    407     /** Code Point Ranges for Early_Dynastic_Cuneiform
    408     [74880, 75087]**/
    409     const UnicodeSet early_dynastic_cuneiform_Set
    410         {{{Empty, 2340}, {Full, 6}, {Mixed, 1}, {Empty, 32469}},
    411          {0x0000ffff}};
    412     /** Code Point Ranges for Egyptian_Hieroglyphs
    413     [77824, 78895]**/
    414     const UnicodeSet egyptian_hieroglyphs_Set
    415         {{{Empty, 2432}, {Full, 33}, {Mixed, 1}, {Empty, 32350}},
    416          {0x0000ffff}};
    417     /** Code Point Ranges for Elbasan
    418     [66816, 66863]**/
    419     const UnicodeSet elbasan_Set
    420         {{{Empty, 2088}, {Full, 1}, {Mixed, 1}, {Empty, 32726}},
    421          {0x0000ffff}};
    422     /** Code Point Ranges for Emoticons
    423     [128512, 128591]**/
    424     const UnicodeSet emoticons_Set
    425         {{{Empty, 4016}, {Full, 2}, {Mixed, 1}, {Empty, 30797}},
    426          {0x0000ffff}};
    427     /** Code Point Ranges for Enclosed_Alphanum
    428     [9312, 9471]**/
    429     const UnicodeSet enclosed_alphanum_Set
    430         {{{Empty, 291}, {Full, 5}, {Empty, 34520}},
    431          {}};
    432     /** Code Point Ranges for Enclosed_Alphanum_Sup
    433     [127232, 127487]**/
    434     const UnicodeSet enclosed_alphanum_sup_Set
    435         {{{Empty, 3976}, {Full, 8}, {Empty, 30832}},
    436          {}};
    437     /** Code Point Ranges for Enclosed_CJK
    438     [12800, 13055]**/
    439     const UnicodeSet enclosed_cjk_Set
    440         {{{Empty, 400}, {Full, 8}, {Empty, 34408}},
    441          {}};
    442     /** Code Point Ranges for Enclosed_Ideographic_Sup
    443     [127488, 127743]**/
    444     const UnicodeSet enclosed_ideographic_sup_Set
    445         {{{Empty, 3984}, {Full, 8}, {Empty, 30824}},
    446          {}};
    447     /** Code Point Ranges for Ethiopic
    448     [4608, 4991]**/
    449     const UnicodeSet ethiopic_Set
    450         {{{Empty, 144}, {Full, 12}, {Empty, 34660}},
    451          {}};
    452     /** Code Point Ranges for Ethiopic_Ext
    453     [11648, 11743]**/
    454     const UnicodeSet ethiopic_ext_Set
    455         {{{Empty, 364}, {Full, 3}, {Empty, 34449}},
    456          {}};
    457     /** Code Point Ranges for Ethiopic_Ext_A
    458     [43776, 43823]**/
    459     const UnicodeSet ethiopic_ext_a_Set
    460         {{{Empty, 1368}, {Full, 1}, {Mixed, 1}, {Empty, 33446}},
    461          {0x0000ffff}};
    462     /** Code Point Ranges for Ethiopic_Sup
    463     [4992, 5023]**/
    464     const UnicodeSet ethiopic_sup_Set
    465         {{{Empty, 156}, {Full, 1}, {Empty, 34659}},
    466          {}};
    467     /** Code Point Ranges for Geometric_Shapes
    468     [9632, 9727]**/
    469     const UnicodeSet geometric_shapes_Set
    470         {{{Empty, 301}, {Full, 3}, {Empty, 34512}},
    471          {}};
    472     /** Code Point Ranges for Geometric_Shapes_Ext
    473     [128896, 129023]**/
    474     const UnicodeSet geometric_shapes_ext_Set
    475         {{{Empty, 4028}, {Full, 4}, {Empty, 30784}},
    476          {}};
    477     /** Code Point Ranges for Georgian
    478     [4256, 4351]**/
    479     const UnicodeSet georgian_Set
    480         {{{Empty, 133}, {Full, 3}, {Empty, 34680}},
    481          {}};
    482     /** Code Point Ranges for Georgian_Sup
    483     [11520, 11567]**/
    484     const UnicodeSet georgian_sup_Set
    485         {{{Empty, 360}, {Full, 1}, {Mixed, 1}, {Empty, 34454}},
    486          {0x0000ffff}};
    487     /** Code Point Ranges for Glagolitic
    488     [11264, 11359]**/
    489     const UnicodeSet glagolitic_Set
    490         {{{Empty, 352}, {Full, 3}, {Empty, 34461}},
    491          {}};
    492     /** Code Point Ranges for Glagolitic_Sup
    493     [122880, 122927]**/
    494     const UnicodeSet glagolitic_sup_Set
    495         {{{Empty, 3840}, {Full, 1}, {Mixed, 1}, {Empty, 30974}},
    496          {0x0000ffff}};
    497     /** Code Point Ranges for Gothic
    498     [66352, 66383]**/
    499     const UnicodeSet gothic_Set
    500         {{{Empty, 2073}, {Mixed, 2}, {Empty, 32741}},
    501          {0xffff0000, 0x0000ffff}};
    502     /** Code Point Ranges for Grantha
    503     [70400, 70527]**/
    504     const UnicodeSet grantha_Set
    505         {{{Empty, 2200}, {Full, 4}, {Empty, 32612}},
    506          {}};
    507     /** Code Point Ranges for Greek
    508     [880, 1023]**/
    509     const UnicodeSet greek_Set
    510         {{{Empty, 27}, {Mixed, 1}, {Full, 4}, {Empty, 34784}},
    511          {0xffff0000}};
    512     /** Code Point Ranges for Greek_Ext
    513     [7936, 8191]**/
    514     const UnicodeSet greek_ext_Set
    515         {{{Empty, 248}, {Full, 8}, {Empty, 34560}},
    516          {}};
    517     /** Code Point Ranges for Gujarati
    518     [2688, 2815]**/
    519     const UnicodeSet gujarati_Set
    520         {{{Empty, 84}, {Full, 4}, {Empty, 34728}},
    521          {}};
    522     /** Code Point Ranges for Gurmukhi
    523     [2560, 2687]**/
    524     const UnicodeSet gurmukhi_Set
    525         {{{Empty, 80}, {Full, 4}, {Empty, 34732}},
    526          {}};
    527     /** Code Point Ranges for Half_And_Full_Forms
    528     [65280, 65519]**/
    529     const UnicodeSet half_and_full_forms_Set
    530         {{{Empty, 2040}, {Full, 7}, {Mixed, 1}, {Empty, 32768}},
    531          {0x0000ffff}};
    532     /** Code Point Ranges for Half_Marks
    533     [65056, 65071]**/
    534     const UnicodeSet half_marks_Set
    535         {{{Empty, 2033}, {Mixed, 1}, {Empty, 32782}},
    536          {0x0000ffff}};
    537     /** Code Point Ranges for Hangul
    538     [44032, 55215]**/
    539     const UnicodeSet hangul_Set
    540         {{{Empty, 1376}, {Full, 349}, {Mixed, 1}, {Empty, 33090}},
    541          {0x0000ffff}};
    542     /** Code Point Ranges for Hanunoo
    543     [5920, 5951]**/
    544     const UnicodeSet hanunoo_Set
    545         {{{Empty, 185}, {Full, 1}, {Empty, 34630}},
    546          {}};
    547     /** Code Point Ranges for Hatran
    548     [67808, 67839]**/
    549     const UnicodeSet hatran_Set
    550         {{{Empty, 2119}, {Full, 1}, {Empty, 32696}},
    551          {}};
    552     /** Code Point Ranges for Hebrew
    553     [1424, 1535]**/
    554     const UnicodeSet hebrew_Set
    555         {{{Empty, 44}, {Mixed, 1}, {Full, 3}, {Empty, 34768}},
    556          {0xffff0000}};
    557     /** Code Point Ranges for High_PU_Surrogates
    558     [56192, 56319]**/
    559     const UnicodeSet high_pu_surrogates_Set
    560         {{{Empty, 1756}, {Full, 4}, {Empty, 33056}},
    561          {}};
    562     /** Code Point Ranges for High_Surrogates
    563     [55296, 56191]**/
    564     const UnicodeSet high_surrogates_Set
    565         {{{Empty, 1728}, {Full, 28}, {Empty, 33060}},
    566          {}};
    567     /** Code Point Ranges for Hiragana
    568     [12352, 12447]**/
    569     const UnicodeSet hiragana_Set
    570         {{{Empty, 386}, {Full, 3}, {Empty, 34427}},
    571          {}};
    572     /** Code Point Ranges for IDC
    573     [12272, 12287]**/
    574     const UnicodeSet idc_Set
    575         {{{Empty, 383}, {Mixed, 1}, {Empty, 34432}},
    576          {0xffff0000}};
    577     /** Code Point Ranges for Ideographic_Symbols
    578     [94176, 94207]**/
    579     const UnicodeSet ideographic_symbols_Set
    580         {{{Empty, 2943}, {Full, 1}, {Empty, 31872}},
    581          {}};
    582     /** Code Point Ranges for Imperial_Aramaic
    583     [67648, 67679]**/
    584     const UnicodeSet imperial_aramaic_Set
    585         {{{Empty, 2114}, {Full, 1}, {Empty, 32701}},
    586          {}};
    587     /** Code Point Ranges for Indic_Number_Forms
    588     [43056, 43071]**/
    589     const UnicodeSet indic_number_forms_Set
    590         {{{Empty, 1345}, {Mixed, 1}, {Empty, 33470}},
    591          {0xffff0000}};
    592     /** Code Point Ranges for Inscriptional_Pahlavi
    593     [68448, 68479]**/
    594     const UnicodeSet inscriptional_pahlavi_Set
    595         {{{Empty, 2139}, {Full, 1}, {Empty, 32676}},
    596          {}};
    597     /** Code Point Ranges for Inscriptional_Parthian
    598     [68416, 68447]**/
    599     const UnicodeSet inscriptional_parthian_Set
    600         {{{Empty, 2138}, {Full, 1}, {Empty, 32677}},
    601          {}};
    602     /** Code Point Ranges for IPA_Ext
    603     [592, 687]**/
    604     const UnicodeSet ipa_ext_Set
    605         {{{Empty, 18}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 34794}},
    606          {0xffff0000, 0x0000ffff}};
    607     /** Code Point Ranges for Jamo
    608     [4352, 4607]**/
    609     const UnicodeSet jamo_Set
    610         {{{Empty, 136}, {Full, 8}, {Empty, 34672}},
    611          {}};
    612     /** Code Point Ranges for Jamo_Ext_A
    613     [43360, 43391]**/
    614     const UnicodeSet jamo_ext_a_Set
    615         {{{Empty, 1355}, {Full, 1}, {Empty, 33460}},
    616          {}};
    617     /** Code Point Ranges for Jamo_Ext_B
    618     [55216, 55295]**/
    619     const UnicodeSet jamo_ext_b_Set
    620         {{{Empty, 1725}, {Mixed, 1}, {Full, 2}, {Empty, 33088}},
    621          {0xffff0000}};
    622     /** Code Point Ranges for Javanese
    623     [43392, 43487]**/
    624     const UnicodeSet javanese_Set
    625         {{{Empty, 1356}, {Full, 3}, {Empty, 33457}},
    626          {}};
    627     /** Code Point Ranges for Kaithi
    628     [69760, 69839]**/
    629     const UnicodeSet kaithi_Set
    630         {{{Empty, 2180}, {Full, 2}, {Mixed, 1}, {Empty, 32633}},
    631          {0x0000ffff}};
    632     /** Code Point Ranges for Kana_Sup
    633     [110592, 110847]**/
    634     const UnicodeSet kana_sup_Set
    635         {{{Empty, 3456}, {Full, 8}, {Empty, 31352}},
    636          {}};
    637     /** Code Point Ranges for Kanbun
    638     [12688, 12703]**/
    639     const UnicodeSet kanbun_Set
    640         {{{Empty, 396}, {Mixed, 1}, {Empty, 34419}},
    641          {0xffff0000}};
    642     /** Code Point Ranges for Kangxi
    643     [12032, 12255]**/
    644     const UnicodeSet kangxi_Set
    645         {{{Empty, 376}, {Full, 7}, {Empty, 34433}},
    646          {}};
    647     /** Code Point Ranges for Kannada
    648     [3200, 3327]**/
    649     const UnicodeSet kannada_Set
    650         {{{Empty, 100}, {Full, 4}, {Empty, 34712}},
    651          {}};
    652     /** Code Point Ranges for Katakana
    653     [12448, 12543]**/
    654     const UnicodeSet katakana_Set
    655         {{{Empty, 389}, {Full, 3}, {Empty, 34424}},
    656          {}};
    657     /** Code Point Ranges for Katakana_Ext
    658     [12784, 12799]**/
    659     const UnicodeSet katakana_ext_Set
    660         {{{Empty, 399}, {Mixed, 1}, {Empty, 34416}},
    661          {0xffff0000}};
    662     /** Code Point Ranges for Kayah_Li
    663     [43264, 43311]**/
    664     const UnicodeSet kayah_li_Set
    665         {{{Empty, 1352}, {Full, 1}, {Mixed, 1}, {Empty, 33462}},
    666          {0x0000ffff}};
    667     /** Code Point Ranges for Kharoshthi
    668     [68096, 68191]**/
    669     const UnicodeSet kharoshthi_Set
    670         {{{Empty, 2128}, {Full, 3}, {Empty, 32685}},
    671          {}};
    672     /** Code Point Ranges for Khmer
    673     [6016, 6143]**/
    674     const UnicodeSet khmer_Set
    675         {{{Empty, 188}, {Full, 4}, {Empty, 34624}},
    676          {}};
    677     /** Code Point Ranges for Khmer_Symbols
    678     [6624, 6655]**/
    679     const UnicodeSet khmer_symbols_Set
    680         {{{Empty, 207}, {Full, 1}, {Empty, 34608}},
    681          {}};
    682     /** Code Point Ranges for Khojki
    683     [70144, 70223]**/
    684     const UnicodeSet khojki_Set
    685         {{{Empty, 2192}, {Full, 2}, {Mixed, 1}, {Empty, 32621}},
    686          {0x0000ffff}};
    687     /** Code Point Ranges for Khudawadi
    688     [70320, 70399]**/
    689     const UnicodeSet khudawadi_Set
    690         {{{Empty, 2197}, {Mixed, 1}, {Full, 2}, {Empty, 32616}},
    691          {0xffff0000}};
    692     /** Code Point Ranges for Lao
    693     [3712, 3839]**/
    694     const UnicodeSet lao_Set
    695         {{{Empty, 116}, {Full, 4}, {Empty, 34696}},
    696          {}};
    697     /** Code Point Ranges for Latin_1_Sup
    698     [128, 255]**/
    699     const UnicodeSet latin_1_sup_Set
    700         {{{Empty, 4}, {Full, 4}, {Empty, 34808}},
    701          {}};
    702     /** Code Point Ranges for Latin_Ext_A
    703     [256, 383]**/
    704     const UnicodeSet latin_ext_a_Set
    705         {{{Empty, 8}, {Full, 4}, {Empty, 34804}},
    706          {}};
    707     /** Code Point Ranges for Latin_Ext_Additional
    708     [7680, 7935]**/
    709     const UnicodeSet latin_ext_additional_Set
    710         {{{Empty, 240}, {Full, 8}, {Empty, 34568}},
    711          {}};
    712     /** Code Point Ranges for Latin_Ext_B
    713     [384, 591]**/
    714     const UnicodeSet latin_ext_b_Set
    715         {{{Empty, 12}, {Full, 6}, {Mixed, 1}, {Empty, 34797}},
    716          {0x0000ffff}};
    717     /** Code Point Ranges for Latin_Ext_C
    718     [11360, 11391]**/
    719     const UnicodeSet latin_ext_c_Set
    720         {{{Empty, 355}, {Full, 1}, {Empty, 34460}},
    721          {}};
    722     /** Code Point Ranges for Latin_Ext_D
    723     [42784, 43007]**/
    724     const UnicodeSet latin_ext_d_Set
    725         {{{Empty, 1337}, {Full, 7}, {Empty, 33472}},
    726          {}};
    727     /** Code Point Ranges for Latin_Ext_E
    728     [43824, 43887]**/
    729     const UnicodeSet latin_ext_e_Set
    730         {{{Empty, 1369}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 33444}},
    731          {0xffff0000, 0x0000ffff}};
    732     /** Code Point Ranges for Lepcha
    733     [7168, 7247]**/
    734     const UnicodeSet lepcha_Set
    735         {{{Empty, 224}, {Full, 2}, {Mixed, 1}, {Empty, 34589}},
    736          {0x0000ffff}};
    737     /** Code Point Ranges for Letterlike_Symbols
    738     [8448, 8527]**/
    739     const UnicodeSet letterlike_symbols_Set
    740         {{{Empty, 264}, {Full, 2}, {Mixed, 1}, {Empty, 34549}},
    741          {0x0000ffff}};
    742     /** Code Point Ranges for Limbu
    743     [6400, 6479]**/
    744     const UnicodeSet limbu_Set
    745         {{{Empty, 200}, {Full, 2}, {Mixed, 1}, {Empty, 34613}},
    746          {0x0000ffff}};
    747     /** Code Point Ranges for Linear_A
    748     [67072, 67455]**/
    749     const UnicodeSet linear_a_Set
    750         {{{Empty, 2096}, {Full, 12}, {Empty, 32708}},
    751          {}};
    752     /** Code Point Ranges for Linear_B_Ideograms
    753     [65664, 65791]**/
    754     const UnicodeSet linear_b_ideograms_Set
    755         {{{Empty, 2052}, {Full, 4}, {Empty, 32760}},
    756          {}};
    757     /** Code Point Ranges for Linear_B_Syllabary
    758     [65536, 65663]**/
    759     const UnicodeSet linear_b_syllabary_Set
    760         {{{Empty, 2048}, {Full, 4}, {Empty, 32764}},
    761          {}};
    762     /** Code Point Ranges for Lisu
    763     [42192, 42239]**/
    764     const UnicodeSet lisu_Set
    765         {{{Empty, 1318}, {Mixed, 1}, {Full, 1}, {Empty, 33496}},
    766          {0xffff0000}};
    767     /** Code Point Ranges for Low_Surrogates
    768     [56320, 57343]**/
    769     const UnicodeSet low_surrogates_Set
    770         {{{Empty, 1760}, {Full, 32}, {Empty, 33024}},
    771          {}};
    772     /** Code Point Ranges for Lycian
    773     [66176, 66207]**/
    774     const UnicodeSet lycian_Set
    775         {{{Empty, 2068}, {Full, 1}, {Empty, 32747}},
    776          {}};
    777     /** Code Point Ranges for Lydian
    778     [67872, 67903]**/
    779     const UnicodeSet lydian_Set
    780         {{{Empty, 2121}, {Full, 1}, {Empty, 32694}},
    781          {}};
    782     /** Code Point Ranges for Mahajani
    783     [69968, 70015]**/
    784     const UnicodeSet mahajani_Set
    785         {{{Empty, 2186}, {Mixed, 1}, {Full, 1}, {Empty, 32628}},
    786          {0xffff0000}};
    787     /** Code Point Ranges for Mahjong
    788     [126976, 127023]**/
    789     const UnicodeSet mahjong_Set
    790         {{{Empty, 3968}, {Full, 1}, {Mixed, 1}, {Empty, 30846}},
    791          {0x0000ffff}};
    792     /** Code Point Ranges for Malayalam
    793     [3328, 3455]**/
    794     const UnicodeSet malayalam_Set
    795         {{{Empty, 104}, {Full, 4}, {Empty, 34708}},
    796          {}};
    797     /** Code Point Ranges for Mandaic
    798     [2112, 2143]**/
    799     const UnicodeSet mandaic_Set
    800         {{{Empty, 66}, {Full, 1}, {Empty, 34749}},
    801          {}};
    802     /** Code Point Ranges for Manichaean
    803     [68288, 68351]**/
    804     const UnicodeSet manichaean_Set
    805         {{{Empty, 2134}, {Full, 2}, {Empty, 32680}},
    806          {}};
    807     /** Code Point Ranges for Marchen
    808     [72816, 72895]**/
    809     const UnicodeSet marchen_Set
    810         {{{Empty, 2275}, {Mixed, 1}, {Full, 2}, {Empty, 32538}},
    811          {0xffff0000}};
    812     /** Code Point Ranges for Math_Alphanum
    813     [119808, 120831]**/
    814     const UnicodeSet math_alphanum_Set
    815         {{{Empty, 3744}, {Full, 32}, {Empty, 31040}},
    816          {}};
    817     /** Code Point Ranges for Math_Operators
    818     [8704, 8959]**/
    819     const UnicodeSet math_operators_Set
    820         {{{Empty, 272}, {Full, 8}, {Empty, 34536}},
    821          {}};
    822     /** Code Point Ranges for Meetei_Mayek
    823     [43968, 44031]**/
    824     const UnicodeSet meetei_mayek_Set
    825         {{{Empty, 1374}, {Full, 2}, {Empty, 33440}},
    826          {}};
    827     /** Code Point Ranges for Meetei_Mayek_Ext
    828     [43744, 43775]**/
    829     const UnicodeSet meetei_mayek_ext_Set
    830         {{{Empty, 1367}, {Full, 1}, {Empty, 33448}},
    831          {}};
    832     /** Code Point Ranges for Mende_Kikakui
    833     [124928, 125151]**/
    834     const UnicodeSet mende_kikakui_Set
    835         {{{Empty, 3904}, {Full, 7}, {Empty, 30905}},
    836          {}};
    837     /** Code Point Ranges for Meroitic_Cursive
    838     [68000, 68095]**/
    839     const UnicodeSet meroitic_cursive_Set
    840         {{{Empty, 2125}, {Full, 3}, {Empty, 32688}},
    841          {}};
    842     /** Code Point Ranges for Meroitic_Hieroglyphs
    843     [67968, 67999]**/
    844     const UnicodeSet meroitic_hieroglyphs_Set
    845         {{{Empty, 2124}, {Full, 1}, {Empty, 32691}},
    846          {}};
    847     /** Code Point Ranges for Miao
    848     [93952, 94111]**/
    849     const UnicodeSet miao_Set
    850         {{{Empty, 2936}, {Full, 5}, {Empty, 31875}},
    851          {}};
    852     /** Code Point Ranges for Misc_Arrows
    853     [11008, 11263]**/
    854     const UnicodeSet misc_arrows_Set
    855         {{{Empty, 344}, {Full, 8}, {Empty, 34464}},
    856          {}};
    857     /** Code Point Ranges for Misc_Math_Symbols_A
    858     [10176, 10223]**/
    859     const UnicodeSet misc_math_symbols_a_Set
    860         {{{Empty, 318}, {Full, 1}, {Mixed, 1}, {Empty, 34496}},
    861          {0x0000ffff}};
    862     /** Code Point Ranges for Misc_Math_Symbols_B
    863     [10624, 10751]**/
    864     const UnicodeSet misc_math_symbols_b_Set
    865         {{{Empty, 332}, {Full, 4}, {Empty, 34480}},
    866          {}};
    867     /** Code Point Ranges for Misc_Pictographs
    868     [127744, 128511]**/
    869     const UnicodeSet misc_pictographs_Set
    870         {{{Empty, 3992}, {Full, 24}, {Empty, 30800}},
    871          {}};
    872     /** Code Point Ranges for Misc_Symbols
    873     [9728, 9983]**/
    874     const UnicodeSet misc_symbols_Set
    875         {{{Empty, 304}, {Full, 8}, {Empty, 34504}},
    876          {}};
    877     /** Code Point Ranges for Misc_Technical
    878     [8960, 9215]**/
    879     const UnicodeSet misc_technical_Set
    880         {{{Empty, 280}, {Full, 8}, {Empty, 34528}},
    881          {}};
    882     /** Code Point Ranges for Modi
    883     [71168, 71263]**/
    884     const UnicodeSet modi_Set
    885         {{{Empty, 2224}, {Full, 3}, {Empty, 32589}},
    886          {}};
    887     /** Code Point Ranges for Modifier_Letters
    888     [688, 767]**/
    889     const UnicodeSet modifier_letters_Set
    890         {{{Empty, 21}, {Mixed, 1}, {Full, 2}, {Empty, 34792}},
    891          {0xffff0000}};
    892     /** Code Point Ranges for Modifier_Tone_Letters
    893     [42752, 42783]**/
    894     const UnicodeSet modifier_tone_letters_Set
    895         {{{Empty, 1336}, {Full, 1}, {Empty, 33479}},
    896          {}};
    897     /** Code Point Ranges for Mongolian
    898     [6144, 6319]**/
    899     const UnicodeSet mongolian_Set
    900         {{{Empty, 192}, {Full, 5}, {Mixed, 1}, {Empty, 34618}},
    901          {0x0000ffff}};
    902     /** Code Point Ranges for Mongolian_Sup
    903     [71264, 71295]**/
    904     const UnicodeSet mongolian_sup_Set
    905         {{{Empty, 2227}, {Full, 1}, {Empty, 32588}},
    906          {}};
    907     /** Code Point Ranges for Mro
    908     [92736, 92783]**/
    909     const UnicodeSet mro_Set
    910         {{{Empty, 2898}, {Full, 1}, {Mixed, 1}, {Empty, 31916}},
    911          {0x0000ffff}};
    912     /** Code Point Ranges for Multani
    913     [70272, 70319]**/
    914     const UnicodeSet multani_Set
    915         {{{Empty, 2196}, {Full, 1}, {Mixed, 1}, {Empty, 32618}},
    916          {0x0000ffff}};
    917     /** Code Point Ranges for Music
    918     [119040, 119295]**/
    919     const UnicodeSet music_Set
    920         {{{Empty, 3720}, {Full, 8}, {Empty, 31088}},
    921          {}};
    922     /** Code Point Ranges for Myanmar
    923     [4096, 4255]**/
    924     const UnicodeSet myanmar_Set
    925         {{{Empty, 128}, {Full, 5}, {Empty, 34683}},
    926          {}};
    927     /** Code Point Ranges for Myanmar_Ext_A
    928     [43616, 43647]**/
    929     const UnicodeSet myanmar_ext_a_Set
    930         {{{Empty, 1363}, {Full, 1}, {Empty, 33452}},
    931          {}};
    932     /** Code Point Ranges for Myanmar_Ext_B
    933     [43488, 43519]**/
    934     const UnicodeSet myanmar_ext_b_Set
    935         {{{Empty, 1359}, {Full, 1}, {Empty, 33456}},
    936          {}};
    937     /** Code Point Ranges for Nabataean
    938     [67712, 67759]**/
    939     const UnicodeSet nabataean_Set
    940         {{{Empty, 2116}, {Full, 1}, {Mixed, 1}, {Empty, 32698}},
    941          {0x0000ffff}};
    94217    /** Code Point Ranges for NB
    94318    [2144, 2207], [7312, 7359], [12256, 12271], [66048, 66175],
     
    97954          0xffff0000, 0x0000ffff, 0xffff0000, 0xffff0000, 0xffff0000,
    98055          0xffff0000, 0xffff0000, 0xffff0000, 0xffff0000}};
     56    /** Code Point Ranges for ASCII
     57    [0, 127]**/
     58    const UnicodeSet ascii_Set
     59        {{{Full, 4}, {Empty, 34812}},
     60         {}};
     61    /** Code Point Ranges for Latin_1_Sup
     62    [128, 255]**/
     63    const UnicodeSet latin_1_sup_Set
     64        {{{Empty, 4}, {Full, 4}, {Empty, 34808}},
     65         {}};
     66    /** Code Point Ranges for Latin_Ext_A
     67    [256, 383]**/
     68    const UnicodeSet latin_ext_a_Set
     69        {{{Empty, 8}, {Full, 4}, {Empty, 34804}},
     70         {}};
     71    /** Code Point Ranges for Latin_Ext_B
     72    [384, 591]**/
     73    const UnicodeSet latin_ext_b_Set
     74        {{{Empty, 12}, {Full, 6}, {Mixed, 1}, {Empty, 34797}},
     75         {0x0000ffff}};
     76    /** Code Point Ranges for IPA_Ext
     77    [592, 687]**/
     78    const UnicodeSet ipa_ext_Set
     79        {{{Empty, 18}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 34794}},
     80         {0xffff0000, 0x0000ffff}};
     81    /** Code Point Ranges for Modifier_Letters
     82    [688, 767]**/
     83    const UnicodeSet modifier_letters_Set
     84        {{{Empty, 21}, {Mixed, 1}, {Full, 2}, {Empty, 34792}},
     85         {0xffff0000}};
     86    /** Code Point Ranges for Diacriticals
     87    [768, 879]**/
     88    const UnicodeSet diacriticals_Set
     89        {{{Empty, 24}, {Full, 3}, {Mixed, 1}, {Empty, 34788}},
     90         {0x0000ffff}};
     91    /** Code Point Ranges for Greek
     92    [880, 1023]**/
     93    const UnicodeSet greek_Set
     94        {{{Empty, 27}, {Mixed, 1}, {Full, 4}, {Empty, 34784}},
     95         {0xffff0000}};
     96    /** Code Point Ranges for Cyrillic
     97    [1024, 1279]**/
     98    const UnicodeSet cyrillic_Set
     99        {{{Empty, 32}, {Full, 8}, {Empty, 34776}},
     100         {}};
     101    /** Code Point Ranges for Cyrillic_Sup
     102    [1280, 1327]**/
     103    const UnicodeSet cyrillic_sup_Set
     104        {{{Empty, 40}, {Full, 1}, {Mixed, 1}, {Empty, 34774}},
     105         {0x0000ffff}};
     106    /** Code Point Ranges for Armenian
     107    [1328, 1423]**/
     108    const UnicodeSet armenian_Set
     109        {{{Empty, 41}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 34771}},
     110         {0xffff0000, 0x0000ffff}};
     111    /** Code Point Ranges for Hebrew
     112    [1424, 1535]**/
     113    const UnicodeSet hebrew_Set
     114        {{{Empty, 44}, {Mixed, 1}, {Full, 3}, {Empty, 34768}},
     115         {0xffff0000}};
     116    /** Code Point Ranges for Arabic
     117    [1536, 1791]**/
     118    const UnicodeSet arabic_Set
     119        {{{Empty, 48}, {Full, 8}, {Empty, 34760}},
     120         {}};
     121    /** Code Point Ranges for Syriac
     122    [1792, 1871]**/
     123    const UnicodeSet syriac_Set
     124        {{{Empty, 56}, {Full, 2}, {Mixed, 1}, {Empty, 34757}},
     125         {0x0000ffff}};
     126    /** Code Point Ranges for Arabic_Sup
     127    [1872, 1919]**/
     128    const UnicodeSet arabic_sup_Set
     129        {{{Empty, 58}, {Mixed, 1}, {Full, 1}, {Empty, 34756}},
     130         {0xffff0000}};
     131    /** Code Point Ranges for Thaana
     132    [1920, 1983]**/
     133    const UnicodeSet thaana_Set
     134        {{{Empty, 60}, {Full, 2}, {Empty, 34754}},
     135         {}};
     136    /** Code Point Ranges for NKo
     137    [1984, 2047]**/
     138    const UnicodeSet nko_Set
     139        {{{Empty, 62}, {Full, 2}, {Empty, 34752}},
     140         {}};
     141    /** Code Point Ranges for Samaritan
     142    [2048, 2111]**/
     143    const UnicodeSet samaritan_Set
     144        {{{Empty, 64}, {Full, 2}, {Empty, 34750}},
     145         {}};
     146    /** Code Point Ranges for Mandaic
     147    [2112, 2143]**/
     148    const UnicodeSet mandaic_Set
     149        {{{Empty, 66}, {Full, 1}, {Empty, 34749}},
     150         {}};
     151    /** Code Point Ranges for Arabic_Ext_A
     152    [2208, 2303]**/
     153    const UnicodeSet arabic_ext_a_Set
     154        {{{Empty, 69}, {Full, 3}, {Empty, 34744}},
     155         {}};
     156    /** Code Point Ranges for Devanagari
     157    [2304, 2431]**/
     158    const UnicodeSet devanagari_Set
     159        {{{Empty, 72}, {Full, 4}, {Empty, 34740}},
     160         {}};
     161    /** Code Point Ranges for Bengali
     162    [2432, 2559]**/
     163    const UnicodeSet bengali_Set
     164        {{{Empty, 76}, {Full, 4}, {Empty, 34736}},
     165         {}};
     166    /** Code Point Ranges for Gurmukhi
     167    [2560, 2687]**/
     168    const UnicodeSet gurmukhi_Set
     169        {{{Empty, 80}, {Full, 4}, {Empty, 34732}},
     170         {}};
     171    /** Code Point Ranges for Gujarati
     172    [2688, 2815]**/
     173    const UnicodeSet gujarati_Set
     174        {{{Empty, 84}, {Full, 4}, {Empty, 34728}},
     175         {}};
     176    /** Code Point Ranges for Oriya
     177    [2816, 2943]**/
     178    const UnicodeSet oriya_Set
     179        {{{Empty, 88}, {Full, 4}, {Empty, 34724}},
     180         {}};
     181    /** Code Point Ranges for Tamil
     182    [2944, 3071]**/
     183    const UnicodeSet tamil_Set
     184        {{{Empty, 92}, {Full, 4}, {Empty, 34720}},
     185         {}};
     186    /** Code Point Ranges for Telugu
     187    [3072, 3199]**/
     188    const UnicodeSet telugu_Set
     189        {{{Empty, 96}, {Full, 4}, {Empty, 34716}},
     190         {}};
     191    /** Code Point Ranges for Kannada
     192    [3200, 3327]**/
     193    const UnicodeSet kannada_Set
     194        {{{Empty, 100}, {Full, 4}, {Empty, 34712}},
     195         {}};
     196    /** Code Point Ranges for Malayalam
     197    [3328, 3455]**/
     198    const UnicodeSet malayalam_Set
     199        {{{Empty, 104}, {Full, 4}, {Empty, 34708}},
     200         {}};
     201    /** Code Point Ranges for Sinhala
     202    [3456, 3583]**/
     203    const UnicodeSet sinhala_Set
     204        {{{Empty, 108}, {Full, 4}, {Empty, 34704}},
     205         {}};
     206    /** Code Point Ranges for Thai
     207    [3584, 3711]**/
     208    const UnicodeSet thai_Set
     209        {{{Empty, 112}, {Full, 4}, {Empty, 34700}},
     210         {}};
     211    /** Code Point Ranges for Lao
     212    [3712, 3839]**/
     213    const UnicodeSet lao_Set
     214        {{{Empty, 116}, {Full, 4}, {Empty, 34696}},
     215         {}};
     216    /** Code Point Ranges for Tibetan
     217    [3840, 4095]**/
     218    const UnicodeSet tibetan_Set
     219        {{{Empty, 120}, {Full, 8}, {Empty, 34688}},
     220         {}};
     221    /** Code Point Ranges for Myanmar
     222    [4096, 4255]**/
     223    const UnicodeSet myanmar_Set
     224        {{{Empty, 128}, {Full, 5}, {Empty, 34683}},
     225         {}};
     226    /** Code Point Ranges for Georgian
     227    [4256, 4351]**/
     228    const UnicodeSet georgian_Set
     229        {{{Empty, 133}, {Full, 3}, {Empty, 34680}},
     230         {}};
     231    /** Code Point Ranges for Jamo
     232    [4352, 4607]**/
     233    const UnicodeSet jamo_Set
     234        {{{Empty, 136}, {Full, 8}, {Empty, 34672}},
     235         {}};
     236    /** Code Point Ranges for Ethiopic
     237    [4608, 4991]**/
     238    const UnicodeSet ethiopic_Set
     239        {{{Empty, 144}, {Full, 12}, {Empty, 34660}},
     240         {}};
     241    /** Code Point Ranges for Ethiopic_Sup
     242    [4992, 5023]**/
     243    const UnicodeSet ethiopic_sup_Set
     244        {{{Empty, 156}, {Full, 1}, {Empty, 34659}},
     245         {}};
     246    /** Code Point Ranges for Cherokee
     247    [5024, 5119]**/
     248    const UnicodeSet cherokee_Set
     249        {{{Empty, 157}, {Full, 3}, {Empty, 34656}},
     250         {}};
     251    /** Code Point Ranges for UCAS
     252    [5120, 5759]**/
     253    const UnicodeSet ucas_Set
     254        {{{Empty, 160}, {Full, 20}, {Empty, 34636}},
     255         {}};
     256    /** Code Point Ranges for Ogham
     257    [5760, 5791]**/
     258    const UnicodeSet ogham_Set
     259        {{{Empty, 180}, {Full, 1}, {Empty, 34635}},
     260         {}};
     261    /** Code Point Ranges for Runic
     262    [5792, 5887]**/
     263    const UnicodeSet runic_Set
     264        {{{Empty, 181}, {Full, 3}, {Empty, 34632}},
     265         {}};
     266    /** Code Point Ranges for Tagalog
     267    [5888, 5919]**/
     268    const UnicodeSet tagalog_Set
     269        {{{Empty, 184}, {Full, 1}, {Empty, 34631}},
     270         {}};
     271    /** Code Point Ranges for Hanunoo
     272    [5920, 5951]**/
     273    const UnicodeSet hanunoo_Set
     274        {{{Empty, 185}, {Full, 1}, {Empty, 34630}},
     275         {}};
     276    /** Code Point Ranges for Buhid
     277    [5952, 5983]**/
     278    const UnicodeSet buhid_Set
     279        {{{Empty, 186}, {Full, 1}, {Empty, 34629}},
     280         {}};
     281    /** Code Point Ranges for Tagbanwa
     282    [5984, 6015]**/
     283    const UnicodeSet tagbanwa_Set
     284        {{{Empty, 187}, {Full, 1}, {Empty, 34628}},
     285         {}};
     286    /** Code Point Ranges for Khmer
     287    [6016, 6143]**/
     288    const UnicodeSet khmer_Set
     289        {{{Empty, 188}, {Full, 4}, {Empty, 34624}},
     290         {}};
     291    /** Code Point Ranges for Mongolian
     292    [6144, 6319]**/
     293    const UnicodeSet mongolian_Set
     294        {{{Empty, 192}, {Full, 5}, {Mixed, 1}, {Empty, 34618}},
     295         {0x0000ffff}};
     296    /** Code Point Ranges for UCAS_Ext
     297    [6320, 6399]**/
     298    const UnicodeSet ucas_ext_Set
     299        {{{Empty, 197}, {Mixed, 1}, {Full, 2}, {Empty, 34616}},
     300         {0xffff0000}};
     301    /** Code Point Ranges for Limbu
     302    [6400, 6479]**/
     303    const UnicodeSet limbu_Set
     304        {{{Empty, 200}, {Full, 2}, {Mixed, 1}, {Empty, 34613}},
     305         {0x0000ffff}};
     306    /** Code Point Ranges for Tai_Le
     307    [6480, 6527]**/
     308    const UnicodeSet tai_le_Set
     309        {{{Empty, 202}, {Mixed, 1}, {Full, 1}, {Empty, 34612}},
     310         {0xffff0000}};
    981311    /** Code Point Ranges for New_Tai_Lue
    982312    [6528, 6623]**/
     
    984314        {{{Empty, 204}, {Full, 3}, {Empty, 34609}},
    985315         {}};
    986     /** Code Point Ranges for Newa
    987     [70656, 70783]**/
    988     const UnicodeSet newa_Set
    989         {{{Empty, 2208}, {Full, 4}, {Empty, 32604}},
    990          {}};
    991     /** Code Point Ranges for NKo
    992     [1984, 2047]**/
    993     const UnicodeSet nko_Set
    994         {{{Empty, 62}, {Full, 2}, {Empty, 34752}},
    995          {}};
     316    /** Code Point Ranges for Khmer_Symbols
     317    [6624, 6655]**/
     318    const UnicodeSet khmer_symbols_Set
     319        {{{Empty, 207}, {Full, 1}, {Empty, 34608}},
     320         {}};
     321    /** Code Point Ranges for Buginese
     322    [6656, 6687]**/
     323    const UnicodeSet buginese_Set
     324        {{{Empty, 208}, {Full, 1}, {Empty, 34607}},
     325         {}};
     326    /** Code Point Ranges for Tai_Tham
     327    [6688, 6831]**/
     328    const UnicodeSet tai_tham_Set
     329        {{{Empty, 209}, {Full, 4}, {Mixed, 1}, {Empty, 34602}},
     330         {0x0000ffff}};
     331    /** Code Point Ranges for Diacriticals_Ext
     332    [6832, 6911]**/
     333    const UnicodeSet diacriticals_ext_Set
     334        {{{Empty, 213}, {Mixed, 1}, {Full, 2}, {Empty, 34600}},
     335         {0xffff0000}};
     336    /** Code Point Ranges for Balinese
     337    [6912, 7039]**/
     338    const UnicodeSet balinese_Set
     339        {{{Empty, 216}, {Full, 4}, {Empty, 34596}},
     340         {}};
     341    /** Code Point Ranges for Sundanese
     342    [7040, 7103]**/
     343    const UnicodeSet sundanese_Set
     344        {{{Empty, 220}, {Full, 2}, {Empty, 34594}},
     345         {}};
     346    /** Code Point Ranges for Batak
     347    [7104, 7167]**/
     348    const UnicodeSet batak_Set
     349        {{{Empty, 222}, {Full, 2}, {Empty, 34592}},
     350         {}};
     351    /** Code Point Ranges for Lepcha
     352    [7168, 7247]**/
     353    const UnicodeSet lepcha_Set
     354        {{{Empty, 224}, {Full, 2}, {Mixed, 1}, {Empty, 34589}},
     355         {0x0000ffff}};
     356    /** Code Point Ranges for Ol_Chiki
     357    [7248, 7295]**/
     358    const UnicodeSet ol_chiki_Set
     359        {{{Empty, 226}, {Mixed, 1}, {Full, 1}, {Empty, 34588}},
     360         {0xffff0000}};
     361    /** Code Point Ranges for Cyrillic_Ext_C
     362    [7296, 7311]**/
     363    const UnicodeSet cyrillic_ext_c_Set
     364        {{{Empty, 228}, {Mixed, 1}, {Empty, 34587}},
     365         {0x0000ffff}};
     366    /** Code Point Ranges for Sundanese_Sup
     367    [7360, 7375]**/
     368    const UnicodeSet sundanese_sup_Set
     369        {{{Empty, 230}, {Mixed, 1}, {Empty, 34585}},
     370         {0x0000ffff}};
     371    /** Code Point Ranges for Vedic_Ext
     372    [7376, 7423]**/
     373    const UnicodeSet vedic_ext_Set
     374        {{{Empty, 230}, {Mixed, 1}, {Full, 1}, {Empty, 34584}},
     375         {0xffff0000}};
     376    /** Code Point Ranges for Phonetic_Ext
     377    [7424, 7551]**/
     378    const UnicodeSet phonetic_ext_Set
     379        {{{Empty, 232}, {Full, 4}, {Empty, 34580}},
     380         {}};
     381    /** Code Point Ranges for Phonetic_Ext_Sup
     382    [7552, 7615]**/
     383    const UnicodeSet phonetic_ext_sup_Set
     384        {{{Empty, 236}, {Full, 2}, {Empty, 34578}},
     385         {}};
     386    /** Code Point Ranges for Diacriticals_Sup
     387    [7616, 7679]**/
     388    const UnicodeSet diacriticals_sup_Set
     389        {{{Empty, 238}, {Full, 2}, {Empty, 34576}},
     390         {}};
     391    /** Code Point Ranges for Latin_Ext_Additional
     392    [7680, 7935]**/
     393    const UnicodeSet latin_ext_additional_Set
     394        {{{Empty, 240}, {Full, 8}, {Empty, 34568}},
     395         {}};
     396    /** Code Point Ranges for Greek_Ext
     397    [7936, 8191]**/
     398    const UnicodeSet greek_ext_Set
     399        {{{Empty, 248}, {Full, 8}, {Empty, 34560}},
     400         {}};
     401    /** Code Point Ranges for Punctuation
     402    [8192, 8303]**/
     403    const UnicodeSet punctuation_Set
     404        {{{Empty, 256}, {Full, 3}, {Mixed, 1}, {Empty, 34556}},
     405         {0x0000ffff}};
     406    /** Code Point Ranges for Super_And_Sub
     407    [8304, 8351]**/
     408    const UnicodeSet super_and_sub_Set
     409        {{{Empty, 259}, {Mixed, 1}, {Full, 1}, {Empty, 34555}},
     410         {0xffff0000}};
     411    /** Code Point Ranges for Currency_Symbols
     412    [8352, 8399]**/
     413    const UnicodeSet currency_symbols_Set
     414        {{{Empty, 261}, {Full, 1}, {Mixed, 1}, {Empty, 34553}},
     415         {0x0000ffff}};
     416    /** Code Point Ranges for Diacriticals_For_Symbols
     417    [8400, 8447]**/
     418    const UnicodeSet diacriticals_for_symbols_Set
     419        {{{Empty, 262}, {Mixed, 1}, {Full, 1}, {Empty, 34552}},
     420         {0xffff0000}};
     421    /** Code Point Ranges for Letterlike_Symbols
     422    [8448, 8527]**/
     423    const UnicodeSet letterlike_symbols_Set
     424        {{{Empty, 264}, {Full, 2}, {Mixed, 1}, {Empty, 34549}},
     425         {0x0000ffff}};
    996426    /** Code Point Ranges for Number_Forms
    997427    [8528, 8591]**/
     
    999429        {{{Empty, 266}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 34547}},
    1000430         {0xffff0000, 0x0000ffff}};
     431    /** Code Point Ranges for Arrows
     432    [8592, 8703]**/
     433    const UnicodeSet arrows_Set
     434        {{{Empty, 268}, {Mixed, 1}, {Full, 3}, {Empty, 34544}},
     435         {0xffff0000}};
     436    /** Code Point Ranges for Math_Operators
     437    [8704, 8959]**/
     438    const UnicodeSet math_operators_Set
     439        {{{Empty, 272}, {Full, 8}, {Empty, 34536}},
     440         {}};
     441    /** Code Point Ranges for Misc_Technical
     442    [8960, 9215]**/
     443    const UnicodeSet misc_technical_Set
     444        {{{Empty, 280}, {Full, 8}, {Empty, 34528}},
     445         {}};
     446    /** Code Point Ranges for Control_Pictures
     447    [9216, 9279]**/
     448    const UnicodeSet control_pictures_Set
     449        {{{Empty, 288}, {Full, 2}, {Empty, 34526}},
     450         {}};
    1001451    /** Code Point Ranges for OCR
    1002452    [9280, 9311]**/
     
    1004454        {{{Empty, 290}, {Full, 1}, {Empty, 34525}},
    1005455         {}};
    1006     /** Code Point Ranges for Ogham
    1007     [5760, 5791]**/
    1008     const UnicodeSet ogham_Set
    1009         {{{Empty, 180}, {Full, 1}, {Empty, 34635}},
    1010          {}};
    1011     /** Code Point Ranges for Ol_Chiki
    1012     [7248, 7295]**/
    1013     const UnicodeSet ol_chiki_Set
    1014         {{{Empty, 226}, {Mixed, 1}, {Full, 1}, {Empty, 34588}},
    1015          {0xffff0000}};
    1016     /** Code Point Ranges for Old_Hungarian
    1017     [68736, 68863]**/
    1018     const UnicodeSet old_hungarian_Set
    1019         {{{Empty, 2148}, {Full, 4}, {Empty, 32664}},
    1020          {}};
    1021     /** Code Point Ranges for Old_Italic
    1022     [66304, 66351]**/
    1023     const UnicodeSet old_italic_Set
    1024         {{{Empty, 2072}, {Full, 1}, {Mixed, 1}, {Empty, 32742}},
    1025          {0x0000ffff}};
    1026     /** Code Point Ranges for Old_North_Arabian
    1027     [68224, 68255]**/
    1028     const UnicodeSet old_north_arabian_Set
    1029         {{{Empty, 2132}, {Full, 1}, {Empty, 32683}},
    1030          {}};
    1031     /** Code Point Ranges for Old_Permic
    1032     [66384, 66431]**/
    1033     const UnicodeSet old_permic_Set
    1034         {{{Empty, 2074}, {Mixed, 1}, {Full, 1}, {Empty, 32740}},
    1035          {0xffff0000}};
    1036     /** Code Point Ranges for Old_Persian
    1037     [66464, 66527]**/
    1038     const UnicodeSet old_persian_Set
    1039         {{{Empty, 2077}, {Full, 2}, {Empty, 32737}},
    1040          {}};
    1041     /** Code Point Ranges for Old_South_Arabian
    1042     [68192, 68223]**/
    1043     const UnicodeSet old_south_arabian_Set
    1044         {{{Empty, 2131}, {Full, 1}, {Empty, 32684}},
    1045          {}};
    1046     /** Code Point Ranges for Old_Turkic
    1047     [68608, 68687]**/
    1048     const UnicodeSet old_turkic_Set
    1049         {{{Empty, 2144}, {Full, 2}, {Mixed, 1}, {Empty, 32669}},
    1050          {0x0000ffff}};
    1051     /** Code Point Ranges for Oriya
    1052     [2816, 2943]**/
    1053     const UnicodeSet oriya_Set
    1054         {{{Empty, 88}, {Full, 4}, {Empty, 34724}},
    1055          {}};
    1056     /** Code Point Ranges for Ornamental_Dingbats
    1057     [128592, 128639]**/
    1058     const UnicodeSet ornamental_dingbats_Set
    1059         {{{Empty, 4018}, {Mixed, 1}, {Full, 1}, {Empty, 30796}},
    1060          {0xffff0000}};
    1061     /** Code Point Ranges for Osage
    1062     [66736, 66815]**/
    1063     const UnicodeSet osage_Set
    1064         {{{Empty, 2085}, {Mixed, 1}, {Full, 2}, {Empty, 32728}},
    1065          {0xffff0000}};
    1066     /** Code Point Ranges for Osmanya
    1067     [66688, 66735]**/
    1068     const UnicodeSet osmanya_Set
    1069         {{{Empty, 2084}, {Full, 1}, {Mixed, 1}, {Empty, 32730}},
    1070          {0x0000ffff}};
    1071     /** Code Point Ranges for Pahawh_Hmong
    1072     [92928, 93071]**/
    1073     const UnicodeSet pahawh_hmong_Set
    1074         {{{Empty, 2904}, {Full, 4}, {Mixed, 1}, {Empty, 31907}},
    1075          {0x0000ffff}};
    1076     /** Code Point Ranges for Palmyrene
    1077     [67680, 67711]**/
    1078     const UnicodeSet palmyrene_Set
    1079         {{{Empty, 2115}, {Full, 1}, {Empty, 32700}},
    1080          {}};
    1081     /** Code Point Ranges for Pau_Cin_Hau
    1082     [72384, 72447]**/
    1083     const UnicodeSet pau_cin_hau_Set
    1084         {{{Empty, 2262}, {Full, 2}, {Empty, 32552}},
    1085          {}};
     456    /** Code Point Ranges for Enclosed_Alphanum
     457    [9312, 9471]**/
     458    const UnicodeSet enclosed_alphanum_Set
     459        {{{Empty, 291}, {Full, 5}, {Empty, 34520}},
     460         {}};
     461    /** Code Point Ranges for Box_Drawing
     462    [9472, 9599]**/
     463    const UnicodeSet box_drawing_Set
     464        {{{Empty, 296}, {Full, 4}, {Empty, 34516}},
     465         {}};
     466    /** Code Point Ranges for Block_Elements
     467    [9600, 9631]**/
     468    const UnicodeSet block_elements_Set
     469        {{{Empty, 300}, {Full, 1}, {Empty, 34515}},
     470         {}};
     471    /** Code Point Ranges for Geometric_Shapes
     472    [9632, 9727]**/
     473    const UnicodeSet geometric_shapes_Set
     474        {{{Empty, 301}, {Full, 3}, {Empty, 34512}},
     475         {}};
     476    /** Code Point Ranges for Misc_Symbols
     477    [9728, 9983]**/
     478    const UnicodeSet misc_symbols_Set
     479        {{{Empty, 304}, {Full, 8}, {Empty, 34504}},
     480         {}};
     481    /** Code Point Ranges for Dingbats
     482    [9984, 10175]**/
     483    const UnicodeSet dingbats_Set
     484        {{{Empty, 312}, {Full, 6}, {Empty, 34498}},
     485         {}};
     486    /** Code Point Ranges for Misc_Math_Symbols_A
     487    [10176, 10223]**/
     488    const UnicodeSet misc_math_symbols_a_Set
     489        {{{Empty, 318}, {Full, 1}, {Mixed, 1}, {Empty, 34496}},
     490         {0x0000ffff}};
     491    /** Code Point Ranges for Sup_Arrows_A
     492    [10224, 10239]**/
     493    const UnicodeSet sup_arrows_a_Set
     494        {{{Empty, 319}, {Mixed, 1}, {Empty, 34496}},
     495         {0xffff0000}};
     496    /** Code Point Ranges for Braille
     497    [10240, 10495]**/
     498    const UnicodeSet braille_Set
     499        {{{Empty, 320}, {Full, 8}, {Empty, 34488}},
     500         {}};
     501    /** Code Point Ranges for Sup_Arrows_B
     502    [10496, 10623]**/
     503    const UnicodeSet sup_arrows_b_Set
     504        {{{Empty, 328}, {Full, 4}, {Empty, 34484}},
     505         {}};
     506    /** Code Point Ranges for Misc_Math_Symbols_B
     507    [10624, 10751]**/
     508    const UnicodeSet misc_math_symbols_b_Set
     509        {{{Empty, 332}, {Full, 4}, {Empty, 34480}},
     510         {}};
     511    /** Code Point Ranges for Sup_Math_Operators
     512    [10752, 11007]**/
     513    const UnicodeSet sup_math_operators_Set
     514        {{{Empty, 336}, {Full, 8}, {Empty, 34472}},
     515         {}};
     516    /** Code Point Ranges for Misc_Arrows
     517    [11008, 11263]**/
     518    const UnicodeSet misc_arrows_Set
     519        {{{Empty, 344}, {Full, 8}, {Empty, 34464}},
     520         {}};
     521    /** Code Point Ranges for Glagolitic
     522    [11264, 11359]**/
     523    const UnicodeSet glagolitic_Set
     524        {{{Empty, 352}, {Full, 3}, {Empty, 34461}},
     525         {}};
     526    /** Code Point Ranges for Latin_Ext_C
     527    [11360, 11391]**/
     528    const UnicodeSet latin_ext_c_Set
     529        {{{Empty, 355}, {Full, 1}, {Empty, 34460}},
     530         {}};
     531    /** Code Point Ranges for Coptic
     532    [11392, 11519]**/
     533    const UnicodeSet coptic_Set
     534        {{{Empty, 356}, {Full, 4}, {Empty, 34456}},
     535         {}};
     536    /** Code Point Ranges for Georgian_Sup
     537    [11520, 11567]**/
     538    const UnicodeSet georgian_sup_Set
     539        {{{Empty, 360}, {Full, 1}, {Mixed, 1}, {Empty, 34454}},
     540         {0x0000ffff}};
     541    /** Code Point Ranges for Tifinagh
     542    [11568, 11647]**/
     543    const UnicodeSet tifinagh_Set
     544        {{{Empty, 361}, {Mixed, 1}, {Full, 2}, {Empty, 34452}},
     545         {0xffff0000}};
     546    /** Code Point Ranges for Ethiopic_Ext
     547    [11648, 11743]**/
     548    const UnicodeSet ethiopic_ext_Set
     549        {{{Empty, 364}, {Full, 3}, {Empty, 34449}},
     550         {}};
     551    /** Code Point Ranges for Cyrillic_Ext_A
     552    [11744, 11775]**/
     553    const UnicodeSet cyrillic_ext_a_Set
     554        {{{Empty, 367}, {Full, 1}, {Empty, 34448}},
     555         {}};
     556    /** Code Point Ranges for Sup_Punctuation
     557    [11776, 11903]**/
     558    const UnicodeSet sup_punctuation_Set
     559        {{{Empty, 368}, {Full, 4}, {Empty, 34444}},
     560         {}};
     561    /** Code Point Ranges for CJK_Radicals_Sup
     562    [11904, 12031]**/
     563    const UnicodeSet cjk_radicals_sup_Set
     564        {{{Empty, 372}, {Full, 4}, {Empty, 34440}},
     565         {}};
     566    /** Code Point Ranges for Kangxi
     567    [12032, 12255]**/
     568    const UnicodeSet kangxi_Set
     569        {{{Empty, 376}, {Full, 7}, {Empty, 34433}},
     570         {}};
     571    /** Code Point Ranges for IDC
     572    [12272, 12287]**/
     573    const UnicodeSet idc_Set
     574        {{{Empty, 383}, {Mixed, 1}, {Empty, 34432}},
     575         {0xffff0000}};
     576    /** Code Point Ranges for CJK_Symbols
     577    [12288, 12351]**/
     578    const UnicodeSet cjk_symbols_Set
     579        {{{Empty, 384}, {Full, 2}, {Empty, 34430}},
     580         {}};
     581    /** Code Point Ranges for Hiragana
     582    [12352, 12447]**/
     583    const UnicodeSet hiragana_Set
     584        {{{Empty, 386}, {Full, 3}, {Empty, 34427}},
     585         {}};
     586    /** Code Point Ranges for Katakana
     587    [12448, 12543]**/
     588    const UnicodeSet katakana_Set
     589        {{{Empty, 389}, {Full, 3}, {Empty, 34424}},
     590         {}};
     591    /** Code Point Ranges for Bopomofo
     592    [12544, 12591]**/
     593    const UnicodeSet bopomofo_Set
     594        {{{Empty, 392}, {Full, 1}, {Mixed, 1}, {Empty, 34422}},
     595         {0x0000ffff}};
     596    /** Code Point Ranges for Compat_Jamo
     597    [12592, 12687]**/
     598    const UnicodeSet compat_jamo_Set
     599        {{{Empty, 393}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 34419}},
     600         {0xffff0000, 0x0000ffff}};
     601    /** Code Point Ranges for Kanbun
     602    [12688, 12703]**/
     603    const UnicodeSet kanbun_Set
     604        {{{Empty, 396}, {Mixed, 1}, {Empty, 34419}},
     605         {0xffff0000}};
     606    /** Code Point Ranges for Bopomofo_Ext
     607    [12704, 12735]**/
     608    const UnicodeSet bopomofo_ext_Set
     609        {{{Empty, 397}, {Full, 1}, {Empty, 34418}},
     610         {}};
     611    /** Code Point Ranges for CJK_Strokes
     612    [12736, 12783]**/
     613    const UnicodeSet cjk_strokes_Set
     614        {{{Empty, 398}, {Full, 1}, {Mixed, 1}, {Empty, 34416}},
     615         {0x0000ffff}};
     616    /** Code Point Ranges for Katakana_Ext
     617    [12784, 12799]**/
     618    const UnicodeSet katakana_ext_Set
     619        {{{Empty, 399}, {Mixed, 1}, {Empty, 34416}},
     620         {0xffff0000}};
     621    /** Code Point Ranges for Enclosed_CJK
     622    [12800, 13055]**/
     623    const UnicodeSet enclosed_cjk_Set
     624        {{{Empty, 400}, {Full, 8}, {Empty, 34408}},
     625         {}};
     626    /** Code Point Ranges for CJK_Compat
     627    [13056, 13311]**/
     628    const UnicodeSet cjk_compat_Set
     629        {{{Empty, 408}, {Full, 8}, {Empty, 34400}},
     630         {}};
     631    /** Code Point Ranges for CJK_Ext_A
     632    [13312, 19903]**/
     633    const UnicodeSet cjk_ext_a_Set
     634        {{{Empty, 416}, {Full, 206}, {Empty, 34194}},
     635         {}};
     636    /** Code Point Ranges for Yijing
     637    [19904, 19967]**/
     638    const UnicodeSet yijing_Set
     639        {{{Empty, 622}, {Full, 2}, {Empty, 34192}},
     640         {}};
     641    /** Code Point Ranges for CJK
     642    [19968, 40959]**/
     643    const UnicodeSet cjk_Set
     644        {{{Empty, 624}, {Full, 656}, {Empty, 33536}},
     645         {}};
     646    /** Code Point Ranges for Yi_Syllables
     647    [40960, 42127]**/
     648    const UnicodeSet yi_syllables_Set
     649        {{{Empty, 1280}, {Full, 36}, {Mixed, 1}, {Empty, 33499}},
     650         {0x0000ffff}};
     651    /** Code Point Ranges for Yi_Radicals
     652    [42128, 42191]**/
     653    const UnicodeSet yi_radicals_Set
     654        {{{Empty, 1316}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 33497}},
     655         {0xffff0000, 0x0000ffff}};
     656    /** Code Point Ranges for Lisu
     657    [42192, 42239]**/
     658    const UnicodeSet lisu_Set
     659        {{{Empty, 1318}, {Mixed, 1}, {Full, 1}, {Empty, 33496}},
     660         {0xffff0000}};
     661    /** Code Point Ranges for Vai
     662    [42240, 42559]**/
     663    const UnicodeSet vai_Set
     664        {{{Empty, 1320}, {Full, 10}, {Empty, 33486}},
     665         {}};
     666    /** Code Point Ranges for Cyrillic_Ext_B
     667    [42560, 42655]**/
     668    const UnicodeSet cyrillic_ext_b_Set
     669        {{{Empty, 1330}, {Full, 3}, {Empty, 33483}},
     670         {}};
     671    /** Code Point Ranges for Bamum
     672    [42656, 42751]**/
     673    const UnicodeSet bamum_Set
     674        {{{Empty, 1333}, {Full, 3}, {Empty, 33480}},
     675         {}};
     676    /** Code Point Ranges for Modifier_Tone_Letters
     677    [42752, 42783]**/
     678    const UnicodeSet modifier_tone_letters_Set
     679        {{{Empty, 1336}, {Full, 1}, {Empty, 33479}},
     680         {}};
     681    /** Code Point Ranges for Latin_Ext_D
     682    [42784, 43007]**/
     683    const UnicodeSet latin_ext_d_Set
     684        {{{Empty, 1337}, {Full, 7}, {Empty, 33472}},
     685         {}};
     686    /** Code Point Ranges for Syloti_Nagri
     687    [43008, 43055]**/
     688    const UnicodeSet syloti_nagri_Set
     689        {{{Empty, 1344}, {Full, 1}, {Mixed, 1}, {Empty, 33470}},
     690         {0x0000ffff}};
     691    /** Code Point Ranges for Indic_Number_Forms
     692    [43056, 43071]**/
     693    const UnicodeSet indic_number_forms_Set
     694        {{{Empty, 1345}, {Mixed, 1}, {Empty, 33470}},
     695         {0xffff0000}};
    1086696    /** Code Point Ranges for Phags_Pa
    1087697    [43072, 43135]**/
     
    1089699        {{{Empty, 1346}, {Full, 2}, {Empty, 33468}},
    1090700         {}};
    1091     /** Code Point Ranges for Phaistos
    1092     [66000, 66047]**/
    1093     const UnicodeSet phaistos_Set
    1094         {{{Empty, 2062}, {Mixed, 1}, {Full, 1}, {Empty, 32752}},
    1095          {0xffff0000}};
    1096     /** Code Point Ranges for Phoenician
    1097     [67840, 67871]**/
    1098     const UnicodeSet phoenician_Set
    1099         {{{Empty, 2120}, {Full, 1}, {Empty, 32695}},
    1100          {}};
    1101     /** Code Point Ranges for Phonetic_Ext
    1102     [7424, 7551]**/
    1103     const UnicodeSet phonetic_ext_Set
    1104         {{{Empty, 232}, {Full, 4}, {Empty, 34580}},
    1105          {}};
    1106     /** Code Point Ranges for Phonetic_Ext_Sup
    1107     [7552, 7615]**/
    1108     const UnicodeSet phonetic_ext_sup_Set
    1109         {{{Empty, 236}, {Full, 2}, {Empty, 34578}},
    1110          {}};
    1111     /** Code Point Ranges for Playing_Cards
    1112     [127136, 127231]**/
    1113     const UnicodeSet playing_cards_Set
    1114         {{{Empty, 3973}, {Full, 3}, {Empty, 30840}},
    1115          {}};
    1116     /** Code Point Ranges for Psalter_Pahlavi
    1117     [68480, 68527]**/
    1118     const UnicodeSet psalter_pahlavi_Set
    1119         {{{Empty, 2140}, {Full, 1}, {Mixed, 1}, {Empty, 32674}},
    1120          {0x0000ffff}};
     701    /** Code Point Ranges for Saurashtra
     702    [43136, 43231]**/
     703    const UnicodeSet saurashtra_Set
     704        {{{Empty, 1348}, {Full, 3}, {Empty, 33465}},
     705         {}};
     706    /** Code Point Ranges for Devanagari_Ext
     707    [43232, 43263]**/
     708    const UnicodeSet devanagari_ext_Set
     709        {{{Empty, 1351}, {Full, 1}, {Empty, 33464}},
     710         {}};
     711    /** Code Point Ranges for Kayah_Li
     712    [43264, 43311]**/
     713    const UnicodeSet kayah_li_Set
     714        {{{Empty, 1352}, {Full, 1}, {Mixed, 1}, {Empty, 33462}},
     715         {0x0000ffff}};
     716    /** Code Point Ranges for Rejang
     717    [43312, 43359]**/
     718    const UnicodeSet rejang_Set
     719        {{{Empty, 1353}, {Mixed, 1}, {Full, 1}, {Empty, 33461}},
     720         {0xffff0000}};
     721    /** Code Point Ranges for Jamo_Ext_A
     722    [43360, 43391]**/
     723    const UnicodeSet jamo_ext_a_Set
     724        {{{Empty, 1355}, {Full, 1}, {Empty, 33460}},
     725         {}};
     726    /** Code Point Ranges for Javanese
     727    [43392, 43487]**/
     728    const UnicodeSet javanese_Set
     729        {{{Empty, 1356}, {Full, 3}, {Empty, 33457}},
     730         {}};
     731    /** Code Point Ranges for Myanmar_Ext_B
     732    [43488, 43519]**/
     733    const UnicodeSet myanmar_ext_b_Set
     734        {{{Empty, 1359}, {Full, 1}, {Empty, 33456}},
     735         {}};
     736    /** Code Point Ranges for Cham
     737    [43520, 43615]**/
     738    const UnicodeSet cham_Set
     739        {{{Empty, 1360}, {Full, 3}, {Empty, 33453}},
     740         {}};
     741    /** Code Point Ranges for Myanmar_Ext_A
     742    [43616, 43647]**/
     743    const UnicodeSet myanmar_ext_a_Set
     744        {{{Empty, 1363}, {Full, 1}, {Empty, 33452}},
     745         {}};
     746    /** Code Point Ranges for Tai_Viet
     747    [43648, 43743]**/
     748    const UnicodeSet tai_viet_Set
     749        {{{Empty, 1364}, {Full, 3}, {Empty, 33449}},
     750         {}};
     751    /** Code Point Ranges for Meetei_Mayek_Ext
     752    [43744, 43775]**/
     753    const UnicodeSet meetei_mayek_ext_Set
     754        {{{Empty, 1367}, {Full, 1}, {Empty, 33448}},
     755         {}};
     756    /** Code Point Ranges for Ethiopic_Ext_A
     757    [43776, 43823]**/
     758    const UnicodeSet ethiopic_ext_a_Set
     759        {{{Empty, 1368}, {Full, 1}, {Mixed, 1}, {Empty, 33446}},
     760         {0x0000ffff}};
     761    /** Code Point Ranges for Latin_Ext_E
     762    [43824, 43887]**/
     763    const UnicodeSet latin_ext_e_Set
     764        {{{Empty, 1369}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 33444}},
     765         {0xffff0000, 0x0000ffff}};
     766    /** Code Point Ranges for Cherokee_Sup
     767    [43888, 43967]**/
     768    const UnicodeSet cherokee_sup_Set
     769        {{{Empty, 1371}, {Mixed, 1}, {Full, 2}, {Empty, 33442}},
     770         {0xffff0000}};
     771    /** Code Point Ranges for Meetei_Mayek
     772    [43968, 44031]**/
     773    const UnicodeSet meetei_mayek_Set
     774        {{{Empty, 1374}, {Full, 2}, {Empty, 33440}},
     775         {}};
     776    /** Code Point Ranges for Hangul
     777    [44032, 55215]**/
     778    const UnicodeSet hangul_Set
     779        {{{Empty, 1376}, {Full, 349}, {Mixed, 1}, {Empty, 33090}},
     780         {0x0000ffff}};
     781    /** Code Point Ranges for Jamo_Ext_B
     782    [55216, 55295]**/
     783    const UnicodeSet jamo_ext_b_Set
     784        {{{Empty, 1725}, {Mixed, 1}, {Full, 2}, {Empty, 33088}},
     785         {0xffff0000}};
     786    /** Code Point Ranges for High_Surrogates
     787    [55296, 56191]**/
     788    const UnicodeSet high_surrogates_Set
     789        {{{Empty, 1728}, {Full, 28}, {Empty, 33060}},
     790         {}};
     791    /** Code Point Ranges for High_PU_Surrogates
     792    [56192, 56319]**/
     793    const UnicodeSet high_pu_surrogates_Set
     794        {{{Empty, 1756}, {Full, 4}, {Empty, 33056}},
     795         {}};
     796    /** Code Point Ranges for Low_Surrogates
     797    [56320, 57343]**/
     798    const UnicodeSet low_surrogates_Set
     799        {{{Empty, 1760}, {Full, 32}, {Empty, 33024}},
     800         {}};
    1121801    /** Code Point Ranges for PUA
    1122802    [57344, 63743]**/
     
    1124804        {{{Empty, 1792}, {Full, 200}, {Empty, 32824}},
    1125805         {}};
    1126     /** Code Point Ranges for Punctuation
    1127     [8192, 8303]**/
    1128     const UnicodeSet punctuation_Set
    1129         {{{Empty, 256}, {Full, 3}, {Mixed, 1}, {Empty, 34556}},
    1130          {0x0000ffff}};
    1131     /** Code Point Ranges for Rejang
    1132     [43312, 43359]**/
    1133     const UnicodeSet rejang_Set
    1134         {{{Empty, 1353}, {Mixed, 1}, {Full, 1}, {Empty, 33461}},
    1135          {0xffff0000}};
    1136     /** Code Point Ranges for Rumi
    1137     [69216, 69247]**/
    1138     const UnicodeSet rumi_Set
    1139         {{{Empty, 2163}, {Full, 1}, {Empty, 32652}},
    1140          {}};
    1141     /** Code Point Ranges for Runic
    1142     [5792, 5887]**/
    1143     const UnicodeSet runic_Set
    1144         {{{Empty, 181}, {Full, 3}, {Empty, 34632}},
    1145          {}};
    1146     /** Code Point Ranges for Samaritan
    1147     [2048, 2111]**/
    1148     const UnicodeSet samaritan_Set
    1149         {{{Empty, 64}, {Full, 2}, {Empty, 34750}},
    1150          {}};
    1151     /** Code Point Ranges for Saurashtra
    1152     [43136, 43231]**/
    1153     const UnicodeSet saurashtra_Set
    1154         {{{Empty, 1348}, {Full, 3}, {Empty, 33465}},
    1155          {}};
    1156     /** Code Point Ranges for Sharada
    1157     [70016, 70111]**/
    1158     const UnicodeSet sharada_Set
    1159         {{{Empty, 2188}, {Full, 3}, {Empty, 32625}},
    1160          {}};
    1161     /** Code Point Ranges for Shavian
    1162     [66640, 66687]**/
    1163     const UnicodeSet shavian_Set
    1164         {{{Empty, 2082}, {Mixed, 1}, {Full, 1}, {Empty, 32732}},
    1165          {0xffff0000}};
    1166     /** Code Point Ranges for Shorthand_Format_Controls
    1167     [113824, 113839]**/
    1168     const UnicodeSet shorthand_format_controls_Set
    1169         {{{Empty, 3557}, {Mixed, 1}, {Empty, 31258}},
    1170          {0x0000ffff}};
    1171     /** Code Point Ranges for Siddham
    1172     [71040, 71167]**/
    1173     const UnicodeSet siddham_Set
    1174         {{{Empty, 2220}, {Full, 4}, {Empty, 32592}},
    1175          {}};
    1176     /** Code Point Ranges for Sinhala
    1177     [3456, 3583]**/
    1178     const UnicodeSet sinhala_Set
    1179         {{{Empty, 108}, {Full, 4}, {Empty, 34704}},
    1180          {}};
    1181     /** Code Point Ranges for Sinhala_Archaic_Numbers
    1182     [70112, 70143]**/
    1183     const UnicodeSet sinhala_archaic_numbers_Set
    1184         {{{Empty, 2191}, {Full, 1}, {Empty, 32624}},
    1185          {}};
     806    /** Code Point Ranges for CJK_Compat_Ideographs
     807    [63744, 64255]**/
     808    const UnicodeSet cjk_compat_ideographs_Set
     809        {{{Empty, 1992}, {Full, 16}, {Empty, 32808}},
     810         {}};
     811    /** Code Point Ranges for Alphabetic_PF
     812    [64256, 64335]**/
     813    const UnicodeSet alphabetic_pf_Set
     814        {{{Empty, 2008}, {Full, 2}, {Mixed, 1}, {Empty, 32805}},
     815         {0x0000ffff}};
     816    /** Code Point Ranges for Arabic_PF_A
     817    [64336, 65023]**/
     818    const UnicodeSet arabic_pf_a_Set
     819        {{{Empty, 2010}, {Mixed, 1}, {Full, 21}, {Empty, 32784}},
     820         {0xffff0000}};
     821    /** Code Point Ranges for VS
     822    [65024, 65039]**/
     823    const UnicodeSet vs_Set
     824        {{{Empty, 2032}, {Mixed, 1}, {Empty, 32783}},
     825         {0x0000ffff}};
     826    /** Code Point Ranges for Vertical_Forms
     827    [65040, 65055]**/
     828    const UnicodeSet vertical_forms_Set
     829        {{{Empty, 2032}, {Mixed, 1}, {Empty, 32783}},
     830         {0xffff0000}};
     831    /** Code Point Ranges for Half_Marks
     832    [65056, 65071]**/
     833    const UnicodeSet half_marks_Set
     834        {{{Empty, 2033}, {Mixed, 1}, {Empty, 32782}},
     835         {0x0000ffff}};
     836    /** Code Point Ranges for CJK_Compat_Forms
     837    [65072, 65103]**/
     838    const UnicodeSet cjk_compat_forms_Set
     839        {{{Empty, 2033}, {Mixed, 2}, {Empty, 32781}},
     840         {0xffff0000, 0x0000ffff}};
    1186841    /** Code Point Ranges for Small_Forms
    1187842    [65104, 65135]**/
     
    1189844        {{{Empty, 2034}, {Mixed, 2}, {Empty, 32780}},
    1190845         {0xffff0000, 0x0000ffff}};
     846    /** Code Point Ranges for Arabic_PF_B
     847    [65136, 65279]**/
     848    const UnicodeSet arabic_pf_b_Set
     849        {{{Empty, 2035}, {Mixed, 1}, {Full, 4}, {Empty, 32776}},
     850         {0xffff0000}};
     851    /** Code Point Ranges for Half_And_Full_Forms
     852    [65280, 65519]**/
     853    const UnicodeSet half_and_full_forms_Set
     854        {{{Empty, 2040}, {Full, 7}, {Mixed, 1}, {Empty, 32768}},
     855         {0x0000ffff}};
     856    /** Code Point Ranges for Specials
     857    [65520, 65535]**/
     858    const UnicodeSet specials_Set
     859        {{{Empty, 2047}, {Mixed, 1}, {Empty, 32768}},
     860         {0xffff0000}};
     861    /** Code Point Ranges for Linear_B_Syllabary
     862    [65536, 65663]**/
     863    const UnicodeSet linear_b_syllabary_Set
     864        {{{Empty, 2048}, {Full, 4}, {Empty, 32764}},
     865         {}};
     866    /** Code Point Ranges for Linear_B_Ideograms
     867    [65664, 65791]**/
     868    const UnicodeSet linear_b_ideograms_Set
     869        {{{Empty, 2052}, {Full, 4}, {Empty, 32760}},
     870         {}};
     871    /** Code Point Ranges for Aegean_Numbers
     872    [65792, 65855]**/
     873    const UnicodeSet aegean_numbers_Set
     874        {{{Empty, 2056}, {Full, 2}, {Empty, 32758}},
     875         {}};
     876    /** Code Point Ranges for Ancient_Greek_Numbers
     877    [65856, 65935]**/
     878    const UnicodeSet ancient_greek_numbers_Set
     879        {{{Empty, 2058}, {Full, 2}, {Mixed, 1}, {Empty, 32755}},
     880         {0x0000ffff}};
     881    /** Code Point Ranges for Ancient_Symbols
     882    [65936, 65999]**/
     883    const UnicodeSet ancient_symbols_Set
     884        {{{Empty, 2060}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 32753}},
     885         {0xffff0000, 0x0000ffff}};
     886    /** Code Point Ranges for Phaistos
     887    [66000, 66047]**/
     888    const UnicodeSet phaistos_Set
     889        {{{Empty, 2062}, {Mixed, 1}, {Full, 1}, {Empty, 32752}},
     890         {0xffff0000}};
     891    /** Code Point Ranges for Lycian
     892    [66176, 66207]**/
     893    const UnicodeSet lycian_Set
     894        {{{Empty, 2068}, {Full, 1}, {Empty, 32747}},
     895         {}};
     896    /** Code Point Ranges for Carian
     897    [66208, 66271]**/
     898    const UnicodeSet carian_Set
     899        {{{Empty, 2069}, {Full, 2}, {Empty, 32745}},
     900         {}};
     901    /** Code Point Ranges for Coptic_Epact_Numbers
     902    [66272, 66303]**/
     903    const UnicodeSet coptic_epact_numbers_Set
     904        {{{Empty, 2071}, {Full, 1}, {Empty, 32744}},
     905         {}};
     906    /** Code Point Ranges for Old_Italic
     907    [66304, 66351]**/
     908    const UnicodeSet old_italic_Set
     909        {{{Empty, 2072}, {Full, 1}, {Mixed, 1}, {Empty, 32742}},
     910         {0x0000ffff}};
     911    /** Code Point Ranges for Gothic
     912    [66352, 66383]**/
     913    const UnicodeSet gothic_Set
     914        {{{Empty, 2073}, {Mixed, 2}, {Empty, 32741}},
     915         {0xffff0000, 0x0000ffff}};
     916    /** Code Point Ranges for Old_Permic
     917    [66384, 66431]**/
     918    const UnicodeSet old_permic_Set
     919        {{{Empty, 2074}, {Mixed, 1}, {Full, 1}, {Empty, 32740}},
     920         {0xffff0000}};
     921    /** Code Point Ranges for Ugaritic
     922    [66432, 66463]**/
     923    const UnicodeSet ugaritic_Set
     924        {{{Empty, 2076}, {Full, 1}, {Empty, 32739}},
     925         {}};
     926    /** Code Point Ranges for Old_Persian
     927    [66464, 66527]**/
     928    const UnicodeSet old_persian_Set
     929        {{{Empty, 2077}, {Full, 2}, {Empty, 32737}},
     930         {}};
     931    /** Code Point Ranges for Deseret
     932    [66560, 66639]**/
     933    const UnicodeSet deseret_Set
     934        {{{Empty, 2080}, {Full, 2}, {Mixed, 1}, {Empty, 32733}},
     935         {0x0000ffff}};
     936    /** Code Point Ranges for Shavian
     937    [66640, 66687]**/
     938    const UnicodeSet shavian_Set
     939        {{{Empty, 2082}, {Mixed, 1}, {Full, 1}, {Empty, 32732}},
     940         {0xffff0000}};
     941    /** Code Point Ranges for Osmanya
     942    [66688, 66735]**/
     943    const UnicodeSet osmanya_Set
     944        {{{Empty, 2084}, {Full, 1}, {Mixed, 1}, {Empty, 32730}},
     945         {0x0000ffff}};
     946    /** Code Point Ranges for Osage
     947    [66736, 66815]**/
     948    const UnicodeSet osage_Set
     949        {{{Empty, 2085}, {Mixed, 1}, {Full, 2}, {Empty, 32728}},
     950         {0xffff0000}};
     951    /** Code Point Ranges for Elbasan
     952    [66816, 66863]**/
     953    const UnicodeSet elbasan_Set
     954        {{{Empty, 2088}, {Full, 1}, {Mixed, 1}, {Empty, 32726}},
     955         {0x0000ffff}};
     956    /** Code Point Ranges for Caucasian_Albanian
     957    [66864, 66927]**/
     958    const UnicodeSet caucasian_albanian_Set
     959        {{{Empty, 2089}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 32724}},
     960         {0xffff0000, 0x0000ffff}};
     961    /** Code Point Ranges for Linear_A
     962    [67072, 67455]**/
     963    const UnicodeSet linear_a_Set
     964        {{{Empty, 2096}, {Full, 12}, {Empty, 32708}},
     965         {}};
     966    /** Code Point Ranges for Cypriot_Syllabary
     967    [67584, 67647]**/
     968    const UnicodeSet cypriot_syllabary_Set
     969        {{{Empty, 2112}, {Full, 2}, {Empty, 32702}},
     970         {}};
     971    /** Code Point Ranges for Imperial_Aramaic
     972    [67648, 67679]**/
     973    const UnicodeSet imperial_aramaic_Set
     974        {{{Empty, 2114}, {Full, 1}, {Empty, 32701}},
     975         {}};
     976    /** Code Point Ranges for Palmyrene
     977    [67680, 67711]**/
     978    const UnicodeSet palmyrene_Set
     979        {{{Empty, 2115}, {Full, 1}, {Empty, 32700}},
     980         {}};
     981    /** Code Point Ranges for Nabataean
     982    [67712, 67759]**/
     983    const UnicodeSet nabataean_Set
     984        {{{Empty, 2116}, {Full, 1}, {Mixed, 1}, {Empty, 32698}},
     985         {0x0000ffff}};
     986    /** Code Point Ranges for Hatran
     987    [67808, 67839]**/
     988    const UnicodeSet hatran_Set
     989        {{{Empty, 2119}, {Full, 1}, {Empty, 32696}},
     990         {}};
     991    /** Code Point Ranges for Phoenician
     992    [67840, 67871]**/
     993    const UnicodeSet phoenician_Set
     994        {{{Empty, 2120}, {Full, 1}, {Empty, 32695}},
     995         {}};
     996    /** Code Point Ranges for Lydian
     997    [67872, 67903]**/
     998    const UnicodeSet lydian_Set
     999        {{{Empty, 2121}, {Full, 1}, {Empty, 32694}},
     1000         {}};
     1001    /** Code Point Ranges for Meroitic_Hieroglyphs
     1002    [67968, 67999]**/
     1003    const UnicodeSet meroitic_hieroglyphs_Set
     1004        {{{Empty, 2124}, {Full, 1}, {Empty, 32691}},
     1005         {}};
     1006    /** Code Point Ranges for Meroitic_Cursive
     1007    [68000, 68095]**/
     1008    const UnicodeSet meroitic_cursive_Set
     1009        {{{Empty, 2125}, {Full, 3}, {Empty, 32688}},
     1010         {}};
     1011    /** Code Point Ranges for Kharoshthi
     1012    [68096, 68191]**/
     1013    const UnicodeSet kharoshthi_Set
     1014        {{{Empty, 2128}, {Full, 3}, {Empty, 32685}},
     1015         {}};
     1016    /** Code Point Ranges for Old_South_Arabian
     1017    [68192, 68223]**/
     1018    const UnicodeSet old_south_arabian_Set
     1019        {{{Empty, 2131}, {Full, 1}, {Empty, 32684}},
     1020         {}};
     1021    /** Code Point Ranges for Old_North_Arabian
     1022    [68224, 68255]**/
     1023    const UnicodeSet old_north_arabian_Set
     1024        {{{Empty, 2132}, {Full, 1}, {Empty, 32683}},
     1025         {}};
     1026    /** Code Point Ranges for Manichaean
     1027    [68288, 68351]**/
     1028    const UnicodeSet manichaean_Set
     1029        {{{Empty, 2134}, {Full, 2}, {Empty, 32680}},
     1030         {}};
     1031    /** Code Point Ranges for Avestan
     1032    [68352, 68415]**/
     1033    const UnicodeSet avestan_Set
     1034        {{{Empty, 2136}, {Full, 2}, {Empty, 32678}},
     1035         {}};
     1036    /** Code Point Ranges for Inscriptional_Parthian
     1037    [68416, 68447]**/
     1038    const UnicodeSet inscriptional_parthian_Set
     1039        {{{Empty, 2138}, {Full, 1}, {Empty, 32677}},
     1040         {}};
     1041    /** Code Point Ranges for Inscriptional_Pahlavi
     1042    [68448, 68479]**/
     1043    const UnicodeSet inscriptional_pahlavi_Set
     1044        {{{Empty, 2139}, {Full, 1}, {Empty, 32676}},
     1045         {}};
     1046    /** Code Point Ranges for Psalter_Pahlavi
     1047    [68480, 68527]**/
     1048    const UnicodeSet psalter_pahlavi_Set
     1049        {{{Empty, 2140}, {Full, 1}, {Mixed, 1}, {Empty, 32674}},
     1050         {0x0000ffff}};
     1051    /** Code Point Ranges for Old_Turkic
     1052    [68608, 68687]**/
     1053    const UnicodeSet old_turkic_Set
     1054        {{{Empty, 2144}, {Full, 2}, {Mixed, 1}, {Empty, 32669}},
     1055         {0x0000ffff}};
     1056    /** Code Point Ranges for Old_Hungarian
     1057    [68736, 68863]**/
     1058    const UnicodeSet old_hungarian_Set
     1059        {{{Empty, 2148}, {Full, 4}, {Empty, 32664}},
     1060         {}};
     1061    /** Code Point Ranges for Rumi
     1062    [69216, 69247]**/
     1063    const UnicodeSet rumi_Set
     1064        {{{Empty, 2163}, {Full, 1}, {Empty, 32652}},
     1065         {}};
     1066    /** Code Point Ranges for Brahmi
     1067    [69632, 69759]**/
     1068    const UnicodeSet brahmi_Set
     1069        {{{Empty, 2176}, {Full, 4}, {Empty, 32636}},
     1070         {}};
     1071    /** Code Point Ranges for Kaithi
     1072    [69760, 69839]**/
     1073    const UnicodeSet kaithi_Set
     1074        {{{Empty, 2180}, {Full, 2}, {Mixed, 1}, {Empty, 32633}},
     1075         {0x0000ffff}};
    11911076    /** Code Point Ranges for Sora_Sompeng
    11921077    [69840, 69887]**/
     
    11941079        {{{Empty, 2182}, {Mixed, 1}, {Full, 1}, {Empty, 32632}},
    11951080         {0xffff0000}};
    1196     /** Code Point Ranges for Specials
    1197     [65520, 65535]**/
    1198     const UnicodeSet specials_Set
    1199         {{{Empty, 2047}, {Mixed, 1}, {Empty, 32768}},
    1200          {0xffff0000}};
    1201     /** Code Point Ranges for Sundanese
    1202     [7040, 7103]**/
    1203     const UnicodeSet sundanese_Set
    1204         {{{Empty, 220}, {Full, 2}, {Empty, 34594}},
    1205          {}};
    1206     /** Code Point Ranges for Sundanese_Sup
    1207     [7360, 7375]**/
    1208     const UnicodeSet sundanese_sup_Set
    1209         {{{Empty, 230}, {Mixed, 1}, {Empty, 34585}},
    1210          {0x0000ffff}};
    1211     /** Code Point Ranges for Sup_Arrows_A
    1212     [10224, 10239]**/
    1213     const UnicodeSet sup_arrows_a_Set
    1214         {{{Empty, 319}, {Mixed, 1}, {Empty, 34496}},
    1215          {0xffff0000}};
    1216     /** Code Point Ranges for Sup_Arrows_B
    1217     [10496, 10623]**/
    1218     const UnicodeSet sup_arrows_b_Set
    1219         {{{Empty, 328}, {Full, 4}, {Empty, 34484}},
     1081    /** Code Point Ranges for Chakma
     1082    [69888, 69967]**/
     1083    const UnicodeSet chakma_Set
     1084        {{{Empty, 2184}, {Full, 2}, {Mixed, 1}, {Empty, 32629}},
     1085         {0x0000ffff}};
     1086    /** Code Point Ranges for Mahajani
     1087    [69968, 70015]**/
     1088    const UnicodeSet mahajani_Set
     1089        {{{Empty, 2186}, {Mixed, 1}, {Full, 1}, {Empty, 32628}},
     1090         {0xffff0000}};
     1091    /** Code Point Ranges for Sharada
     1092    [70016, 70111]**/
     1093    const UnicodeSet sharada_Set
     1094        {{{Empty, 2188}, {Full, 3}, {Empty, 32625}},
     1095         {}};
     1096    /** Code Point Ranges for Sinhala_Archaic_Numbers
     1097    [70112, 70143]**/
     1098    const UnicodeSet sinhala_archaic_numbers_Set
     1099        {{{Empty, 2191}, {Full, 1}, {Empty, 32624}},
     1100         {}};
     1101    /** Code Point Ranges for Khojki
     1102    [70144, 70223]**/
     1103    const UnicodeSet khojki_Set
     1104        {{{Empty, 2192}, {Full, 2}, {Mixed, 1}, {Empty, 32621}},
     1105         {0x0000ffff}};
     1106    /** Code Point Ranges for Multani
     1107    [70272, 70319]**/
     1108    const UnicodeSet multani_Set
     1109        {{{Empty, 2196}, {Full, 1}, {Mixed, 1}, {Empty, 32618}},
     1110         {0x0000ffff}};
     1111    /** Code Point Ranges for Khudawadi
     1112    [70320, 70399]**/
     1113    const UnicodeSet khudawadi_Set
     1114        {{{Empty, 2197}, {Mixed, 1}, {Full, 2}, {Empty, 32616}},
     1115         {0xffff0000}};
     1116    /** Code Point Ranges for Grantha
     1117    [70400, 70527]**/
     1118    const UnicodeSet grantha_Set
     1119        {{{Empty, 2200}, {Full, 4}, {Empty, 32612}},
     1120         {}};
     1121    /** Code Point Ranges for Newa
     1122    [70656, 70783]**/
     1123    const UnicodeSet newa_Set
     1124        {{{Empty, 2208}, {Full, 4}, {Empty, 32604}},
     1125         {}};
     1126    /** Code Point Ranges for Tirhuta
     1127    [70784, 70879]**/
     1128    const UnicodeSet tirhuta_Set
     1129        {{{Empty, 2212}, {Full, 3}, {Empty, 32601}},
     1130         {}};
     1131    /** Code Point Ranges for Siddham
     1132    [71040, 71167]**/
     1133    const UnicodeSet siddham_Set
     1134        {{{Empty, 2220}, {Full, 4}, {Empty, 32592}},
     1135         {}};
     1136    /** Code Point Ranges for Modi
     1137    [71168, 71263]**/
     1138    const UnicodeSet modi_Set
     1139        {{{Empty, 2224}, {Full, 3}, {Empty, 32589}},
     1140         {}};
     1141    /** Code Point Ranges for Mongolian_Sup
     1142    [71264, 71295]**/
     1143    const UnicodeSet mongolian_sup_Set
     1144        {{{Empty, 2227}, {Full, 1}, {Empty, 32588}},
     1145         {}};
     1146    /** Code Point Ranges for Takri
     1147    [71296, 71375]**/
     1148    const UnicodeSet takri_Set
     1149        {{{Empty, 2228}, {Full, 2}, {Mixed, 1}, {Empty, 32585}},
     1150         {0x0000ffff}};
     1151    /** Code Point Ranges for Ahom
     1152    [71424, 71487]**/
     1153    const UnicodeSet ahom_Set
     1154        {{{Empty, 2232}, {Full, 2}, {Empty, 32582}},
     1155         {}};
     1156    /** Code Point Ranges for Warang_Citi
     1157    [71840, 71935]**/
     1158    const UnicodeSet warang_citi_Set
     1159        {{{Empty, 2245}, {Full, 3}, {Empty, 32568}},
     1160         {}};
     1161    /** Code Point Ranges for Pau_Cin_Hau
     1162    [72384, 72447]**/
     1163    const UnicodeSet pau_cin_hau_Set
     1164        {{{Empty, 2262}, {Full, 2}, {Empty, 32552}},
     1165         {}};
     1166    /** Code Point Ranges for Bhaiksuki
     1167    [72704, 72815]**/
     1168    const UnicodeSet bhaiksuki_Set
     1169        {{{Empty, 2272}, {Full, 3}, {Mixed, 1}, {Empty, 32540}},
     1170         {0x0000ffff}};
     1171    /** Code Point Ranges for Marchen
     1172    [72816, 72895]**/
     1173    const UnicodeSet marchen_Set
     1174        {{{Empty, 2275}, {Mixed, 1}, {Full, 2}, {Empty, 32538}},
     1175         {0xffff0000}};
     1176    /** Code Point Ranges for Cuneiform
     1177    [73728, 74751]**/
     1178    const UnicodeSet cuneiform_Set
     1179        {{{Empty, 2304}, {Full, 32}, {Empty, 32480}},
     1180         {}};
     1181    /** Code Point Ranges for Cuneiform_Numbers
     1182    [74752, 74879]**/
     1183    const UnicodeSet cuneiform_numbers_Set
     1184        {{{Empty, 2336}, {Full, 4}, {Empty, 32476}},
     1185         {}};
     1186    /** Code Point Ranges for Early_Dynastic_Cuneiform
     1187    [74880, 75087]**/
     1188    const UnicodeSet early_dynastic_cuneiform_Set
     1189        {{{Empty, 2340}, {Full, 6}, {Mixed, 1}, {Empty, 32469}},
     1190         {0x0000ffff}};
     1191    /** Code Point Ranges for Egyptian_Hieroglyphs
     1192    [77824, 78895]**/
     1193    const UnicodeSet egyptian_hieroglyphs_Set
     1194        {{{Empty, 2432}, {Full, 33}, {Mixed, 1}, {Empty, 32350}},
     1195         {0x0000ffff}};
     1196    /** Code Point Ranges for Anatolian_Hieroglyphs
     1197    [82944, 83583]**/
     1198    const UnicodeSet anatolian_hieroglyphs_Set
     1199        {{{Empty, 2592}, {Full, 20}, {Empty, 32204}},
     1200         {}};
     1201    /** Code Point Ranges for Bamum_Sup
     1202    [92160, 92735]**/
     1203    const UnicodeSet bamum_sup_Set
     1204        {{{Empty, 2880}, {Full, 18}, {Empty, 31918}},
     1205         {}};
     1206    /** Code Point Ranges for Mro
     1207    [92736, 92783]**/
     1208    const UnicodeSet mro_Set
     1209        {{{Empty, 2898}, {Full, 1}, {Mixed, 1}, {Empty, 31916}},
     1210         {0x0000ffff}};
     1211    /** Code Point Ranges for Bassa_Vah
     1212    [92880, 92927]**/
     1213    const UnicodeSet bassa_vah_Set
     1214        {{{Empty, 2902}, {Mixed, 1}, {Full, 1}, {Empty, 31912}},
     1215         {0xffff0000}};
     1216    /** Code Point Ranges for Pahawh_Hmong
     1217    [92928, 93071]**/
     1218    const UnicodeSet pahawh_hmong_Set
     1219        {{{Empty, 2904}, {Full, 4}, {Mixed, 1}, {Empty, 31907}},
     1220         {0x0000ffff}};
     1221    /** Code Point Ranges for Miao
     1222    [93952, 94111]**/
     1223    const UnicodeSet miao_Set
     1224        {{{Empty, 2936}, {Full, 5}, {Empty, 31875}},
     1225         {}};
     1226    /** Code Point Ranges for Ideographic_Symbols
     1227    [94176, 94207]**/
     1228    const UnicodeSet ideographic_symbols_Set
     1229        {{{Empty, 2943}, {Full, 1}, {Empty, 31872}},
     1230         {}};
     1231    /** Code Point Ranges for Tangut
     1232    [94208, 100351]**/
     1233    const UnicodeSet tangut_Set
     1234        {{{Empty, 2944}, {Full, 192}, {Empty, 31680}},
     1235         {}};
     1236    /** Code Point Ranges for Tangut_Components
     1237    [100352, 101119]**/
     1238    const UnicodeSet tangut_components_Set
     1239        {{{Empty, 3136}, {Full, 24}, {Empty, 31656}},
     1240         {}};
     1241    /** Code Point Ranges for Kana_Sup
     1242    [110592, 110847]**/
     1243    const UnicodeSet kana_sup_Set
     1244        {{{Empty, 3456}, {Full, 8}, {Empty, 31352}},
     1245         {}};
     1246    /** Code Point Ranges for Duployan
     1247    [113664, 113823]**/
     1248    const UnicodeSet duployan_Set
     1249        {{{Empty, 3552}, {Full, 5}, {Empty, 31259}},
     1250         {}};
     1251    /** Code Point Ranges for Shorthand_Format_Controls
     1252    [113824, 113839]**/
     1253    const UnicodeSet shorthand_format_controls_Set
     1254        {{{Empty, 3557}, {Mixed, 1}, {Empty, 31258}},
     1255         {0x0000ffff}};
     1256    /** Code Point Ranges for Byzantine_Music
     1257    [118784, 119039]**/
     1258    const UnicodeSet byzantine_music_Set
     1259        {{{Empty, 3712}, {Full, 8}, {Empty, 31096}},
     1260         {}};
     1261    /** Code Point Ranges for Music
     1262    [119040, 119295]**/
     1263    const UnicodeSet music_Set
     1264        {{{Empty, 3720}, {Full, 8}, {Empty, 31088}},
     1265         {}};
     1266    /** Code Point Ranges for Ancient_Greek_Music
     1267    [119296, 119375]**/
     1268    const UnicodeSet ancient_greek_music_Set
     1269        {{{Empty, 3728}, {Full, 2}, {Mixed, 1}, {Empty, 31085}},
     1270         {0x0000ffff}};
     1271    /** Code Point Ranges for Tai_Xuan_Jing
     1272    [119552, 119647]**/
     1273    const UnicodeSet tai_xuan_jing_Set
     1274        {{{Empty, 3736}, {Full, 3}, {Empty, 31077}},
     1275         {}};
     1276    /** Code Point Ranges for Counting_Rod
     1277    [119648, 119679]**/
     1278    const UnicodeSet counting_rod_Set
     1279        {{{Empty, 3739}, {Full, 1}, {Empty, 31076}},
     1280         {}};
     1281    /** Code Point Ranges for Math_Alphanum
     1282    [119808, 120831]**/
     1283    const UnicodeSet math_alphanum_Set
     1284        {{{Empty, 3744}, {Full, 32}, {Empty, 31040}},
     1285         {}};
     1286    /** Code Point Ranges for Sutton_SignWriting
     1287    [120832, 121519]**/
     1288    const UnicodeSet sutton_signwriting_Set
     1289        {{{Empty, 3776}, {Full, 21}, {Mixed, 1}, {Empty, 31018}},
     1290         {0x0000ffff}};
     1291    /** Code Point Ranges for Glagolitic_Sup
     1292    [122880, 122927]**/
     1293    const UnicodeSet glagolitic_sup_Set
     1294        {{{Empty, 3840}, {Full, 1}, {Mixed, 1}, {Empty, 30974}},
     1295         {0x0000ffff}};
     1296    /** Code Point Ranges for Mende_Kikakui
     1297    [124928, 125151]**/
     1298    const UnicodeSet mende_kikakui_Set
     1299        {{{Empty, 3904}, {Full, 7}, {Empty, 30905}},
     1300         {}};
     1301    /** Code Point Ranges for Adlam
     1302    [125184, 125279]**/
     1303    const UnicodeSet adlam_Set
     1304        {{{Empty, 3912}, {Full, 3}, {Empty, 30901}},
     1305         {}};
     1306    /** Code Point Ranges for Arabic_Math
     1307    [126464, 126719]**/
     1308    const UnicodeSet arabic_math_Set
     1309        {{{Empty, 3952}, {Full, 8}, {Empty, 30856}},
     1310         {}};
     1311    /** Code Point Ranges for Mahjong
     1312    [126976, 127023]**/
     1313    const UnicodeSet mahjong_Set
     1314        {{{Empty, 3968}, {Full, 1}, {Mixed, 1}, {Empty, 30846}},
     1315         {0x0000ffff}};
     1316    /** Code Point Ranges for Domino
     1317    [127024, 127135]**/
     1318    const UnicodeSet domino_Set
     1319        {{{Empty, 3969}, {Mixed, 1}, {Full, 3}, {Empty, 30843}},
     1320         {0xffff0000}};
     1321    /** Code Point Ranges for Playing_Cards
     1322    [127136, 127231]**/
     1323    const UnicodeSet playing_cards_Set
     1324        {{{Empty, 3973}, {Full, 3}, {Empty, 30840}},
     1325         {}};
     1326    /** Code Point Ranges for Enclosed_Alphanum_Sup
     1327    [127232, 127487]**/
     1328    const UnicodeSet enclosed_alphanum_sup_Set
     1329        {{{Empty, 3976}, {Full, 8}, {Empty, 30832}},
     1330         {}};
     1331    /** Code Point Ranges for Enclosed_Ideographic_Sup
     1332    [127488, 127743]**/
     1333    const UnicodeSet enclosed_ideographic_sup_Set
     1334        {{{Empty, 3984}, {Full, 8}, {Empty, 30824}},
     1335         {}};
     1336    /** Code Point Ranges for Misc_Pictographs
     1337    [127744, 128511]**/
     1338    const UnicodeSet misc_pictographs_Set
     1339        {{{Empty, 3992}, {Full, 24}, {Empty, 30800}},
     1340         {}};
     1341    /** Code Point Ranges for Emoticons
     1342    [128512, 128591]**/
     1343    const UnicodeSet emoticons_Set
     1344        {{{Empty, 4016}, {Full, 2}, {Mixed, 1}, {Empty, 30797}},
     1345         {0x0000ffff}};
     1346    /** Code Point Ranges for Ornamental_Dingbats
     1347    [128592, 128639]**/
     1348    const UnicodeSet ornamental_dingbats_Set
     1349        {{{Empty, 4018}, {Mixed, 1}, {Full, 1}, {Empty, 30796}},
     1350         {0xffff0000}};
     1351    /** Code Point Ranges for Transport_And_Map
     1352    [128640, 128767]**/
     1353    const UnicodeSet transport_and_map_Set
     1354        {{{Empty, 4020}, {Full, 4}, {Empty, 30792}},
     1355         {}};
     1356    /** Code Point Ranges for Alchemical
     1357    [128768, 128895]**/
     1358    const UnicodeSet alchemical_Set
     1359        {{{Empty, 4024}, {Full, 4}, {Empty, 30788}},
     1360         {}};
     1361    /** Code Point Ranges for Geometric_Shapes_Ext
     1362    [128896, 129023]**/
     1363    const UnicodeSet geometric_shapes_ext_Set
     1364        {{{Empty, 4028}, {Full, 4}, {Empty, 30784}},
    12201365         {}};
    12211366    /** Code Point Ranges for Sup_Arrows_C
     
    12241369        {{{Empty, 4032}, {Full, 8}, {Empty, 30776}},
    12251370         {}};
    1226     /** Code Point Ranges for Sup_Math_Operators
    1227     [10752, 11007]**/
    1228     const UnicodeSet sup_math_operators_Set
    1229         {{{Empty, 336}, {Full, 8}, {Empty, 34472}},
    1230          {}};
     1371    /** Code Point Ranges for Sup_Symbols_And_Pictographs
     1372    [129280, 129535]**/
     1373    const UnicodeSet sup_symbols_and_pictographs_Set
     1374        {{{Empty, 4040}, {Full, 8}, {Empty, 30768}},
     1375         {}};
     1376    /** Code Point Ranges for CJK_Ext_B
     1377    [131072, 173791]**/
     1378    const UnicodeSet cjk_ext_b_Set
     1379        {{{Empty, 4096}, {Full, 1335}, {Empty, 29385}},
     1380         {}};
     1381    /** Code Point Ranges for CJK_Ext_C
     1382    [173824, 177983]**/
     1383    const UnicodeSet cjk_ext_c_Set
     1384        {{{Empty, 5432}, {Full, 130}, {Empty, 29254}},
     1385         {}};
     1386    /** Code Point Ranges for CJK_Ext_D
     1387    [177984, 178207]**/
     1388    const UnicodeSet cjk_ext_d_Set
     1389        {{{Empty, 5562}, {Full, 7}, {Empty, 29247}},
     1390         {}};
     1391    /** Code Point Ranges for CJK_Ext_E
     1392    [178208, 183983]**/
     1393    const UnicodeSet cjk_ext_e_Set
     1394        {{{Empty, 5569}, {Full, 180}, {Mixed, 1}, {Empty, 29066}},
     1395         {0x0000ffff}};
     1396    /** Code Point Ranges for CJK_Compat_Ideographs_Sup
     1397    [194560, 195103]**/
     1398    const UnicodeSet cjk_compat_ideographs_sup_Set
     1399        {{{Empty, 6080}, {Full, 17}, {Empty, 28719}},
     1400         {}};
     1401    /** Code Point Ranges for Tags
     1402    [917504, 917631]**/
     1403    const UnicodeSet tags_Set
     1404        {{{Empty, 28672}, {Full, 4}, {Empty, 6140}},
     1405         {}};
     1406    /** Code Point Ranges for VS_Sup
     1407    [917760, 917999]**/
     1408    const UnicodeSet vs_sup_Set
     1409        {{{Empty, 28680}, {Full, 7}, {Mixed, 1}, {Empty, 6128}},
     1410         {0x0000ffff}};
    12311411    /** Code Point Ranges for Sup_PUA_A
    12321412    [983040, 1048575]**/
     
    12381418    const UnicodeSet sup_pua_b_Set
    12391419        {{{Empty, 32768}, {Full, 2048}},
    1240          {}};
    1241     /** Code Point Ranges for Sup_Punctuation
    1242     [11776, 11903]**/
    1243     const UnicodeSet sup_punctuation_Set
    1244         {{{Empty, 368}, {Full, 4}, {Empty, 34444}},
    1245          {}};
    1246     /** Code Point Ranges for Sup_Symbols_And_Pictographs
    1247     [129280, 129535]**/
    1248     const UnicodeSet sup_symbols_and_pictographs_Set
    1249         {{{Empty, 4040}, {Full, 8}, {Empty, 30768}},
    1250          {}};
    1251     /** Code Point Ranges for Super_And_Sub
    1252     [8304, 8351]**/
    1253     const UnicodeSet super_and_sub_Set
    1254         {{{Empty, 259}, {Mixed, 1}, {Full, 1}, {Empty, 34555}},
    1255          {0xffff0000}};
    1256     /** Code Point Ranges for Sutton_SignWriting
    1257     [120832, 121519]**/
    1258     const UnicodeSet sutton_signwriting_Set
    1259         {{{Empty, 3776}, {Full, 21}, {Mixed, 1}, {Empty, 31018}},
    1260          {0x0000ffff}};
    1261     /** Code Point Ranges for Syloti_Nagri
    1262     [43008, 43055]**/
    1263     const UnicodeSet syloti_nagri_Set
    1264         {{{Empty, 1344}, {Full, 1}, {Mixed, 1}, {Empty, 33470}},
    1265          {0x0000ffff}};
    1266     /** Code Point Ranges for Syriac
    1267     [1792, 1871]**/
    1268     const UnicodeSet syriac_Set
    1269         {{{Empty, 56}, {Full, 2}, {Mixed, 1}, {Empty, 34757}},
    1270          {0x0000ffff}};
    1271     /** Code Point Ranges for Tagalog
    1272     [5888, 5919]**/
    1273     const UnicodeSet tagalog_Set
    1274         {{{Empty, 184}, {Full, 1}, {Empty, 34631}},
    1275          {}};
    1276     /** Code Point Ranges for Tagbanwa
    1277     [5984, 6015]**/
    1278     const UnicodeSet tagbanwa_Set
    1279         {{{Empty, 187}, {Full, 1}, {Empty, 34628}},
    1280          {}};
    1281     /** Code Point Ranges for Tags
    1282     [917504, 917631]**/
    1283     const UnicodeSet tags_Set
    1284         {{{Empty, 28672}, {Full, 4}, {Empty, 6140}},
    1285          {}};
    1286     /** Code Point Ranges for Tai_Le
    1287     [6480, 6527]**/
    1288     const UnicodeSet tai_le_Set
    1289         {{{Empty, 202}, {Mixed, 1}, {Full, 1}, {Empty, 34612}},
    1290          {0xffff0000}};
    1291     /** Code Point Ranges for Tai_Tham
    1292     [6688, 6831]**/
    1293     const UnicodeSet tai_tham_Set
    1294         {{{Empty, 209}, {Full, 4}, {Mixed, 1}, {Empty, 34602}},
    1295          {0x0000ffff}};
    1296     /** Code Point Ranges for Tai_Viet
    1297     [43648, 43743]**/
    1298     const UnicodeSet tai_viet_Set
    1299         {{{Empty, 1364}, {Full, 3}, {Empty, 33449}},
    1300          {}};
    1301     /** Code Point Ranges for Tai_Xuan_Jing
    1302     [119552, 119647]**/
    1303     const UnicodeSet tai_xuan_jing_Set
    1304         {{{Empty, 3736}, {Full, 3}, {Empty, 31077}},
    1305          {}};
    1306     /** Code Point Ranges for Takri
    1307     [71296, 71375]**/
    1308     const UnicodeSet takri_Set
    1309         {{{Empty, 2228}, {Full, 2}, {Mixed, 1}, {Empty, 32585}},
    1310          {0x0000ffff}};
    1311     /** Code Point Ranges for Tamil
    1312     [2944, 3071]**/
    1313     const UnicodeSet tamil_Set
    1314         {{{Empty, 92}, {Full, 4}, {Empty, 34720}},
    1315          {}};
    1316     /** Code Point Ranges for Tangut
    1317     [94208, 100351]**/
    1318     const UnicodeSet tangut_Set
    1319         {{{Empty, 2944}, {Full, 192}, {Empty, 31680}},
    1320          {}};
    1321     /** Code Point Ranges for Tangut_Components
    1322     [100352, 101119]**/
    1323     const UnicodeSet tangut_components_Set
    1324         {{{Empty, 3136}, {Full, 24}, {Empty, 31656}},
    1325          {}};
    1326     /** Code Point Ranges for Telugu
    1327     [3072, 3199]**/
    1328     const UnicodeSet telugu_Set
    1329         {{{Empty, 96}, {Full, 4}, {Empty, 34716}},
    1330          {}};
    1331     /** Code Point Ranges for Thaana
    1332     [1920, 1983]**/
    1333     const UnicodeSet thaana_Set
    1334         {{{Empty, 60}, {Full, 2}, {Empty, 34754}},
    1335          {}};
    1336     /** Code Point Ranges for Thai
    1337     [3584, 3711]**/
    1338     const UnicodeSet thai_Set
    1339         {{{Empty, 112}, {Full, 4}, {Empty, 34700}},
    1340          {}};
    1341     /** Code Point Ranges for Tibetan
    1342     [3840, 4095]**/
    1343     const UnicodeSet tibetan_Set
    1344         {{{Empty, 120}, {Full, 8}, {Empty, 34688}},
    1345          {}};
    1346     /** Code Point Ranges for Tifinagh
    1347     [11568, 11647]**/
    1348     const UnicodeSet tifinagh_Set
    1349         {{{Empty, 361}, {Mixed, 1}, {Full, 2}, {Empty, 34452}},
    1350          {0xffff0000}};
    1351     /** Code Point Ranges for Tirhuta
    1352     [70784, 70879]**/
    1353     const UnicodeSet tirhuta_Set
    1354         {{{Empty, 2212}, {Full, 3}, {Empty, 32601}},
    1355          {}};
    1356     /** Code Point Ranges for Transport_And_Map
    1357     [128640, 128767]**/
    1358     const UnicodeSet transport_and_map_Set
    1359         {{{Empty, 4020}, {Full, 4}, {Empty, 30792}},
    1360          {}};
    1361     /** Code Point Ranges for UCAS
    1362     [5120, 5759]**/
    1363     const UnicodeSet ucas_Set
    1364         {{{Empty, 160}, {Full, 20}, {Empty, 34636}},
    1365          {}};
    1366     /** Code Point Ranges for UCAS_Ext
    1367     [6320, 6399]**/
    1368     const UnicodeSet ucas_ext_Set
    1369         {{{Empty, 197}, {Mixed, 1}, {Full, 2}, {Empty, 34616}},
    1370          {0xffff0000}};
    1371     /** Code Point Ranges for Ugaritic
    1372     [66432, 66463]**/
    1373     const UnicodeSet ugaritic_Set
    1374         {{{Empty, 2076}, {Full, 1}, {Empty, 32739}},
    1375          {}};
    1376     /** Code Point Ranges for Vai
    1377     [42240, 42559]**/
    1378     const UnicodeSet vai_Set
    1379         {{{Empty, 1320}, {Full, 10}, {Empty, 33486}},
    1380          {}};
    1381     /** Code Point Ranges for Vedic_Ext
    1382     [7376, 7423]**/
    1383     const UnicodeSet vedic_ext_Set
    1384         {{{Empty, 230}, {Mixed, 1}, {Full, 1}, {Empty, 34584}},
    1385          {0xffff0000}};
    1386     /** Code Point Ranges for Vertical_Forms
    1387     [65040, 65055]**/
    1388     const UnicodeSet vertical_forms_Set
    1389         {{{Empty, 2032}, {Mixed, 1}, {Empty, 32783}},
    1390          {0xffff0000}};
    1391     /** Code Point Ranges for VS
    1392     [65024, 65039]**/
    1393     const UnicodeSet vs_Set
    1394         {{{Empty, 2032}, {Mixed, 1}, {Empty, 32783}},
    1395          {0x0000ffff}};
    1396     /** Code Point Ranges for VS_Sup
    1397     [917760, 917999]**/
    1398     const UnicodeSet vs_sup_Set
    1399         {{{Empty, 28680}, {Full, 7}, {Mixed, 1}, {Empty, 6128}},
    1400          {0x0000ffff}};
    1401     /** Code Point Ranges for Warang_Citi
    1402     [71840, 71935]**/
    1403     const UnicodeSet warang_citi_Set
    1404         {{{Empty, 2245}, {Full, 3}, {Empty, 32568}},
    1405          {}};
    1406     /** Code Point Ranges for Yi_Radicals
    1407     [42128, 42191]**/
    1408     const UnicodeSet yi_radicals_Set
    1409         {{{Empty, 1316}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 33497}},
    1410          {0xffff0000, 0x0000ffff}};
    1411     /** Code Point Ranges for Yi_Syllables
    1412     [40960, 42127]**/
    1413     const UnicodeSet yi_syllables_Set
    1414         {{{Empty, 1280}, {Full, 36}, {Mixed, 1}, {Empty, 33499}},
    1415          {0x0000ffff}};
    1416     /** Code Point Ranges for Yijing
    1417     [19904, 19967]**/
    1418     const UnicodeSet yijing_Set
    1419         {{{Empty, 622}, {Full, 2}, {Empty, 34192}},
    14201420         {}};
    14211421    static EnumeratedPropertyObject property_object
     
    14241424         BLK_ns::value_names,
    14251425         BLK_ns::aliases_only_map,
    1426          {&adlam_Set, &aegean_numbers_Set, &ahom_Set, &alchemical_Set,
    1427         &alphabetic_pf_Set, &anatolian_hieroglyphs_Set,
    1428         &ancient_greek_music_Set, &ancient_greek_numbers_Set,
    1429         &ancient_symbols_Set, &arabic_Set, &arabic_ext_a_Set,
    1430         &arabic_math_Set, &arabic_pf_a_Set, &arabic_pf_b_Set,
    1431         &arabic_sup_Set, &armenian_Set, &arrows_Set, &ascii_Set,
    1432         &avestan_Set, &balinese_Set, &bamum_Set, &bamum_sup_Set,
    1433         &bassa_vah_Set, &batak_Set, &bengali_Set, &bhaiksuki_Set,
    1434         &block_elements_Set, &bopomofo_Set, &bopomofo_ext_Set,
    1435         &box_drawing_Set, &brahmi_Set, &braille_Set, &buginese_Set,
    1436         &buhid_Set, &byzantine_music_Set, &carian_Set,
    1437         &caucasian_albanian_Set, &chakma_Set, &cham_Set, &cherokee_Set,
    1438         &cherokee_sup_Set, &cjk_Set, &cjk_compat_Set, &cjk_compat_forms_Set,
    1439         &cjk_compat_ideographs_Set, &cjk_compat_ideographs_sup_Set,
    1440         &cjk_ext_a_Set, &cjk_ext_b_Set, &cjk_ext_c_Set, &cjk_ext_d_Set,
    1441         &cjk_ext_e_Set, &cjk_radicals_sup_Set, &cjk_strokes_Set,
    1442         &cjk_symbols_Set, &compat_jamo_Set, &control_pictures_Set,
    1443         &coptic_Set, &coptic_epact_numbers_Set, &counting_rod_Set,
    1444         &cuneiform_Set, &cuneiform_numbers_Set, &currency_symbols_Set,
    1445         &cypriot_syllabary_Set, &cyrillic_Set, &cyrillic_ext_a_Set,
    1446         &cyrillic_ext_b_Set, &cyrillic_ext_c_Set, &cyrillic_sup_Set,
    1447         &deseret_Set, &devanagari_Set, &devanagari_ext_Set,
    1448         &diacriticals_Set, &diacriticals_ext_Set,
    1449         &diacriticals_for_symbols_Set, &diacriticals_sup_Set, &dingbats_Set,
    1450         &domino_Set, &duployan_Set, &early_dynastic_cuneiform_Set,
    1451         &egyptian_hieroglyphs_Set, &elbasan_Set, &emoticons_Set,
    1452         &enclosed_alphanum_Set, &enclosed_alphanum_sup_Set,
    1453         &enclosed_cjk_Set, &enclosed_ideographic_sup_Set, &ethiopic_Set,
    1454         &ethiopic_ext_Set, &ethiopic_ext_a_Set, &ethiopic_sup_Set,
    1455         &geometric_shapes_Set, &geometric_shapes_ext_Set, &georgian_Set,
    1456         &georgian_sup_Set, &glagolitic_Set, &glagolitic_sup_Set,
    1457         &gothic_Set, &grantha_Set, &greek_Set, &greek_ext_Set,
    1458         &gujarati_Set, &gurmukhi_Set, &half_and_full_forms_Set,
    1459         &half_marks_Set, &hangul_Set, &hanunoo_Set, &hatran_Set,
    1460         &hebrew_Set, &high_pu_surrogates_Set, &high_surrogates_Set,
    1461         &hiragana_Set, &idc_Set, &ideographic_symbols_Set,
    1462         &imperial_aramaic_Set, &indic_number_forms_Set,
    1463         &inscriptional_pahlavi_Set, &inscriptional_parthian_Set,
    1464         &ipa_ext_Set, &jamo_Set, &jamo_ext_a_Set, &jamo_ext_b_Set,
    1465         &javanese_Set, &kaithi_Set, &kana_sup_Set, &kanbun_Set, &kangxi_Set,
    1466         &kannada_Set, &katakana_Set, &katakana_ext_Set, &kayah_li_Set,
    1467         &kharoshthi_Set, &khmer_Set, &khmer_symbols_Set, &khojki_Set,
    1468         &khudawadi_Set, &lao_Set, &latin_1_sup_Set, &latin_ext_a_Set,
    1469         &latin_ext_additional_Set, &latin_ext_b_Set, &latin_ext_c_Set,
    1470         &latin_ext_d_Set, &latin_ext_e_Set, &lepcha_Set,
    1471         &letterlike_symbols_Set, &limbu_Set, &linear_a_Set,
    1472         &linear_b_ideograms_Set, &linear_b_syllabary_Set, &lisu_Set,
    1473         &low_surrogates_Set, &lycian_Set, &lydian_Set, &mahajani_Set,
    1474         &mahjong_Set, &malayalam_Set, &mandaic_Set, &manichaean_Set,
    1475         &marchen_Set, &math_alphanum_Set, &math_operators_Set,
    1476         &meetei_mayek_Set, &meetei_mayek_ext_Set, &mende_kikakui_Set,
    1477         &meroitic_cursive_Set, &meroitic_hieroglyphs_Set, &miao_Set,
    1478         &misc_arrows_Set, &misc_math_symbols_a_Set,
    1479         &misc_math_symbols_b_Set, &misc_pictographs_Set, &misc_symbols_Set,
    1480         &misc_technical_Set, &modi_Set, &modifier_letters_Set,
    1481         &modifier_tone_letters_Set, &mongolian_Set, &mongolian_sup_Set,
    1482         &mro_Set, &multani_Set, &music_Set, &myanmar_Set,
    1483         &myanmar_ext_a_Set, &myanmar_ext_b_Set, &nabataean_Set, &nb_Set,
    1484         &new_tai_lue_Set, &newa_Set, &nko_Set, &number_forms_Set, &ocr_Set,
    1485         &ogham_Set, &ol_chiki_Set, &old_hungarian_Set, &old_italic_Set,
    1486         &old_north_arabian_Set, &old_permic_Set, &old_persian_Set,
    1487         &old_south_arabian_Set, &old_turkic_Set, &oriya_Set,
    1488         &ornamental_dingbats_Set, &osage_Set, &osmanya_Set,
    1489         &pahawh_hmong_Set, &palmyrene_Set, &pau_cin_hau_Set, &phags_pa_Set,
    1490         &phaistos_Set, &phoenician_Set, &phonetic_ext_Set,
    1491         &phonetic_ext_sup_Set, &playing_cards_Set, &psalter_pahlavi_Set,
    1492         &pua_Set, &punctuation_Set, &rejang_Set, &rumi_Set, &runic_Set,
    1493         &samaritan_Set, &saurashtra_Set, &sharada_Set, &shavian_Set,
    1494         &shorthand_format_controls_Set, &siddham_Set, &sinhala_Set,
    1495         &sinhala_archaic_numbers_Set, &small_forms_Set, &sora_sompeng_Set,
    1496         &specials_Set, &sundanese_Set, &sundanese_sup_Set,
    1497         &sup_arrows_a_Set, &sup_arrows_b_Set, &sup_arrows_c_Set,
    1498         &sup_math_operators_Set, &sup_pua_a_Set, &sup_pua_b_Set,
    1499         &sup_punctuation_Set, &sup_symbols_and_pictographs_Set,
    1500         &super_and_sub_Set, &sutton_signwriting_Set, &syloti_nagri_Set,
    1501         &syriac_Set, &tagalog_Set, &tagbanwa_Set, &tags_Set, &tai_le_Set,
    1502         &tai_tham_Set, &tai_viet_Set, &tai_xuan_jing_Set, &takri_Set,
    1503         &tamil_Set, &tangut_Set, &tangut_components_Set, &telugu_Set,
    1504         &thaana_Set, &thai_Set, &tibetan_Set, &tifinagh_Set, &tirhuta_Set,
    1505         &transport_and_map_Set, &ucas_Set, &ucas_ext_Set, &ugaritic_Set,
    1506         &vai_Set, &vedic_ext_Set, &vertical_forms_Set, &vs_Set, &vs_sup_Set,
    1507         &warang_citi_Set, &yi_radicals_Set, &yi_syllables_Set, &yijing_Set
     1426         {&nb_Set, &ascii_Set, &latin_1_sup_Set, &latin_ext_a_Set,
     1427        &latin_ext_b_Set, &ipa_ext_Set, &modifier_letters_Set,
     1428        &diacriticals_Set, &greek_Set, &cyrillic_Set, &cyrillic_sup_Set,
     1429        &armenian_Set, &hebrew_Set, &arabic_Set, &syriac_Set,
     1430        &arabic_sup_Set, &thaana_Set, &nko_Set, &samaritan_Set,
     1431        &mandaic_Set, &arabic_ext_a_Set, &devanagari_Set, &bengali_Set,
     1432        &gurmukhi_Set, &gujarati_Set, &oriya_Set, &tamil_Set, &telugu_Set,
     1433        &kannada_Set, &malayalam_Set, &sinhala_Set, &thai_Set, &lao_Set,
     1434        &tibetan_Set, &myanmar_Set, &georgian_Set, &jamo_Set, &ethiopic_Set,
     1435        &ethiopic_sup_Set, &cherokee_Set, &ucas_Set, &ogham_Set, &runic_Set,
     1436        &tagalog_Set, &hanunoo_Set, &buhid_Set, &tagbanwa_Set, &khmer_Set,
     1437        &mongolian_Set, &ucas_ext_Set, &limbu_Set, &tai_le_Set,
     1438        &new_tai_lue_Set, &khmer_symbols_Set, &buginese_Set, &tai_tham_Set,
     1439        &diacriticals_ext_Set, &balinese_Set, &sundanese_Set, &batak_Set,
     1440        &lepcha_Set, &ol_chiki_Set, &cyrillic_ext_c_Set, &sundanese_sup_Set,
     1441        &vedic_ext_Set, &phonetic_ext_Set, &phonetic_ext_sup_Set,
     1442        &diacriticals_sup_Set, &latin_ext_additional_Set, &greek_ext_Set,
     1443        &punctuation_Set, &super_and_sub_Set, &currency_symbols_Set,
     1444        &diacriticals_for_symbols_Set, &letterlike_symbols_Set,
     1445        &number_forms_Set, &arrows_Set, &math_operators_Set,
     1446        &misc_technical_Set, &control_pictures_Set, &ocr_Set,
     1447        &enclosed_alphanum_Set, &box_drawing_Set, &block_elements_Set,
     1448        &geometric_shapes_Set, &misc_symbols_Set, &dingbats_Set,
     1449        &misc_math_symbols_a_Set, &sup_arrows_a_Set, &braille_Set,
     1450        &sup_arrows_b_Set, &misc_math_symbols_b_Set,
     1451        &sup_math_operators_Set, &misc_arrows_Set, &glagolitic_Set,
     1452        &latin_ext_c_Set, &coptic_Set, &georgian_sup_Set, &tifinagh_Set,
     1453        &ethiopic_ext_Set, &cyrillic_ext_a_Set, &sup_punctuation_Set,
     1454        &cjk_radicals_sup_Set, &kangxi_Set, &idc_Set, &cjk_symbols_Set,
     1455        &hiragana_Set, &katakana_Set, &bopomofo_Set, &compat_jamo_Set,
     1456        &kanbun_Set, &bopomofo_ext_Set, &cjk_strokes_Set, &katakana_ext_Set,
     1457        &enclosed_cjk_Set, &cjk_compat_Set, &cjk_ext_a_Set, &yijing_Set,
     1458        &cjk_Set, &yi_syllables_Set, &yi_radicals_Set, &lisu_Set, &vai_Set,
     1459        &cyrillic_ext_b_Set, &bamum_Set, &modifier_tone_letters_Set,
     1460        &latin_ext_d_Set, &syloti_nagri_Set, &indic_number_forms_Set,
     1461        &phags_pa_Set, &saurashtra_Set, &devanagari_ext_Set, &kayah_li_Set,
     1462        &rejang_Set, &jamo_ext_a_Set, &javanese_Set, &myanmar_ext_b_Set,
     1463        &cham_Set, &myanmar_ext_a_Set, &tai_viet_Set, &meetei_mayek_ext_Set,
     1464        &ethiopic_ext_a_Set, &latin_ext_e_Set, &cherokee_sup_Set,
     1465        &meetei_mayek_Set, &hangul_Set, &jamo_ext_b_Set,
     1466        &high_surrogates_Set, &high_pu_surrogates_Set, &low_surrogates_Set,
     1467        &pua_Set, &cjk_compat_ideographs_Set, &alphabetic_pf_Set,
     1468        &arabic_pf_a_Set, &vs_Set, &vertical_forms_Set, &half_marks_Set,
     1469        &cjk_compat_forms_Set, &small_forms_Set, &arabic_pf_b_Set,
     1470        &half_and_full_forms_Set, &specials_Set, &linear_b_syllabary_Set,
     1471        &linear_b_ideograms_Set, &aegean_numbers_Set,
     1472        &ancient_greek_numbers_Set, &ancient_symbols_Set, &phaistos_Set,
     1473        &lycian_Set, &carian_Set, &coptic_epact_numbers_Set,
     1474        &old_italic_Set, &gothic_Set, &old_permic_Set, &ugaritic_Set,
     1475        &old_persian_Set, &deseret_Set, &shavian_Set, &osmanya_Set,
     1476        &osage_Set, &elbasan_Set, &caucasian_albanian_Set, &linear_a_Set,
     1477        &cypriot_syllabary_Set, &imperial_aramaic_Set, &palmyrene_Set,
     1478        &nabataean_Set, &hatran_Set, &phoenician_Set, &lydian_Set,
     1479        &meroitic_hieroglyphs_Set, &meroitic_cursive_Set, &kharoshthi_Set,
     1480        &old_south_arabian_Set, &old_north_arabian_Set, &manichaean_Set,
     1481        &avestan_Set, &inscriptional_parthian_Set,
     1482        &inscriptional_pahlavi_Set, &psalter_pahlavi_Set, &old_turkic_Set,
     1483        &old_hungarian_Set, &rumi_Set, &brahmi_Set, &kaithi_Set,
     1484        &sora_sompeng_Set, &chakma_Set, &mahajani_Set, &sharada_Set,
     1485        &sinhala_archaic_numbers_Set, &khojki_Set, &multani_Set,
     1486        &khudawadi_Set, &grantha_Set, &newa_Set, &tirhuta_Set, &siddham_Set,
     1487        &modi_Set, &mongolian_sup_Set, &takri_Set, &ahom_Set,
     1488        &warang_citi_Set, &pau_cin_hau_Set, &bhaiksuki_Set, &marchen_Set,
     1489        &cuneiform_Set, &cuneiform_numbers_Set,
     1490        &early_dynastic_cuneiform_Set, &egyptian_hieroglyphs_Set,
     1491        &anatolian_hieroglyphs_Set, &bamum_sup_Set, &mro_Set,
     1492        &bassa_vah_Set, &pahawh_hmong_Set, &miao_Set,
     1493        &ideographic_symbols_Set, &tangut_Set, &tangut_components_Set,
     1494        &kana_sup_Set, &duployan_Set, &shorthand_format_controls_Set,
     1495        &byzantine_music_Set, &music_Set, &ancient_greek_music_Set,
     1496        &tai_xuan_jing_Set, &counting_rod_Set, &math_alphanum_Set,
     1497        &sutton_signwriting_Set, &glagolitic_sup_Set, &mende_kikakui_Set,
     1498        &adlam_Set, &arabic_math_Set, &mahjong_Set, &domino_Set,
     1499        &playing_cards_Set, &enclosed_alphanum_sup_Set,
     1500        &enclosed_ideographic_sup_Set, &misc_pictographs_Set,
     1501        &emoticons_Set, &ornamental_dingbats_Set, &transport_and_map_Set,
     1502        &alchemical_Set, &geometric_shapes_ext_Set, &sup_arrows_c_Set,
     1503        &sup_symbols_and_pictographs_Set, &cjk_ext_b_Set, &cjk_ext_c_Set,
     1504        &cjk_ext_d_Set, &cjk_ext_e_Set, &cjk_compat_ideographs_sup_Set,
     1505        &tags_Set, &vs_sup_Set, &sup_pua_a_Set, &sup_pua_b_Set
    15081506         }};
    15091507    }
  • icGREP/icgrep-devel/icgrep/UCD/DerivedAge.h

    r5145 r5154  
    1515namespace UCD {
    1616    namespace AGE_ns {
     17    /** Code Point Ranges for Unassigned
     18    [888, 889], [896, 899], [907, 907], [909, 909], [930, 930],
     19    [1328, 1328], [1367, 1368], [1376, 1376], [1416, 1416], [1419, 1420],
     20    [1424, 1424], [1480, 1487], [1515, 1519], [1525, 1535], [1565, 1565],
     21    [1806, 1806], [1867, 1868], [1970, 1983], [2043, 2047], [2094, 2095],
     22    [2111, 2111], [2140, 2141], [2143, 2207], [2229, 2229], [2238, 2259],
     23    [2436, 2436], [2445, 2446], [2449, 2450], [2473, 2473], [2481, 2481],
     24    [2483, 2485], [2490, 2491], [2501, 2502], [2505, 2506], [2511, 2518],
     25    [2520, 2523], [2526, 2526], [2532, 2533], [2556, 2560], [2564, 2564],
     26    [2571, 2574], [2577, 2578], [2601, 2601], [2609, 2609], [2612, 2612],
     27    [2615, 2615], [2618, 2619], [2621, 2621], [2627, 2630], [2633, 2634],
     28    [2638, 2640], [2642, 2648], [2653, 2653], [2655, 2661], [2678, 2688],
     29    [2692, 2692], [2702, 2702], [2706, 2706], [2729, 2729], [2737, 2737],
     30    [2740, 2740], [2746, 2747], [2758, 2758], [2762, 2762], [2766, 2767],
     31    [2769, 2783], [2788, 2789], [2802, 2808], [2810, 2816], [2820, 2820],
     32    [2829, 2830], [2833, 2834], [2857, 2857], [2865, 2865], [2868, 2868],
     33    [2874, 2875], [2885, 2886], [2889, 2890], [2894, 2901], [2904, 2907],
     34    [2910, 2910], [2916, 2917], [2936, 2945], [2948, 2948], [2955, 2957],
     35    [2961, 2961], [2966, 2968], [2971, 2971], [2973, 2973], [2976, 2978],
     36    [2981, 2983], [2987, 2989], [3002, 3005], [3011, 3013], [3017, 3017],
     37    [3022, 3023], [3025, 3030], [3032, 3045], [3067, 3071], [3076, 3076],
     38    [3085, 3085], [3089, 3089], [3113, 3113], [3130, 3132], [3141, 3141],
     39    [3145, 3145], [3150, 3156], [3159, 3159], [3163, 3167], [3172, 3173],
     40    [3184, 3191], [3204, 3204], [3213, 3213], [3217, 3217], [3241, 3241],
     41    [3252, 3252], [3258, 3259], [3269, 3269], [3273, 3273], [3278, 3284],
     42    [3287, 3293], [3295, 3295], [3300, 3301], [3312, 3312], [3315, 3328],
     43    [3332, 3332], [3341, 3341], [3345, 3345], [3387, 3388], [3397, 3397],
     44    [3401, 3401], [3408, 3411], [3428, 3429], [3456, 3457], [3460, 3460],
     45    [3479, 3481], [3506, 3506], [3516, 3516], [3518, 3519], [3527, 3529],
     46    [3531, 3534], [3541, 3541], [3543, 3543], [3552, 3557], [3568, 3569],
     47    [3573, 3584], [3643, 3646], [3676, 3712], [3715, 3715], [3717, 3718],
     48    [3721, 3721], [3723, 3724], [3726, 3731], [3736, 3736], [3744, 3744],
     49    [3748, 3748], [3750, 3750], [3752, 3753], [3756, 3756], [3770, 3770],
     50    [3774, 3775], [3781, 3781], [3783, 3783], [3790, 3791], [3802, 3803],
     51    [3808, 3839], [3912, 3912], [3949, 3952], [3992, 3992], [4029, 4029],
     52    [4045, 4045], [4059, 4095], [4294, 4294], [4296, 4300], [4302, 4303],
     53    [4681, 4681], [4686, 4687], [4695, 4695], [4697, 4697], [4702, 4703],
     54    [4745, 4745], [4750, 4751], [4785, 4785], [4790, 4791], [4799, 4799],
     55    [4801, 4801], [4806, 4807], [4823, 4823], [4881, 4881], [4886, 4887],
     56    [4955, 4956], [4989, 4991], [5018, 5023], [5110, 5111], [5118, 5119],
     57    [5789, 5791], [5881, 5887], [5901, 5901], [5909, 5919], [5943, 5951],
     58    [5972, 5983], [5997, 5997], [6001, 6001], [6004, 6015], [6110, 6111],
     59    [6122, 6127], [6138, 6143], [6159, 6159], [6170, 6175], [6264, 6271],
     60    [6315, 6319], [6390, 6399], [6431, 6431], [6444, 6447], [6460, 6463],
     61    [6465, 6467], [6510, 6511], [6517, 6527], [6572, 6575], [6602, 6607],
     62    [6619, 6621], [6684, 6685], [6751, 6751], [6781, 6782], [6794, 6799],
     63    [6810, 6815], [6830, 6831], [6847, 6911], [6988, 6991], [7037, 7039],
     64    [7156, 7163], [7224, 7226], [7242, 7244], [7305, 7359], [7368, 7375],
     65    [7415, 7415], [7418, 7423], [7670, 7674], [7958, 7959], [7966, 7967],
     66    [8006, 8007], [8014, 8015], [8024, 8024], [8026, 8026], [8028, 8028],
     67    [8030, 8030], [8062, 8063], [8117, 8117], [8133, 8133], [8148, 8149],
     68    [8156, 8156], [8176, 8177], [8181, 8181], [8191, 8191], [8293, 8293],
     69    [8306, 8307], [8335, 8335], [8349, 8351], [8383, 8399], [8433, 8447],
     70    [8588, 8591], [9215, 9215], [9255, 9279], [9291, 9311], [11124, 11125],
     71    [11158, 11159], [11194, 11196], [11209, 11209], [11218, 11243],
     72    [11248, 11263], [11311, 11311], [11359, 11359], [11508, 11512],
     73    [11558, 11558], [11560, 11564], [11566, 11567], [11624, 11630],
     74    [11633, 11646], [11671, 11679], [11687, 11687], [11695, 11695],
     75    [11703, 11703], [11711, 11711], [11719, 11719], [11727, 11727],
     76    [11735, 11735], [11743, 11743], [11845, 11903], [11930, 11930],
     77    [12020, 12031], [12246, 12271], [12284, 12287], [12352, 12352],
     78    [12439, 12440], [12544, 12548], [12590, 12592], [12687, 12687],
     79    [12731, 12735], [12772, 12783], [12831, 12831], [13055, 13055],
     80    [19894, 19903], [40918, 40959], [42125, 42127], [42183, 42191],
     81    [42540, 42559], [42744, 42751], [42927, 42927], [42936, 42998],
     82    [43052, 43055], [43066, 43071], [43128, 43135], [43206, 43213],
     83    [43226, 43231], [43262, 43263], [43348, 43358], [43389, 43391],
     84    [43470, 43470], [43482, 43485], [43519, 43519], [43575, 43583],
     85    [43598, 43599], [43610, 43611], [43715, 43738], [43767, 43776],
     86    [43783, 43784], [43791, 43792], [43799, 43807], [43815, 43815],
     87    [43823, 43823], [43878, 43887], [44014, 44015], [44026, 44031],
     88    [55204, 55215], [55239, 55242], [55292, 55295], [64110, 64111],
     89    [64218, 64255], [64263, 64274], [64280, 64284], [64311, 64311],
     90    [64317, 64317], [64319, 64319], [64322, 64322], [64325, 64325],
     91    [64450, 64466], [64832, 64847], [64912, 64913], [64968, 64975],
     92    [65022, 65023], [65050, 65055], [65107, 65107], [65127, 65127],
     93    [65132, 65135], [65141, 65141], [65277, 65278], [65280, 65280],
     94    [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497],
     95    [65501, 65503], [65511, 65511], [65519, 65528], [65548, 65548],
     96    [65575, 65575], [65595, 65595], [65598, 65598], [65614, 65615],
     97    [65630, 65663], [65787, 65791], [65795, 65798], [65844, 65846],
     98    [65935, 65935], [65948, 65951], [65953, 65999], [66046, 66175],
     99    [66205, 66207], [66257, 66271], [66300, 66303], [66340, 66351],
     100    [66379, 66383], [66427, 66431], [66462, 66462], [66500, 66503],
     101    [66518, 66559], [66718, 66719], [66730, 66735], [66772, 66775],
     102    [66812, 66815], [66856, 66863], [66916, 66926], [66928, 67071],
     103    [67383, 67391], [67414, 67423], [67432, 67583], [67590, 67591],
     104    [67593, 67593], [67638, 67638], [67641, 67643], [67645, 67646],
     105    [67670, 67670], [67743, 67750], [67760, 67807], [67827, 67827],
     106    [67830, 67834], [67868, 67870], [67898, 67902], [67904, 67967],
     107    [68024, 68027], [68048, 68049], [68100, 68100], [68103, 68107],
     108    [68116, 68116], [68120, 68120], [68148, 68151], [68155, 68158],
     109    [68168, 68175], [68185, 68191], [68256, 68287], [68327, 68330],
     110    [68343, 68351], [68406, 68408], [68438, 68439], [68467, 68471],
     111    [68498, 68504], [68509, 68520], [68528, 68607], [68681, 68735],
     112    [68787, 68799], [68851, 68857], [68864, 69215], [69247, 69631],
     113    [69710, 69713], [69744, 69758], [69826, 69839], [69865, 69871],
     114    [69882, 69887], [69941, 69941], [69956, 69967], [70007, 70015],
     115    [70094, 70095], [70112, 70112], [70133, 70143], [70162, 70162],
     116    [70207, 70271], [70279, 70279], [70281, 70281], [70286, 70286],
     117    [70302, 70302], [70314, 70319], [70379, 70383], [70394, 70399],
     118    [70404, 70404], [70413, 70414], [70417, 70418], [70441, 70441],
     119    [70449, 70449], [70452, 70452], [70458, 70459], [70469, 70470],
     120    [70473, 70474], [70478, 70479], [70481, 70486], [70488, 70492],
     121    [70500, 70501], [70509, 70511], [70517, 70655], [70746, 70746],
     122    [70748, 70748], [70750, 70783], [70856, 70863], [70874, 71039],
     123    [71094, 71095], [71134, 71167], [71237, 71247], [71258, 71263],
     124    [71277, 71295], [71352, 71359], [71370, 71423], [71450, 71452],
     125    [71468, 71471], [71488, 71839], [71923, 71934], [71936, 72383],
     126    [72441, 72703], [72713, 72713], [72759, 72759], [72774, 72783],
     127    [72813, 72815], [72848, 72849], [72872, 72872], [72887, 73727],
     128    [74650, 74751], [74863, 74863], [74869, 74879], [75076, 77823],
     129    [78895, 82943], [83527, 92159], [92729, 92735], [92767, 92767],
     130    [92778, 92781], [92784, 92879], [92910, 92911], [92918, 92927],
     131    [92998, 93007], [93018, 93018], [93026, 93026], [93048, 93052],
     132    [93072, 93951], [94021, 94031], [94079, 94094], [94112, 94175],
     133    [94177, 94207], [100333, 100351], [101107, 110591], [110594, 113663],
     134    [113771, 113775], [113789, 113791], [113801, 113807], [113818, 113819],
     135    [113828, 118783], [119030, 119039], [119079, 119080], [119273, 119295],
     136    [119366, 119551], [119639, 119647], [119666, 119807], [119893, 119893],
     137    [119965, 119965], [119968, 119969], [119971, 119972], [119975, 119976],
     138    [119981, 119981], [119994, 119994], [119996, 119996], [120004, 120004],
     139    [120070, 120070], [120075, 120076], [120085, 120085], [120093, 120093],
     140    [120122, 120122], [120127, 120127], [120133, 120133], [120135, 120137],
     141    [120145, 120145], [120486, 120487], [120780, 120781], [121484, 121498],
     142    [121504, 121504], [121520, 122879], [122887, 122887], [122905, 122906],
     143    [122914, 122914], [122917, 122917], [122923, 124927], [125125, 125126],
     144    [125143, 125183], [125259, 125263], [125274, 125277], [125280, 126463],
     145    [126468, 126468], [126496, 126496], [126499, 126499], [126501, 126502],
     146    [126504, 126504], [126515, 126515], [126520, 126520], [126522, 126522],
     147    [126524, 126529], [126531, 126534], [126536, 126536], [126538, 126538],
     148    [126540, 126540], [126544, 126544], [126547, 126547], [126549, 126550],
     149    [126552, 126552], [126554, 126554], [126556, 126556], [126558, 126558],
     150    [126560, 126560], [126563, 126563], [126565, 126566], [126571, 126571],
     151    [126579, 126579], [126584, 126584], [126589, 126589], [126591, 126591],
     152    [126602, 126602], [126620, 126624], [126628, 126628], [126634, 126634],
     153    [126652, 126703], [126706, 126975], [127020, 127023], [127124, 127135],
     154    [127151, 127152], [127168, 127168], [127184, 127184], [127222, 127231],
     155    [127245, 127247], [127279, 127279], [127340, 127343], [127405, 127461],
     156    [127491, 127503], [127548, 127551], [127561, 127567], [127570, 127743],
     157    [128723, 128735], [128749, 128751], [128759, 128767], [128884, 128895],
     158    [128981, 129023], [129036, 129039], [129096, 129103], [129114, 129119],
     159    [129160, 129167], [129198, 129295], [129311, 129311], [129320, 129327],
     160    [129329, 129330], [129343, 129343], [129356, 129359], [129375, 129407],
     161    [129426, 129471], [129473, 131069], [173783, 173823], [177973, 177983],
     162    [178206, 178207], [183970, 194559], [195102, 196605], [196608, 262141],
     163    [262144, 327677], [327680, 393213], [393216, 458749], [458752, 524285],
     164    [524288, 589821], [589824, 655357], [655360, 720893], [720896, 786429],
     165    [786432, 851965], [851968, 917501], [917504, 917504], [917506, 917535],
     166    [917632, 917759], [918000, 983037]**/
     167    const UnicodeSet unassigned_Set
     168        {{{Empty, 27}, {Mixed, 3}, {Empty, 11}, {Mixed, 4}, {Empty, 1},
     169          {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
     170          {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
     171          {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Empty, 5}, {Mixed, 39},
     172          {Full, 1}, {Mixed, 3}, {Full, 1}, {Empty, 2}, {Mixed, 5},
     173          {Full, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
     174          {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
     175          {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 20}, {Mixed, 1},
     176          {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 3}, {Empty, 2},
     177          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
     178          {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
     179          {Mixed, 4}, {Full, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 3},
     180          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
     181          {Full, 1}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 8},
     182          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
     183          {Empty, 3}, {Mixed, 5}, {Empty, 4}, {Mixed, 1}, {Empty, 18},
     184          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 56}, {Mixed, 5},
     185          {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 1},
     186          {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 3}, {Mixed, 1},
     187          {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 6},
     188          {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
     189          {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
     190          {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 213}, {Mixed, 1},
     191          {Empty, 656}, {Mixed, 1}, {Full, 1}, {Empty, 36}, {Mixed, 1},
     192          {Empty, 1}, {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 5},
     193          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
     194          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
     195          {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
     196          {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 4}, {Empty, 1},
     197          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 349}, {Mixed, 3},
     198          {Empty, 275}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1},
     199          {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
     200          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
     201          {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 4}, {Mixed, 6},
     202          {Full, 1}, {Empty, 3}, {Mixed, 3}, {Empty, 2}, {Mixed, 4},
     203          {Full, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
     204          {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Empty, 4},
     205          {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
     206          {Full, 4}, {Empty, 9}, {Mixed, 3}, {Full, 4}, {Mixed, 3},
     207          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Full, 2},
     208          {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2},
     209          {Full, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
     210          {Full, 2}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 1},
     211          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 11}, {Mixed, 1},
     212          {Full, 12}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
     213          {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 4}, {Full, 2},
     214          {Mixed, 2}, {Empty, 1}, {Mixed, 5}, {Full, 4}, {Empty, 2},
     215          {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 5},
     216          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Empty, 2}, {Mixed, 2},
     217          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 11},
     218          {Empty, 2}, {Mixed, 1}, {Full, 14}, {Empty, 1}, {Mixed, 1},
     219          {Full, 8}, {Mixed, 6}, {Full, 26}, {Empty, 28}, {Mixed, 1},
     220          {Full, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
     221          {Full, 85}, {Empty, 33}, {Mixed, 1}, {Full, 126}, {Empty, 18},
     222          {Mixed, 1}, {Full, 269}, {Empty, 17}, {Mixed, 3}, {Full, 2},
     223          {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Full, 27}, {Empty, 2},
     224          {Mixed, 3}, {Full, 2}, {Mixed, 1}, {Empty, 191}, {Mixed, 1},
     225          {Empty, 23}, {Mixed, 1}, {Full, 296}, {Mixed, 1}, {Full, 95},
     226          {Empty, 3}, {Mixed, 3}, {Full, 154}, {Empty, 7}, {Mixed, 1},
     227          {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 2},
     228          {Mixed, 1}, {Full, 5}, {Empty, 2}, {Mixed, 2}, {Full, 4},
     229          {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
     230          {Mixed, 3}, {Empty, 10}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
     231          {Empty, 21}, {Mixed, 2}, {Full, 42}, {Mixed, 2}, {Full, 62},
     232          {Empty, 6}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1},
     233          {Full, 37}, {Mixed, 6}, {Full, 1}, {Mixed, 1}, {Full, 8},
     234          {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 6}, {Empty, 1},
     235          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 4},
     236          {Full, 5}, {Empty, 30}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
     237          {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
     238          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 3},
     239          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 48},
     240          {Mixed, 1}, {Empty, 1334}, {Mixed, 1}, {Full, 1}, {Empty, 129},
     241          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 180}, {Mixed, 1},
     242          {Full, 330}, {Empty, 16}, {Mixed, 1}, {Full, 46}, {Mixed, 1},
     243          {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047},
     244          {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1},
     245          {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047},
     246          {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1},
     247          {Full, 2047}, {Mixed, 2}, {Empty, 3}, {Full, 4}, {Empty, 7},
     248          {Mixed, 1}, {Full, 2031}, {Mixed, 1}, {Empty, 4096}},
     249         {0x03000000, 0x0000280f, 0x00000004, 0x00010000, 0x01800000,
     250          0x00000001, 0x00011900, 0x0000ff00, 0xffe0f800, 0x20000000,
     251          0x00004000, 0x00001800, 0xfffc0000, 0xf8000000, 0x8000c000,
     252          0xb0000000, 0xc0200000, 0x000fffff, 0x00066010, 0x0c3a0200,
     253          0x4f7f8660, 0xf0000030, 0x00067811, 0x2c920200, 0xa1fdc678,
     254          0xffc0003f, 0x00044011, 0x0c120200, 0xfffec440, 0xfdfc0030,
     255          0x00066011, 0x0c120200, 0x4f3fc660, 0xff000030, 0x29c23813,
     256          0x3c0038e7, 0xff7ec238, 0xf800003f, 0x00022010, 0x1c000200,
     257          0xf89fc220, 0x00ff0030, 0x00022010, 0x0c100200, 0xbf9fc220,
     258          0xfff90030, 0x00022011, 0x18000000, 0x000f0220, 0x00000030,
     259          0x03800013, 0xd0040000, 0x00a07b80, 0xffe3003f, 0x00000001,
     260          0x78000000, 0xf0000000, 0x010fda69, 0xc4001351, 0x0c00c0a0,
     261          0x00000100, 0x0001e000, 0x01000000, 0x20000000, 0xf8002000,
     262          0x0000df40, 0xc280c200, 0x0000c200, 0x80c20000, 0x008000c2,
     263          0x00c20000, 0x18000000, 0xe0000000, 0xfc000000, 0xc0c00000,
     264          0xe0000000, 0xfe000000, 0xffe02000, 0xff800000, 0xfff00000,
     265          0xfff22000, 0xc0000000, 0xfc00fc00, 0xfc008000, 0xff000000,
     266          0x0000f800, 0xffc00000, 0x80000000, 0xf000f000, 0x0000000e,
     267          0xffe0c000, 0x0000f000, 0x3800fc00, 0x30000000, 0x80000000,
     268          0x60000000, 0xfc00fc00, 0x8000c000, 0x0000f000, 0xe0000000,
     269          0x0ff00000, 0x07000000, 0x00001c00, 0xfffffe00, 0x0000ff00,
     270          0xfc800000, 0x07c00000, 0xc0c00000, 0x5500c0c0, 0xc0000000,
     271          0x00200000, 0x10300020, 0x80230000, 0x000c0020, 0xe0008000,
     272          0x80000000, 0x0000ffff, 0xfffe0000, 0x0000f000, 0x80000000,
     273          0xffffff80, 0xfffff800, 0x00300000, 0x00c00000, 0x1c000000,
     274          0xfffc0200, 0xffff0fff, 0x00008000, 0x80000000, 0x01f00000,
     275          0x0000df40, 0x7ffe7f00, 0xff800000, 0x80808080, 0x80808080,
     276          0xffffffe0, 0x04000000, 0xfff00000, 0xffc00000, 0xf000ffff,
     277          0x00000001, 0x01800000, 0x0000001f, 0x0001c000, 0x00008000,
     278          0xf8000000, 0x0000fff0, 0x80000000, 0x80000000, 0xffc00000,
     279          0xffc00000, 0x0000e000, 0x0000ff80, 0xfffff000, 0xff000000,
     280          0xff008000, 0x007fffff, 0xfc00f000, 0xff000000, 0xfc003fc0,
     281          0xc0000000, 0x7ff00000, 0xe0000000, 0x3c004000, 0x80000000,
     282          0xff800000, 0x0c00c000, 0x07fffff8, 0xff800000, 0xff818181,
     283          0x00008080, 0x0000ffc0, 0xfc00c000, 0x0000fff0, 0x00000780,
     284          0xf0000000, 0x0000c000, 0xfc000000, 0x1f07ff80, 0xa0800000,
     285          0x00000024, 0x0007fffc, 0x0000ffff, 0x00030000, 0x0000ff00,
     286          0xc0000000, 0xfc000000, 0x00080000, 0x0020f080, 0x60000000,
     287          0x00000001, 0x80000000, 0xe3030303, 0x01ff8080, 0x00001000,
     288          0x48000080, 0xc000c000, 0xf8000000, 0x00000078, 0x00700000,
     289          0xf0008000, 0xfffffffe, 0x0000ffff, 0xc0000000, 0xe0000000,
     290          0xfffe0000, 0xf0000000, 0x0000fff0, 0x0000f800, 0xf8000000,
     291          0x40000000, 0xffc000f0, 0xc0000000, 0x0000fc00, 0x00f00000,
     292          0xf0000000, 0x0000ff00, 0xffff7ff0, 0xff800000, 0xffc00000,
     293          0xffffff00, 0x000002c0, 0x6e400000, 0x00400000, 0x80000000,
     294          0xffff007f, 0x07c80000, 0x70000000, 0x7c000000, 0x0f000000,
     295          0x00030000, 0x01100f90, 0x78f00000, 0xfe00ff00, 0xff800780,
     296          0x01c00000, 0x00c00000, 0x00f80000, 0xe1fc0000, 0xffff01ff,
     297          0xfffffe00, 0xfff80000, 0x03f80000, 0x80000000, 0x0003c000,
     298          0x7fff0000, 0x0000fffc, 0xfc00fe00, 0x00200000, 0x0000fff0,
     299          0xff800000, 0x0000c000, 0xffe00001, 0x00040000, 0x80000000,
     300          0x40004280, 0x0000fc00, 0xfc00f800, 0x00066010, 0x0c120200,
     301          0x1f7ec660, 0xffe0e030, 0xd4000000, 0xfc00ff00, 0x00c00000,
     302          0xc0000000, 0xfc00ffe0, 0xffffe000, 0xff000000, 0xfffffc00,
     303          0x1c000000, 0x0000f000, 0x7ff80000, 0xfe000000, 0x00000200,
     304          0x00800000, 0x0000ffc0, 0x0000e000, 0x00030000, 0xff800100,
     305          0xfc000000, 0xffe08000, 0xfffffff0, 0xffff8000, 0xffffff80,
     306          0xfe000000, 0x80000000, 0xffff3c00, 0x0000ffff, 0xffc0c000,
     307          0x0400ffc0, 0x1f000004, 0xffff0000, 0x0000ffe0, 0x80000000,
     308          0x00007fff, 0xfffffffe, 0xffffe000, 0xfff80000, 0xfffffffc,
     309          0xe000f800, 0x0c00fe00, 0xfffffff0, 0xffc00000, 0x00000180,
     310          0xfffffe00, 0xffffffc0, 0xff800000, 0xfffc0000, 0x00200000,
     311          0x20000000, 0x1400219b, 0x00000010, 0x20201840, 0x84000000,
     312          0x000203a0, 0x000000c0, 0x00003000, 0x07fff000, 0xffff0001,
     313          0x06000080, 0xfffff824, 0xff800060, 0x3c00f800, 0x00000010,
     314          0xf5080169, 0x5569157b, 0xa1080869, 0xf0000400, 0xf0000411,
     315          0xfffcffff, 0x0000f000, 0xfff00000, 0x00018000, 0x00010001,
     316          0xffc00000, 0x0000e000, 0x00008000, 0x0000f000, 0xffffe000,
     317          0x0000003f, 0x0000fff8, 0xf0000000, 0xfffcfe00, 0xfff80000,
     318          0xff80e000, 0xfff00000, 0xffe00000, 0x0000f000, 0xfc00ff00,
     319          0x0000ff00, 0xffffc000, 0x8000ffff, 0x8006ff00, 0x8000f000,
     320          0xfffc0000, 0xfffffffe, 0x3fffffff, 0xff800000, 0xffe00000,
     321          0xc0000000, 0xfffffffc, 0xc0000000, 0x3fffffff, 0x3fffffff,
     322          0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff,
     323          0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff,
     324          0xfffffffd, 0xffff0000, 0x3fffffff}};
    17325    /** Code Point Ranges for V1_1
    18326    [0, 501], [506, 535], [592, 680], [688, 734], [736, 745], [768, 837],
     
    8371145          0x00000010, 0x00060000, 0x00700000, 0x7e000000, 0x7ff900ff,
    8381146          0x7fff0fff, 0x0003ffe0}};
    839     /** Code Point Ranges for Unassigned
    840     [888, 889], [896, 899], [907, 907], [909, 909], [930, 930],
    841     [1328, 1328], [1367, 1368], [1376, 1376], [1416, 1416], [1419, 1420],
    842     [1424, 1424], [1480, 1487], [1515, 1519], [1525, 1535], [1565, 1565],
    843     [1806, 1806], [1867, 1868], [1970, 1983], [2043, 2047], [2094, 2095],
    844     [2111, 2111], [2140, 2141], [2143, 2207], [2229, 2229], [2238, 2259],
    845     [2436, 2436], [2445, 2446], [2449, 2450], [2473, 2473], [2481, 2481],
    846     [2483, 2485], [2490, 2491], [2501, 2502], [2505, 2506], [2511, 2518],
    847     [2520, 2523], [2526, 2526], [2532, 2533], [2556, 2560], [2564, 2564],
    848     [2571, 2574], [2577, 2578], [2601, 2601], [2609, 2609], [2612, 2612],
    849     [2615, 2615], [2618, 2619], [2621, 2621], [2627, 2630], [2633, 2634],
    850     [2638, 2640], [2642, 2648], [2653, 2653], [2655, 2661], [2678, 2688],
    851     [2692, 2692], [2702, 2702], [2706, 2706], [2729, 2729], [2737, 2737],
    852     [2740, 2740], [2746, 2747], [2758, 2758], [2762, 2762], [2766, 2767],
    853     [2769, 2783], [2788, 2789], [2802, 2808], [2810, 2816], [2820, 2820],
    854     [2829, 2830], [2833, 2834], [2857, 2857], [2865, 2865], [2868, 2868],
    855     [2874, 2875], [2885, 2886], [2889, 2890], [2894, 2901], [2904, 2907],
    856     [2910, 2910], [2916, 2917], [2936, 2945], [2948, 2948], [2955, 2957],
    857     [2961, 2961], [2966, 2968], [2971, 2971], [2973, 2973], [2976, 2978],
    858     [2981, 2983], [2987, 2989], [3002, 3005], [3011, 3013], [3017, 3017],
    859     [3022, 3023], [3025, 3030], [3032, 3045], [3067, 3071], [3076, 3076],
    860     [3085, 3085], [3089, 3089], [3113, 3113], [3130, 3132], [3141, 3141],
    861     [3145, 3145], [3150, 3156], [3159, 3159], [3163, 3167], [3172, 3173],
    862     [3184, 3191], [3204, 3204], [3213, 3213], [3217, 3217], [3241, 3241],
    863     [3252, 3252], [3258, 3259], [3269, 3269], [3273, 3273], [3278, 3284],
    864     [3287, 3293], [3295, 3295], [3300, 3301], [3312, 3312], [3315, 3328],
    865     [3332, 3332], [3341, 3341], [3345, 3345], [3387, 3388], [3397, 3397],
    866     [3401, 3401], [3408, 3411], [3428, 3429], [3456, 3457], [3460, 3460],
    867     [3479, 3481], [3506, 3506], [3516, 3516], [3518, 3519], [3527, 3529],
    868     [3531, 3534], [3541, 3541], [3543, 3543], [3552, 3557], [3568, 3569],
    869     [3573, 3584], [3643, 3646], [3676, 3712], [3715, 3715], [3717, 3718],
    870     [3721, 3721], [3723, 3724], [3726, 3731], [3736, 3736], [3744, 3744],
    871     [3748, 3748], [3750, 3750], [3752, 3753], [3756, 3756], [3770, 3770],
    872     [3774, 3775], [3781, 3781], [3783, 3783], [3790, 3791], [3802, 3803],
    873     [3808, 3839], [3912, 3912], [3949, 3952], [3992, 3992], [4029, 4029],
    874     [4045, 4045], [4059, 4095], [4294, 4294], [4296, 4300], [4302, 4303],
    875     [4681, 4681], [4686, 4687], [4695, 4695], [4697, 4697], [4702, 4703],
    876     [4745, 4745], [4750, 4751], [4785, 4785], [4790, 4791], [4799, 4799],
    877     [4801, 4801], [4806, 4807], [4823, 4823], [4881, 4881], [4886, 4887],
    878     [4955, 4956], [4989, 4991], [5018, 5023], [5110, 5111], [5118, 5119],
    879     [5789, 5791], [5881, 5887], [5901, 5901], [5909, 5919], [5943, 5951],
    880     [5972, 5983], [5997, 5997], [6001, 6001], [6004, 6015], [6110, 6111],
    881     [6122, 6127], [6138, 6143], [6159, 6159], [6170, 6175], [6264, 6271],
    882     [6315, 6319], [6390, 6399], [6431, 6431], [6444, 6447], [6460, 6463],
    883     [6465, 6467], [6510, 6511], [6517, 6527], [6572, 6575], [6602, 6607],
    884     [6619, 6621], [6684, 6685], [6751, 6751], [6781, 6782], [6794, 6799],
    885     [6810, 6815], [6830, 6831], [6847, 6911], [6988, 6991], [7037, 7039],
    886     [7156, 7163], [7224, 7226], [7242, 7244], [7305, 7359], [7368, 7375],
    887     [7415, 7415], [7418, 7423], [7670, 7674], [7958, 7959], [7966, 7967],
    888     [8006, 8007], [8014, 8015], [8024, 8024], [8026, 8026], [8028, 8028],
    889     [8030, 8030], [8062, 8063], [8117, 8117], [8133, 8133], [8148, 8149],
    890     [8156, 8156], [8176, 8177], [8181, 8181], [8191, 8191], [8293, 8293],
    891     [8306, 8307], [8335, 8335], [8349, 8351], [8383, 8399], [8433, 8447],
    892     [8588, 8591], [9215, 9215], [9255, 9279], [9291, 9311], [11124, 11125],
    893     [11158, 11159], [11194, 11196], [11209, 11209], [11218, 11243],
    894     [11248, 11263], [11311, 11311], [11359, 11359], [11508, 11512],
    895     [11558, 11558], [11560, 11564], [11566, 11567], [11624, 11630],
    896     [11633, 11646], [11671, 11679], [11687, 11687], [11695, 11695],
    897     [11703, 11703], [11711, 11711], [11719, 11719], [11727, 11727],
    898     [11735, 11735], [11743, 11743], [11845, 11903], [11930, 11930],
    899     [12020, 12031], [12246, 12271], [12284, 12287], [12352, 12352],
    900     [12439, 12440], [12544, 12548], [12590, 12592], [12687, 12687],
    901     [12731, 12735], [12772, 12783], [12831, 12831], [13055, 13055],
    902     [19894, 19903], [40918, 40959], [42125, 42127], [42183, 42191],
    903     [42540, 42559], [42744, 42751], [42927, 42927], [42936, 42998],
    904     [43052, 43055], [43066, 43071], [43128, 43135], [43206, 43213],
    905     [43226, 43231], [43262, 43263], [43348, 43358], [43389, 43391],
    906     [43470, 43470], [43482, 43485], [43519, 43519], [43575, 43583],
    907     [43598, 43599], [43610, 43611], [43715, 43738], [43767, 43776],
    908     [43783, 43784], [43791, 43792], [43799, 43807], [43815, 43815],
    909     [43823, 43823], [43878, 43887], [44014, 44015], [44026, 44031],
    910     [55204, 55215], [55239, 55242], [55292, 55295], [64110, 64111],
    911     [64218, 64255], [64263, 64274], [64280, 64284], [64311, 64311],
    912     [64317, 64317], [64319, 64319], [64322, 64322], [64325, 64325],
    913     [64450, 64466], [64832, 64847], [64912, 64913], [64968, 64975],
    914     [65022, 65023], [65050, 65055], [65107, 65107], [65127, 65127],
    915     [65132, 65135], [65141, 65141], [65277, 65278], [65280, 65280],
    916     [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497],
    917     [65501, 65503], [65511, 65511], [65519, 65528], [65548, 65548],
    918     [65575, 65575], [65595, 65595], [65598, 65598], [65614, 65615],
    919     [65630, 65663], [65787, 65791], [65795, 65798], [65844, 65846],
    920     [65935, 65935], [65948, 65951], [65953, 65999], [66046, 66175],
    921     [66205, 66207], [66257, 66271], [66300, 66303], [66340, 66351],
    922     [66379, 66383], [66427, 66431], [66462, 66462], [66500, 66503],
    923     [66518, 66559], [66718, 66719], [66730, 66735], [66772, 66775],
    924     [66812, 66815], [66856, 66863], [66916, 66926], [66928, 67071],
    925     [67383, 67391], [67414, 67423], [67432, 67583], [67590, 67591],
    926     [67593, 67593], [67638, 67638], [67641, 67643], [67645, 67646],
    927     [67670, 67670], [67743, 67750], [67760, 67807], [67827, 67827],
    928     [67830, 67834], [67868, 67870], [67898, 67902], [67904, 67967],
    929     [68024, 68027], [68048, 68049], [68100, 68100], [68103, 68107],
    930     [68116, 68116], [68120, 68120], [68148, 68151], [68155, 68158],
    931     [68168, 68175], [68185, 68191], [68256, 68287], [68327, 68330],
    932     [68343, 68351], [68406, 68408], [68438, 68439], [68467, 68471],
    933     [68498, 68504], [68509, 68520], [68528, 68607], [68681, 68735],
    934     [68787, 68799], [68851, 68857], [68864, 69215], [69247, 69631],
    935     [69710, 69713], [69744, 69758], [69826, 69839], [69865, 69871],
    936     [69882, 69887], [69941, 69941], [69956, 69967], [70007, 70015],
    937     [70094, 70095], [70112, 70112], [70133, 70143], [70162, 70162],
    938     [70207, 70271], [70279, 70279], [70281, 70281], [70286, 70286],
    939     [70302, 70302], [70314, 70319], [70379, 70383], [70394, 70399],
    940     [70404, 70404], [70413, 70414], [70417, 70418], [70441, 70441],
    941     [70449, 70449], [70452, 70452], [70458, 70459], [70469, 70470],
    942     [70473, 70474], [70478, 70479], [70481, 70486], [70488, 70492],
    943     [70500, 70501], [70509, 70511], [70517, 70655], [70746, 70746],
    944     [70748, 70748], [70750, 70783], [70856, 70863], [70874, 71039],
    945     [71094, 71095], [71134, 71167], [71237, 71247], [71258, 71263],
    946     [71277, 71295], [71352, 71359], [71370, 71423], [71450, 71452],
    947     [71468, 71471], [71488, 71839], [71923, 71934], [71936, 72383],
    948     [72441, 72703], [72713, 72713], [72759, 72759], [72774, 72783],
    949     [72813, 72815], [72848, 72849], [72872, 72872], [72887, 73727],
    950     [74650, 74751], [74863, 74863], [74869, 74879], [75076, 77823],
    951     [78895, 82943], [83527, 92159], [92729, 92735], [92767, 92767],
    952     [92778, 92781], [92784, 92879], [92910, 92911], [92918, 92927],
    953     [92998, 93007], [93018, 93018], [93026, 93026], [93048, 93052],
    954     [93072, 93951], [94021, 94031], [94079, 94094], [94112, 94175],
    955     [94177, 94207], [100333, 100351], [101107, 110591], [110594, 113663],
    956     [113771, 113775], [113789, 113791], [113801, 113807], [113818, 113819],
    957     [113828, 118783], [119030, 119039], [119079, 119080], [119273, 119295],
    958     [119366, 119551], [119639, 119647], [119666, 119807], [119893, 119893],
    959     [119965, 119965], [119968, 119969], [119971, 119972], [119975, 119976],
    960     [119981, 119981], [119994, 119994], [119996, 119996], [120004, 120004],
    961     [120070, 120070], [120075, 120076], [120085, 120085], [120093, 120093],
    962     [120122, 120122], [120127, 120127], [120133, 120133], [120135, 120137],
    963     [120145, 120145], [120486, 120487], [120780, 120781], [121484, 121498],
    964     [121504, 121504], [121520, 122879], [122887, 122887], [122905, 122906],
    965     [122914, 122914], [122917, 122917], [122923, 124927], [125125, 125126],
    966     [125143, 125183], [125259, 125263], [125274, 125277], [125280, 126463],
    967     [126468, 126468], [126496, 126496], [126499, 126499], [126501, 126502],
    968     [126504, 126504], [126515, 126515], [126520, 126520], [126522, 126522],
    969     [126524, 126529], [126531, 126534], [126536, 126536], [126538, 126538],
    970     [126540, 126540], [126544, 126544], [126547, 126547], [126549, 126550],
    971     [126552, 126552], [126554, 126554], [126556, 126556], [126558, 126558],
    972     [126560, 126560], [126563, 126563], [126565, 126566], [126571, 126571],
    973     [126579, 126579], [126584, 126584], [126589, 126589], [126591, 126591],
    974     [126602, 126602], [126620, 126624], [126628, 126628], [126634, 126634],
    975     [126652, 126703], [126706, 126975], [127020, 127023], [127124, 127135],
    976     [127151, 127152], [127168, 127168], [127184, 127184], [127222, 127231],
    977     [127245, 127247], [127279, 127279], [127340, 127343], [127405, 127461],
    978     [127491, 127503], [127548, 127551], [127561, 127567], [127570, 127743],
    979     [128723, 128735], [128749, 128751], [128759, 128767], [128884, 128895],
    980     [128981, 129023], [129036, 129039], [129096, 129103], [129114, 129119],
    981     [129160, 129167], [129198, 129295], [129311, 129311], [129320, 129327],
    982     [129329, 129330], [129343, 129343], [129356, 129359], [129375, 129407],
    983     [129426, 129471], [129473, 131069], [173783, 173823], [177973, 177983],
    984     [178206, 178207], [183970, 194559], [195102, 196605], [196608, 262141],
    985     [262144, 327677], [327680, 393213], [393216, 458749], [458752, 524285],
    986     [524288, 589821], [589824, 655357], [655360, 720893], [720896, 786429],
    987     [786432, 851965], [851968, 917501], [917504, 917504], [917506, 917535],
    988     [917632, 917759], [918000, 983037]**/
    989     const UnicodeSet unassigned_Set
    990         {{{Empty, 27}, {Mixed, 3}, {Empty, 11}, {Mixed, 4}, {Empty, 1},
    991           {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
    992           {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
    993           {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Empty, 5}, {Mixed, 39},
    994           {Full, 1}, {Mixed, 3}, {Full, 1}, {Empty, 2}, {Mixed, 5},
    995           {Full, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
    996           {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
    997           {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 20}, {Mixed, 1},
    998           {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 3}, {Empty, 2},
    999           {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
    1000           {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
    1001           {Mixed, 4}, {Full, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 3},
    1002           {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
    1003           {Full, 1}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 8},
    1004           {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
    1005           {Empty, 3}, {Mixed, 5}, {Empty, 4}, {Mixed, 1}, {Empty, 18},
    1006           {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 56}, {Mixed, 5},
    1007           {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 1},
    1008           {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 3}, {Mixed, 1},
    1009           {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 6},
    1010           {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
    1011           {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
    1012           {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 213}, {Mixed, 1},
    1013           {Empty, 656}, {Mixed, 1}, {Full, 1}, {Empty, 36}, {Mixed, 1},
    1014           {Empty, 1}, {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 5},
    1015           {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
    1016           {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
    1017           {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
    1018           {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 4}, {Empty, 1},
    1019           {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 349}, {Mixed, 3},
    1020           {Empty, 275}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1},
    1021           {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
    1022           {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
    1023           {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 4}, {Mixed, 6},
    1024           {Full, 1}, {Empty, 3}, {Mixed, 3}, {Empty, 2}, {Mixed, 4},
    1025           {Full, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
    1026           {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Empty, 4},
    1027           {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
    1028           {Full, 4}, {Empty, 9}, {Mixed, 3}, {Full, 4}, {Mixed, 3},
    1029           {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Full, 2},
    1030           {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2},
    1031           {Full, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
    1032           {Full, 2}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 1},
    1033           {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 11}, {Mixed, 1},
    1034           {Full, 12}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
    1035           {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 4}, {Full, 2},
    1036           {Mixed, 2}, {Empty, 1}, {Mixed, 5}, {Full, 4}, {Empty, 2},
    1037           {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 5},
    1038           {Empty, 1}, {Mixed, 2}, {Full, 1}, {Empty, 2}, {Mixed, 2},
    1039           {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 11},
    1040           {Empty, 2}, {Mixed, 1}, {Full, 14}, {Empty, 1}, {Mixed, 1},
    1041           {Full, 8}, {Mixed, 6}, {Full, 26}, {Empty, 28}, {Mixed, 1},
    1042           {Full, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
    1043           {Full, 85}, {Empty, 33}, {Mixed, 1}, {Full, 126}, {Empty, 18},
    1044           {Mixed, 1}, {Full, 269}, {Empty, 17}, {Mixed, 3}, {Full, 2},
    1045           {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Full, 27}, {Empty, 2},
    1046           {Mixed, 3}, {Full, 2}, {Mixed, 1}, {Empty, 191}, {Mixed, 1},
    1047           {Empty, 23}, {Mixed, 1}, {Full, 296}, {Mixed, 1}, {Full, 95},
    1048           {Empty, 3}, {Mixed, 3}, {Full, 154}, {Empty, 7}, {Mixed, 1},
    1049           {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 2},
    1050           {Mixed, 1}, {Full, 5}, {Empty, 2}, {Mixed, 2}, {Full, 4},
    1051           {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
    1052           {Mixed, 3}, {Empty, 10}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
    1053           {Empty, 21}, {Mixed, 2}, {Full, 42}, {Mixed, 2}, {Full, 62},
    1054           {Empty, 6}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1},
    1055           {Full, 37}, {Mixed, 6}, {Full, 1}, {Mixed, 1}, {Full, 8},
    1056           {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 6}, {Empty, 1},
    1057           {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 4},
    1058           {Full, 5}, {Empty, 30}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
    1059           {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
    1060           {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 3},
    1061           {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 48},
    1062           {Mixed, 1}, {Empty, 1334}, {Mixed, 1}, {Full, 1}, {Empty, 129},
    1063           {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 180}, {Mixed, 1},
    1064           {Full, 330}, {Empty, 16}, {Mixed, 1}, {Full, 46}, {Mixed, 1},
    1065           {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047},
    1066           {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1},
    1067           {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047},
    1068           {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1},
    1069           {Full, 2047}, {Mixed, 2}, {Empty, 3}, {Full, 4}, {Empty, 7},
    1070           {Mixed, 1}, {Full, 2031}, {Mixed, 1}, {Empty, 4096}},
    1071          {0x03000000, 0x0000280f, 0x00000004, 0x00010000, 0x01800000,
    1072           0x00000001, 0x00011900, 0x0000ff00, 0xffe0f800, 0x20000000,
    1073           0x00004000, 0x00001800, 0xfffc0000, 0xf8000000, 0x8000c000,
    1074           0xb0000000, 0xc0200000, 0x000fffff, 0x00066010, 0x0c3a0200,
    1075           0x4f7f8660, 0xf0000030, 0x00067811, 0x2c920200, 0xa1fdc678,
    1076           0xffc0003f, 0x00044011, 0x0c120200, 0xfffec440, 0xfdfc0030,
    1077           0x00066011, 0x0c120200, 0x4f3fc660, 0xff000030, 0x29c23813,
    1078           0x3c0038e7, 0xff7ec238, 0xf800003f, 0x00022010, 0x1c000200,
    1079           0xf89fc220, 0x00ff0030, 0x00022010, 0x0c100200, 0xbf9fc220,
    1080           0xfff90030, 0x00022011, 0x18000000, 0x000f0220, 0x00000030,
    1081           0x03800013, 0xd0040000, 0x00a07b80, 0xffe3003f, 0x00000001,
    1082           0x78000000, 0xf0000000, 0x010fda69, 0xc4001351, 0x0c00c0a0,
    1083           0x00000100, 0x0001e000, 0x01000000, 0x20000000, 0xf8002000,
    1084           0x0000df40, 0xc280c200, 0x0000c200, 0x80c20000, 0x008000c2,
    1085           0x00c20000, 0x18000000, 0xe0000000, 0xfc000000, 0xc0c00000,
    1086           0xe0000000, 0xfe000000, 0xffe02000, 0xff800000, 0xfff00000,
    1087           0xfff22000, 0xc0000000, 0xfc00fc00, 0xfc008000, 0xff000000,
    1088           0x0000f800, 0xffc00000, 0x80000000, 0xf000f000, 0x0000000e,
    1089           0xffe0c000, 0x0000f000, 0x3800fc00, 0x30000000, 0x80000000,
    1090           0x60000000, 0xfc00fc00, 0x8000c000, 0x0000f000, 0xe0000000,
    1091           0x0ff00000, 0x07000000, 0x00001c00, 0xfffffe00, 0x0000ff00,
    1092           0xfc800000, 0x07c00000, 0xc0c00000, 0x5500c0c0, 0xc0000000,
    1093           0x00200000, 0x10300020, 0x80230000, 0x000c0020, 0xe0008000,
    1094           0x80000000, 0x0000ffff, 0xfffe0000, 0x0000f000, 0x80000000,
    1095           0xffffff80, 0xfffff800, 0x00300000, 0x00c00000, 0x1c000000,
    1096           0xfffc0200, 0xffff0fff, 0x00008000, 0x80000000, 0x01f00000,
    1097           0x0000df40, 0x7ffe7f00, 0xff800000, 0x80808080, 0x80808080,
    1098           0xffffffe0, 0x04000000, 0xfff00000, 0xffc00000, 0xf000ffff,
    1099           0x00000001, 0x01800000, 0x0000001f, 0x0001c000, 0x00008000,
    1100           0xf8000000, 0x0000fff0, 0x80000000, 0x80000000, 0xffc00000,
    1101           0xffc00000, 0x0000e000, 0x0000ff80, 0xfffff000, 0xff000000,
    1102           0xff008000, 0x007fffff, 0xfc00f000, 0xff000000, 0xfc003fc0,
    1103           0xc0000000, 0x7ff00000, 0xe0000000, 0x3c004000, 0x80000000,
    1104           0xff800000, 0x0c00c000, 0x07fffff8, 0xff800000, 0xff818181,
    1105           0x00008080, 0x0000ffc0, 0xfc00c000, 0x0000fff0, 0x00000780,
    1106           0xf0000000, 0x0000c000, 0xfc000000, 0x1f07ff80, 0xa0800000,
    1107           0x00000024, 0x0007fffc, 0x0000ffff, 0x00030000, 0x0000ff00,
    1108           0xc0000000, 0xfc000000, 0x00080000, 0x0020f080, 0x60000000,
    1109           0x00000001, 0x80000000, 0xe3030303, 0x01ff8080, 0x00001000,
    1110           0x48000080, 0xc000c000, 0xf8000000, 0x00000078, 0x00700000,
    1111           0xf0008000, 0xfffffffe, 0x0000ffff, 0xc0000000, 0xe0000000,
    1112           0xfffe0000, 0xf0000000, 0x0000fff0, 0x0000f800, 0xf8000000,
    1113           0x40000000, 0xffc000f0, 0xc0000000, 0x0000fc00, 0x00f00000,
    1114           0xf0000000, 0x0000ff00, 0xffff7ff0, 0xff800000, 0xffc00000,
    1115           0xffffff00, 0x000002c0, 0x6e400000, 0x00400000, 0x80000000,
    1116           0xffff007f, 0x07c80000, 0x70000000, 0x7c000000, 0x0f000000,
    1117           0x00030000, 0x01100f90, 0x78f00000, 0xfe00ff00, 0xff800780,
    1118           0x01c00000, 0x00c00000, 0x00f80000, 0xe1fc0000, 0xffff01ff,
    1119           0xfffffe00, 0xfff80000, 0x03f80000, 0x80000000, 0x0003c000,
    1120           0x7fff0000, 0x0000fffc, 0xfc00fe00, 0x00200000, 0x0000fff0,
    1121           0xff800000, 0x0000c000, 0xffe00001, 0x00040000, 0x80000000,
    1122           0x40004280, 0x0000fc00, 0xfc00f800, 0x00066010, 0x0c120200,
    1123           0x1f7ec660, 0xffe0e030, 0xd4000000, 0xfc00ff00, 0x00c00000,
    1124           0xc0000000, 0xfc00ffe0, 0xffffe000, 0xff000000, 0xfffffc00,
    1125           0x1c000000, 0x0000f000, 0x7ff80000, 0xfe000000, 0x00000200,
    1126           0x00800000, 0x0000ffc0, 0x0000e000, 0x00030000, 0xff800100,
    1127           0xfc000000, 0xffe08000, 0xfffffff0, 0xffff8000, 0xffffff80,
    1128           0xfe000000, 0x80000000, 0xffff3c00, 0x0000ffff, 0xffc0c000,
    1129           0x0400ffc0, 0x1f000004, 0xffff0000, 0x0000ffe0, 0x80000000,
    1130           0x00007fff, 0xfffffffe, 0xffffe000, 0xfff80000, 0xfffffffc,
    1131           0xe000f800, 0x0c00fe00, 0xfffffff0, 0xffc00000, 0x00000180,
    1132           0xfffffe00, 0xffffffc0, 0xff800000, 0xfffc0000, 0x00200000,
    1133           0x20000000, 0x1400219b, 0x00000010, 0x20201840, 0x84000000,
    1134           0x000203a0, 0x000000c0, 0x00003000, 0x07fff000, 0xffff0001,
    1135           0x06000080, 0xfffff824, 0xff800060, 0x3c00f800, 0x00000010,
    1136           0xf5080169, 0x5569157b, 0xa1080869, 0xf0000400, 0xf0000411,
    1137           0xfffcffff, 0x0000f000, 0xfff00000, 0x00018000, 0x00010001,
    1138           0xffc00000, 0x0000e000, 0x00008000, 0x0000f000, 0xffffe000,
    1139           0x0000003f, 0x0000fff8, 0xf0000000, 0xfffcfe00, 0xfff80000,
    1140           0xff80e000, 0xfff00000, 0xffe00000, 0x0000f000, 0xfc00ff00,
    1141           0x0000ff00, 0xffffc000, 0x8000ffff, 0x8006ff00, 0x8000f000,
    1142           0xfffc0000, 0xfffffffe, 0x3fffffff, 0xff800000, 0xffe00000,
    1143           0xc0000000, 0xfffffffc, 0xc0000000, 0x3fffffff, 0x3fffffff,
    1144           0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff,
    1145           0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff,
    1146           0xfffffffd, 0xffff0000, 0x3fffffff}};
    11471147    static EnumeratedPropertyObject property_object
    11481148        {age,
     
    11501150         AGE_ns::value_names,
    11511151         AGE_ns::aliases_only_map,
    1152          {&v1_1_Set, &v2_0_Set, &v2_1_Set, &v3_0_Set, &v3_1_Set, &v3_2_Set,
    1153         &v4_0_Set, &v4_1_Set, &v5_0_Set, &v5_1_Set, &v5_2_Set, &v6_0_Set,
    1154         &v6_1_Set, &v6_2_Set, &v6_3_Set, &v7_0_Set, &v8_0_Set, &v9_0_Set,
    1155         &unassigned_Set
     1152         {&unassigned_Set, &v1_1_Set, &v2_0_Set, &v2_1_Set, &v3_0_Set,
     1153        &v3_1_Set, &v3_2_Set, &v4_0_Set, &v4_1_Set, &v5_0_Set, &v5_1_Set,
     1154        &v5_2_Set, &v6_0_Set, &v6_1_Set, &v6_2_Set, &v6_3_Set, &v7_0_Set,
     1155        &v8_0_Set, &v9_0_Set
    11561156         }};
    11571157    }
  • icGREP/icgrep-devel/icgrep/UCD/DerivedBidiClass.h

    r5145 r5154  
    1515namespace UCD {
    1616    namespace BC_ns {
    17     /** Code Point Ranges for AL
    18     [1544, 1544], [1547, 1547], [1549, 1549], [1563, 1610], [1645, 1647],
    19     [1649, 1749], [1765, 1766], [1774, 1775], [1786, 1808], [1810, 1839],
    20     [1867, 1957], [1969, 1983], [2208, 2259], [64336, 64829],
    21     [64832, 64975], [65008, 65020], [65022, 65023], [65136, 65278],
    22     [126464, 126703], [126706, 126719]**/
    23     const UnicodeSet al_Set
    24         {{{Empty, 48}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 2},
    25           {Mixed, 5}, {Full, 2}, {Mixed, 1}, {Empty, 7}, {Full, 1},
    26           {Mixed, 1}, {Empty, 1939}, {Mixed, 1}, {Full, 14}, {Mixed, 1},
    27           {Full, 4}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Full, 3},
    28           {Mixed, 1}, {Empty, 1912}, {Full, 7}, {Mixed, 1}, {Empty, 30856}},
    29          {0xf8002900, 0x000007ff, 0xfffee000, 0x003fffff, 0xfc00c060,
    30           0xfffdffff, 0x0000ffff, 0xfffff800, 0xfffe003f, 0x000fffff,
    31           0xffff0000, 0x3fffffff, 0x0000ffff, 0xdfff0000, 0xffff0000,
    32           0x7fffffff, 0xfffcffff}};
    33     /** Code Point Ranges for AN
    34     [1536, 1541], [1632, 1641], [1643, 1644], [1757, 1757], [2274, 2274],
    35     [69216, 69246]**/
    36     const UnicodeSet an_Set
    37         {{{Empty, 48}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 2},
    38           {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 2091}, {Mixed, 1},
    39           {Empty, 32652}},
    40          {0x0000003f, 0x00001bff, 0x20000000, 0x00000004, 0x7fffffff}};
    41     /** Code Point Ranges for B
    42     [10, 10], [13, 13], [28, 30], [133, 133], [8233, 8233]**/
    43     const UnicodeSet b_Set
    44         {{{Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 252}, {Mixed, 1},
    45           {Empty, 34558}},
    46          {0x70002400, 0x00000020, 0x00000200}};
    47     /** Code Point Ranges for BN
    48     [0, 8], [14, 27], [127, 132], [134, 159], [173, 173], [6158, 6158],
    49     [8203, 8205], [8288, 8293], [8298, 8303], [64976, 65007],
    50     [65279, 65279], [65520, 65528], [65534, 65535], [113824, 113827],
    51     [119155, 119162], [131070, 131071], [196606, 196607], [262142, 262143],
    52     [327678, 327679], [393214, 393215], [458750, 458751], [524286, 524287],
    53     [589822, 589823], [655358, 655359], [720894, 720895], [786430, 786431],
    54     [851966, 851967], [917502, 917759], [918000, 921599], [983038, 983039],
    55     [1048574, 1048575], [1114110, 1114111]**/
    56     const UnicodeSet bn_Set
    57         {{{Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 186}, {Mixed, 1},
    58           {Empty, 63}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1770},
    59           {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
    60           {Empty, 1509}, {Mixed, 1}, {Empty, 165}, {Mixed, 1}, {Empty, 371},
    61           {Mixed, 1}, {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
    62           {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
    63           {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
    64           {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
    65           {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
    66           {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1}, {Full, 8},
    67           {Empty, 7}, {Mixed, 1}, {Full, 112}, {Empty, 1919}, {Mixed, 1},
    68           {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1}},
    69          {0x0fffc1ff, 0x80000000, 0xffffffdf, 0x00002000, 0x00004000,
    70           0x00003800, 0x0000fc3f, 0xffff0000, 0x0000ffff, 0x80000000,
    71           0xc1ff0000, 0x0000000f, 0x07f80000, 0xc0000000, 0xc0000000,
    72           0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
    73           0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
    74           0xc0000000, 0xffff0000, 0xc0000000, 0xc0000000, 0xc0000000}};
    75     /** Code Point Ranges for CS
    76     [44, 44], [46, 47], [58, 58], [160, 160], [1548, 1548], [8239, 8239],
    77     [8260, 8260], [65104, 65104], [65106, 65106], [65109, 65109],
    78     [65292, 65292], [65294, 65295], [65306, 65306]**/
    79     const UnicodeSet cs_Set
    80         {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 42},
    81           {Mixed, 1}, {Empty, 208}, {Mixed, 2}, {Empty, 1775}, {Mixed, 1},
    82           {Empty, 5}, {Mixed, 1}, {Empty, 32775}},
    83          {0x0400d000, 0x00000001, 0x00001000, 0x00008000, 0x00000010,
    84           0x00250000, 0x0400d000}};
    85     /** Code Point Ranges for EN
    86     [48, 57], [178, 179], [185, 185], [1776, 1785], [8304, 8304],
    87     [8308, 8313], [8320, 8329], [9352, 9371], [65296, 65305],
    88     [66273, 66299], [120782, 120831], [127232, 127242]**/
    89     const UnicodeSet en_Set
    90         {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 49},
    91           {Mixed, 1}, {Empty, 203}, {Mixed, 2}, {Empty, 31}, {Mixed, 1},
    92           {Empty, 1747}, {Mixed, 1}, {Empty, 30}, {Mixed, 1}, {Empty, 1702},
    93           {Mixed, 1}, {Full, 1}, {Empty, 200}, {Mixed, 1}, {Empty, 30839}},
    94          {0x03ff0000, 0x020c0000, 0x03ff0000, 0x03f10000, 0x000003ff,
    95           0x0fffff00, 0x03ff0000, 0x0ffffffe, 0xffffc000, 0x000007ff}};
    96     /** Code Point Ranges for ES
    97     [43, 43], [45, 45], [8314, 8315], [8330, 8331], [8722, 8722],
    98     [64297, 64297], [65122, 65123], [65291, 65291], [65293, 65293]**/
    99     const UnicodeSet es_Set
    100         {{{Empty, 1}, {Mixed, 1}, {Empty, 257}, {Mixed, 2}, {Empty, 11},
    101           {Mixed, 1}, {Empty, 1736}, {Mixed, 1}, {Empty, 25}, {Mixed, 1},
    102           {Empty, 4}, {Mixed, 1}, {Empty, 32775}},
    103          {0x00002800, 0x0c000000, 0x00000c00, 0x00040000, 0x00000200,
    104           0x0000000c, 0x00002800}};
    105     /** Code Point Ranges for ET
    106     [35, 37], [162, 165], [176, 177], [1423, 1423], [1545, 1546],
    107     [1642, 1642], [2546, 2547], [2555, 2555], [2801, 2801], [3065, 3065],
    108     [3647, 3647], [6107, 6107], [8240, 8244], [8352, 8399], [8494, 8494],
    109     [8723, 8723], [43064, 43065], [65119, 65119], [65129, 65130],
    110     [65283, 65285], [65504, 65505], [65509, 65510]**/
    111     const UnicodeSet et_Set
    112         {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 38},
    113           {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
    114           {Empty, 27}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 7},
    115           {Mixed, 1}, {Empty, 17}, {Mixed, 1}, {Empty, 76}, {Mixed, 1},
    116           {Empty, 66}, {Mixed, 1}, {Empty, 3}, {Full, 1}, {Mixed, 1},
    117           {Empty, 2}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 1072},
    118           {Mixed, 1}, {Empty, 688}, {Mixed, 2}, {Empty, 4}, {Mixed, 1},
    119           {Empty, 6}, {Mixed, 1}, {Empty, 32768}},
    120          {0x00000038, 0x0003003c, 0x00008000, 0x00000600, 0x00000400,
    121           0x080c0000, 0x00020000, 0x02000000, 0x80000000, 0x08000000,
    122           0x001f0000, 0x0000ffff, 0x00004000, 0x00080000, 0x03000000,
    123           0x80000000, 0x00000600, 0x00000038, 0x00000063}};
    124     /** Code Point Ranges for FSI
    125     [8296, 8296]**/
    126     const UnicodeSet fsi_Set
    127         {{{Empty, 259}, {Mixed, 1}, {Empty, 34556}},
    128          {0x00000100}};
    12917    /** Code Point Ranges for L
    13018    [65, 90], [97, 122], [170, 170], [181, 181], [186, 186], [192, 214],
     
    338226          0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff,
    339227          0x3fffffff}};
    340     /** Code Point Ranges for LRE
    341     [8234, 8234]**/
    342     const UnicodeSet lre_Set
    343         {{{Empty, 257}, {Mixed, 1}, {Empty, 34558}},
    344          {0x00000400}};
    345     /** Code Point Ranges for LRI
    346     [8294, 8294]**/
    347     const UnicodeSet lri_Set
    348         {{{Empty, 259}, {Mixed, 1}, {Empty, 34556}},
    349          {0x00000040}};
    350     /** Code Point Ranges for LRO
    351     [8237, 8237]**/
    352     const UnicodeSet lro_Set
    353         {{{Empty, 257}, {Mixed, 1}, {Empty, 34558}},
    354          {0x00002000}};
     228    /** Code Point Ranges for R
     229    [1424, 1424], [1470, 1470], [1472, 1472], [1475, 1475], [1478, 1478],
     230    [1480, 1535], [1984, 2026], [2036, 2037], [2042, 2069], [2074, 2074],
     231    [2084, 2084], [2088, 2088], [2094, 2136], [2140, 2207], [8207, 8207],
     232    [64285, 64285], [64287, 64296], [64298, 64335], [67584, 67870],
     233    [67872, 68096], [68100, 68100], [68103, 68107], [68112, 68151],
     234    [68155, 68158], [68160, 68324], [68327, 68408], [68416, 69215],
     235    [69247, 69631], [124928, 125135], [125143, 125251], [125259, 126463],
     236    [126720, 126975]**/
     237    const UnicodeSet r_Set
     238        {{{Empty, 44}, {Mixed, 3}, {Full, 1}, {Empty, 14}, {Full, 1},
     239          {Mixed, 4}, {Full, 2}, {Empty, 187}, {Mixed, 1}, {Empty, 1751},
     240          {Mixed, 3}, {Empty, 101}, {Full, 8}, {Mixed, 1}, {Full, 7},
     241          {Mixed, 2}, {Full, 5}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
     242          {Full, 25}, {Mixed, 1}, {Full, 12}, {Empty, 1728}, {Full, 6},
     243          {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 37}, {Empty, 8},
     244          {Full, 8}, {Empty, 30848}},
     245         {0x00010000, 0x40000000, 0xffffff49, 0xfc3007ff, 0x043fffff,
     246          0xffffc110, 0xf1ffffff, 0x00008000, 0xa0000000, 0xfffffdff,
     247          0x0000ffff, 0x7fffffff, 0xffff0f91, 0x78ffffff, 0xffffff9f,
     248          0x01ffffff, 0x80000000, 0xff80ffff, 0xfffff80f}};
     249    /** Code Point Ranges for EN
     250    [48, 57], [178, 179], [185, 185], [1776, 1785], [8304, 8304],
     251    [8308, 8313], [8320, 8329], [9352, 9371], [65296, 65305],
     252    [66273, 66299], [120782, 120831], [127232, 127242]**/
     253    const UnicodeSet en_Set
     254        {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 49},
     255          {Mixed, 1}, {Empty, 203}, {Mixed, 2}, {Empty, 31}, {Mixed, 1},
     256          {Empty, 1747}, {Mixed, 1}, {Empty, 30}, {Mixed, 1}, {Empty, 1702},
     257          {Mixed, 1}, {Full, 1}, {Empty, 200}, {Mixed, 1}, {Empty, 30839}},
     258         {0x03ff0000, 0x020c0000, 0x03ff0000, 0x03f10000, 0x000003ff,
     259          0x0fffff00, 0x03ff0000, 0x0ffffffe, 0xffffc000, 0x000007ff}};
     260    /** Code Point Ranges for ES
     261    [43, 43], [45, 45], [8314, 8315], [8330, 8331], [8722, 8722],
     262    [64297, 64297], [65122, 65123], [65291, 65291], [65293, 65293]**/
     263    const UnicodeSet es_Set
     264        {{{Empty, 1}, {Mixed, 1}, {Empty, 257}, {Mixed, 2}, {Empty, 11},
     265          {Mixed, 1}, {Empty, 1736}, {Mixed, 1}, {Empty, 25}, {Mixed, 1},
     266          {Empty, 4}, {Mixed, 1}, {Empty, 32775}},
     267         {0x00002800, 0x0c000000, 0x00000c00, 0x00040000, 0x00000200,
     268          0x0000000c, 0x00002800}};
     269    /** Code Point Ranges for ET
     270    [35, 37], [162, 165], [176, 177], [1423, 1423], [1545, 1546],
     271    [1642, 1642], [2546, 2547], [2555, 2555], [2801, 2801], [3065, 3065],
     272    [3647, 3647], [6107, 6107], [8240, 8244], [8352, 8399], [8494, 8494],
     273    [8723, 8723], [43064, 43065], [65119, 65119], [65129, 65130],
     274    [65283, 65285], [65504, 65505], [65509, 65510]**/
     275    const UnicodeSet et_Set
     276        {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 38},
     277          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
     278          {Empty, 27}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 7},
     279          {Mixed, 1}, {Empty, 17}, {Mixed, 1}, {Empty, 76}, {Mixed, 1},
     280          {Empty, 66}, {Mixed, 1}, {Empty, 3}, {Full, 1}, {Mixed, 1},
     281          {Empty, 2}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 1072},
     282          {Mixed, 1}, {Empty, 688}, {Mixed, 2}, {Empty, 4}, {Mixed, 1},
     283          {Empty, 6}, {Mixed, 1}, {Empty, 32768}},
     284         {0x00000038, 0x0003003c, 0x00008000, 0x00000600, 0x00000400,
     285          0x080c0000, 0x00020000, 0x02000000, 0x80000000, 0x08000000,
     286          0x001f0000, 0x0000ffff, 0x00004000, 0x00080000, 0x03000000,
     287          0x80000000, 0x00000600, 0x00000038, 0x00000063}};
     288    /** Code Point Ranges for AN
     289    [1536, 1541], [1632, 1641], [1643, 1644], [1757, 1757], [2274, 2274],
     290    [69216, 69246]**/
     291    const UnicodeSet an_Set
     292        {{{Empty, 48}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 2},
     293          {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 2091}, {Mixed, 1},
     294          {Empty, 32652}},
     295         {0x0000003f, 0x00001bff, 0x20000000, 0x00000004, 0x7fffffff}};
     296    /** Code Point Ranges for CS
     297    [44, 44], [46, 47], [58, 58], [160, 160], [1548, 1548], [8239, 8239],
     298    [8260, 8260], [65104, 65104], [65106, 65106], [65109, 65109],
     299    [65292, 65292], [65294, 65295], [65306, 65306]**/
     300    const UnicodeSet cs_Set
     301        {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 42},
     302          {Mixed, 1}, {Empty, 208}, {Mixed, 2}, {Empty, 1775}, {Mixed, 1},
     303          {Empty, 5}, {Mixed, 1}, {Empty, 32775}},
     304         {0x0400d000, 0x00000001, 0x00001000, 0x00008000, 0x00000010,
     305          0x00250000, 0x0400d000}};
     306    /** Code Point Ranges for B
     307    [10, 10], [13, 13], [28, 30], [133, 133], [8233, 8233]**/
     308    const UnicodeSet b_Set
     309        {{{Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 252}, {Mixed, 1},
     310          {Empty, 34558}},
     311         {0x70002400, 0x00000020, 0x00000200}};
     312    /** Code Point Ranges for S
     313    [9, 9], [11, 11], [31, 31]**/
     314    const UnicodeSet s_Set
     315        {{{Mixed, 1}, {Empty, 34815}},
     316         {0x80000a00}};
     317    /** Code Point Ranges for WS
     318    [12, 12], [32, 32], [5760, 5760], [8192, 8202], [8232, 8232],
     319    [8287, 8287], [12288, 12288]**/
     320    const UnicodeSet ws_Set
     321        {{{Mixed, 2}, {Empty, 178}, {Mixed, 1}, {Empty, 75}, {Mixed, 3},
     322          {Empty, 125}, {Mixed, 1}, {Empty, 34431}},
     323         {0x00001000, 0x00000001, 0x00000001, 0x000007ff, 0x00000100,
     324          0x80000000, 0x00000001}};
     325    /** Code Point Ranges for ON
     326    [33, 34], [38, 42], [59, 64], [91, 96], [123, 126], [161, 161],
     327    [166, 169], [171, 172], [174, 175], [180, 180], [182, 184], [187, 191],
     328    [215, 215], [247, 247], [697, 698], [706, 719], [722, 735], [741, 749],
     329    [751, 767], [884, 885], [894, 894], [900, 901], [903, 903],
     330    [1014, 1014], [1418, 1418], [1421, 1422], [1542, 1543], [1550, 1551],
     331    [1758, 1758], [1769, 1769], [2038, 2041], [3059, 3064], [3066, 3066],
     332    [3192, 3198], [3898, 3901], [5008, 5017], [5120, 5120], [5787, 5788],
     333    [6128, 6137], [6144, 6154], [6464, 6464], [6468, 6469], [6622, 6655],
     334    [8125, 8125], [8127, 8129], [8141, 8143], [8157, 8159], [8173, 8175],
     335    [8189, 8190], [8208, 8231], [8245, 8259], [8261, 8286], [8316, 8318],
     336    [8332, 8334], [8448, 8449], [8451, 8454], [8456, 8457], [8468, 8468],
     337    [8470, 8472], [8478, 8483], [8485, 8485], [8487, 8487], [8489, 8489],
     338    [8506, 8507], [8512, 8516], [8522, 8525], [8528, 8543], [8585, 8587],
     339    [8592, 8721], [8724, 9013], [9083, 9108], [9110, 9214], [9216, 9254],
     340    [9280, 9290], [9312, 9351], [9450, 9899], [9901, 10239], [10496, 11123],
     341    [11126, 11157], [11160, 11193], [11197, 11208], [11210, 11217],
     342    [11244, 11247], [11493, 11498], [11513, 11519], [11776, 11844],
     343    [11904, 11929], [11931, 12019], [12032, 12245], [12272, 12283],
     344    [12289, 12292], [12296, 12320], [12336, 12336], [12342, 12343],
     345    [12349, 12351], [12443, 12444], [12448, 12448], [12539, 12539],
     346    [12736, 12771], [12829, 12830], [12880, 12895], [12924, 12926],
     347    [12977, 12991], [13004, 13007], [13175, 13178], [13278, 13279],
     348    [13311, 13311], [19904, 19967], [42128, 42182], [42509, 42511],
     349    [42611, 42611], [42622, 42623], [42752, 42785], [42888, 42888],
     350    [43048, 43051], [43124, 43127], [64830, 64831], [65021, 65021],
     351    [65040, 65049], [65072, 65103], [65105, 65105], [65108, 65108],
     352    [65110, 65118], [65120, 65121], [65124, 65126], [65128, 65128],
     353    [65131, 65131], [65281, 65282], [65286, 65290], [65307, 65312],
     354    [65339, 65344], [65371, 65381], [65506, 65508], [65512, 65518],
     355    [65529, 65533], [65793, 65793], [65856, 65932], [65936, 65947],
     356    [65952, 65952], [67871, 67871], [68409, 68415], [69714, 69733],
     357    [71264, 71276], [119296, 119361], [119365, 119365], [119552, 119638],
     358    [120539, 120539], [120597, 120597], [120655, 120655], [120713, 120713],
     359    [120771, 120771], [126704, 126705], [126976, 127019], [127024, 127123],
     360    [127136, 127150], [127153, 127167], [127169, 127183], [127185, 127221],
     361    [127243, 127244], [127338, 127339], [127744, 128722], [128736, 128748],
     362    [128752, 128758], [128768, 128883], [128896, 128980], [129024, 129035],
     363    [129040, 129095], [129104, 129113], [129120, 129159], [129168, 129197],
     364    [129296, 129310], [129312, 129319], [129328, 129328], [129331, 129342],
     365    [129344, 129355], [129360, 129374], [129408, 129425], [129472, 129472]**/
     366    const UnicodeSet on_Set
     367        {{{Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 13},
     368          {Mixed, 3}, {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
     369          {Empty, 12}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 5},
     370          {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 31}, {Mixed, 1},
     371          {Empty, 3}, {Mixed, 1}, {Empty, 21}, {Mixed, 1}, {Empty, 34},
     372          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 19}, {Mixed, 1},
     373          {Empty, 10}, {Mixed, 2}, {Empty, 9}, {Mixed, 1}, {Empty, 3},
     374          {Mixed, 1}, {Full, 1}, {Empty, 45}, {Mixed, 8}, {Empty, 3},
     375          {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Full, 3}, {Mixed, 1},
     376          {Full, 8}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 2},
     377          {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
     378          {Empty, 2}, {Mixed, 1}, {Full, 13}, {Mixed, 1}, {Full, 10},
     379          {Empty, 8}, {Full, 19}, {Mixed, 5}, {Empty, 7}, {Mixed, 1},
     380          {Empty, 8}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
     381          {Full, 2}, {Mixed, 1}, {Full, 6}, {Mixed, 4}, {Empty, 2},
     382          {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 6}, {Full, 1},
     383          {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
     384          {Empty, 4}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 206},
     385          {Full, 2}, {Empty, 692}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
     386          {Empty, 9}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 4},
     387          {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 4},
     388          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 677}, {Mixed, 1},
     389          {Empty, 5}, {Mixed, 5}, {Empty, 4}, {Mixed, 4}, {Empty, 3},
     390          {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 1}, {Full, 2},
     391          {Mixed, 2}, {Empty, 58}, {Mixed, 1}, {Empty, 16}, {Mixed, 1},
     392          {Empty, 40}, {Mixed, 2}, {Empty, 47}, {Mixed, 1}, {Empty, 1500},
     393          {Full, 2}, {Mixed, 1}, {Empty, 5}, {Full, 2}, {Mixed, 1},
     394          {Empty, 27}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
     395          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
     396          {Empty, 184}, {Mixed, 1}, {Empty, 8}, {Full, 1}, {Mixed, 1},
     397          {Full, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 1}, {Empty, 12},
     398          {Full, 30}, {Mixed, 2}, {Full, 3}, {Mixed, 1}, {Full, 2},
     399          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
     400          {Full, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Empty, 1},
     401          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 30769}},
     402         {0xf80007c6, 0xf8000001, 0x78000001, 0xf9d0dbc2, 0x00800000,
     403          0x00800000, 0x06000000, 0xfffcfffc, 0xffffbfe0, 0x40300000,
     404          0x000000b0, 0x00400000, 0x00006400, 0x0000c0c0, 0x40000000,
     405          0x00000200, 0x03c00000, 0x05f80000, 0x7f000000, 0x3c000000,
     406          0x03ff0000, 0x00000001, 0x18000000, 0x03ff0000, 0x000007ff,
     407          0x00000031, 0xc0000000, 0xa0000000, 0xe000e003, 0x6000e000,
     408          0xffff0000, 0xffe000ff, 0x7fffffef, 0x70000000, 0x00007000,
     409          0xc1d0037b, 0x0c0002af, 0xffff3c1f, 0xffff0e00, 0xfff3ffff,
     410          0x003fffff, 0xf8000000, 0xffdfffff, 0x7fffffff, 0x0000007f,
     411          0x000007ff, 0x000000ff, 0xfffffc00, 0xffffefff, 0xffcfffff,
     412          0xff3fffff, 0xe3ffffff, 0x0003fdff, 0x0000f000, 0xfe0007e0,
     413          0x0000001f, 0xfbffffff, 0x000fffff, 0x003fffff, 0x0fff0000,
     414          0xffffff1e, 0xe0c10001, 0x18000000, 0x00000001, 0x08000000,
     415          0x0000000f, 0x60000000, 0xffff0000, 0x70000000, 0xfffe0000,
     416          0x0000f000, 0x07800000, 0xc0000000, 0x80000000, 0xffff0000,
     417          0x0000007f, 0x0000e000, 0xc0080000, 0x00000003, 0x00000100,
     418          0x00000f00, 0x00f00000, 0xc0000000, 0x20000000, 0x03ff0000,
     419          0xffff0000, 0x7fd2ffff, 0x00000973, 0xf80007c6, 0xf8000001,
     420          0xf8000001, 0x0000003f, 0x3e007f1c, 0x00000002, 0x0fff1fff,
     421          0x00000001, 0x80000000, 0xfe000000, 0xfffc0000, 0x0000003f,
     422          0x00001fff, 0x00000023, 0x007fffff, 0x08000000, 0x00200000,
     423          0x00008000, 0x00000200, 0x00000008, 0x00030000, 0xffff0fff,
     424          0x000fffff, 0xfffe7fff, 0xfffefffe, 0x003fffff, 0x00001800,
     425          0x00000c00, 0x0007ffff, 0x007f1fff, 0x000fffff, 0x001fffff,
     426          0xffff0fff, 0x03ff00ff, 0xffff00ff, 0x00003fff, 0x7fff0000,
     427          0x7ff900ff, 0x7fff0fff, 0x0003ffff, 0x00000001}};
     428    /** Code Point Ranges for BN
     429    [0, 8], [14, 27], [127, 132], [134, 159], [173, 173], [6158, 6158],
     430    [8203, 8205], [8288, 8293], [8298, 8303], [64976, 65007],
     431    [65279, 65279], [65520, 65528], [65534, 65535], [113824, 113827],
     432    [119155, 119162], [131070, 131071], [196606, 196607], [262142, 262143],
     433    [327678, 327679], [393214, 393215], [458750, 458751], [524286, 524287],
     434    [589822, 589823], [655358, 655359], [720894, 720895], [786430, 786431],
     435    [851966, 851967], [917502, 917759], [918000, 921599], [983038, 983039],
     436    [1048574, 1048575], [1114110, 1114111]**/
     437    const UnicodeSet bn_Set
     438        {{{Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 186}, {Mixed, 1},
     439          {Empty, 63}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1770},
     440          {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
     441          {Empty, 1509}, {Mixed, 1}, {Empty, 165}, {Mixed, 1}, {Empty, 371},
     442          {Mixed, 1}, {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
     443          {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
     444          {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
     445          {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
     446          {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
     447          {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1}, {Full, 8},
     448          {Empty, 7}, {Mixed, 1}, {Full, 112}, {Empty, 1919}, {Mixed, 1},
     449          {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1}},
     450         {0x0fffc1ff, 0x80000000, 0xffffffdf, 0x00002000, 0x00004000,
     451          0x00003800, 0x0000fc3f, 0xffff0000, 0x0000ffff, 0x80000000,
     452          0xc1ff0000, 0x0000000f, 0x07f80000, 0xc0000000, 0xc0000000,
     453          0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
     454          0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
     455          0xc0000000, 0xffff0000, 0xc0000000, 0xc0000000, 0xc0000000}};
    355456    /** Code Point Ranges for NSM
    356457    [768, 879], [1155, 1161], [1425, 1469], [1471, 1471], [1473, 1474],
     
    487588          0x00201fff, 0xf8000010, 0x0000fffe, 0xf9ffff7f, 0x000007db,
    488589          0x007f0000, 0x000007f0, 0x0000ffff}};
    489     /** Code Point Ranges for ON
    490     [33, 34], [38, 42], [59, 64], [91, 96], [123, 126], [161, 161],
    491     [166, 169], [171, 172], [174, 175], [180, 180], [182, 184], [187, 191],
    492     [215, 215], [247, 247], [697, 698], [706, 719], [722, 735], [741, 749],
    493     [751, 767], [884, 885], [894, 894], [900, 901], [903, 903],
    494     [1014, 1014], [1418, 1418], [1421, 1422], [1542, 1543], [1550, 1551],
    495     [1758, 1758], [1769, 1769], [2038, 2041], [3059, 3064], [3066, 3066],
    496     [3192, 3198], [3898, 3901], [5008, 5017], [5120, 5120], [5787, 5788],
    497     [6128, 6137], [6144, 6154], [6464, 6464], [6468, 6469], [6622, 6655],
    498     [8125, 8125], [8127, 8129], [8141, 8143], [8157, 8159], [8173, 8175],
    499     [8189, 8190], [8208, 8231], [8245, 8259], [8261, 8286], [8316, 8318],
    500     [8332, 8334], [8448, 8449], [8451, 8454], [8456, 8457], [8468, 8468],
    501     [8470, 8472], [8478, 8483], [8485, 8485], [8487, 8487], [8489, 8489],
    502     [8506, 8507], [8512, 8516], [8522, 8525], [8528, 8543], [8585, 8587],
    503     [8592, 8721], [8724, 9013], [9083, 9108], [9110, 9214], [9216, 9254],
    504     [9280, 9290], [9312, 9351], [9450, 9899], [9901, 10239], [10496, 11123],
    505     [11126, 11157], [11160, 11193], [11197, 11208], [11210, 11217],
    506     [11244, 11247], [11493, 11498], [11513, 11519], [11776, 11844],
    507     [11904, 11929], [11931, 12019], [12032, 12245], [12272, 12283],
    508     [12289, 12292], [12296, 12320], [12336, 12336], [12342, 12343],
    509     [12349, 12351], [12443, 12444], [12448, 12448], [12539, 12539],
    510     [12736, 12771], [12829, 12830], [12880, 12895], [12924, 12926],
    511     [12977, 12991], [13004, 13007], [13175, 13178], [13278, 13279],
    512     [13311, 13311], [19904, 19967], [42128, 42182], [42509, 42511],
    513     [42611, 42611], [42622, 42623], [42752, 42785], [42888, 42888],
    514     [43048, 43051], [43124, 43127], [64830, 64831], [65021, 65021],
    515     [65040, 65049], [65072, 65103], [65105, 65105], [65108, 65108],
    516     [65110, 65118], [65120, 65121], [65124, 65126], [65128, 65128],
    517     [65131, 65131], [65281, 65282], [65286, 65290], [65307, 65312],
    518     [65339, 65344], [65371, 65381], [65506, 65508], [65512, 65518],
    519     [65529, 65533], [65793, 65793], [65856, 65932], [65936, 65947],
    520     [65952, 65952], [67871, 67871], [68409, 68415], [69714, 69733],
    521     [71264, 71276], [119296, 119361], [119365, 119365], [119552, 119638],
    522     [120539, 120539], [120597, 120597], [120655, 120655], [120713, 120713],
    523     [120771, 120771], [126704, 126705], [126976, 127019], [127024, 127123],
    524     [127136, 127150], [127153, 127167], [127169, 127183], [127185, 127221],
    525     [127243, 127244], [127338, 127339], [127744, 128722], [128736, 128748],
    526     [128752, 128758], [128768, 128883], [128896, 128980], [129024, 129035],
    527     [129040, 129095], [129104, 129113], [129120, 129159], [129168, 129197],
    528     [129296, 129310], [129312, 129319], [129328, 129328], [129331, 129342],
    529     [129344, 129355], [129360, 129374], [129408, 129425], [129472, 129472]**/
    530     const UnicodeSet on_Set
    531         {{{Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 13},
    532           {Mixed, 3}, {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
    533           {Empty, 12}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 5},
    534           {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 31}, {Mixed, 1},
    535           {Empty, 3}, {Mixed, 1}, {Empty, 21}, {Mixed, 1}, {Empty, 34},
    536           {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 19}, {Mixed, 1},
    537           {Empty, 10}, {Mixed, 2}, {Empty, 9}, {Mixed, 1}, {Empty, 3},
    538           {Mixed, 1}, {Full, 1}, {Empty, 45}, {Mixed, 8}, {Empty, 3},
    539           {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Full, 3}, {Mixed, 1},
    540           {Full, 8}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 2},
    541           {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
    542           {Empty, 2}, {Mixed, 1}, {Full, 13}, {Mixed, 1}, {Full, 10},
    543           {Empty, 8}, {Full, 19}, {Mixed, 5}, {Empty, 7}, {Mixed, 1},
    544           {Empty, 8}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
    545           {Full, 2}, {Mixed, 1}, {Full, 6}, {Mixed, 4}, {Empty, 2},
    546           {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 6}, {Full, 1},
    547           {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
    548           {Empty, 4}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 206},
    549           {Full, 2}, {Empty, 692}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
    550           {Empty, 9}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 4},
    551           {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 4},
    552           {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 677}, {Mixed, 1},
    553           {Empty, 5}, {Mixed, 5}, {Empty, 4}, {Mixed, 4}, {Empty, 3},
    554           {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 1}, {Full, 2},
    555           {Mixed, 2}, {Empty, 58}, {Mixed, 1}, {Empty, 16}, {Mixed, 1},
    556           {Empty, 40}, {Mixed, 2}, {Empty, 47}, {Mixed, 1}, {Empty, 1500},
    557           {Full, 2}, {Mixed, 1}, {Empty, 5}, {Full, 2}, {Mixed, 1},
    558           {Empty, 27}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
    559           {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
    560           {Empty, 184}, {Mixed, 1}, {Empty, 8}, {Full, 1}, {Mixed, 1},
    561           {Full, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 1}, {Empty, 12},
    562           {Full, 30}, {Mixed, 2}, {Full, 3}, {Mixed, 1}, {Full, 2},
    563           {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
    564           {Full, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Empty, 1},
    565           {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 30769}},
    566          {0xf80007c6, 0xf8000001, 0x78000001, 0xf9d0dbc2, 0x00800000,
    567           0x00800000, 0x06000000, 0xfffcfffc, 0xffffbfe0, 0x40300000,
    568           0x000000b0, 0x00400000, 0x00006400, 0x0000c0c0, 0x40000000,
    569           0x00000200, 0x03c00000, 0x05f80000, 0x7f000000, 0x3c000000,
    570           0x03ff0000, 0x00000001, 0x18000000, 0x03ff0000, 0x000007ff,
    571           0x00000031, 0xc0000000, 0xa0000000, 0xe000e003, 0x6000e000,
    572           0xffff0000, 0xffe000ff, 0x7fffffef, 0x70000000, 0x00007000,
    573           0xc1d0037b, 0x0c0002af, 0xffff3c1f, 0xffff0e00, 0xfff3ffff,
    574           0x003fffff, 0xf8000000, 0xffdfffff, 0x7fffffff, 0x0000007f,
    575           0x000007ff, 0x000000ff, 0xfffffc00, 0xffffefff, 0xffcfffff,
    576           0xff3fffff, 0xe3ffffff, 0x0003fdff, 0x0000f000, 0xfe0007e0,
    577           0x0000001f, 0xfbffffff, 0x000fffff, 0x003fffff, 0x0fff0000,
    578           0xffffff1e, 0xe0c10001, 0x18000000, 0x00000001, 0x08000000,
    579           0x0000000f, 0x60000000, 0xffff0000, 0x70000000, 0xfffe0000,
    580           0x0000f000, 0x07800000, 0xc0000000, 0x80000000, 0xffff0000,
    581           0x0000007f, 0x0000e000, 0xc0080000, 0x00000003, 0x00000100,
    582           0x00000f00, 0x00f00000, 0xc0000000, 0x20000000, 0x03ff0000,
    583           0xffff0000, 0x7fd2ffff, 0x00000973, 0xf80007c6, 0xf8000001,
    584           0xf8000001, 0x0000003f, 0x3e007f1c, 0x00000002, 0x0fff1fff,
    585           0x00000001, 0x80000000, 0xfe000000, 0xfffc0000, 0x0000003f,
    586           0x00001fff, 0x00000023, 0x007fffff, 0x08000000, 0x00200000,
    587           0x00008000, 0x00000200, 0x00000008, 0x00030000, 0xffff0fff,
    588           0x000fffff, 0xfffe7fff, 0xfffefffe, 0x003fffff, 0x00001800,
    589           0x00000c00, 0x0007ffff, 0x007f1fff, 0x000fffff, 0x001fffff,
    590           0xffff0fff, 0x03ff00ff, 0xffff00ff, 0x00003fff, 0x7fff0000,
    591           0x7ff900ff, 0x7fff0fff, 0x0003ffff, 0x00000001}};
     590    /** Code Point Ranges for AL
     591    [1544, 1544], [1547, 1547], [1549, 1549], [1563, 1610], [1645, 1647],
     592    [1649, 1749], [1765, 1766], [1774, 1775], [1786, 1808], [1810, 1839],
     593    [1867, 1957], [1969, 1983], [2208, 2259], [64336, 64829],
     594    [64832, 64975], [65008, 65020], [65022, 65023], [65136, 65278],
     595    [126464, 126703], [126706, 126719]**/
     596    const UnicodeSet al_Set
     597        {{{Empty, 48}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 2},
     598          {Mixed, 5}, {Full, 2}, {Mixed, 1}, {Empty, 7}, {Full, 1},
     599          {Mixed, 1}, {Empty, 1939}, {Mixed, 1}, {Full, 14}, {Mixed, 1},
     600          {Full, 4}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Full, 3},
     601          {Mixed, 1}, {Empty, 1912}, {Full, 7}, {Mixed, 1}, {Empty, 30856}},
     602         {0xf8002900, 0x000007ff, 0xfffee000, 0x003fffff, 0xfc00c060,
     603          0xfffdffff, 0x0000ffff, 0xfffff800, 0xfffe003f, 0x000fffff,
     604          0xffff0000, 0x3fffffff, 0x0000ffff, 0xdfff0000, 0xffff0000,
     605          0x7fffffff, 0xfffcffff}};
     606    /** Code Point Ranges for LRO
     607    [8237, 8237]**/
     608    const UnicodeSet lro_Set
     609        {{{Empty, 257}, {Mixed, 1}, {Empty, 34558}},
     610         {0x00002000}};
     611    /** Code Point Ranges for RLO
     612    [8238, 8238]**/
     613    const UnicodeSet rlo_Set
     614        {{{Empty, 257}, {Mixed, 1}, {Empty, 34558}},
     615         {0x00004000}};
     616    /** Code Point Ranges for LRE
     617    [8234, 8234]**/
     618    const UnicodeSet lre_Set
     619        {{{Empty, 257}, {Mixed, 1}, {Empty, 34558}},
     620         {0x00000400}};
     621    /** Code Point Ranges for RLE
     622    [8235, 8235]**/
     623    const UnicodeSet rle_Set
     624        {{{Empty, 257}, {Mixed, 1}, {Empty, 34558}},
     625         {0x00000800}};
    592626    /** Code Point Ranges for PDF
    593627    [8236, 8236]**/
     
    595629        {{{Empty, 257}, {Mixed, 1}, {Empty, 34558}},
    596630         {0x00001000}};
     631    /** Code Point Ranges for LRI
     632    [8294, 8294]**/
     633    const UnicodeSet lri_Set
     634        {{{Empty, 259}, {Mixed, 1}, {Empty, 34556}},
     635         {0x00000040}};
     636    /** Code Point Ranges for RLI
     637    [8295, 8295]**/
     638    const UnicodeSet rli_Set
     639        {{{Empty, 259}, {Mixed, 1}, {Empty, 34556}},
     640         {0x00000080}};
     641    /** Code Point Ranges for FSI
     642    [8296, 8296]**/
     643    const UnicodeSet fsi_Set
     644        {{{Empty, 259}, {Mixed, 1}, {Empty, 34556}},
     645         {0x00000100}};
    597646    /** Code Point Ranges for PDI
    598647    [8297, 8297]**/
     
    600649        {{{Empty, 259}, {Mixed, 1}, {Empty, 34556}},
    601650         {0x00000200}};
    602     /** Code Point Ranges for R
    603     [1424, 1424], [1470, 1470], [1472, 1472], [1475, 1475], [1478, 1478],
    604     [1480, 1535], [1984, 2026], [2036, 2037], [2042, 2069], [2074, 2074],
    605     [2084, 2084], [2088, 2088], [2094, 2136], [2140, 2207], [8207, 8207],
    606     [64285, 64285], [64287, 64296], [64298, 64335], [67584, 67870],
    607     [67872, 68096], [68100, 68100], [68103, 68107], [68112, 68151],
    608     [68155, 68158], [68160, 68324], [68327, 68408], [68416, 69215],
    609     [69247, 69631], [124928, 125135], [125143, 125251], [125259, 126463],
    610     [126720, 126975]**/
    611     const UnicodeSet r_Set
    612         {{{Empty, 44}, {Mixed, 3}, {Full, 1}, {Empty, 14}, {Full, 1},
    613           {Mixed, 4}, {Full, 2}, {Empty, 187}, {Mixed, 1}, {Empty, 1751},
    614           {Mixed, 3}, {Empty, 101}, {Full, 8}, {Mixed, 1}, {Full, 7},
    615           {Mixed, 2}, {Full, 5}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
    616           {Full, 25}, {Mixed, 1}, {Full, 12}, {Empty, 1728}, {Full, 6},
    617           {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 37}, {Empty, 8},
    618           {Full, 8}, {Empty, 30848}},
    619          {0x00010000, 0x40000000, 0xffffff49, 0xfc3007ff, 0x043fffff,
    620           0xffffc110, 0xf1ffffff, 0x00008000, 0xa0000000, 0xfffffdff,
    621           0x0000ffff, 0x7fffffff, 0xffff0f91, 0x78ffffff, 0xffffff9f,
    622           0x01ffffff, 0x80000000, 0xff80ffff, 0xfffff80f}};
    623     /** Code Point Ranges for RLE
    624     [8235, 8235]**/
    625     const UnicodeSet rle_Set
    626         {{{Empty, 257}, {Mixed, 1}, {Empty, 34558}},
    627          {0x00000800}};
    628     /** Code Point Ranges for RLI
    629     [8295, 8295]**/
    630     const UnicodeSet rli_Set
    631         {{{Empty, 259}, {Mixed, 1}, {Empty, 34556}},
    632          {0x00000080}};
    633     /** Code Point Ranges for RLO
    634     [8238, 8238]**/
    635     const UnicodeSet rlo_Set
    636         {{{Empty, 257}, {Mixed, 1}, {Empty, 34558}},
    637          {0x00004000}};
    638     /** Code Point Ranges for S
    639     [9, 9], [11, 11], [31, 31]**/
    640     const UnicodeSet s_Set
    641         {{{Mixed, 1}, {Empty, 34815}},
    642          {0x80000a00}};
    643     /** Code Point Ranges for WS
    644     [12, 12], [32, 32], [5760, 5760], [8192, 8202], [8232, 8232],
    645     [8287, 8287], [12288, 12288]**/
    646     const UnicodeSet ws_Set
    647         {{{Mixed, 2}, {Empty, 178}, {Mixed, 1}, {Empty, 75}, {Mixed, 3},
    648           {Empty, 125}, {Mixed, 1}, {Empty, 34431}},
    649          {0x00001000, 0x00000001, 0x00000001, 0x000007ff, 0x00000100,
    650           0x80000000, 0x00000001}};
    651651    static EnumeratedPropertyObject property_object
    652652        {bc,
     
    654654         BC_ns::value_names,
    655655         BC_ns::aliases_only_map,
    656          {&al_Set, &an_Set, &b_Set, &bn_Set, &cs_Set, &en_Set, &es_Set,
    657         &et_Set, &fsi_Set, &l_Set, &lre_Set, &lri_Set, &lro_Set, &nsm_Set,
    658         &on_Set, &pdf_Set, &pdi_Set, &r_Set, &rle_Set, &rli_Set, &rlo_Set,
    659         &s_Set, &ws_Set
     656         {&l_Set, &r_Set, &en_Set, &es_Set, &et_Set, &an_Set, &cs_Set, &b_Set,
     657        &s_Set, &ws_Set, &on_Set, &bn_Set, &nsm_Set, &al_Set, &lro_Set,
     658        &rlo_Set, &lre_Set, &rle_Set, &pdf_Set, &lri_Set, &rli_Set,
     659        &fsi_Set, &pdi_Set
    660660         }};
    661661    }
  • icGREP/icgrep-devel/icgrep/UCD/DerivedCombiningClass.h

    r5145 r5154  
    368368        {{{Empty, 123}, {Mixed, 1}, {Empty, 34692}},
    369369         {0x00100000}};
    370     /** Code Point Ranges for CCC133
    371     **/
    372     const UnicodeSet ccc133_Set
    373         {{{Empty, 34816}},
    374          {}};
    375     /** Code Point Ranges for ATBL
    376     **/
    377     const UnicodeSet atbl_Set
    378         {{{Empty, 34816}},
    379          {}};
    380370    /** Code Point Ranges for ATB
    381371    [801, 802], [807, 808], [7632, 7632]**/
     
    532522        {{{Empty, 26}, {Mixed, 1}, {Empty, 34789}},
    533523         {0x00000020}};
     524    /** Code Point Ranges for CCC133
     525    **/
     526    const UnicodeSet ccc133_Set
     527        {{{Empty, 34816}},
     528         {}};
     529    /** Code Point Ranges for ATBL
     530    **/
     531    const UnicodeSet atbl_Set
     532        {{{Empty, 34816}},
     533         {}};
    534534    static EnumeratedPropertyObject property_object
    535535        {ccc,
     
    544544        &ccc32_Set, &ccc33_Set, &ccc34_Set, &ccc35_Set, &ccc36_Set,
    545545        &ccc84_Set, &ccc91_Set, &ccc103_Set, &ccc107_Set, &ccc118_Set,
    546         &ccc122_Set, &ccc129_Set, &ccc130_Set, &ccc132_Set, &ccc133_Set,
    547         &atbl_Set, &atb_Set, &ata_Set, &atar_Set, &bl_Set, &b_Set, &br_Set,
    548         &l_Set, &r_Set, &al_Set, &a_Set, &ar_Set, &db_Set, &da_Set, &is_Set
     546        &ccc122_Set, &ccc129_Set, &ccc130_Set, &ccc132_Set, &atb_Set,
     547        &ata_Set, &atar_Set, &bl_Set, &b_Set, &br_Set, &l_Set, &r_Set,
     548        &al_Set, &a_Set, &ar_Set, &db_Set, &da_Set, &is_Set, &ccc133_Set,
     549        &atbl_Set
    549550         }};
    550551    }
  • icGREP/icgrep-devel/icgrep/UCD/DerivedDecompositionType.h

    r5145 r5154  
    1515namespace UCD {
    1616    namespace DT_ns {
    17     /** Code Point Ranges for Can
    18     [192, 197], [199, 207], [209, 214], [217, 221], [224, 229], [231, 239],
    19     [241, 246], [249, 253], [255, 271], [274, 293], [296, 304], [308, 311],
    20     [313, 318], [323, 328], [332, 337], [340, 357], [360, 382], [416, 417],
    21     [431, 432], [461, 476], [478, 483], [486, 496], [500, 501], [504, 539],
    22     [542, 543], [550, 563], [832, 833], [835, 836], [884, 884], [894, 894],
    23     [901, 906], [908, 908], [910, 912], [938, 944], [970, 974], [979, 980],
    24     [1024, 1025], [1027, 1027], [1031, 1031], [1036, 1038], [1049, 1049],
    25     [1081, 1081], [1104, 1105], [1107, 1107], [1111, 1111], [1116, 1118],
    26     [1142, 1143], [1217, 1218], [1232, 1235], [1238, 1239], [1242, 1247],
    27     [1250, 1255], [1258, 1269], [1272, 1273], [1570, 1574], [1728, 1728],
    28     [1730, 1730], [1747, 1747], [2345, 2345], [2353, 2353], [2356, 2356],
    29     [2392, 2399], [2507, 2508], [2524, 2525], [2527, 2527], [2611, 2611],
    30     [2614, 2614], [2649, 2651], [2654, 2654], [2888, 2888], [2891, 2892],
    31     [2908, 2909], [2964, 2964], [3018, 3020], [3144, 3144], [3264, 3264],
    32     [3271, 3272], [3274, 3275], [3402, 3404], [3546, 3546], [3548, 3550],
    33     [3907, 3907], [3917, 3917], [3922, 3922], [3927, 3927], [3932, 3932],
    34     [3945, 3945], [3955, 3955], [3957, 3958], [3960, 3960], [3969, 3969],
    35     [3987, 3987], [3997, 3997], [4002, 4002], [4007, 4007], [4012, 4012],
    36     [4025, 4025], [4134, 4134], [6918, 6918], [6920, 6920], [6922, 6922],
    37     [6924, 6924], [6926, 6926], [6930, 6930], [6971, 6971], [6973, 6973],
    38     [6976, 6977], [6979, 6979], [7680, 7833], [7835, 7835], [7840, 7929],
    39     [7936, 7957], [7960, 7965], [7968, 8005], [8008, 8013], [8016, 8023],
    40     [8025, 8025], [8027, 8027], [8029, 8029], [8031, 8061], [8064, 8116],
    41     [8118, 8124], [8126, 8126], [8129, 8132], [8134, 8147], [8150, 8155],
    42     [8157, 8175], [8178, 8180], [8182, 8189], [8192, 8193], [8486, 8486],
    43     [8490, 8491], [8602, 8603], [8622, 8622], [8653, 8655], [8708, 8708],
    44     [8713, 8713], [8716, 8716], [8740, 8740], [8742, 8742], [8769, 8769],
    45     [8772, 8772], [8775, 8775], [8777, 8777], [8800, 8800], [8802, 8802],
    46     [8813, 8817], [8820, 8821], [8824, 8825], [8832, 8833], [8836, 8837],
    47     [8840, 8841], [8876, 8879], [8928, 8931], [8938, 8941], [9001, 9002],
    48     [10972, 10972], [12364, 12364], [12366, 12366], [12368, 12368],
    49     [12370, 12370], [12372, 12372], [12374, 12374], [12376, 12376],
    50     [12378, 12378], [12380, 12380], [12382, 12382], [12384, 12384],
    51     [12386, 12386], [12389, 12389], [12391, 12391], [12393, 12393],
    52     [12400, 12401], [12403, 12404], [12406, 12407], [12409, 12410],
    53     [12412, 12413], [12436, 12436], [12446, 12446], [12460, 12460],
    54     [12462, 12462], [12464, 12464], [12466, 12466], [12468, 12468],
    55     [12470, 12470], [12472, 12472], [12474, 12474], [12476, 12476],
    56     [12478, 12478], [12480, 12480], [12482, 12482], [12485, 12485],
    57     [12487, 12487], [12489, 12489], [12496, 12497], [12499, 12500],
    58     [12502, 12503], [12505, 12506], [12508, 12509], [12532, 12532],
    59     [12535, 12538], [12542, 12542], [44032, 55203], [63744, 64013],
    60     [64016, 64016], [64018, 64018], [64021, 64030], [64032, 64032],
    61     [64034, 64034], [64037, 64038], [64042, 64109], [64112, 64217],
    62     [64285, 64285], [64287, 64287], [64298, 64310], [64312, 64316],
    63     [64318, 64318], [64320, 64321], [64323, 64324], [64326, 64334],
    64     [69786, 69786], [69788, 69788], [69803, 69803], [69934, 69935],
    65     [70475, 70476], [70843, 70844], [70846, 70846], [71098, 71099],
    66     [119134, 119140], [119227, 119232], [194560, 195101]**/
    67     const UnicodeSet can_Set
    68         {{{Empty, 6}, {Mixed, 6}, {Empty, 1}, {Mixed, 5}, {Empty, 8},
    69           {Mixed, 5}, {Empty, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 2},
    70           {Empty, 9}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 18},
    71           {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
    72           {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
    73           {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
    74           {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 11},
    75           {Mixed, 4}, {Empty, 3}, {Mixed, 1}, {Empty, 86}, {Mixed, 3},
    76           {Empty, 21}, {Full, 4}, {Mixed, 1}, {Full, 2}, {Mixed, 2},
    77           {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 4}, {Empty, 8},
    78           {Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 6},
    79           {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 60},
    80           {Mixed, 1}, {Empty, 43}, {Mixed, 6}, {Empty, 984}, {Full, 349},
    81           {Mixed, 1}, {Empty, 266}, {Full, 8}, {Mixed, 2}, {Full, 1},
    82           {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
    83           {Empty, 169}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 16},
    84           {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
    85           {Empty, 1500}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 2353},
    86           {Full, 16}, {Mixed, 1}, {Empty, 28719}},
    87          {0x3e7effbf, 0xbe7effbf, 0xfffcffff, 0x7ef1ff3f, 0xfff3f1f8,
    88           0x7fffff3f, 0x00018003, 0xdfffe000, 0xff31ffcf, 0xcfffffff,
    89           0x000fffc0, 0x0000001b, 0x40100000, 0x0001d7e0, 0x0001fc00,
    90           0x00187c00, 0x0200708b, 0x02000000, 0x708b0000, 0x00c00000,
    91           0xfccf0006, 0x033ffcfc, 0x0000007c, 0x00080005, 0x00120200,
    92           0xff000000, 0xb0001800, 0x00480000, 0x4e000000, 0x30001900,
    93           0x00100000, 0x00001c00, 0x00000100, 0x00000d81, 0x00001c00,
    94           0x74000000, 0x10842008, 0x01680200, 0x20080002, 0x02001084,
    95           0x00000040, 0x00045540, 0x28000000, 0x0000000b, 0x0bffffff,
    96           0x03ffffff, 0x3f3fffff, 0xaaff3f3f, 0x3fffffff, 0x5fdfffff,
    97           0xefcfffde, 0x3fdcffff, 0x00000003, 0x00000c40, 0x0c000000,
    98           0x00004000, 0x0000e000, 0x00001210, 0x00000050, 0x00000292,
    99           0x0333e005, 0x00000333, 0x0000f000, 0x00003c0f, 0x00000600,
    100           0x10000000, 0x55555000, 0x36db02a5, 0x40100000, 0x55555000,
    101           0x36db02a5, 0x47900000, 0x0000000f, 0x7fe53fff, 0xfffffc65,
    102           0xffff3fff, 0x03ffffff, 0xa0000000, 0x5f7ffc00, 0x00007fdb,
    103           0x14000000, 0x00000800, 0x0000c000, 0x00001800, 0x58000000,
    104           0x0c000000, 0xc0000000, 0x0000001f, 0xf8000000, 0x00000001,
    105           0x3fffffff}};
    106     /** Code Point Ranges for Com
    107     [168, 168], [175, 175], [180, 181], [184, 184], [306, 307], [319, 320],
    108     [329, 329], [383, 383], [452, 460], [497, 499], [728, 733], [890, 890],
    109     [900, 900], [976, 978], [981, 982], [1008, 1010], [1012, 1013],
    110     [1017, 1017], [1415, 1415], [1653, 1656], [3635, 3635], [3763, 3763],
    111     [3804, 3805], [3959, 3959], [3961, 3961], [7834, 7834], [8125, 8125],
    112     [8127, 8128], [8190, 8190], [8194, 8198], [8200, 8202], [8215, 8215],
    113     [8228, 8230], [8243, 8244], [8246, 8247], [8252, 8252], [8254, 8254],
    114     [8263, 8265], [8279, 8279], [8287, 8287], [8360, 8360], [8448, 8449],
    115     [8451, 8451], [8453, 8455], [8457, 8457], [8470, 8470], [8481, 8481],
    116     [8501, 8504], [8507, 8507], [8544, 8575], [8748, 8749], [8751, 8752],
    117     [9332, 9397], [10764, 10764], [10868, 10870], [11935, 11935],
    118     [12019, 12019], [12032, 12245], [12342, 12342], [12344, 12346],
    119     [12443, 12444], [12593, 12686], [12800, 12830], [12832, 12867],
    120     [12992, 13003], [13144, 13168], [13280, 13310], [64256, 64262],
    121     [64275, 64279], [64335, 64335], [65097, 65103], [127232, 127242],
    122     [127248, 127274], [127552, 127560]**/
    123     const UnicodeSet com_Set
    124         {{{Empty, 5}, {Mixed, 1}, {Empty, 3}, {Mixed, 3}, {Empty, 2},
    125           {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 4}, {Mixed, 2},
    126           {Empty, 1}, {Mixed, 2}, {Empty, 12}, {Mixed, 1}, {Empty, 6},
    127           {Mixed, 1}, {Empty, 61}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
    128           {Empty, 4}, {Mixed, 1}, {Empty, 120}, {Mixed, 1}, {Empty, 8},
    129           {Mixed, 6}, {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
    130           {Empty, 1}, {Full, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 17},
    131           {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 42}, {Mixed, 1},
    132           {Empty, 2}, {Mixed, 1}, {Empty, 32}, {Mixed, 1}, {Empty, 2},
    133           {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
    134           {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Full, 2},
    135           {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
    136           {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 3},
    137           {Mixed, 1}, {Empty, 1592}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
    138           {Empty, 23}, {Mixed, 1}, {Empty, 1941}, {Mixed, 2}, {Empty, 8},
    139           {Mixed, 1}, {Empty, 30829}},
    140          {0x01308100, 0x800c0000, 0x00000201, 0x80000000, 0x00001ff0,
    141           0x000e0000, 0x3f000000, 0x04000000, 0x00000010, 0x00670000,
    142           0x02370000, 0x00000080, 0x01e00000, 0x00080000, 0x00080000,
    143           0x30000000, 0x02800000, 0x04000000, 0xa0000000, 0x00000001,
    144           0x40000000, 0x0080077c, 0x50d80070, 0x80800380, 0x00000100,
    145           0x004002eb, 0x09e00002, 0x0001b000, 0xfff00000, 0x003fffff,
    146           0x00001000, 0x00700000, 0x80000000, 0x00080000, 0x003fffff,
    147           0x07400000, 0x18000000, 0xfffe0000, 0x00007fff, 0x7fffffff,
    148           0x0000000f, 0x00000fff, 0xff000000, 0x0001ffff, 0x7fffffff,
    149           0x00f8007f, 0x00008000, 0x0000fe00, 0xffff07ff, 0x000007ff,
    150           0x000001ff}};
    151     /** Code Point Ranges for Enc
    152     [9312, 9331], [9398, 9450], [12868, 12871], [12881, 12926],
    153     [12928, 12991], [13008, 13054], [127275, 127278], [127568, 127569]**/
    154     const UnicodeSet enc_Set
    155         {{{Empty, 291}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1},
    156           {Mixed, 1}, {Empty, 106}, {Mixed, 2}, {Full, 2}, {Mixed, 2},
    157           {Empty, 3569}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 30829}},
    158          {0x000fffff, 0xffc00000, 0x000007ff, 0xfffe00f0, 0x7fffffff,
    159           0xffff0000, 0x7fffffff, 0x00007800, 0x00030000}};
    160     /** Code Point Ranges for Fin
    161     [64337, 64337], [64339, 64339], [64343, 64343], [64347, 64347],
    162     [64351, 64351], [64355, 64355], [64359, 64359], [64363, 64363],
    163     [64367, 64367], [64371, 64371], [64375, 64375], [64379, 64379],
    164     [64383, 64383], [64387, 64387], [64389, 64389], [64391, 64391],
    165     [64393, 64393], [64395, 64395], [64397, 64397], [64399, 64399],
    166     [64403, 64403], [64407, 64407], [64411, 64411], [64415, 64415],
    167     [64417, 64417], [64421, 64421], [64423, 64423], [64427, 64427],
    168     [64431, 64431], [64433, 64433], [64468, 64468], [64472, 64472],
    169     [64474, 64474], [64476, 64476], [64479, 64479], [64481, 64481],
    170     [64483, 64483], [64485, 64485], [64491, 64491], [64493, 64493],
    171     [64495, 64495], [64497, 64497], [64499, 64499], [64501, 64501],
    172     [64503, 64503], [64506, 64506], [64509, 64509], [64612, 64662],
    173     [64785, 64812], [64828, 64828], [64849, 64849], [64856, 64856],
    174     [64858, 64859], [64862, 64863], [64866, 64866], [64868, 64868],
    175     [64870, 64871], [64873, 64874], [64876, 64876], [64878, 64879],
    176     [64881, 64881], [64884, 64886], [64888, 64892], [64894, 64898],
    177     [64900, 64901], [64903, 64903], [64907, 64907], [64918, 64919],
    178     [64921, 64924], [64926, 64947], [64950, 64951], [64953, 64953],
    179     [64955, 64962], [64966, 64967], [65154, 65154], [65156, 65156],
    180     [65158, 65158], [65160, 65160], [65162, 65162], [65166, 65166],
    181     [65168, 65168], [65172, 65172], [65174, 65174], [65178, 65178],
    182     [65182, 65182], [65186, 65186], [65190, 65190], [65194, 65194],
    183     [65196, 65196], [65198, 65198], [65200, 65200], [65202, 65202],
    184     [65206, 65206], [65210, 65210], [65214, 65214], [65218, 65218],
    185     [65222, 65222], [65226, 65226], [65230, 65230], [65234, 65234],
    186     [65238, 65238], [65242, 65242], [65246, 65246], [65250, 65250],
    187     [65254, 65254], [65258, 65258], [65262, 65262], [65264, 65264],
    188     [65266, 65266], [65270, 65270], [65272, 65272], [65274, 65274],
    189     [65276, 65276]**/
    190     const UnicodeSet fin_Set
    191         {{{Empty, 2010}, {Mixed, 6}, {Empty, 3}, {Mixed, 2}, {Empty, 3},
    192           {Mixed, 7}, {Empty, 5}, {Mixed, 4}, {Empty, 32776}},
    193          {0x888a0000, 0x88888888, 0x8888aaa8, 0x000288a2, 0x95100000,
    194           0x24aaa82a, 0xfffffff0, 0x007fffff, 0xfffe0000, 0x10001fff,
    195           0xcd020000, 0xdf72d6d4, 0xdec008b7, 0xfacfffff, 0x000000c7,
    196           0x44514554, 0x44455444, 0x44444444, 0x15454444}};
    197     /** Code Point Ranges for Font
    198     [8450, 8450], [8458, 8467], [8469, 8469], [8473, 8477], [8484, 8484],
    199     [8488, 8488], [8492, 8493], [8495, 8497], [8499, 8500], [8505, 8505],
    200     [8508, 8512], [8517, 8521], [64288, 64297], [119808, 119892],
    201     [119894, 119964], [119966, 119967], [119970, 119970], [119973, 119974],
    202     [119977, 119980], [119982, 119993], [119995, 119995], [119997, 120003],
    203     [120005, 120069], [120071, 120074], [120077, 120084], [120086, 120092],
    204     [120094, 120121], [120123, 120126], [120128, 120132], [120134, 120134],
    205     [120138, 120144], [120146, 120485], [120488, 120779], [120782, 120831],
    206     [126464, 126467], [126469, 126495], [126497, 126498], [126500, 126500],
    207     [126503, 126503], [126505, 126514], [126516, 126519], [126521, 126521],
    208     [126523, 126523], [126530, 126530], [126535, 126535], [126537, 126537],
    209     [126539, 126539], [126541, 126543], [126545, 126546], [126548, 126548],
    210     [126551, 126551], [126553, 126553], [126555, 126555], [126557, 126557],
    211     [126559, 126559], [126561, 126562], [126564, 126564], [126567, 126570],
    212     [126572, 126578], [126580, 126583], [126585, 126588], [126590, 126590],
    213     [126592, 126601], [126603, 126619], [126625, 126627], [126629, 126633],
    214     [126635, 126651]**/
    215     const UnicodeSet font_Set
    216         {{{Empty, 264}, {Mixed, 3}, {Empty, 1742}, {Mixed, 1},
    217           {Empty, 1734}, {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
    218           {Full, 1}, {Mixed, 3}, {Full, 10}, {Mixed, 1}, {Full, 8},
    219           {Mixed, 1}, {Full, 1}, {Empty, 176}, {Mixed, 6}, {Empty, 30858}},
    220          {0x3e2ffc04, 0xf21bb110, 0x000003e1, 0x000003ff, 0xffdfffff,
    221           0xdfffffff, 0xebffde64, 0xffffffef, 0xdfdfe7bf, 0x7bffffff,
    222           0xfffdfc5f, 0xffffff3f, 0xffffcfff, 0xffffffef, 0x0af7fe96,
    223           0xaa96ea84, 0x5ef7f796, 0x0ffffbff, 0x0ffffbee}};
    224     /** Code Point Ranges for Fra
    225     [188, 190], [8528, 8543], [8585, 8585]**/
    226     const UnicodeSet fra_Set
    227         {{{Empty, 5}, {Mixed, 1}, {Empty, 260}, {Mixed, 1}, {Empty, 1},
    228           {Mixed, 1}, {Empty, 34547}},
    229          {0x70000000, 0xffff0000, 0x00000200}};
    230     /** Code Point Ranges for Init
    231     [64340, 64340], [64344, 64344], [64348, 64348], [64352, 64352],
    232     [64356, 64356], [64360, 64360], [64364, 64364], [64368, 64368],
    233     [64372, 64372], [64376, 64376], [64380, 64380], [64384, 64384],
    234     [64400, 64400], [64404, 64404], [64408, 64408], [64412, 64412],
    235     [64418, 64418], [64424, 64424], [64428, 64428], [64469, 64469],
    236     [64486, 64486], [64488, 64488], [64504, 64504], [64507, 64507],
    237     [64510, 64510], [64663, 64734], [64813, 64819], [64848, 64848],
    238     [64850, 64855], [64857, 64857], [64860, 64861], [64864, 64865],
    239     [64867, 64867], [64869, 64869], [64872, 64872], [64875, 64875],
    240     [64877, 64877], [64880, 64880], [64882, 64883], [64887, 64887],
    241     [64893, 64893], [64899, 64899], [64902, 64902], [64904, 64906],
    242     [64908, 64911], [64914, 64917], [64920, 64920], [64925, 64925],
    243     [64948, 64949], [64952, 64952], [64954, 64954], [64963, 64965],
    244     [65163, 65163], [65169, 65169], [65175, 65175], [65179, 65179],
    245     [65183, 65183], [65187, 65187], [65191, 65191], [65203, 65203],
    246     [65207, 65207], [65211, 65211], [65215, 65215], [65219, 65219],
    247     [65223, 65223], [65227, 65227], [65231, 65231], [65235, 65235],
    248     [65239, 65239], [65243, 65243], [65247, 65247], [65251, 65251],
    249     [65255, 65255], [65259, 65259], [65267, 65267]**/
    250     const UnicodeSet init_Set
    251         {{{Empty, 2010}, {Mixed, 6}, {Empty, 4}, {Mixed, 1}, {Full, 1},
    252           {Mixed, 1}, {Empty, 2}, {Mixed, 6}, {Empty, 5}, {Mixed, 4},
    253           {Empty, 32776}},
    254          {0x11100000, 0x11111111, 0x11110001, 0x00001104, 0x00200000,
    255           0x49000140, 0xff800000, 0x7fffffff, 0x000fe000, 0x32fd0000,
    256           0x208d292b, 0x213cf748, 0x05300000, 0x00000038, 0x88820800,
    257           0x88880088, 0x88888888, 0x00080888}};
    258     /** Code Point Ranges for Iso
    259     [64336, 64336], [64338, 64338], [64342, 64342], [64346, 64346],
    260     [64350, 64350], [64354, 64354], [64358, 64358], [64362, 64362],
    261     [64366, 64366], [64370, 64370], [64374, 64374], [64378, 64378],
    262     [64382, 64382], [64386, 64386], [64388, 64388], [64390, 64390],
    263     [64392, 64392], [64394, 64394], [64396, 64396], [64398, 64398],
    264     [64402, 64402], [64406, 64406], [64410, 64410], [64414, 64414],
    265     [64416, 64416], [64420, 64420], [64422, 64422], [64426, 64426],
    266     [64430, 64430], [64432, 64432], [64467, 64467], [64471, 64471],
    267     [64473, 64473], [64475, 64475], [64477, 64478], [64480, 64480],
    268     [64482, 64482], [64484, 64484], [64490, 64490], [64492, 64492],
    269     [64494, 64494], [64496, 64496], [64498, 64498], [64500, 64500],
    270     [64502, 64502], [64505, 64505], [64508, 64508], [64512, 64611],
    271     [64757, 64784], [64829, 64829], [65008, 65020], [65136, 65136],
    272     [65138, 65138], [65140, 65140], [65142, 65142], [65144, 65144],
    273     [65146, 65146], [65148, 65148], [65150, 65150], [65152, 65153],
    274     [65155, 65155], [65157, 65157], [65159, 65159], [65161, 65161],
    275     [65165, 65165], [65167, 65167], [65171, 65171], [65173, 65173],
    276     [65177, 65177], [65181, 65181], [65185, 65185], [65189, 65189],
    277     [65193, 65193], [65195, 65195], [65197, 65197], [65199, 65199],
    278     [65201, 65201], [65205, 65205], [65209, 65209], [65213, 65213],
    279     [65217, 65217], [65221, 65221], [65225, 65225], [65229, 65229],
    280     [65233, 65233], [65237, 65237], [65241, 65241], [65245, 65245],
    281     [65249, 65249], [65253, 65253], [65257, 65257], [65261, 65261],
    282     [65263, 65263], [65265, 65265], [65269, 65269], [65271, 65271],
    283     [65273, 65273], [65275, 65275]**/
    284     const UnicodeSet iso_Set
    285         {{{Empty, 2010}, {Mixed, 6}, {Full, 3}, {Mixed, 1}, {Empty, 3},
    286           {Mixed, 3}, {Empty, 5}, {Mixed, 1}, {Empty, 3}, {Mixed, 5},
    287           {Empty, 32776}},
    288          {0x44450000, 0x44444444, 0x44445554, 0x00014451, 0x6a880000,
    289           0x12555415, 0x0000000f, 0xffe00000, 0x0001ffff, 0x20000000,
    290           0x1fff0000, 0x55550000, 0x2228a2ab, 0x2222aa22, 0x22222222,
    291           0x0aa2a222}};
    292     /** Code Point Ranges for Med
    293     [64341, 64341], [64345, 64345], [64349, 64349], [64353, 64353],
    294     [64357, 64357], [64361, 64361], [64365, 64365], [64369, 64369],
    295     [64373, 64373], [64377, 64377], [64381, 64381], [64385, 64385],
    296     [64401, 64401], [64405, 64405], [64409, 64409], [64413, 64413],
    297     [64419, 64419], [64425, 64425], [64429, 64429], [64470, 64470],
    298     [64487, 64487], [64489, 64489], [64511, 64511], [64735, 64756],
    299     [64820, 64827], [65137, 65137], [65143, 65143], [65145, 65145],
    300     [65147, 65147], [65149, 65149], [65151, 65151], [65164, 65164],
    301     [65170, 65170], [65176, 65176], [65180, 65180], [65184, 65184],
    302     [65188, 65188], [65192, 65192], [65204, 65204], [65208, 65208],
    303     [65212, 65212], [65216, 65216], [65220, 65220], [65224, 65224],
    304     [65228, 65228], [65232, 65232], [65236, 65236], [65240, 65240],
    305     [65244, 65244], [65248, 65248], [65252, 65252], [65256, 65256],
    306     [65260, 65260], [65268, 65268]**/
    307     const UnicodeSet med_Set
    308         {{{Empty, 2010}, {Mixed, 6}, {Empty, 6}, {Mixed, 2}, {Empty, 1},
    309           {Mixed, 1}, {Empty, 9}, {Mixed, 5}, {Empty, 32776}},
    310          {0x22200000, 0x22222222, 0x22220002, 0x00002208, 0x00400000,
    311           0x80000280, 0x80000000, 0x001fffff, 0x0ff00000, 0xaa820000,
    312           0x11041000, 0x11100111, 0x11111111, 0x00101111}};
    313     /** Code Point Ranges for Nar
    314     [65377, 65470], [65474, 65479], [65482, 65487], [65490, 65495],
    315     [65498, 65500], [65512, 65518]**/
    316     const UnicodeSet nar_Set
    317         {{{Empty, 2043}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 32768}},
    318          {0xfffffffe, 0x7fffffff, 0x1cfcfcfc, 0x00007f00}};
    319     /** Code Point Ranges for Nb
    320     [160, 160], [3852, 3852], [8199, 8199], [8209, 8209], [8239, 8239]**/
    321     const UnicodeSet nb_Set
    322         {{{Empty, 5}, {Mixed, 1}, {Empty, 114}, {Mixed, 1}, {Empty, 135},
    323           {Mixed, 2}, {Empty, 34558}},
    324          {0x00000001, 0x00001000, 0x00020080, 0x00008000}};
    32517    /** Code Point Ranges for None
    32618    [0, 159], [161, 167], [169, 169], [171, 174], [176, 177], [182, 183],
     
    481173          0x00008000, 0xffff0000, 0xfffff3ff, 0xfffeffff, 0x0000fff8,
    482174          0xf0000000, 0xfffcfe00, 0xc0000000}};
    483     /** Code Point Ranges for Sml
    484     [65104, 65106], [65108, 65126], [65128, 65131]**/
    485     const UnicodeSet sml_Set
    486         {{{Empty, 2034}, {Mixed, 2}, {Empty, 32780}},
    487          {0xfff70000, 0x00000f7f}};
    488     /** Code Point Ranges for Sqr
    489     [12880, 12880], [13004, 13007], [13056, 13143], [13169, 13279],
    490     [13311, 13311], [127280, 127311], [127376, 127376], [127488, 127490],
    491     [127504, 127547]**/
    492     const UnicodeSet sqr_Set
    493         {{{Empty, 402}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
    494           {Full, 2}, {Mixed, 2}, {Full, 3}, {Mixed, 1}, {Empty, 3561},
    495           {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
    496           {Empty, 30830}},
    497          {0x00010000, 0x0000f000, 0x00ffffff, 0xfffe0000, 0x80000000,
    498           0xffff0000, 0x0000ffff, 0x00010000, 0xffff0007, 0x0fffffff}};
    499     /** Code Point Ranges for Sub
    500     [7522, 7530], [8320, 8334], [8336, 8348], [11388, 11388]**/
    501     const UnicodeSet sub_Set
    502         {{{Empty, 235}, {Mixed, 1}, {Empty, 24}, {Mixed, 1}, {Empty, 94},
    503           {Mixed, 1}, {Empty, 34460}},
    504          {0x000007fc, 0x1fff7fff, 0x10000000}};
     175    /** Code Point Ranges for Can
     176    [192, 197], [199, 207], [209, 214], [217, 221], [224, 229], [231, 239],
     177    [241, 246], [249, 253], [255, 271], [274, 293], [296, 304], [308, 311],
     178    [313, 318], [323, 328], [332, 337], [340, 357], [360, 382], [416, 417],
     179    [431, 432], [461, 476], [478, 483], [486, 496], [500, 501], [504, 539],
     180    [542, 543], [550, 563], [832, 833], [835, 836], [884, 884], [894, 894],
     181    [901, 906], [908, 908], [910, 912], [938, 944], [970, 974], [979, 980],
     182    [1024, 1025], [1027, 1027], [1031, 1031], [1036, 1038], [1049, 1049],
     183    [1081, 1081], [1104, 1105], [1107, 1107], [1111, 1111], [1116, 1118],
     184    [1142, 1143], [1217, 1218], [1232, 1235], [1238, 1239], [1242, 1247],
     185    [1250, 1255], [1258, 1269], [1272, 1273], [1570, 1574], [1728, 1728],
     186    [1730, 1730], [1747, 1747], [2345, 2345], [2353, 2353], [2356, 2356],
     187    [2392, 2399], [2507, 2508], [2524, 2525], [2527, 2527], [2611, 2611],
     188    [2614, 2614], [2649, 2651], [2654, 2654], [2888, 2888], [2891, 2892],
     189    [2908, 2909], [2964, 2964], [3018, 3020], [3144, 3144], [3264, 3264],
     190    [3271, 3272], [3274, 3275], [3402, 3404], [3546, 3546], [3548, 3550],
     191    [3907, 3907], [3917, 3917], [3922, 3922], [3927, 3927], [3932, 3932],
     192    [3945, 3945], [3955, 3955], [3957, 3958], [3960, 3960], [3969, 3969],
     193    [3987, 3987], [3997, 3997], [4002, 4002], [4007, 4007], [4012, 4012],
     194    [4025, 4025], [4134, 4134], [6918, 6918], [6920, 6920], [6922, 6922],
     195    [6924, 6924], [6926, 6926], [6930, 6930], [6971, 6971], [6973, 6973],
     196    [6976, 6977], [6979, 6979], [7680, 7833], [7835, 7835], [7840, 7929],
     197    [7936, 7957], [7960, 7965], [7968, 8005], [8008, 8013], [8016, 8023],
     198    [8025, 8025], [8027, 8027], [8029, 8029], [8031, 8061], [8064, 8116],
     199    [8118, 8124], [8126, 8126], [8129, 8132], [8134, 8147], [8150, 8155],
     200    [8157, 8175], [8178, 8180], [8182, 8189], [8192, 8193], [8486, 8486],
     201    [8490, 8491], [8602, 8603], [8622, 8622], [8653, 8655], [8708, 8708],
     202    [8713, 8713], [8716, 8716], [8740, 8740], [8742, 8742], [8769, 8769],
     203    [8772, 8772], [8775, 8775], [8777, 8777], [8800, 8800], [8802, 8802],
     204    [8813, 8817], [8820, 8821], [8824, 8825], [8832, 8833], [8836, 8837],
     205    [8840, 8841], [8876, 8879], [8928, 8931], [8938, 8941], [9001, 9002],
     206    [10972, 10972], [12364, 12364], [12366, 12366], [12368, 12368],
     207    [12370, 12370], [12372, 12372], [12374, 12374], [12376, 12376],
     208    [12378, 12378], [12380, 12380], [12382, 12382], [12384, 12384],
     209    [12386, 12386], [12389, 12389], [12391, 12391], [12393, 12393],
     210    [12400, 12401], [12403, 12404], [12406, 12407], [12409, 12410],
     211    [12412, 12413], [12436, 12436], [12446, 12446], [12460, 12460],
     212    [12462, 12462], [12464, 12464], [12466, 12466], [12468, 12468],
     213    [12470, 12470], [12472, 12472], [12474, 12474], [12476, 12476],
     214    [12478, 12478], [12480, 12480], [12482, 12482], [12485, 12485],
     215    [12487, 12487], [12489, 12489], [12496, 12497], [12499, 12500],
     216    [12502, 12503], [12505, 12506], [12508, 12509], [12532, 12532],
     217    [12535, 12538], [12542, 12542], [44032, 55203], [63744, 64013],
     218    [64016, 64016], [64018, 64018], [64021, 64030], [64032, 64032],
     219    [64034, 64034], [64037, 64038], [64042, 64109], [64112, 64217],
     220    [64285, 64285], [64287, 64287], [64298, 64310], [64312, 64316],
     221    [64318, 64318], [64320, 64321], [64323, 64324], [64326, 64334],
     222    [69786, 69786], [69788, 69788], [69803, 69803], [69934, 69935],
     223    [70475, 70476], [70843, 70844], [70846, 70846], [71098, 71099],
     224    [119134, 119140], [119227, 119232], [194560, 195101]**/
     225    const UnicodeSet can_Set
     226        {{{Empty, 6}, {Mixed, 6}, {Empty, 1}, {Mixed, 5}, {Empty, 8},
     227          {Mixed, 5}, {Empty, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 2},
     228          {Empty, 9}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 18},
     229          {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
     230          {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
     231          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
     232          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 11},
     233          {Mixed, 4}, {Empty, 3}, {Mixed, 1}, {Empty, 86}, {Mixed, 3},
     234          {Empty, 21}, {Full, 4}, {Mixed, 1}, {Full, 2}, {Mixed, 2},
     235          {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 4}, {Empty, 8},
     236          {Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 6},
     237          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 60},
     238          {Mixed, 1}, {Empty, 43}, {Mixed, 6}, {Empty, 984}, {Full, 349},
     239          {Mixed, 1}, {Empty, 266}, {Full, 8}, {Mixed, 2}, {Full, 1},
     240          {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
     241          {Empty, 169}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 16},
     242          {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
     243          {Empty, 1500}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 2353},
     244          {Full, 16}, {Mixed, 1}, {Empty, 28719}},
     245         {0x3e7effbf, 0xbe7effbf, 0xfffcffff, 0x7ef1ff3f, 0xfff3f1f8,
     246          0x7fffff3f, 0x00018003, 0xdfffe000, 0xff31ffcf, 0xcfffffff,
     247          0x000fffc0, 0x0000001b, 0x40100000, 0x0001d7e0, 0x0001fc00,
     248          0x00187c00, 0x0200708b, 0x02000000, 0x708b0000, 0x00c00000,
     249          0xfccf0006, 0x033ffcfc, 0x0000007c, 0x00080005, 0x00120200,
     250          0xff000000, 0xb0001800, 0x00480000, 0x4e000000, 0x30001900,
     251          0x00100000, 0x00001c00, 0x00000100, 0x00000d81, 0x00001c00,
     252          0x74000000, 0x10842008, 0x01680200, 0x20080002, 0x02001084,
     253          0x00000040, 0x00045540, 0x28000000, 0x0000000b, 0x0bffffff,
     254          0x03ffffff, 0x3f3fffff, 0xaaff3f3f, 0x3fffffff, 0x5fdfffff,
     255          0xefcfffde, 0x3fdcffff, 0x00000003, 0x00000c40, 0x0c000000,
     256          0x00004000, 0x0000e000, 0x00001210, 0x00000050, 0x00000292,
     257          0x0333e005, 0x00000333, 0x0000f000, 0x00003c0f, 0x00000600,
     258          0x10000000, 0x55555000, 0x36db02a5, 0x40100000, 0x55555000,
     259          0x36db02a5, 0x47900000, 0x0000000f, 0x7fe53fff, 0xfffffc65,
     260          0xffff3fff, 0x03ffffff, 0xa0000000, 0x5f7ffc00, 0x00007fdb,
     261          0x14000000, 0x00000800, 0x0000c000, 0x00001800, 0x58000000,
     262          0x0c000000, 0xc0000000, 0x0000001f, 0xf8000000, 0x00000001,
     263          0x3fffffff}};
     264    /** Code Point Ranges for Com
     265    [168, 168], [175, 175], [180, 181], [184, 184], [306, 307], [319, 320],
     266    [329, 329], [383, 383], [452, 460], [497, 499], [728, 733], [890, 890],
     267    [900, 900], [976, 978], [981, 982], [1008, 1010], [1012, 1013],
     268    [1017, 1017], [1415, 1415], [1653, 1656], [3635, 3635], [3763, 3763],
     269    [3804, 3805], [3959, 3959], [3961, 3961], [7834, 7834], [8125, 8125],
     270    [8127, 8128], [8190, 8190], [8194, 8198], [8200, 8202], [8215, 8215],
     271    [8228, 8230], [8243, 8244], [8246, 8247], [8252, 8252], [8254, 8254],
     272    [8263, 8265], [8279, 8279], [8287, 8287], [8360, 8360], [8448, 8449],
     273    [8451, 8451], [8453, 8455], [8457, 8457], [8470, 8470], [8481, 8481],
     274    [8501, 8504], [8507, 8507], [8544, 8575], [8748, 8749], [8751, 8752],
     275    [9332, 9397], [10764, 10764], [10868, 10870], [11935, 11935],
     276    [12019, 12019], [12032, 12245], [12342, 12342], [12344, 12346],
     277    [12443, 12444], [12593, 12686], [12800, 12830], [12832, 12867],
     278    [12992, 13003], [13144, 13168], [13280, 13310], [64256, 64262],
     279    [64275, 64279], [64335, 64335], [65097, 65103], [127232, 127242],
     280    [127248, 127274], [127552, 127560]**/
     281    const UnicodeSet com_Set
     282        {{{Empty, 5}, {Mixed, 1}, {Empty, 3}, {Mixed, 3}, {Empty, 2},
     283          {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 4}, {Mixed, 2},
     284          {Empty, 1}, {Mixed, 2}, {Empty, 12}, {Mixed, 1}, {Empty, 6},
     285          {Mixed, 1}, {Empty, 61}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
     286          {Empty, 4}, {Mixed, 1}, {Empty, 120}, {Mixed, 1}, {Empty, 8},
     287          {Mixed, 6}, {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
     288          {Empty, 1}, {Full, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 17},
     289          {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 42}, {Mixed, 1},
     290          {Empty, 2}, {Mixed, 1}, {Empty, 32}, {Mixed, 1}, {Empty, 2},
     291          {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
     292          {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Full, 2},
     293          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
     294          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 3},
     295          {Mixed, 1}, {Empty, 1592}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
     296          {Empty, 23}, {Mixed, 1}, {Empty, 1941}, {Mixed, 2}, {Empty, 8},
     297          {Mixed, 1}, {Empty, 30829}},
     298         {0x01308100, 0x800c0000, 0x00000201, 0x80000000, 0x00001ff0,
     299          0x000e0000, 0x3f000000, 0x04000000, 0x00000010, 0x00670000,
     300          0x02370000, 0x00000080, 0x01e00000, 0x00080000, 0x00080000,
     301          0x30000000, 0x02800000, 0x04000000, 0xa0000000, 0x00000001,
     302          0x40000000, 0x0080077c, 0x50d80070, 0x80800380, 0x00000100,
     303          0x004002eb, 0x09e00002, 0x0001b000, 0xfff00000, 0x003fffff,
     304          0x00001000, 0x00700000, 0x80000000, 0x00080000, 0x003fffff,
     305          0x07400000, 0x18000000, 0xfffe0000, 0x00007fff, 0x7fffffff,
     306          0x0000000f, 0x00000fff, 0xff000000, 0x0001ffff, 0x7fffffff,
     307          0x00f8007f, 0x00008000, 0x0000fe00, 0xffff07ff, 0x000007ff,
     308          0x000001ff}};
     309    /** Code Point Ranges for Font
     310    [8450, 8450], [8458, 8467], [8469, 8469], [8473, 8477], [8484, 8484],
     311    [8488, 8488], [8492, 8493], [8495, 8497], [8499, 8500], [8505, 8505],
     312    [8508, 8512], [8517, 8521], [64288, 64297], [119808, 119892],
     313    [119894, 119964], [119966, 119967], [119970, 119970], [119973, 119974],
     314    [119977, 119980], [119982, 119993], [119995, 119995], [119997, 120003],
     315    [120005, 120069], [120071, 120074], [120077, 120084], [120086, 120092],
     316    [120094, 120121], [120123, 120126], [120128, 120132], [120134, 120134],
     317    [120138, 120144], [120146, 120485], [120488, 120779], [120782, 120831],
     318    [126464, 126467], [126469, 126495], [126497, 126498], [126500, 126500],
     319    [126503, 126503], [126505, 126514], [126516, 126519], [126521, 126521],
     320    [126523, 126523], [126530, 126530], [126535, 126535], [126537, 126537],
     321    [126539, 126539], [126541, 126543], [126545, 126546], [126548, 126548],
     322    [126551, 126551], [126553, 126553], [126555, 126555], [126557, 126557],
     323    [126559, 126559], [126561, 126562], [126564, 126564], [126567, 126570],
     324    [126572, 126578], [126580, 126583], [126585, 126588], [126590, 126590],
     325    [126592, 126601], [126603, 126619], [126625, 126627], [126629, 126633],
     326    [126635, 126651]**/
     327    const UnicodeSet font_Set
     328        {{{Empty, 264}, {Mixed, 3}, {Empty, 1742}, {Mixed, 1},
     329          {Empty, 1734}, {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
     330          {Full, 1}, {Mixed, 3}, {Full, 10}, {Mixed, 1}, {Full, 8},
     331          {Mixed, 1}, {Full, 1}, {Empty, 176}, {Mixed, 6}, {Empty, 30858}},
     332         {0x3e2ffc04, 0xf21bb110, 0x000003e1, 0x000003ff, 0xffdfffff,
     333          0xdfffffff, 0xebffde64, 0xffffffef, 0xdfdfe7bf, 0x7bffffff,
     334          0xfffdfc5f, 0xffffff3f, 0xffffcfff, 0xffffffef, 0x0af7fe96,
     335          0xaa96ea84, 0x5ef7f796, 0x0ffffbff, 0x0ffffbee}};
     336    /** Code Point Ranges for Nb
     337    [160, 160], [3852, 3852], [8199, 8199], [8209, 8209], [8239, 8239]**/
     338    const UnicodeSet nb_Set
     339        {{{Empty, 5}, {Mixed, 1}, {Empty, 114}, {Mixed, 1}, {Empty, 135},
     340          {Mixed, 2}, {Empty, 34558}},
     341         {0x00000001, 0x00001000, 0x00020080, 0x00008000}};
     342    /** Code Point Ranges for Init
     343    [64340, 64340], [64344, 64344], [64348, 64348], [64352, 64352],
     344    [64356, 64356], [64360, 64360], [64364, 64364], [64368, 64368],
     345    [64372, 64372], [64376, 64376], [64380, 64380], [64384, 64384],
     346    [64400, 64400], [64404, 64404], [64408, 64408], [64412, 64412],
     347    [64418, 64418], [64424, 64424], [64428, 64428], [64469, 64469],
     348    [64486, 64486], [64488, 64488], [64504, 64504], [64507, 64507],
     349    [64510, 64510], [64663, 64734], [64813, 64819], [64848, 64848],
     350    [64850, 64855], [64857, 64857], [64860, 64861], [64864, 64865],
     351    [64867, 64867], [64869, 64869], [64872, 64872], [64875, 64875],
     352    [64877, 64877], [64880, 64880], [64882, 64883], [64887, 64887],
     353    [64893, 64893], [64899, 64899], [64902, 64902], [64904, 64906],
     354    [64908, 64911], [64914, 64917], [64920, 64920], [64925, 64925],
     355    [64948, 64949], [64952, 64952], [64954, 64954], [64963, 64965],
     356    [65163, 65163], [65169, 65169], [65175, 65175], [65179, 65179],
     357    [65183, 65183], [65187, 65187], [65191, 65191], [65203, 65203],
     358    [65207, 65207], [65211, 65211], [65215, 65215], [65219, 65219],
     359    [65223, 65223], [65227, 65227], [65231, 65231], [65235, 65235],
     360    [65239, 65239], [65243, 65243], [65247, 65247], [65251, 65251],
     361    [65255, 65255], [65259, 65259], [65267, 65267]**/
     362    const UnicodeSet init_Set
     363        {{{Empty, 2010}, {Mixed, 6}, {Empty, 4}, {Mixed, 1}, {Full, 1},
     364          {Mixed, 1}, {Empty, 2}, {Mixed, 6}, {Empty, 5}, {Mixed, 4},
     365          {Empty, 32776}},
     366         {0x11100000, 0x11111111, 0x11110001, 0x00001104, 0x00200000,
     367          0x49000140, 0xff800000, 0x7fffffff, 0x000fe000, 0x32fd0000,
     368          0x208d292b, 0x213cf748, 0x05300000, 0x00000038, 0x88820800,
     369          0x88880088, 0x88888888, 0x00080888}};
     370    /** Code Point Ranges for Med
     371    [64341, 64341], [64345, 64345], [64349, 64349], [64353, 64353],
     372    [64357, 64357], [64361, 64361], [64365, 64365], [64369, 64369],
     373    [64373, 64373], [64377, 64377], [64381, 64381], [64385, 64385],
     374    [64401, 64401], [64405, 64405], [64409, 64409], [64413, 64413],
     375    [64419, 64419], [64425, 64425], [64429, 64429], [64470, 64470],
     376    [64487, 64487], [64489, 64489], [64511, 64511], [64735, 64756],
     377    [64820, 64827], [65137, 65137], [65143, 65143], [65145, 65145],
     378    [65147, 65147], [65149, 65149], [65151, 65151], [65164, 65164],
     379    [65170, 65170], [65176, 65176], [65180, 65180], [65184, 65184],
     380    [65188, 65188], [65192, 65192], [65204, 65204], [65208, 65208],
     381    [65212, 65212], [65216, 65216], [65220, 65220], [65224, 65224],
     382    [65228, 65228], [65232, 65232], [65236, 65236], [65240, 65240],
     383    [65244, 65244], [65248, 65248], [65252, 65252], [65256, 65256],
     384    [65260, 65260], [65268, 65268]**/
     385    const UnicodeSet med_Set
     386        {{{Empty, 2010}, {Mixed, 6}, {Empty, 6}, {Mixed, 2}, {Empty, 1},
     387          {Mixed, 1}, {Empty, 9}, {Mixed, 5}, {Empty, 32776}},
     388         {0x22200000, 0x22222222, 0x22220002, 0x00002208, 0x00400000,
     389          0x80000280, 0x80000000, 0x001fffff, 0x0ff00000, 0xaa820000,
     390          0x11041000, 0x11100111, 0x11111111, 0x00101111}};
     391    /** Code Point Ranges for Fin
     392    [64337, 64337], [64339, 64339], [64343, 64343], [64347, 64347],
     393    [64351, 64351], [64355, 64355], [64359, 64359], [64363, 64363],
     394    [64367, 64367], [64371, 64371], [64375, 64375], [64379, 64379],
     395    [64383, 64383], [64387, 64387], [64389, 64389], [64391, 64391],
     396    [64393, 64393], [64395, 64395], [64397, 64397], [64399, 64399],
     397    [64403, 64403], [64407, 64407], [64411, 64411], [64415, 64415],
     398    [64417, 64417], [64421, 64421], [64423, 64423], [64427, 64427],
     399    [64431, 64431], [64433, 64433], [64468, 64468], [64472, 64472],
     400    [64474, 64474], [64476, 64476], [64479, 64479], [64481, 64481],
     401    [64483, 64483], [64485, 64485], [64491, 64491], [64493, 64493],
     402    [64495, 64495], [64497, 64497], [64499, 64499], [64501, 64501],
     403    [64503, 64503], [64506, 64506], [64509, 64509], [64612, 64662],
     404    [64785, 64812], [64828, 64828], [64849, 64849], [64856, 64856],
     405    [64858, 64859], [64862, 64863], [64866, 64866], [64868, 64868],
     406    [64870, 64871], [64873, 64874], [64876, 64876], [64878, 64879],
     407    [64881, 64881], [64884, 64886], [64888, 64892], [64894, 64898],
     408    [64900, 64901], [64903, 64903], [64907, 64907], [64918, 64919],
     409    [64921, 64924], [64926, 64947], [64950, 64951], [64953, 64953],
     410    [64955, 64962], [64966, 64967], [65154, 65154], [65156, 65156],
     411    [65158, 65158], [65160, 65160], [65162, 65162], [65166, 65166],
     412    [65168, 65168], [65172, 65172], [65174, 65174], [65178, 65178],
     413    [65182, 65182], [65186, 65186], [65190, 65190], [65194, 65194],
     414    [65196, 65196], [65198, 65198], [65200, 65200], [65202, 65202],
     415    [65206, 65206], [65210, 65210], [65214, 65214], [65218, 65218],
     416    [65222, 65222], [65226, 65226], [65230, 65230], [65234, 65234],
     417    [65238, 65238], [65242, 65242], [65246, 65246], [65250, 65250],
     418    [65254, 65254], [65258, 65258], [65262, 65262], [65264, 65264],
     419    [65266, 65266], [65270, 65270], [65272, 65272], [65274, 65274],
     420    [65276, 65276]**/
     421    const UnicodeSet fin_Set
     422        {{{Empty, 2010}, {Mixed, 6}, {Empty, 3}, {Mixed, 2}, {Empty, 3},
     423          {Mixed, 7}, {Empty, 5}, {Mixed, 4}, {Empty, 32776}},
     424         {0x888a0000, 0x88888888, 0x8888aaa8, 0x000288a2, 0x95100000,
     425          0x24aaa82a, 0xfffffff0, 0x007fffff, 0xfffe0000, 0x10001fff,
     426          0xcd020000, 0xdf72d6d4, 0xdec008b7, 0xfacfffff, 0x000000c7,
     427          0x44514554, 0x44455444, 0x44444444, 0x15454444}};
     428    /** Code Point Ranges for Iso
     429    [64336, 64336], [64338, 64338], [64342, 64342], [64346, 64346],
     430    [64350, 64350], [64354, 64354], [64358, 64358], [64362, 64362],
     431    [64366, 64366], [64370, 64370], [64374, 64374], [64378, 64378],
     432    [64382, 64382], [64386, 64386], [64388, 64388], [64390, 64390],
     433    [64392, 64392], [64394, 64394], [64396, 64396], [64398, 64398],
     434    [64402, 64402], [64406, 64406], [64410, 64410], [64414, 64414],
     435    [64416, 64416], [64420, 64420], [64422, 64422], [64426, 64426],
     436    [64430, 64430], [64432, 64432], [64467, 64467], [64471, 64471],
     437    [64473, 64473], [64475, 64475], [64477, 64478], [64480, 64480],
     438    [64482, 64482], [64484, 64484], [64490, 64490], [64492, 64492],
     439    [64494, 64494], [64496, 64496], [64498, 64498], [64500, 64500],
     440    [64502, 64502], [64505, 64505], [64508, 64508], [64512, 64611],
     441    [64757, 64784], [64829, 64829], [65008, 65020], [65136, 65136],
     442    [65138, 65138], [65140, 65140], [65142, 65142], [65144, 65144],
     443    [65146, 65146], [65148, 65148], [65150, 65150], [65152, 65153],
     444    [65155, 65155], [65157, 65157], [65159, 65159], [65161, 65161],
     445    [65165, 65165], [65167, 65167], [65171, 65171], [65173, 65173],
     446    [65177, 65177], [65181, 65181], [65185, 65185], [65189, 65189],
     447    [65193, 65193], [65195, 65195], [65197, 65197], [65199, 65199],
     448    [65201, 65201], [65205, 65205], [65209, 65209], [65213, 65213],
     449    [65217, 65217], [65221, 65221], [65225, 65225], [65229, 65229],
     450    [65233, 65233], [65237, 65237], [65241, 65241], [65245, 65245],
     451    [65249, 65249], [65253, 65253], [65257, 65257], [65261, 65261],
     452    [65263, 65263], [65265, 65265], [65269, 65269], [65271, 65271],
     453    [65273, 65273], [65275, 65275]**/
     454    const UnicodeSet iso_Set
     455        {{{Empty, 2010}, {Mixed, 6}, {Full, 3}, {Mixed, 1}, {Empty, 3},
     456          {Mixed, 3}, {Empty, 5}, {Mixed, 1}, {Empty, 3}, {Mixed, 5},
     457          {Empty, 32776}},
     458         {0x44450000, 0x44444444, 0x44445554, 0x00014451, 0x6a880000,
     459          0x12555415, 0x0000000f, 0xffe00000, 0x0001ffff, 0x20000000,
     460          0x1fff0000, 0x55550000, 0x2228a2ab, 0x2222aa22, 0x22222222,
     461          0x0aa2a222}};
     462    /** Code Point Ranges for Enc
     463    [9312, 9331], [9398, 9450], [12868, 12871], [12881, 12926],
     464    [12928, 12991], [13008, 13054], [127275, 127278], [127568, 127569]**/
     465    const UnicodeSet enc_Set
     466        {{{Empty, 291}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1},
     467          {Mixed, 1}, {Empty, 106}, {Mixed, 2}, {Full, 2}, {Mixed, 2},
     468          {Empty, 3569}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 30829}},
     469         {0x000fffff, 0xffc00000, 0x000007ff, 0xfffe00f0, 0x7fffffff,
     470          0xffff0000, 0x7fffffff, 0x00007800, 0x00030000}};
    505471    /** Code Point Ranges for Sup
    506472    [170, 170], [178, 179], [185, 186], [688, 696], [736, 740],
     
    522488          0x20000000, 0x00008000, 0xfffc0000, 0x30000000, 0x00010000,
    523489          0x03000000, 0xf0000000, 0x00000c00}};
     490    /** Code Point Ranges for Sub
     491    [7522, 7530], [8320, 8334], [8336, 8348], [11388, 11388]**/
     492    const UnicodeSet sub_Set
     493        {{{Empty, 235}, {Mixed, 1}, {Empty, 24}, {Mixed, 1}, {Empty, 94},
     494          {Mixed, 1}, {Empty, 34460}},
     495         {0x000007fc, 0x1fff7fff, 0x10000000}};
    524496    /** Code Point Ranges for Vert
    525497    [12447, 12447], [12543, 12543], [65040, 65049], [65072, 65092],
     
    535507          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 32768}},
    536508         {0x00000001, 0xfffffffe, 0x00000001, 0x0000007f}};
     509    /** Code Point Ranges for Nar
     510    [65377, 65470], [65474, 65479], [65482, 65487], [65490, 65495],
     511    [65498, 65500], [65512, 65518]**/
     512    const UnicodeSet nar_Set
     513        {{{Empty, 2043}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 32768}},
     514         {0xfffffffe, 0x7fffffff, 0x1cfcfcfc, 0x00007f00}};
     515    /** Code Point Ranges for Sml
     516    [65104, 65106], [65108, 65126], [65128, 65131]**/
     517    const UnicodeSet sml_Set
     518        {{{Empty, 2034}, {Mixed, 2}, {Empty, 32780}},
     519         {0xfff70000, 0x00000f7f}};
     520    /** Code Point Ranges for Sqr
     521    [12880, 12880], [13004, 13007], [13056, 13143], [13169, 13279],
     522    [13311, 13311], [127280, 127311], [127376, 127376], [127488, 127490],
     523    [127504, 127547]**/
     524    const UnicodeSet sqr_Set
     525        {{{Empty, 402}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
     526          {Full, 2}, {Mixed, 2}, {Full, 3}, {Mixed, 1}, {Empty, 3561},
     527          {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
     528          {Empty, 30830}},
     529         {0x00010000, 0x0000f000, 0x00ffffff, 0xfffe0000, 0x80000000,
     530          0xffff0000, 0x0000ffff, 0x00010000, 0xffff0007, 0x0fffffff}};
     531    /** Code Point Ranges for Fra
     532    [188, 190], [8528, 8543], [8585, 8585]**/
     533    const UnicodeSet fra_Set
     534        {{{Empty, 5}, {Mixed, 1}, {Empty, 260}, {Mixed, 1}, {Empty, 1},
     535          {Mixed, 1}, {Empty, 34547}},
     536         {0x70000000, 0xffff0000, 0x00000200}};
    537537    static EnumeratedPropertyObject property_object
    538538        {dt,
     
    540540         DT_ns::value_names,
    541541         DT_ns::aliases_only_map,
    542          {&can_Set, &com_Set, &enc_Set, &fin_Set, &font_Set, &fra_Set,
    543         &init_Set, &iso_Set, &med_Set, &nar_Set, &nb_Set, &none_Set,
    544         &sml_Set, &sqr_Set, &sub_Set, &sup_Set, &vert_Set, &wide_Set
     542         {&none_Set, &can_Set, &com_Set, &font_Set, &nb_Set, &init_Set,
     543        &med_Set, &fin_Set, &iso_Set, &enc_Set, &sup_Set, &sub_Set,
     544        &vert_Set, &wide_Set, &nar_Set, &sml_Set, &sqr_Set, &fra_Set
    545545         }};
    546546    }
  • icGREP/icgrep-devel/icgrep/UCD/DerivedGeneralCategory.h

    r5145 r5154  
    1515namespace UCD {
    1616    namespace GC_ns {
     17    /** Code Point Ranges for Cn
     18    [888, 889], [896, 899], [907, 907], [909, 909], [930, 930],
     19    [1328, 1328], [1367, 1368], [1376, 1376], [1416, 1416], [1419, 1420],
     20    [1424, 1424], [1480, 1487], [1515, 1519], [1525, 1535], [1565, 1565],
     21    [1806, 1806], [1867, 1868], [1970, 1983], [2043, 2047], [2094, 2095],
     22    [2111, 2111], [2140, 2141], [2143, 2207], [2229, 2229], [2238, 2259],
     23    [2436, 2436], [2445, 2446], [2449, 2450], [2473, 2473], [2481, 2481],
     24    [2483, 2485], [2490, 2491], [2501, 2502], [2505, 2506], [2511, 2518],
     25    [2520, 2523], [2526, 2526], [2532, 2533], [2556, 2560], [2564, 2564],
     26    [2571, 2574], [2577, 2578], [2601, 2601], [2609, 2609], [2612, 2612],
     27    [2615, 2615], [2618, 2619], [2621, 2621], [2627, 2630], [2633, 2634],
     28    [2638, 2640], [2642, 2648], [2653, 2653], [2655, 2661], [2678, 2688],
     29    [2692, 2692], [2702, 2702], [2706, 2706], [2729, 2729], [2737, 2737],
     30    [2740, 2740], [2746, 2747], [2758, 2758], [2762, 2762], [2766, 2767],
     31    [2769, 2783], [2788, 2789], [2802, 2808], [2810, 2816], [2820, 2820],
     32    [2829, 2830], [2833, 2834], [2857, 2857], [2865, 2865], [2868, 2868],
     33    [2874, 2875], [2885, 2886], [2889, 2890], [2894, 2901], [2904, 2907],
     34    [2910, 2910], [2916, 2917], [2936, 2945], [2948, 2948], [2955, 2957],
     35    [2961, 2961], [2966, 2968], [2971, 2971], [2973, 2973], [2976, 2978],
     36    [2981, 2983], [2987, 2989], [3002, 3005], [3011, 3013], [3017, 3017],
     37    [3022, 3023], [3025, 3030], [3032, 3045], [3067, 3071], [3076, 3076],
     38    [3085, 3085], [3089, 3089], [3113, 3113], [3130, 3132], [3141, 3141],
     39    [3145, 3145], [3150, 3156], [3159, 3159], [3163, 3167], [3172, 3173],
     40    [3184, 3191], [3204, 3204], [3213, 3213], [3217, 3217], [3241, 3241],
     41    [3252, 3252], [3258, 3259], [3269, 3269], [3273, 3273], [3278, 3284],
     42    [3287, 3293], [3295, 3295], [3300, 3301], [3312, 3312], [3315, 3328],
     43    [3332, 3332], [3341, 3341], [3345, 3345], [3387, 3388], [3397, 3397],
     44    [3401, 3401], [3408, 3411], [3428, 3429], [3456, 3457], [3460, 3460],
     45    [3479, 3481], [3506, 3506], [3516, 3516], [3518, 3519], [3527, 3529],
     46    [3531, 3534], [3541, 3541], [3543, 3543], [3552, 3557], [3568, 3569],
     47    [3573, 3584], [3643, 3646], [3676, 3712], [3715, 3715], [3717, 3718],
     48    [3721, 3721], [3723, 3724], [3726, 3731], [3736, 3736], [3744, 3744],
     49    [3748, 3748], [3750, 3750], [3752, 3753], [3756, 3756], [3770, 3770],
     50    [3774, 3775], [3781, 3781], [3783, 3783], [3790, 3791], [3802, 3803],
     51    [3808, 3839], [3912, 3912], [3949, 3952], [3992, 3992], [4029, 4029],
     52    [4045, 4045], [4059, 4095], [4294, 4294], [4296, 4300], [4302, 4303],
     53    [4681, 4681], [4686, 4687], [4695, 4695], [4697, 4697], [4702, 4703],
     54    [4745, 4745], [4750, 4751], [4785, 4785], [4790, 4791], [4799, 4799],
     55    [4801, 4801], [4806, 4807], [4823, 4823], [4881, 4881], [4886, 4887],
     56    [4955, 4956], [4989, 4991], [5018, 5023], [5110, 5111], [5118, 5119],
     57    [5789, 5791], [5881, 5887], [5901, 5901], [5909, 5919], [5943, 5951],
     58    [5972, 5983], [5997, 5997], [6001, 6001], [6004, 6015], [6110, 6111],
     59    [6122, 6127], [6138, 6143], [6159, 6159], [6170, 6175], [6264, 6271],
     60    [6315, 6319], [6390, 6399], [6431, 6431], [6444, 6447], [6460, 6463],
     61    [6465, 6467], [6510, 6511], [6517, 6527], [6572, 6575], [6602, 6607],
     62    [6619, 6621], [6684, 6685], [6751, 6751], [6781, 6782], [6794, 6799],
     63    [6810, 6815], [6830, 6831], [6847, 6911], [6988, 6991], [7037, 7039],
     64    [7156, 7163], [7224, 7226], [7242, 7244], [7305, 7359], [7368, 7375],
     65    [7415, 7415], [7418, 7423], [7670, 7674], [7958, 7959], [7966, 7967],
     66    [8006, 8007], [8014, 8015], [8024, 8024], [8026, 8026], [8028, 8028],
     67    [8030, 8030], [8062, 8063], [8117, 8117], [8133, 8133], [8148, 8149],
     68    [8156, 8156], [8176, 8177], [8181, 8181], [8191, 8191], [8293, 8293],
     69    [8306, 8307], [8335, 8335], [8349, 8351], [8383, 8399], [8433, 8447],
     70    [8588, 8591], [9215, 9215], [9255, 9279], [9291, 9311], [11124, 11125],
     71    [11158, 11159], [11194, 11196], [11209, 11209], [11218, 11243],
     72    [11248, 11263], [11311, 11311], [11359, 11359], [11508, 11512],
     73    [11558, 11558], [11560, 11564], [11566, 11567], [11624, 11630],
     74    [11633, 11646], [11671, 11679], [11687, 11687], [11695, 11695],
     75    [11703, 11703], [11711, 11711], [11719, 11719], [11727, 11727],
     76    [11735, 11735], [11743, 11743], [11845, 11903], [11930, 11930],
     77    [12020, 12031], [12246, 12271], [12284, 12287], [12352, 12352],
     78    [12439, 12440], [12544, 12548], [12590, 12592], [12687, 12687],
     79    [12731, 12735], [12772, 12783], [12831, 12831], [13055, 13055],
     80    [19894, 19903], [40918, 40959], [42125, 42127], [42183, 42191],
     81    [42540, 42559], [42744, 42751], [42927, 42927], [42936, 42998],
     82    [43052, 43055], [43066, 43071], [43128, 43135], [43206, 43213],
     83    [43226, 43231], [43262, 43263], [43348, 43358], [43389, 43391],
     84    [43470, 43470], [43482, 43485], [43519, 43519], [43575, 43583],
     85    [43598, 43599], [43610, 43611], [43715, 43738], [43767, 43776],
     86    [43783, 43784], [43791, 43792], [43799, 43807], [43815, 43815],
     87    [43823, 43823], [43878, 43887], [44014, 44015], [44026, 44031],
     88    [55204, 55215], [55239, 55242], [55292, 55295], [64110, 64111],
     89    [64218, 64255], [64263, 64274], [64280, 64284], [64311, 64311],
     90    [64317, 64317], [64319, 64319], [64322, 64322], [64325, 64325],
     91    [64450, 64466], [64832, 64847], [64912, 64913], [64968, 65007],
     92    [65022, 65023], [65050, 65055], [65107, 65107], [65127, 65127],
     93    [65132, 65135], [65141, 65141], [65277, 65278], [65280, 65280],
     94    [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497],
     95    [65501, 65503], [65511, 65511], [65519, 65528], [65534, 65535],
     96    [65548, 65548], [65575, 65575], [65595, 65595], [65598, 65598],
     97    [65614, 65615], [65630, 65663], [65787, 65791], [65795, 65798],
     98    [65844, 65846], [65935, 65935], [65948, 65951], [65953, 65999],
     99    [66046, 66175], [66205, 66207], [66257, 66271], [66300, 66303],
     100    [66340, 66351], [66379, 66383], [66427, 66431], [66462, 66462],
     101    [66500, 66503], [66518, 66559], [66718, 66719], [66730, 66735],
     102    [66772, 66775], [66812, 66815], [66856, 66863], [66916, 66926],
     103    [66928, 67071], [67383, 67391], [67414, 67423], [67432, 67583],
     104    [67590, 67591], [67593, 67593], [67638, 67638], [67641, 67643],
     105    [67645, 67646], [67670, 67670], [67743, 67750], [67760, 67807],
     106    [67827, 67827], [67830, 67834], [67868, 67870], [67898, 67902],
     107    [67904, 67967], [68024, 68027], [68048, 68049], [68100, 68100],
     108    [68103, 68107], [68116, 68116], [68120, 68120], [68148, 68151],
     109    [68155, 68158], [68168, 68175], [68185, 68191], [68256, 68287],
     110    [68327, 68330], [68343, 68351], [68406, 68408], [68438, 68439],
     111    [68467, 68471], [68498, 68504], [68509, 68520], [68528, 68607],
     112    [68681, 68735], [68787, 68799], [68851, 68857], [68864, 69215],
     113    [69247, 69631], [69710, 69713], [69744, 69758], [69826, 69839],
     114    [69865, 69871], [69882, 69887], [69941, 69941], [69956, 69967],
     115    [70007, 70015], [70094, 70095], [70112, 70112], [70133, 70143],
     116    [70162, 70162], [70207, 70271], [70279, 70279], [70281, 70281],
     117    [70286, 70286], [70302, 70302], [70314, 70319], [70379, 70383],
     118    [70394, 70399], [70404, 70404], [70413, 70414], [70417, 70418],
     119    [70441, 70441], [70449, 70449], [70452, 70452], [70458, 70459],
     120    [70469, 70470], [70473, 70474], [70478, 70479], [70481, 70486],
     121    [70488, 70492], [70500, 70501], [70509, 70511], [70517, 70655],
     122    [70746, 70746], [70748, 70748], [70750, 70783], [70856, 70863],
     123    [70874, 71039], [71094, 71095], [71134, 71167], [71237, 71247],
     124    [71258, 71263], [71277, 71295], [71352, 71359], [71370, 71423],
     125    [71450, 71452], [71468, 71471], [71488, 71839], [71923, 71934],
     126    [71936, 72383], [72441, 72703], [72713, 72713], [72759, 72759],
     127    [72774, 72783], [72813, 72815], [72848, 72849], [72872, 72872],
     128    [72887, 73727], [74650, 74751], [74863, 74863], [74869, 74879],
     129    [75076, 77823], [78895, 82943], [83527, 92159], [92729, 92735],
     130    [92767, 92767], [92778, 92781], [92784, 92879], [92910, 92911],
     131    [92918, 92927], [92998, 93007], [93018, 93018], [93026, 93026],
     132    [93048, 93052], [93072, 93951], [94021, 94031], [94079, 94094],
     133    [94112, 94175], [94177, 94207], [100333, 100351], [101107, 110591],
     134    [110594, 113663], [113771, 113775], [113789, 113791], [113801, 113807],
     135    [113818, 113819], [113828, 118783], [119030, 119039], [119079, 119080],
     136    [119273, 119295], [119366, 119551], [119639, 119647], [119666, 119807],
     137    [119893, 119893], [119965, 119965], [119968, 119969], [119971, 119972],
     138    [119975, 119976], [119981, 119981], [119994, 119994], [119996, 119996],
     139    [120004, 120004], [120070, 120070], [120075, 120076], [120085, 120085],
     140    [120093, 120093], [120122, 120122], [120127, 120127], [120133, 120133],
     141    [120135, 120137], [120145, 120145], [120486, 120487], [120780, 120781],
     142    [121484, 121498], [121504, 121504], [121520, 122879], [122887, 122887],
     143    [122905, 122906], [122914, 122914], [122917, 122917], [122923, 124927],
     144    [125125, 125126], [125143, 125183], [125259, 125263], [125274, 125277],
     145    [125280, 126463], [126468, 126468], [126496, 126496], [126499, 126499],
     146    [126501, 126502], [126504, 126504], [126515, 126515], [126520, 126520],
     147    [126522, 126522], [126524, 126529], [126531, 126534], [126536, 126536],
     148    [126538, 126538], [126540, 126540], [126544, 126544], [126547, 126547],
     149    [126549, 126550], [126552, 126552], [126554, 126554], [126556, 126556],
     150    [126558, 126558], [126560, 126560], [126563, 126563], [126565, 126566],
     151    [126571, 126571], [126579, 126579], [126584, 126584], [126589, 126589],
     152    [126591, 126591], [126602, 126602], [126620, 126624], [126628, 126628],
     153    [126634, 126634], [126652, 126703], [126706, 126975], [127020, 127023],
     154    [127124, 127135], [127151, 127152], [127168, 127168], [127184, 127184],
     155    [127222, 127231], [127245, 127247], [127279, 127279], [127340, 127343],
     156    [127405, 127461], [127491, 127503], [127548, 127551], [127561, 127567],
     157    [127570, 127743], [128723, 128735], [128749, 128751], [128759, 128767],
     158    [128884, 128895], [128981, 129023], [129036, 129039], [129096, 129103],
     159    [129114, 129119], [129160, 129167], [129198, 129295], [129311, 129311],
     160    [129320, 129327], [129329, 129330], [129343, 129343], [129356, 129359],
     161    [129375, 129407], [129426, 129471], [129473, 131071], [173783, 173823],
     162    [177973, 177983], [178206, 178207], [183970, 194559], [195102, 917504],
     163    [917506, 917535], [917632, 917759], [918000, 983039],
     164    [1048574, 1048575], [1114110, 1114111]**/
     165    const UnicodeSet cn_Set
     166        {{{Empty, 27}, {Mixed, 3}, {Empty, 11}, {Mixed, 4}, {Empty, 1},
     167          {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
     168          {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
     169          {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Empty, 5}, {Mixed, 39},
     170          {Full, 1}, {Mixed, 3}, {Full, 1}, {Empty, 2}, {Mixed, 5},
     171          {Full, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
     172          {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
     173          {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 20}, {Mixed, 1},
     174          {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 3}, {Empty, 2},
     175          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
     176          {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
     177          {Mixed, 4}, {Full, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 3},
     178          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
     179          {Full, 1}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 8},
     180          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
     181          {Empty, 3}, {Mixed, 5}, {Empty, 4}, {Mixed, 1}, {Empty, 18},
     182          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 56}, {Mixed, 5},
     183          {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 1},
     184          {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 3}, {Mixed, 1},
     185          {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 6},
     186          {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
     187          {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
     188          {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 213}, {Mixed, 1},
     189          {Empty, 656}, {Mixed, 1}, {Full, 1}, {Empty, 36}, {Mixed, 1},
     190          {Empty, 1}, {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 5},
     191          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
     192          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
     193          {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
     194          {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 4}, {Empty, 1},
     195          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 349}, {Mixed, 3},
     196          {Empty, 275}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1},
     197          {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
     198          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
     199          {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 4}, {Mixed, 6},
     200          {Full, 1}, {Empty, 3}, {Mixed, 3}, {Empty, 2}, {Mixed, 4},
     201          {Full, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
     202          {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Empty, 4},
     203          {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
     204          {Full, 4}, {Empty, 9}, {Mixed, 3}, {Full, 4}, {Mixed, 3},
     205          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Full, 2},
     206          {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2},
     207          {Full, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
     208          {Full, 2}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 1},
     209          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 11}, {Mixed, 1},
     210          {Full, 12}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
     211          {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 4}, {Full, 2},
     212          {Mixed, 2}, {Empty, 1}, {Mixed, 5}, {Full, 4}, {Empty, 2},
     213          {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 5},
     214          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Empty, 2}, {Mixed, 2},
     215          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 11},
     216          {Empty, 2}, {Mixed, 1}, {Full, 14}, {Empty, 1}, {Mixed, 1},
     217          {Full, 8}, {Mixed, 6}, {Full, 26}, {Empty, 28}, {Mixed, 1},
     218          {Full, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
     219          {Full, 85}, {Empty, 33}, {Mixed, 1}, {Full, 126}, {Empty, 18},
     220          {Mixed, 1}, {Full, 269}, {Empty, 17}, {Mixed, 3}, {Full, 2},
     221          {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Full, 27}, {Empty, 2},
     222          {Mixed, 3}, {Full, 2}, {Mixed, 1}, {Empty, 191}, {Mixed, 1},
     223          {Empty, 23}, {Mixed, 1}, {Full, 296}, {Mixed, 1}, {Full, 95},
     224          {Empty, 3}, {Mixed, 3}, {Full, 154}, {Empty, 7}, {Mixed, 1},
     225          {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 2},
     226          {Mixed, 1}, {Full, 5}, {Empty, 2}, {Mixed, 2}, {Full, 4},
     227          {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
     228          {Mixed, 3}, {Empty, 10}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
     229          {Empty, 21}, {Mixed, 2}, {Full, 42}, {Mixed, 2}, {Full, 62},
     230          {Empty, 6}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1},
     231          {Full, 37}, {Mixed, 6}, {Full, 1}, {Mixed, 1}, {Full, 8},
     232          {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 6}, {Empty, 1},
     233          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 4},
     234          {Full, 5}, {Empty, 30}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
     235          {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
     236          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 3},
     237          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 49},
     238          {Empty, 1334}, {Mixed, 1}, {Full, 1}, {Empty, 129}, {Mixed, 1},
     239          {Empty, 6}, {Mixed, 1}, {Empty, 180}, {Mixed, 1}, {Full, 330},
     240          {Empty, 16}, {Mixed, 1}, {Full, 22575}, {Mixed, 1}, {Empty, 3},
     241          {Full, 4}, {Empty, 7}, {Mixed, 1}, {Full, 2032}, {Empty, 2047},
     242          {Mixed, 1}, {Empty, 2047}, {Mixed, 1}},
     243         {0x03000000, 0x0000280f, 0x00000004, 0x00010000, 0x01800000,
     244          0x00000001, 0x00011900, 0x0000ff00, 0xffe0f800, 0x20000000,
     245          0x00004000, 0x00001800, 0xfffc0000, 0xf8000000, 0x8000c000,
     246          0xb0000000, 0xc0200000, 0x000fffff, 0x00066010, 0x0c3a0200,
     247          0x4f7f8660, 0xf0000030, 0x00067811, 0x2c920200, 0xa1fdc678,
     248          0xffc0003f, 0x00044011, 0x0c120200, 0xfffec440, 0xfdfc0030,
     249          0x00066011, 0x0c120200, 0x4f3fc660, 0xff000030, 0x29c23813,
     250          0x3c0038e7, 0xff7ec238, 0xf800003f, 0x00022010, 0x1c000200,
     251          0xf89fc220, 0x00ff0030, 0x00022010, 0x0c100200, 0xbf9fc220,
     252          0xfff90030, 0x00022011, 0x18000000, 0x000f0220, 0x00000030,
     253          0x03800013, 0xd0040000, 0x00a07b80, 0xffe3003f, 0x00000001,
     254          0x78000000, 0xf0000000, 0x010fda69, 0xc4001351, 0x0c00c0a0,
     255          0x00000100, 0x0001e000, 0x01000000, 0x20000000, 0xf8002000,
     256          0x0000df40, 0xc280c200, 0x0000c200, 0x80c20000, 0x008000c2,
     257          0x00c20000, 0x18000000, 0xe0000000, 0xfc000000, 0xc0c00000,
     258          0xe0000000, 0xfe000000, 0xffe02000, 0xff800000, 0xfff00000,
     259          0xfff22000, 0xc0000000, 0xfc00fc00, 0xfc008000, 0xff000000,
     260          0x0000f800, 0xffc00000, 0x80000000, 0xf000f000, 0x0000000e,
     261          0xffe0c000, 0x0000f000, 0x3800fc00, 0x30000000, 0x80000000,
     262          0x60000000, 0xfc00fc00, 0x8000c000, 0x0000f000, 0xe0000000,
     263          0x0ff00000, 0x07000000, 0x00001c00, 0xfffffe00, 0x0000ff00,
     264          0xfc800000, 0x07c00000, 0xc0c00000, 0x5500c0c0, 0xc0000000,
     265          0x00200000, 0x10300020, 0x80230000, 0x000c0020, 0xe0008000,
     266          0x80000000, 0x0000ffff, 0xfffe0000, 0x0000f000, 0x80000000,
     267          0xffffff80, 0xfffff800, 0x00300000, 0x00c00000, 0x1c000000,
     268          0xfffc0200, 0xffff0fff, 0x00008000, 0x80000000, 0x01f00000,
     269          0x0000df40, 0x7ffe7f00, 0xff800000, 0x80808080, 0x80808080,
     270          0xffffffe0, 0x04000000, 0xfff00000, 0xffc00000, 0xf000ffff,
     271          0x00000001, 0x01800000, 0x0000001f, 0x0001c000, 0x00008000,
     272          0xf8000000, 0x0000fff0, 0x80000000, 0x80000000, 0xffc00000,
     273          0xffc00000, 0x0000e000, 0x0000ff80, 0xfffff000, 0xff000000,
     274          0xff008000, 0x007fffff, 0xfc00f000, 0xff000000, 0xfc003fc0,
     275          0xc0000000, 0x7ff00000, 0xe0000000, 0x3c004000, 0x80000000,
     276          0xff800000, 0x0c00c000, 0x07fffff8, 0xff800000, 0xff818181,
     277          0x00008080, 0x0000ffc0, 0xfc00c000, 0x0000fff0, 0x00000780,
     278          0xf0000000, 0x0000c000, 0xfc000000, 0x1f07ff80, 0xa0800000,
     279          0x00000024, 0x0007fffc, 0x0000ffff, 0x00030000, 0xffffff00,
     280          0xc000ffff, 0xfc000000, 0x00080000, 0x0020f080, 0x60000000,
     281          0x00000001, 0x80000000, 0xe3030303, 0xc1ff8080, 0x00001000,
     282          0x48000080, 0xc000c000, 0xf8000000, 0x00000078, 0x00700000,
     283          0xf0008000, 0xfffffffe, 0x0000ffff, 0xc0000000, 0xe0000000,
     284          0xfffe0000, 0xf0000000, 0x0000fff0, 0x0000f800, 0xf8000000,
     285          0x40000000, 0xffc000f0, 0xc0000000, 0x0000fc00, 0x00f00000,
     286          0xf0000000, 0x0000ff00, 0xffff7ff0, 0xff800000, 0xffc00000,
     287          0xffffff00, 0x000002c0, 0x6e400000, 0x00400000, 0x80000000,
     288          0xffff007f, 0x07c80000, 0x70000000, 0x7c000000, 0x0f000000,
     289          0x00030000, 0x01100f90, 0x78f00000, 0xfe00ff00, 0xff800780,
     290          0x01c00000, 0x00c00000, 0x00f80000, 0xe1fc0000, 0xffff01ff,
     291          0xfffffe00, 0xfff80000, 0x03f80000, 0x80000000, 0x0003c000,
     292          0x7fff0000, 0x0000fffc, 0xfc00fe00, 0x00200000, 0x0000fff0,
     293          0xff800000, 0x0000c000, 0xffe00001, 0x00040000, 0x80000000,
     294          0x40004280, 0x0000fc00, 0xfc00f800, 0x00066010, 0x0c120200,
     295          0x1f7ec660, 0xffe0e030, 0xd4000000, 0xfc00ff00, 0x00c00000,
     296          0xc0000000, 0xfc00ffe0, 0xffffe000, 0xff000000, 0xfffffc00,
     297          0x1c000000, 0x0000f000, 0x7ff80000, 0xfe000000, 0x00000200,
     298          0x00800000, 0x0000ffc0, 0x0000e000, 0x00030000, 0xff800100,
     299          0xfc000000, 0xffe08000, 0xfffffff0, 0xffff8000, 0xffffff80,
     300          0xfe000000, 0x80000000, 0xffff3c00, 0x0000ffff, 0xffc0c000,
     301          0x0400ffc0, 0x1f000004, 0xffff0000, 0x0000ffe0, 0x80000000,
     302          0x00007fff, 0xfffffffe, 0xffffe000, 0xfff80000, 0xfffffffc,
     303          0xe000f800, 0x0c00fe00, 0xfffffff0, 0xffc00000, 0x00000180,
     304          0xfffffe00, 0xffffffc0, 0xff800000, 0xfffc0000, 0x00200000,
     305          0x20000000, 0x1400219b, 0x00000010, 0x20201840, 0x84000000,
     306          0x000203a0, 0x000000c0, 0x00003000, 0x07fff000, 0xffff0001,
     307          0x06000080, 0xfffff824, 0xff800060, 0x3c00f800, 0x00000010,
     308          0xf5080169, 0x5569157b, 0xa1080869, 0xf0000400, 0xf0000411,
     309          0xfffcffff, 0x0000f000, 0xfff00000, 0x00018000, 0x00010001,
     310          0xffc00000, 0x0000e000, 0x00008000, 0x0000f000, 0xffffe000,
     311          0x0000003f, 0x0000fff8, 0xf0000000, 0xfffcfe00, 0xfff80000,
     312          0xff80e000, 0xfff00000, 0xffe00000, 0x0000f000, 0xfc00ff00,
     313          0x0000ff00, 0xffffc000, 0x8000ffff, 0x8006ff00, 0x8000f000,
     314          0xfffc0000, 0xfffffffe, 0xff800000, 0xffe00000, 0xc0000000,
     315          0xfffffffc, 0xc0000000, 0xfffffffd, 0xffff0000, 0xc0000000,
     316          0xc0000000}};
     317    /** Code Point Ranges for Lu
     318    [65, 90], [192, 214], [216, 222], [256, 256], [258, 258], [260, 260],
     319    [262, 262], [264, 264], [266, 266], [268, 268], [270, 270], [272, 272],
     320    [274, 274], [276, 276], [278, 278], [280, 280], [282, 282], [284, 284],
     321    [286, 286], [288, 288], [290, 290], [292, 292], [294, 294], [296, 296],
     322    [298, 298], [300, 300], [302, 302], [304, 304], [306, 306], [308, 308],
     323    [310, 310], [313, 313], [315, 315], [317, 317], [319, 319], [321, 321],
     324    [323, 323], [325, 325], [327, 327], [330, 330], [332, 332], [334, 334],
     325    [336, 336], [338, 338], [340, 340], [342, 342], [344, 344], [346, 346],
     326    [348, 348], [350, 350], [352, 352], [354, 354], [356, 356], [358, 358],
     327    [360, 360], [362, 362], [364, 364], [366, 366], [368, 368], [370, 370],
     328    [372, 372], [374, 374], [376, 377], [379, 379], [381, 381], [385, 386],
     329    [388, 388], [390, 391], [393, 395], [398, 401], [403, 404], [406, 408],
     330    [412, 413], [415, 416], [418, 418], [420, 420], [422, 423], [425, 425],
     331    [428, 428], [430, 431], [433, 435], [437, 437], [439, 440], [444, 444],
     332    [452, 452], [455, 455], [458, 458], [461, 461], [463, 463], [465, 465],
     333    [467, 467], [469, 469], [471, 471], [473, 473], [475, 475], [478, 478],
     334    [480, 480], [482, 482], [484, 484], [486, 486], [488, 488], [490, 490],
     335    [492, 492], [494, 494], [497, 497], [500, 500], [502, 504], [506, 506],
     336    [508, 508], [510, 510], [512, 512], [514, 514], [516, 516], [518, 518],
     337    [520, 520], [522, 522], [524, 524], [526, 526], [528, 528], [530, 530],
     338    [532, 532], [534, 534], [536, 536], [538, 538], [540, 540], [542, 542],
     339    [544, 544], [546, 546], [548, 548], [550, 550], [552, 552], [554, 554],
     340    [556, 556], [558, 558], [560, 560], [562, 562], [570, 571], [573, 574],
     341    [577, 577], [579, 582], [584, 584], [586, 586], [588, 588], [590, 590],
     342    [880, 880], [882, 882], [886, 886], [895, 895], [902, 902], [904, 906],
     343    [908, 908], [910, 911], [913, 929], [931, 939], [975, 975], [978, 980],
     344    [984, 984], [986, 986], [988, 988], [990, 990], [992, 992], [994, 994],
     345    [996, 996], [998, 998], [1000, 1000], [1002, 1002], [1004, 1004],
     346    [1006, 1006], [1012, 1012], [1015, 1015], [1017, 1018], [1021, 1071],
     347    [1120, 1120], [1122, 1122], [1124, 1124], [1126, 1126], [1128, 1128],
     348    [1130, 1130], [1132, 1132], [1134, 1134], [1136, 1136], [1138, 1138],
     349    [1140, 1140], [1142, 1142], [1144, 1144], [1146, 1146], [1148, 1148],
     350    [1150, 1150], [1152, 1152], [1162, 1162], [1164, 1164], [1166, 1166],
     351    [1168, 1168], [1170, 1170], [1172, 1172], [1174, 1174], [1176, 1176],
     352    [1178, 1178], [1180, 1180], [1182, 1182], [1184, 1184], [1186, 1186],
     353    [1188, 1188], [1190, 1190], [1192, 1192], [1194, 1194], [1196, 1196],
     354    [1198, 1198], [1200, 1200], [1202, 1202], [1204, 1204], [1206, 1206],
     355    [1208, 1208], [1210, 1210], [1212, 1212], [1214, 1214], [1216, 1217],
     356    [1219, 1219], [1221, 1221], [1223, 1223], [1225, 1225], [1227, 1227],
     357    [1229, 1229], [1232, 1232], [1234, 1234], [1236, 1236], [1238, 1238],
     358    [1240, 1240], [1242, 1242], [1244, 1244], [1246, 1246], [1248, 1248],
     359    [1250, 1250], [1252, 1252], [1254, 1254], [1256, 1256], [1258, 1258],
     360    [1260, 1260], [1262, 1262], [1264, 1264], [1266, 1266], [1268, 1268],
     361    [1270, 1270], [1272, 1272], [1274, 1274], [1276, 1276], [1278, 1278],
     362    [1280, 1280], [1282, 1282], [1284, 1284], [1286, 1286], [1288, 1288],
     363    [1290, 1290], [1292, 1292], [1294, 1294], [1296, 1296], [1298, 1298],
     364    [1300, 1300], [1302, 1302], [1304, 1304], [1306, 1306], [1308, 1308],
     365    [1310, 1310], [1312, 1312], [1314, 1314], [1316, 1316], [1318, 1318],
     366    [1320, 1320], [1322, 1322], [1324, 1324], [1326, 1326], [1329, 1366],
     367    [4256, 4293], [4295, 4295], [4301, 4301], [5024, 5109], [7680, 7680],
     368    [7682, 7682], [7684, 7684], [7686, 7686], [7688, 7688], [7690, 7690],
     369    [7692, 7692], [7694, 7694], [7696, 7696], [7698, 7698], [7700, 7700],
     370    [7702, 7702], [7704, 7704], [7706, 7706], [7708, 7708], [7710, 7710],
     371    [7712, 7712], [7714, 7714], [7716, 7716], [7718, 7718], [7720, 7720],
     372    [7722, 7722], [7724, 7724], [7726, 7726], [7728, 7728], [7730, 7730],
     373    [7732, 7732], [7734, 7734], [7736, 7736], [7738, 7738], [7740, 7740],
     374    [7742, 7742], [7744, 7744], [7746, 7746], [7748, 7748], [7750, 7750],
     375    [7752, 7752], [7754, 7754], [7756, 7756], [7758, 7758], [7760, 7760],
     376    [7762, 7762], [7764, 7764], [7766, 7766], [7768, 7768], [7770, 7770],
     377    [7772, 7772], [7774, 7774], [7776, 7776], [7778, 7778], [7780, 7780],
     378    [7782, 7782], [7784, 7784], [7786, 7786], [7788, 7788], [7790, 7790],
     379    [7792, 7792], [7794, 7794], [7796, 7796], [7798, 7798], [7800, 7800],
     380    [7802, 7802], [7804, 7804], [7806, 7806], [7808, 7808], [7810, 7810],
     381    [7812, 7812], [7814, 7814], [7816, 7816], [7818, 7818], [7820, 7820],
     382    [7822, 7822], [7824, 7824], [7826, 7826], [7828, 7828], [7838, 7838],
     383    [7840, 7840], [7842, 7842], [7844, 7844], [7846, 7846], [7848, 7848],
     384    [7850, 7850], [7852, 7852], [7854, 7854], [7856, 7856], [7858, 7858],
     385    [7860, 7860], [7862, 7862], [7864, 7864], [7866, 7866], [7868, 7868],
     386    [7870, 7870], [7872, 7872], [7874, 7874], [7876, 7876], [7878, 7878],
     387    [7880, 7880], [7882, 7882], [7884, 7884], [7886, 7886], [7888, 7888],
     388    [7890, 7890], [7892, 7892], [7894, 7894], [7896, 7896], [7898, 7898],
     389    [7900, 7900], [7902, 7902], [7904, 7904], [7906, 7906], [7908, 7908],
     390    [7910, 7910], [7912, 7912], [7914, 7914], [7916, 7916], [7918, 7918],
     391    [7920, 7920], [7922, 7922], [7924, 7924], [7926, 7926], [7928, 7928],
     392    [7930, 7930], [7932, 7932], [7934, 7934], [7944, 7951], [7960, 7965],
     393    [7976, 7983], [7992, 7999], [8008, 8013], [8025, 8025], [8027, 8027],
     394    [8029, 8029], [8031, 8031], [8040, 8047], [8120, 8123], [8136, 8139],
     395    [8152, 8155], [8168, 8172], [8184, 8187], [8450, 8450], [8455, 8455],
     396    [8459, 8461], [8464, 8466], [8469, 8469], [8473, 8477], [8484, 8484],
     397    [8486, 8486], [8488, 8488], [8490, 8493], [8496, 8499], [8510, 8511],
     398    [8517, 8517], [8579, 8579], [11264, 11310], [11360, 11360],
     399    [11362, 11364], [11367, 11367], [11369, 11369], [11371, 11371],
     400    [11373, 11376], [11378, 11378], [11381, 11381], [11390, 11392],
     401    [11394, 11394], [11396, 11396], [11398, 11398], [11400, 11400],
     402    [11402, 11402], [11404, 11404], [11406, 11406], [11408, 11408],
     403    [11410, 11410], [11412, 11412], [11414, 11414], [11416, 11416],
     404    [11418, 11418], [11420, 11420], [11422, 11422], [11424, 11424],
     405    [11426, 11426], [11428, 11428], [11430, 11430], [11432, 11432],
     406    [11434, 11434], [11436, 11436], [11438, 11438], [11440, 11440],
     407    [11442, 11442], [11444, 11444], [11446, 11446], [11448, 11448],
     408    [11450, 11450], [11452, 11452], [11454, 11454], [11456, 11456],
     409    [11458, 11458], [11460, 11460], [11462, 11462], [11464, 11464],
     410    [11466, 11466], [11468, 11468], [11470, 11470], [11472, 11472],
     411    [11474, 11474], [11476, 11476], [11478, 11478], [11480, 11480],
     412    [11482, 11482], [11484, 11484], [11486, 11486], [11488, 11488],
     413    [11490, 11490], [11499, 11499], [11501, 11501], [11506, 11506],
     414    [42560, 42560], [42562, 42562], [42564, 42564], [42566, 42566],
     415    [42568, 42568], [42570, 42570], [42572, 42572], [42574, 42574],
     416    [42576, 42576], [42578, 42578], [42580, 42580], [42582, 42582],
     417    [42584, 42584], [42586, 42586], [42588, 42588], [42590, 42590],
     418    [42592, 42592], [42594, 42594], [42596, 42596], [42598, 42598],
     419    [42600, 42600], [42602, 42602], [42604, 42604], [42624, 42624],
     420    [42626, 42626], [42628, 42628], [42630, 42630], [42632, 42632],
     421    [42634, 42634], [42636, 42636], [42638, 42638], [42640, 42640],
     422    [42642, 42642], [42644, 42644], [42646, 42646], [42648, 42648],
     423    [42650, 42650], [42786, 42786], [42788, 42788], [42790, 42790],
     424    [42792, 42792], [42794, 42794], [42796, 42796], [42798, 42798],
     425    [42802, 42802], [42804, 42804], [42806, 42806], [42808, 42808],
     426    [42810, 42810], [42812, 42812], [42814, 42814], [42816, 42816],
     427    [42818, 42818], [42820, 42820], [42822, 42822], [42824, 42824],
     428    [42826, 42826], [42828, 42828], [42830, 42830], [42832, 42832],
     429    [42834, 42834], [42836, 42836], [42838, 42838], [42840, 42840],
     430    [42842, 42842], [42844, 42844], [42846, 42846], [42848, 42848],
     431    [42850, 42850], [42852, 42852], [42854, 42854], [42856, 42856],
     432    [42858, 42858], [42860, 42860], [42862, 42862], [42873, 42873],
     433    [42875, 42875], [42877, 42878], [42880, 42880], [42882, 42882],
     434    [42884, 42884], [42886, 42886], [42891, 42891], [42893, 42893],
     435    [42896, 42896], [42898, 42898], [42902, 42902], [42904, 42904],
     436    [42906, 42906], [42908, 42908], [42910, 42910], [42912, 42912],
     437    [42914, 42914], [42916, 42916], [42918, 42918], [42920, 42920],
     438    [42922, 42926], [42928, 42932], [42934, 42934], [65313, 65338],
     439    [66560, 66599], [66736, 66771], [68736, 68786], [71840, 71871],
     440    [119808, 119833], [119860, 119885], [119912, 119937], [119964, 119964],
     441    [119966, 119967], [119970, 119970], [119973, 119974], [119977, 119980],
     442    [119982, 119989], [120016, 120041], [120068, 120069], [120071, 120074],
     443    [120077, 120084], [120086, 120092], [120120, 120121], [120123, 120126],
     444    [120128, 120132], [120134, 120134], [120138, 120144], [120172, 120197],
     445    [120224, 120249], [120276, 120301], [120328, 120353], [120380, 120405],
     446    [120432, 120457], [120488, 120512], [120546, 120570], [120604, 120628],
     447    [120662, 120686], [120720, 120744], [120778, 120778], [125184, 125217]**/
     448    const UnicodeSet lu_Set
     449        {{{Empty, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
     450          {Mixed, 11}, {Empty, 8}, {Mixed, 5}, {Full, 1}, {Mixed, 1},
     451          {Empty, 1}, {Mixed, 8}, {Empty, 90}, {Full, 1}, {Mixed, 1},
     452          {Empty, 22}, {Full, 2}, {Mixed, 1}, {Empty, 80}, {Mixed, 12},
     453          {Empty, 1}, {Mixed, 3}, {Empty, 8}, {Mixed, 3}, {Empty, 1},
     454          {Mixed, 1}, {Empty, 83}, {Full, 1}, {Mixed, 1}, {Empty, 1},
     455          {Mixed, 5}, {Empty, 970}, {Mixed, 3}, {Empty, 4}, {Mixed, 5},
     456          {Empty, 699}, {Mixed, 1}, {Empty, 38}, {Full, 1}, {Mixed, 1},
     457          {Empty, 3}, {Mixed, 2}, {Empty, 61}, {Full, 1}, {Mixed, 1},
     458          {Empty, 95}, {Full, 1}, {Empty, 1498}, {Mixed, 31}, {Empty, 137},
     459          {Full, 1}, {Mixed, 1}, {Empty, 30902}},
     460         {0x07fffffe, 0x7f7fffff, 0x55555555, 0xaa555555, 0x555554aa,
     461          0x2b555555, 0xb1dbced6, 0x11aed2d5, 0x4aaaa490, 0x55d25555,
     462          0x55555555, 0x6c055555, 0x0000557a, 0x80450000, 0xfffed740,
     463          0x00000ffb, 0x551c8000, 0xe6905555, 0x0000ffff, 0x55555555,
     464          0x55555401, 0x55555555, 0x55552aab, 0x55555555, 0x55555555,
     465          0xfffe5555, 0x007fffff, 0x000020bf, 0x003fffff, 0x55555555,
     466          0x55555555, 0x55555555, 0x55555555, 0x40155555, 0x55555555,
     467          0x55555555, 0x55555555, 0x3f00ff00, 0xff00ff00, 0xaa003f00,
     468          0x0000ff00, 0x0f000000, 0x0f000f00, 0x0f001f00, 0x3e273884,
     469          0xc00f3d50, 0x00000020, 0x00000008, 0x00007fff, 0xc025ea9d,
     470          0x55555555, 0x55555555, 0x55555555, 0x00042805, 0x55555555,
     471          0x00001555, 0x05555555, 0x55545554, 0x55555555, 0x6a005555,
     472          0x55452855, 0x005f7d55, 0x07fffffe, 0x000000ff, 0xffff0000,
     473          0x000fffff, 0x0007ffff, 0x03ffffff, 0xfff00000, 0x00003fff,
     474          0xffffff00, 0xd0000003, 0x003fde64, 0xffff0000, 0x000003ff,
     475          0x1fdfe7b0, 0x7b000000, 0x0001fc5f, 0xfffff000, 0x0000003f,
     476          0x03ffffff, 0xfff00000, 0x00003fff, 0xffffff00, 0xf0000003,
     477          0x003fffff, 0xffff0000, 0x000003ff, 0xffffff00, 0x00000001,
     478          0x07fffffc, 0xf0000000, 0x001fffff, 0xffc00000, 0x00007fff,
     479          0xffff0000, 0x000001ff, 0x00000400, 0x00000003}};
     480    /** Code Point Ranges for Ll
     481    [97, 122], [181, 181], [223, 246], [248, 255], [257, 257], [259, 259],
     482    [261, 261], [263, 263], [265, 265], [267, 267], [269, 269], [271, 271],
     483    [273, 273], [275, 275], [277, 277], [279, 279], [281, 281], [283, 283],
     484    [285, 285], [287, 287], [289, 289], [291, 291], [293, 293], [295, 295],
     485    [297, 297], [299, 299], [301, 301], [303, 303], [305, 305], [307, 307],
     486    [309, 309], [311, 312], [314, 314], [316, 316], [318, 318], [320, 320],
     487    [322, 322], [324, 324], [326, 326], [328, 329], [331, 331], [333, 333],
     488    [335, 335], [337, 337], [339, 339], [341, 341], [343, 343], [345, 345],
     489    [347, 347], [349, 349], [351, 351], [353, 353], [355, 355], [357, 357],
     490    [359, 359], [361, 361], [363, 363], [365, 365], [367, 367], [369, 369],
     491    [371, 371], [373, 373], [375, 375], [378, 378], [380, 380], [382, 384],
     492    [387, 387], [389, 389], [392, 392], [396, 397], [402, 402], [405, 405],
     493    [409, 411], [414, 414], [417, 417], [419, 419], [421, 421], [424, 424],
     494    [426, 427], [429, 429], [432, 432], [436, 436], [438, 438], [441, 442],
     495    [445, 447], [454, 454], [457, 457], [460, 460], [462, 462], [464, 464],
     496    [466, 466], [468, 468], [470, 470], [472, 472], [474, 474], [476, 477],
     497    [479, 479], [481, 481], [483, 483], [485, 485], [487, 487], [489, 489],
     498    [491, 491], [493, 493], [495, 496], [499, 499], [501, 501], [505, 505],
     499    [507, 507], [509, 509], [511, 511], [513, 513], [515, 515], [517, 517],
     500    [519, 519], [521, 521], [523, 523], [525, 525], [527, 527], [529, 529],
     501    [531, 531], [533, 533], [535, 535], [537, 537], [539, 539], [541, 541],
     502    [543, 543], [545, 545], [547, 547], [549, 549], [551, 551], [553, 553],
     503    [555, 555], [557, 557], [559, 559], [561, 561], [563, 569], [572, 572],
     504    [575, 576], [578, 578], [583, 583], [585, 585], [587, 587], [589, 589],
     505    [591, 659], [661, 687], [881, 881], [883, 883], [887, 887], [891, 893],
     506    [912, 912], [940, 974], [976, 977], [981, 983], [985, 985], [987, 987],
     507    [989, 989], [991, 991], [993, 993], [995, 995], [997, 997], [999, 999],
     508    [1001, 1001], [1003, 1003], [1005, 1005], [1007, 1011], [1013, 1013],
     509    [1016, 1016], [1019, 1020], [1072, 1119], [1121, 1121], [1123, 1123],
     510    [1125, 1125], [1127, 1127], [1129, 1129], [1131, 1131], [1133, 1133],
     511    [1135, 1135], [1137, 1137], [1139, 1139], [1141, 1141], [1143, 1143],
     512    [1145, 1145], [1147, 1147], [1149, 1149], [1151, 1151], [1153, 1153],
     513    [1163, 1163], [1165, 1165], [1167, 1167], [1169, 1169], [1171, 1171],
     514    [1173, 1173], [1175, 1175], [1177, 1177], [1179, 1179], [1181, 1181],
     515    [1183, 1183], [1185, 1185], [1187, 1187], [1189, 1189], [1191, 1191],
     516    [1193, 1193], [1195, 1195], [1197, 1197], [1199, 1199], [1201, 1201],
     517    [1203, 1203], [1205, 1205], [1207, 1207], [1209, 1209], [1211, 1211],
     518    [1213, 1213], [1215, 1215], [1218, 1218], [1220, 1220], [1222, 1222],
     519    [1224, 1224], [1226, 1226], [1228, 1228], [1230, 1231], [1233, 1233],
     520    [1235, 1235], [1237, 1237], [1239, 1239], [1241, 1241], [1243, 1243],
     521    [1245, 1245], [1247, 1247], [1249, 1249], [1251, 1251], [1253, 1253],
     522    [1255, 1255], [1257, 1257], [1259, 1259], [1261, 1261], [1263, 1263],
     523    [1265, 1265], [1267, 1267], [1269, 1269], [1271, 1271], [1273, 1273],
     524    [1275, 1275], [1277, 1277], [1279, 1279], [1281, 1281], [1283, 1283],
     525    [1285, 1285], [1287, 1287], [1289, 1289], [1291, 1291], [1293, 1293],
     526    [1295, 1295], [1297, 1297], [1299, 1299], [1301, 1301], [1303, 1303],
     527    [1305, 1305], [1307, 1307], [1309, 1309], [1311, 1311], [1313, 1313],
     528    [1315, 1315], [1317, 1317], [1319, 1319], [1321, 1321], [1323, 1323],
     529    [1325, 1325], [1327, 1327], [1377, 1415], [5112, 5117], [7296, 7304],
     530    [7424, 7467], [7531, 7543], [7545, 7578], [7681, 7681], [7683, 7683],
     531    [7685, 7685], [7687, 7687], [7689, 7689], [7691, 7691], [7693, 7693],
     532    [7695, 7695], [7697, 7697], [7699, 7699], [7701, 7701], [7703, 7703],
     533    [7705, 7705], [7707, 7707], [7709, 7709], [7711, 7711], [7713, 7713],
     534    [7715, 7715], [7717, 7717], [7719, 7719], [7721, 7721], [7723, 7723],
     535    [7725, 7725], [7727, 7727], [7729, 7729], [7731, 7731], [7733, 7733],
     536    [7735, 7735], [7737, 7737], [7739, 7739], [7741, 7741], [7743, 7743],
     537    [7745, 7745], [7747, 7747], [7749, 7749], [7751, 7751], [7753, 7753],
     538    [7755, 7755], [7757, 7757], [7759, 7759], [7761, 7761], [7763, 7763],
     539    [7765, 7765], [7767, 7767], [7769, 7769], [7771, 7771], [7773, 7773],
     540    [7775, 7775], [7777, 7777], [7779, 7779], [7781, 7781], [7783, 7783],
     541    [7785, 7785], [7787, 7787], [7789, 7789], [7791, 7791], [7793, 7793],
     542    [7795, 7795], [7797, 7797], [7799, 7799], [7801, 7801], [7803, 7803],
     543    [7805, 7805], [7807, 7807], [7809, 7809], [7811, 7811], [7813, 7813],
     544    [7815, 7815], [7817, 7817], [7819, 7819], [7821, 7821], [7823, 7823],
     545    [7825, 7825], [7827, 7827], [7829, 7837], [7839, 7839], [7841, 7841],
     546    [7843, 7843], [7845, 7845], [7847, 7847], [7849, 7849], [7851, 7851],
     547    [7853, 7853], [7855, 7855], [7857, 7857], [7859, 7859], [7861, 7861],
     548    [7863, 7863], [7865, 7865], [7867, 7867], [7869, 7869], [7871, 7871],
     549    [7873, 7873], [7875, 7875], [7877, 7877], [7879, 7879], [7881, 7881],
     550    [7883, 7883], [7885, 7885], [7887, 7887], [7889, 7889], [7891, 7891],
     551    [7893, 7893], [7895, 7895], [7897, 7897], [7899, 7899], [7901, 7901],
     552    [7903, 7903], [7905, 7905], [7907, 7907], [7909, 7909], [7911, 7911],
     553    [7913, 7913], [7915, 7915], [7917, 7917], [7919, 7919], [7921, 7921],
     554    [7923, 7923], [7925, 7925], [7927, 7927], [7929, 7929], [7931, 7931],
     555    [7933, 7933], [7935, 7943], [7952, 7957], [7968, 7975], [7984, 7991],
     556    [8000, 8005], [8016, 8023], [8032, 8039], [8048, 8061], [8064, 8071],
     557    [8080, 8087], [8096, 8103], [8112, 8116], [8118, 8119], [8126, 8126],
     558    [8130, 8132], [8134, 8135], [8144, 8147], [8150, 8151], [8160, 8167],
     559    [8178, 8180], [8182, 8183], [8458, 8458], [8462, 8463], [8467, 8467],
     560    [8495, 8495], [8500, 8500], [8505, 8505], [8508, 8509], [8518, 8521],
     561    [8526, 8526], [8580, 8580], [11312, 11358], [11361, 11361],
     562    [11365, 11366], [11368, 11368], [11370, 11370], [11372, 11372],
     563    [11377, 11377], [11379, 11380], [11382, 11387], [11393, 11393],
     564    [11395, 11395], [11397, 11397], [11399, 11399], [11401, 11401],
     565    [11403, 11403], [11405, 11405], [11407, 11407], [11409, 11409],
     566    [11411, 11411], [11413, 11413], [11415, 11415], [11417, 11417],
     567    [11419, 11419], [11421, 11421], [11423, 11423], [11425, 11425],
     568    [11427, 11427], [11429, 11429], [11431, 11431], [11433, 11433],
     569    [11435, 11435], [11437, 11437], [11439, 11439], [11441, 11441],
     570    [11443, 11443], [11445, 11445], [11447, 11447], [11449, 11449],
     571    [11451, 11451], [11453, 11453], [11455, 11455], [11457, 11457],
     572    [11459, 11459], [11461, 11461], [11463, 11463], [11465, 11465],
     573    [11467, 11467], [11469, 11469], [11471, 11471], [11473, 11473],
     574    [11475, 11475], [11477, 11477], [11479, 11479], [11481, 11481],
     575    [11483, 11483], [11485, 11485], [11487, 11487], [11489, 11489],
     576    [11491, 11492], [11500, 11500], [11502, 11502], [11507, 11507],
     577    [11520, 11557], [11559, 11559], [11565, 11565], [42561, 42561],
     578    [42563, 42563], [42565, 42565], [42567, 42567], [42569, 42569],
     579    [42571, 42571], [42573, 42573], [42575, 42575], [42577, 42577],
     580    [42579, 42579], [42581, 42581], [42583, 42583], [42585, 42585],
     581    [42587, 42587], [42589, 42589], [42591, 42591], [42593, 42593],
     582    [42595, 42595], [42597, 42597], [42599, 42599], [42601, 42601],
     583    [42603, 42603], [42605, 42605], [42625, 42625], [42627, 42627],
     584    [42629, 42629], [42631, 42631], [42633, 42633], [42635, 42635],
     585    [42637, 42637], [42639, 42639], [42641, 42641], [42643, 42643],
     586    [42645, 42645], [42647, 42647], [42649, 42649], [42651, 42651],
     587    [42787, 42787], [42789, 42789], [42791, 42791], [42793, 42793],
     588    [42795, 42795], [42797, 42797], [42799, 42801], [42803, 42803],
     589    [42805, 42805], [42807, 42807], [42809, 42809], [42811, 42811],
     590    [42813, 42813], [42815, 42815], [42817, 42817], [42819, 42819],
     591    [42821, 42821], [42823, 42823], [42825, 42825], [42827, 42827],
     592    [42829, 42829], [42831, 42831], [42833, 42833], [42835, 42835],
     593    [42837, 42837], [42839, 42839], [42841, 42841], [42843, 42843],
     594    [42845, 42845], [42847, 42847], [42849, 42849], [42851, 42851],
     595    [42853, 42853], [42855, 42855], [42857, 42857], [42859, 42859],
     596    [42861, 42861], [42863, 42863], [42865, 42872], [42874, 42874],
     597    [42876, 42876], [42879, 42879], [42881, 42881], [42883, 42883],
     598    [42885, 42885], [42887, 42887], [42892, 42892], [42894, 42894],
     599    [42897, 42897], [42899, 42901], [42903, 42903], [42905, 42905],
     600    [42907, 42907], [42909, 42909], [42911, 42911], [42913, 42913],
     601    [42915, 42915], [42917, 42917], [42919, 42919], [42921, 42921],
     602    [42933, 42933], [42935, 42935], [43002, 43002], [43824, 43866],
     603    [43872, 43877], [43888, 43967], [64256, 64262], [64275, 64279],
     604    [65345, 65370], [66600, 66639], [66776, 66811], [68800, 68850],
     605    [71872, 71903], [119834, 119859], [119886, 119892], [119894, 119911],
     606    [119938, 119963], [119990, 119993], [119995, 119995], [119997, 120003],
     607    [120005, 120015], [120042, 120067], [120094, 120119], [120146, 120171],
     608    [120198, 120223], [120250, 120275], [120302, 120327], [120354, 120379],
     609    [120406, 120431], [120458, 120485], [120514, 120538], [120540, 120545],
     610    [120572, 120596], [120598, 120603], [120630, 120654], [120656, 120661],
     611    [120688, 120712], [120714, 120719], [120746, 120770], [120772, 120777],
     612    [120779, 120779], [125218, 125251]**/
     613    const UnicodeSet ll_Set
     614        {{{Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 14}, {Full, 1},
     615          {Mixed, 2}, {Empty, 5}, {Mixed, 5}, {Empty, 1}, {Mixed, 1},
     616          {Full, 1}, {Mixed, 7}, {Empty, 1}, {Mixed, 2}, {Empty, 114},
     617          {Mixed, 1}, {Empty, 68}, {Mixed, 1}, {Empty, 3}, {Full, 1},
     618          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 16},
     619          {Empty, 8}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 84},
     620          {Mixed, 7}, {Full, 1}, {Mixed, 1}, {Empty, 968}, {Mixed, 3},
     621          {Empty, 4}, {Mixed, 5}, {Empty, 1}, {Mixed, 1}, {Empty, 25},
     622          {Mixed, 3}, {Full, 2}, {Empty, 634}, {Mixed, 1}, {Empty, 33},
     623          {Mixed, 1}, {Empty, 38}, {Mixed, 2}, {Empty, 3}, {Mixed, 2},
     624          {Empty, 62}, {Full, 1}, {Mixed, 1}, {Empty, 94}, {Full, 1},
     625          {Empty, 1497}, {Mixed, 31}, {Empty, 138}, {Mixed, 2},
     626          {Empty, 30901}},
     627         {0x07fffffe, 0x00200000, 0x80000000, 0xff7fffff, 0xaaaaaaaa,
     628          0x55aaaaaa, 0xaaaaab55, 0xd4aaaaaa, 0x4e243129, 0xe6512d2a,
     629          0xb5555240, 0xaa29aaaa, 0xaaaaaaaa, 0x93faaaaa, 0xffffaa85,
     630          0xffefffff, 0x0000ffff, 0x388a0000, 0x00010000, 0xfffff000,
     631          0xaae37fff, 0x192faaaa, 0xffff0000, 0xaaaaaaaa, 0xaaaaa802,
     632          0xaaaaaaaa, 0xaaaad554, 0xaaaaaaaa, 0xaaaaaaaa, 0x0000aaaa,
     633          0xfffffffe, 0x000000ff, 0x3f000000, 0x000001ff, 0x00000fff,
     634          0xfefff800, 0x07ffffff, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa,
     635          0xaaaaaaaa, 0xbfeaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa,
     636          0x003f00ff, 0x00ff00ff, 0x00ff003f, 0x3fff00ff, 0x00ff00ff,
     637          0x40df00ff, 0x00cf00dc, 0x00dc00ff, 0x0008c400, 0x32108000,
     638          0x000043c0, 0x00000010, 0xffff0000, 0x7fffffff, 0x0fda1562,
     639          0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0x0008501a, 0x000020bf,
     640          0xaaaaaaaa, 0x00002aaa, 0x0aaaaaaa, 0xaaabaaa8, 0xaaaaaaaa,
     641          0x95feaaaa, 0xaaba50aa, 0x00a002aa, 0x04000000, 0xffff0000,
     642          0x07ffffff, 0xffff003f, 0x00f8007f, 0x07fffffe, 0xffffff00,
     643          0x0000ffff, 0xff000000, 0x0fffffff, 0x0007ffff, 0xfc000000,
     644          0x000fffff, 0xffdfc000, 0x000000ff, 0x0ffffffc, 0xebc00000,
     645          0x0000ffef, 0xfffffc00, 0xc000000f, 0x00ffffff, 0xfffc0000,
     646          0x00000fff, 0xffffffc0, 0xfc000000, 0x000fffff, 0xffffc000,
     647          0x000000ff, 0x0ffffffc, 0xffc00000, 0x0000ffff, 0xfffffc00,
     648          0x0000003f, 0xf7fffffc, 0xf0000003, 0x0fdfffff, 0xffc00000,
     649          0x003f7fff, 0xffff0000, 0x0000fdff, 0xfffffc00, 0x00000bf7,
     650          0xfffffffc, 0x0000000f}};
     651    /** Code Point Ranges for Lt
     652    [453, 453], [456, 456], [459, 459], [498, 498], [8072, 8079],
     653    [8088, 8095], [8104, 8111], [8124, 8124], [8140, 8140], [8188, 8188]**/
     654    const UnicodeSet lt_Set
     655        {{{Empty, 14}, {Mixed, 2}, {Empty, 236}, {Mixed, 4}, {Empty, 34560}},
     656         {0x00000920, 0x00040000, 0xff00ff00, 0x1000ff00, 0x00001000,
     657          0x10000000}};
     658    /** Code Point Ranges for Lm
     659    [688, 705], [710, 721], [736, 740], [748, 748], [750, 750], [884, 884],
     660    [890, 890], [1369, 1369], [1600, 1600], [1765, 1766], [2036, 2037],
     661    [2042, 2042], [2074, 2074], [2084, 2084], [2088, 2088], [2417, 2417],
     662    [3654, 3654], [3782, 3782], [4348, 4348], [6103, 6103], [6211, 6211],
     663    [6823, 6823], [7288, 7293], [7468, 7530], [7544, 7544], [7579, 7615],
     664    [8305, 8305], [8319, 8319], [8336, 8348], [11388, 11389],
     665    [11631, 11631], [11823, 11823], [12293, 12293], [12337, 12341],
     666    [12347, 12347], [12445, 12446], [12540, 12542], [40981, 40981],
     667    [42232, 42237], [42508, 42508], [42623, 42623], [42652, 42653],
     668    [42775, 42783], [42864, 42864], [42888, 42888], [43000, 43001],
     669    [43471, 43471], [43494, 43494], [43632, 43632], [43741, 43741],
     670    [43763, 43764], [43868, 43871], [65392, 65392], [65438, 65439],
     671    [92992, 92995], [94099, 94111], [94176, 94176]**/
     672    const UnicodeSet lm_Set
     673        {{{Empty, 21}, {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 14},
     674          {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
     675          {Empty, 7}, {Mixed, 3}, {Empty, 9}, {Mixed, 1}, {Empty, 38},
     676          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 16}, {Mixed, 1},
     677          {Empty, 54}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 18},
     678          {Mixed, 1}, {Empty, 13}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
     679          {Full, 1}, {Mixed, 2}, {Full, 1}, {Empty, 21}, {Mixed, 2},
     680          {Empty, 94}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 5},
     681          {Mixed, 1}, {Empty, 14}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
     682          {Empty, 2}, {Mixed, 1}, {Empty, 888}, {Mixed, 1}, {Empty, 38},
     683          {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
     684          {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 2},
     685          {Mixed, 1}, {Empty, 14}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
     686          {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 672},
     687          {Mixed, 2}, {Empty, 861}, {Mixed, 1}, {Empty, 33}, {Mixed, 1},
     688          {Empty, 2}, {Mixed, 1}, {Empty, 31872}},
     689         {0xffff0000, 0x0003ffc3, 0x0000501f, 0x04100000, 0x02000000,
     690          0x00000001, 0x00000060, 0x04300000, 0x04000000, 0x00000110,
     691          0x00020000, 0x00000040, 0x00000040, 0x10000000, 0x00800000,
     692          0x00000008, 0x00000080, 0x3f000000, 0xfffff000, 0x010007ff,
     693          0xf8000000, 0x80020000, 0x1fff0000, 0x30000000, 0x00008000,
     694          0x00008000, 0x00000020, 0x083e0000, 0x60000000, 0x70000000,
     695          0x00200000, 0x3f000000, 0x00001000, 0x80000000, 0x30000000,
     696          0xff800000, 0x00010000, 0x00000100, 0x03000000, 0x00008000,
     697          0x00000040, 0x00010000, 0x20000000, 0x00180000, 0xf0000000,
     698          0x00010000, 0xc0000000, 0x0000000f, 0xfff80000, 0x00000001}};
     699    /** Code Point Ranges for Lo
     700    [170, 170], [186, 186], [443, 443], [448, 451], [660, 660],
     701    [1488, 1514], [1520, 1522], [1568, 1599], [1601, 1610], [1646, 1647],
     702    [1649, 1747], [1749, 1749], [1774, 1775], [1786, 1788], [1791, 1791],
     703    [1808, 1808], [1810, 1839], [1869, 1957], [1969, 1969], [1994, 2026],
     704    [2048, 2069], [2112, 2136], [2208, 2228], [2230, 2237], [2308, 2361],
     705    [2365, 2365], [2384, 2384], [2392, 2401], [2418, 2432], [2437, 2444],
     706    [2447, 2448], [2451, 2472], [2474, 2480], [2482, 2482], [2486, 2489],
     707    [2493, 2493], [2510, 2510], [2524, 2525], [2527, 2529], [2544, 2545],
     708    [2565, 2570], [2575, 2576], [2579, 2600], [2602, 2608], [2610, 2611],
     709    [2613, 2614], [2616, 2617], [2649, 2652], [2654, 2654], [2674, 2676],
     710    [2693, 2701], [2703, 2705], [2707, 2728], [2730, 2736], [2738, 2739],
     711    [2741, 2745], [2749, 2749], [2768, 2768], [2784, 2785], [2809, 2809],
     712    [2821, 2828], [2831, 2832], [2835, 2856], [2858, 2864], [2866, 2867],
     713    [2869, 2873], [2877, 2877], [2908, 2909], [2911, 2913], [2929, 2929],
     714    [2947, 2947], [2949, 2954], [2958, 2960], [2962, 2965], [2969, 2970],
     715    [2972, 2972], [2974, 2975], [2979, 2980], [2984, 2986], [2990, 3001],
     716    [3024, 3024], [3077, 3084], [3086, 3088], [3090, 3112], [3114, 3129],
     717    [3133, 3133], [3160, 3162], [3168, 3169], [3200, 3200], [3205, 3212],
     718    [3214, 3216], [3218, 3240], [3242, 3251], [3253, 3257], [3261, 3261],
     719    [3294, 3294], [3296, 3297], [3313, 3314], [3333, 3340], [3342, 3344],
     720    [3346, 3386], [3389, 3389], [3406, 3406], [3412, 3414], [3423, 3425],
     721    [3450, 3455], [3461, 3478], [3482, 3505], [3507, 3515], [3517, 3517],
     722    [3520, 3526], [3585, 3632], [3634, 3635], [3648, 3653], [3713, 3714],
     723    [3716, 3716], [3719, 3720], [3722, 3722], [3725, 3725], [3732, 3735],
     724    [3737, 3743], [3745, 3747], [3749, 3749], [3751, 3751], [3754, 3755],
     725    [3757, 3760], [3762, 3763], [3773, 3773], [3776, 3780], [3804, 3807],
     726    [3840, 3840], [3904, 3911], [3913, 3948], [3976, 3980], [4096, 4138],
     727    [4159, 4159], [4176, 4181], [4186, 4189], [4193, 4193], [4197, 4198],
     728    [4206, 4208], [4213, 4225], [4238, 4238], [4304, 4346], [4349, 4680],
     729    [4682, 4685], [4688, 4694], [4696, 4696], [4698, 4701], [4704, 4744],
     730    [4746, 4749], [4752, 4784], [4786, 4789], [4792, 4798], [4800, 4800],
     731    [4802, 4805], [4808, 4822], [4824, 4880], [4882, 4885], [4888, 4954],
     732    [4992, 5007], [5121, 5740], [5743, 5759], [5761, 5786], [5792, 5866],
     733    [5873, 5880], [5888, 5900], [5902, 5905], [5920, 5937], [5952, 5969],
     734    [5984, 5996], [5998, 6000], [6016, 6067], [6108, 6108], [6176, 6210],
     735    [6212, 6263], [6272, 6276], [6279, 6312], [6314, 6314], [6320, 6389],
     736    [6400, 6430], [6480, 6509], [6512, 6516], [6528, 6571], [6576, 6601],
     737    [6656, 6678], [6688, 6740], [6917, 6963], [6981, 6987], [7043, 7072],
     738    [7086, 7087], [7098, 7141], [7168, 7203], [7245, 7247], [7258, 7287],
     739    [7401, 7404], [7406, 7409], [7413, 7414], [8501, 8504], [11568, 11623],
     740    [11648, 11670], [11680, 11686], [11688, 11694], [11696, 11702],
     741    [11704, 11710], [11712, 11718], [11720, 11726], [11728, 11734],
     742    [11736, 11742], [12294, 12294], [12348, 12348], [12353, 12438],
     743    [12447, 12447], [12449, 12538], [12543, 12543], [12549, 12589],
     744    [12593, 12686], [12704, 12730], [12784, 12799], [13312, 19893],
     745    [19968, 40917], [40960, 40980], [40982, 42124], [42192, 42231],
     746    [42240, 42507], [42512, 42527], [42538, 42539], [42606, 42606],
     747    [42656, 42725], [42895, 42895], [42999, 42999], [43003, 43009],
     748    [43011, 43013], [43015, 43018], [43020, 43042], [43072, 43123],
     749    [43138, 43187], [43250, 43255], [43259, 43259], [43261, 43261],
     750    [43274, 43301], [43312, 43334], [43360, 43388], [43396, 43442],
     751    [43488, 43492], [43495, 43503], [43514, 43518], [43520, 43560],
     752    [43584, 43586], [43588, 43595], [43616, 43631], [43633, 43638],
     753    [43642, 43642], [43646, 43695], [43697, 43697], [43701, 43702],
     754    [43705, 43709], [43712, 43712], [43714, 43714], [43739, 43740],
     755    [43744, 43754], [43762, 43762], [43777, 43782], [43785, 43790],
     756    [43793, 43798], [43808, 43814], [43816, 43822], [43968, 44002],
     757    [44032, 55203], [55216, 55238], [55243, 55291], [63744, 64109],
     758    [64112, 64217], [64285, 64285], [64287, 64296], [64298, 64310],
     759    [64312, 64316], [64318, 64318], [64320, 64321], [64323, 64324],
     760    [64326, 64433], [64467, 64829], [64848, 64911], [64914, 64967],
     761    [65008, 65019], [65136, 65140], [65142, 65276], [65382, 65391],
     762    [65393, 65437], [65440, 65470], [65474, 65479], [65482, 65487],
     763    [65490, 65495], [65498, 65500], [65536, 65547], [65549, 65574],
     764    [65576, 65594], [65596, 65597], [65599, 65613], [65616, 65629],
     765    [65664, 65786], [66176, 66204], [66208, 66256], [66304, 66335],
     766    [66352, 66368], [66370, 66377], [66384, 66421], [66432, 66461],
     767    [66464, 66499], [66504, 66511], [66640, 66717], [66816, 66855],
     768    [66864, 66915], [67072, 67382], [67392, 67413], [67424, 67431],
     769    [67584, 67589], [67592, 67592], [67594, 67637], [67639, 67640],
     770    [67644, 67644], [67647, 67669], [67680, 67702], [67712, 67742],
     771    [67808, 67826], [67828, 67829], [67840, 67861], [67872, 67897],
     772    [67968, 68023], [68030, 68031], [68096, 68096], [68112, 68115],
     773    [68117, 68119], [68121, 68147], [68192, 68220], [68224, 68252],
     774    [68288, 68295], [68297, 68324], [68352, 68405], [68416, 68437],
     775    [68448, 68466], [68480, 68497], [68608, 68680], [69635, 69687],
     776    [69763, 69807], [69840, 69864], [69891, 69926], [69968, 70002],
     777    [70006, 70006], [70019, 70066], [70081, 70084], [70106, 70106],
     778    [70108, 70108], [70144, 70161], [70163, 70187], [70272, 70278],
     779    [70280, 70280], [70282, 70285], [70287, 70301], [70303, 70312],
     780    [70320, 70366], [70405, 70412], [70415, 70416], [70419, 70440],
     781    [70442, 70448], [70450, 70451], [70453, 70457], [70461, 70461],
     782    [70480, 70480], [70493, 70497], [70656, 70708], [70727, 70730],
     783    [70784, 70831], [70852, 70853], [70855, 70855], [71040, 71086],
     784    [71128, 71131], [71168, 71215], [71236, 71236], [71296, 71338],
     785    [71424, 71449], [71935, 71935], [72384, 72440], [72704, 72712],
     786    [72714, 72750], [72768, 72768], [72818, 72847], [73728, 74649],
     787    [74880, 75075], [77824, 78894], [82944, 83526], [92160, 92728],
     788    [92736, 92766], [92880, 92909], [92928, 92975], [93027, 93047],
     789    [93053, 93071], [93952, 94020], [94032, 94032], [94208, 100332],
     790    [100352, 101106], [110592, 110593], [113664, 113770], [113776, 113788],
     791    [113792, 113800], [113808, 113817], [124928, 125124], [126464, 126467],
     792    [126469, 126495], [126497, 126498], [126500, 126500], [126503, 126503],
     793    [126505, 126514], [126516, 126519], [126521, 126521], [126523, 126523],
     794    [126530, 126530], [126535, 126535], [126537, 126537], [126539, 126539],
     795    [126541, 126543], [126545, 126546], [126548, 126548], [126551, 126551],
     796    [126553, 126553], [126555, 126555], [126557, 126557], [126559, 126559],
     797    [126561, 126562], [126564, 126564], [126567, 126570], [126572, 126578],
     798    [126580, 126583], [126585, 126588], [126590, 126590], [126592, 126601],
     799    [126603, 126619], [126625, 126627], [126629, 126633], [126635, 126651],
     800    [131072, 173782], [173824, 177972], [177984, 178205], [178208, 183969],
     801    [194560, 195101]**/
     802    const UnicodeSet lo_Set
     803        {{{Empty, 5}, {Mixed, 1}, {Empty, 7}, {Mixed, 2}, {Empty, 5},
     804          {Mixed, 1}, {Empty, 25}, {Mixed, 2}, {Empty, 1}, {Full, 1},
     805          {Mixed, 2}, {Full, 2}, {Mixed, 5}, {Full, 2}, {Mixed, 4},
     806          {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 2},
     807          {Mixed, 23}, {Empty, 1}, {Mixed, 15}, {Empty, 1}, {Mixed, 3},
     808          {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
     809          {Mixed, 3}, {Empty, 3}, {Full, 1}, {Mixed, 4}, {Empty, 1},
     810          {Mixed, 2}, {Full, 10}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
     811          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
     812          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 18}, {Mixed, 2},
     813          {Full, 2}, {Mixed, 5}, {Full, 1}, {Mixed, 2}, {Empty, 2},
     814          {Full, 1}, {Mixed, 4}, {Full, 1}, {Mixed, 2}, {Empty, 1},
     815          {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
     816          {Full, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 3}, {Empty, 1},
     817          {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
     818          {Empty, 3}, {Mixed, 1}, {Empty, 33}, {Mixed, 1}, {Empty, 95},
     819          {Mixed, 1}, {Full, 1}, {Mixed, 4}, {Empty, 17}, {Mixed, 3},
     820          {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Full, 2},
     821          {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 16}, {Full, 205},
     822          {Mixed, 1}, {Empty, 2}, {Full, 654}, {Mixed, 1}, {Empty, 1},
     823          {Mixed, 1}, {Full, 35}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
     824          {Full, 8}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
     825          {Full, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 2},
     826          {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 7},
     827          {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1},
     828          {Mixed, 5}, {Empty, 4}, {Full, 1}, {Mixed, 1}, {Full, 349},
     829          {Mixed, 3}, {Empty, 264}, {Full, 11}, {Mixed, 1}, {Full, 2},
     830          {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Full, 2}, {Mixed, 2},
     831          {Full, 10}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1},
     832          {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Full, 3}, {Mixed, 1},
     833          {Empty, 3}, {Mixed, 4}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
     834          {Full, 3}, {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Full, 1},
     835          {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 4}, {Full, 1},
     836          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
     837          {Empty, 3}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
     838          {Empty, 4}, {Full, 9}, {Mixed, 3}, {Empty, 4}, {Mixed, 5},
     839          {Empty, 2}, {Mixed, 3}, {Empty, 2}, {Full, 1}, {Mixed, 1},
     840          {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
     841          {Mixed, 2}, {Full, 1}, {Mixed, 4}, {Empty, 3}, {Full, 2},
     842          {Mixed, 1}, {Empty, 29}, {Mixed, 2}, {Empty, 2}, {Mixed, 11},
     843          {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Empty, 1},
     844          {Mixed, 4}, {Empty, 4}, {Full, 1}, {Mixed, 2}, {Empty, 1},
     845          {Full, 1}, {Mixed, 2}, {Empty, 5}, {Full, 1}, {Mixed, 2},
     846          {Empty, 1}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Full, 1},
     847          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 14}, {Mixed, 1},
     848          {Empty, 14}, {Full, 1}, {Mixed, 1}, {Empty, 8}, {Mixed, 5},
     849          {Empty, 27}, {Full, 28}, {Mixed, 1}, {Empty, 7}, {Full, 6},
     850          {Mixed, 1}, {Empty, 85}, {Full, 33}, {Mixed, 1}, {Empty, 126},
     851          {Full, 18}, {Mixed, 1}, {Empty, 269}, {Full, 17}, {Mixed, 2},
     852          {Empty, 3}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Empty, 1},
     853          {Mixed, 2}, {Empty, 27}, {Full, 2}, {Mixed, 1}, {Empty, 5},
     854          {Full, 191}, {Mixed, 1}, {Full, 23}, {Mixed, 1}, {Empty, 296},
     855          {Mixed, 1}, {Empty, 95}, {Full, 3}, {Mixed, 2}, {Empty, 347},
     856          {Full, 6}, {Mixed, 1}, {Empty, 41}, {Mixed, 6}, {Empty, 138},
     857          {Full, 1334}, {Mixed, 1}, {Empty, 1}, {Full, 129}, {Mixed, 1},
     858          {Full, 6}, {Mixed, 1}, {Full, 180}, {Mixed, 1}, {Empty, 330},
     859          {Full, 16}, {Mixed, 1}, {Empty, 28719}},
     860         {0x04000400, 0x08000000, 0x0000000f, 0x00100000, 0xffff0000,
     861          0x000707ff, 0x000007fe, 0xfffec000, 0x002fffff, 0x9c00c000,
     862          0xfffd0000, 0x0000ffff, 0xffffe000, 0x0002003f, 0xfffffc00,
     863          0x000007ff, 0x003fffff, 0x01ffffff, 0x3fdfffff, 0xfffffff0,
     864          0x23ffffff, 0xff010000, 0xfffc0003, 0xfff99fe1, 0x23c5fdff,
     865          0xb0004000, 0x00030003, 0xfff987e0, 0x036dfdff, 0x5e000000,
     866          0x001c0000, 0xfffbbfe0, 0x23edfdff, 0x00010000, 0x02000003,
     867          0xfff99fe0, 0x23edfdff, 0xb0000000, 0x00020003, 0xd63dc7e8,
     868          0x03ffc718, 0x00010000, 0xfffddfe0, 0x23fffdff, 0x07000000,
     869          0x00000003, 0xfffddfe1, 0x23effdff, 0x40000000, 0x00060003,
     870          0xfffddfe0, 0x27ffffff, 0x80704000, 0xfc000003, 0xfc7fffe0,
     871          0x2ffbffff, 0x0000007f, 0xfffffffe, 0x000dffff, 0x0000003f,
     872          0xfef02596, 0x200decae, 0xf000001f, 0x00000001, 0xfffffeff,
     873          0x00001fff, 0x00001f00, 0x800007ff, 0x3c3f0000, 0xffe1c062,
     874          0x00004003, 0xffff0000, 0xe7ffffff, 0x3d7f3dff, 0xffff3dff,
     875          0x7f3dffff, 0xff7fff3d, 0xff3dffff, 0x07ffffff, 0x0000ffff,
     876          0xfffffffe, 0xffff9fff, 0x07fffffe, 0x01fe07ff, 0x0003dfff,
     877          0x0003ffff, 0x0003ffff, 0x0001dfff, 0x000fffff, 0x10000000,
     878          0xfffffff7, 0x00ffffff, 0xffffff9f, 0xffff05ff, 0x003fffff,
     879          0x7fffffff, 0xffff0000, 0x001f3fff, 0xffff0fff, 0x000003ff,
     880          0x007fffff, 0x001fffff, 0xffffffe0, 0x000fffff, 0x00000fe0,
     881          0xfffffff8, 0xfc00c001, 0x0000003f, 0x0000000f, 0xfc00e000,
     882          0x00ffffff, 0x0063de00, 0x01e00000, 0xffff0000, 0x000000ff,
     883          0x007fffff, 0x7f7f7f7f, 0x7f7f7f7f, 0x00000040, 0x10000000,
     884          0xfffffffe, 0x807fffff, 0xfffffffe, 0x87ffffff, 0xffffffe0,
     885          0xfffe3fff, 0x00007fff, 0x07ffffff, 0xffff0000, 0x003fffff,
     886          0x003fffff, 0xffdfffff, 0x00001fff, 0xffff0000, 0x00ffffff,
     887          0xffff0fff, 0x00000c00, 0x00004000, 0x0000003f, 0x00008000,
     888          0xf8800000, 0xfffff7bb, 0x00000007, 0x000fffff, 0xfffffffc,
     889          0x000fffff, 0x28fc0000, 0xfffffc00, 0xffff003f, 0x0000007f,
     890          0x1fffffff, 0xfffffff0, 0x0007ffff, 0x7c00ff9f, 0x000001ff,
     891          0x00000ff7, 0xc47effff, 0x3e62ffff, 0x18000005, 0x000407ff,
     892          0x007e7e7e, 0x00007f7f, 0x00000007, 0xffff000f, 0xfffff87f,
     893          0x0fffffff, 0xffff3fff, 0x03ffffff, 0xa0000000, 0x5f7ffdff,
     894          0xffffffdb, 0x0003ffff, 0xfff80000, 0x3fffffff, 0xffff0000,
     895          0xfffcffff, 0x000000ff, 0x0fff0000, 0xffdf0000, 0x1fffffff,
     896          0xfffeffc0, 0x3fffffff, 0x7fffffff, 0x1cfcfcfc, 0xffffefff,
     897          0xb7ffff7f, 0x3fff3fff, 0x07ffffff, 0x1fffffff, 0x0001ffff,
     898          0xffff0000, 0xffff03fd, 0x003fffff, 0x3fffffff, 0x0000ff0f,
     899          0xffff0000, 0x3fffffff, 0xffff00ff, 0x0000000f, 0x007fffff,
     900          0x003fffff, 0x000000ff, 0xfffffd3f, 0x91bfffff, 0x003fffff,
     901          0x007fffff, 0x7fffffff, 0x0037ffff, 0x003fffff, 0x03ffffff,
     902          0xc0ffffff, 0xfeef0001, 0x000fffff, 0x1fffffff, 0x1fffffff,
     903          0xfffffeff, 0x0000001f, 0x003fffff, 0x003fffff, 0x0007ffff,
     904          0x0003ffff, 0x000001ff, 0xfffffff8, 0x00ffffff, 0xfffffff8,
     905          0x0000ffff, 0xffff0000, 0x000001ff, 0xfffffff8, 0x0000007f,
     906          0xffff0000, 0x0047ffff, 0xfffffff8, 0x0007ffff, 0x1400001e,
     907          0xfffbffff, 0x00000fff, 0xbfffbd7f, 0xffff01ff, 0x7fffffff,
     908          0xfff99fe0, 0x23edfdff, 0xe0010000, 0x00000003, 0x001fffff,
     909          0x00000780, 0x0000ffff, 0x000000b0, 0x00007fff, 0x0f000000,
     910          0x0000ffff, 0x00000010, 0x000007ff, 0x03ffffff, 0x80000000,
     911          0x01ffffff, 0xfffffdff, 0x00007fff, 0x00000001, 0xfffc0000,
     912          0x0000ffff, 0x03ffffff, 0x0000000f, 0x00007fff, 0x0000007f,
     913          0x01ffffff, 0x7fffffff, 0xffff0000, 0x00003fff, 0x0000ffff,
     914          0xe0fffff8, 0x0000ffff, 0x0001001f, 0x00001fff, 0x0007ffff,
     915          0x00000003, 0x1fff07ff, 0x03ff01ff, 0x0000001f, 0xffffffef,
     916          0x0af7fe96, 0xaa96ea84, 0x5ef7f796, 0x0ffffbff, 0x0ffffbee,
     917          0x007fffff, 0x001fffff, 0x3fffffff, 0x00000003, 0x3fffffff}};
     918    /** Code Point Ranges for Mn
     919    [768, 879], [1155, 1159], [1425, 1469], [1471, 1471], [1473, 1474],
     920    [1476, 1477], [1479, 1479], [1552, 1562], [1611, 1631], [1648, 1648],
     921    [1750, 1756], [1759, 1764], [1767, 1768], [1770, 1773], [1809, 1809],
     922    [1840, 1866], [1958, 1968], [2027, 2035], [2070, 2073], [2075, 2083],
     923    [2085, 2087], [2089, 2093], [2137, 2139], [2260, 2273], [2275, 2306],
     924    [2362, 2362], [2364, 2364], [2369, 2376], [2381, 2381], [2385, 2391],
     925    [2402, 2403], [2433, 2433], [2492, 2492], [2497, 2500], [2509, 2509],
     926    [2530, 2531], [2561, 2562], [2620, 2620], [2625, 2626], [2631, 2632],
     927    [2635, 2637], [2641, 2641], [2672, 2673], [2677, 2677], [2689, 2690],
     928    [2748, 2748], [2753, 2757], [2759, 2760], [2765, 2765], [2786, 2787],
     929    [2817, 2817], [2876, 2876], [2879, 2879], [2881, 2884], [2893, 2893],
     930    [2902, 2902], [2914, 2915], [2946, 2946], [3008, 3008], [3021, 3021],
     931    [3072, 3072], [3134, 3136], [3142, 3144], [3146, 3149], [3157, 3158],
     932    [3170, 3171], [3201, 3201], [3260, 3260], [3263, 3263], [3270, 3270],
     933    [3276, 3277], [3298, 3299], [3329, 3329], [3393, 3396], [3405, 3405],
     934    [3426, 3427], [3530, 3530], [3538, 3540], [3542, 3542], [3633, 3633],
     935    [3636, 3642], [3655, 3662], [3761, 3761], [3764, 3769], [3771, 3772],
     936    [3784, 3789], [3864, 3865], [3893, 3893], [3895, 3895], [3897, 3897],
     937    [3953, 3966], [3968, 3972], [3974, 3975], [3981, 3991], [3993, 4028],
     938    [4038, 4038], [4141, 4144], [4146, 4151], [4153, 4154], [4157, 4158],
     939    [4184, 4185], [4190, 4192], [4209, 4212], [4226, 4226], [4229, 4230],
     940    [4237, 4237], [4253, 4253], [4957, 4959], [5906, 5908], [5938, 5940],
     941    [5970, 5971], [6002, 6003], [6068, 6069], [6071, 6077], [6086, 6086],
     942    [6089, 6099], [6109, 6109], [6155, 6157], [6277, 6278], [6313, 6313],
     943    [6432, 6434], [6439, 6440], [6450, 6450], [6457, 6459], [6679, 6680],
     944    [6683, 6683], [6742, 6742], [6744, 6750], [6752, 6752], [6754, 6754],
     945    [6757, 6764], [6771, 6780], [6783, 6783], [6832, 6845], [6912, 6915],
     946    [6964, 6964], [6966, 6970], [6972, 6972], [6978, 6978], [7019, 7027],
     947    [7040, 7041], [7074, 7077], [7080, 7081], [7083, 7085], [7142, 7142],
     948    [7144, 7145], [7149, 7149], [7151, 7153], [7212, 7219], [7222, 7223],
     949    [7376, 7378], [7380, 7392], [7394, 7400], [7405, 7405], [7412, 7412],
     950    [7416, 7417], [7616, 7669], [7675, 7679], [8400, 8412], [8417, 8417],
     951    [8421, 8432], [11503, 11505], [11647, 11647], [11744, 11775],
     952    [12330, 12333], [12441, 12442], [42607, 42607], [42612, 42621],
     953    [42654, 42655], [42736, 42737], [43010, 43010], [43014, 43014],
     954    [43019, 43019], [43045, 43046], [43204, 43205], [43232, 43249],
     955    [43302, 43309], [43335, 43345], [43392, 43394], [43443, 43443],
     956    [43446, 43449], [43452, 43452], [43493, 43493], [43561, 43566],
     957  &nbs