source: icGREP/icgrep-devel/icgrep/UCD/WordBreakProperty.h @ 5159

Last change on this file since 5159 was 5159, checked in by cameron, 3 years ago

Support for enumeration basis sets

File size: 57.4 KB
Line 
1#ifndef WORDBREAKPROPERTY_H
2#define WORDBREAKPROPERTY_H
3/*
4 *  Copyright (c) 2016 International Characters, Inc.
5 *  This software is licensed to the public under the Open Software License 3.0.
6 *  icgrep is a trademark of International Characters, Inc.
7 *
8 *  This file is generated by UCD_properties.py - manual edits may be lost.
9 */
10
11#include "PropertyObjects.h"
12#include "PropertyValueAliases.h"
13#include "unicode_set.h"
14
15namespace UCD {
16  namespace WB_ns {
17    const unsigned independent_prop_values = 22;
18    /** Code Point Ranges for XX
19    [0, 9], [14, 33], [35, 38], [40, 43], [45, 45], [47, 47], [60, 64],
20    [91, 94], [96, 96], [123, 132], [134, 169], [171, 172], [174, 180],
21    [182, 182], [184, 185], [187, 191], [215, 215], [247, 247], [706, 709],
22    [722, 726], [728, 735], [741, 747], [749, 749], [751, 767], [885, 885],
23    [888, 889], [896, 901], [907, 907], [909, 909], [930, 930],
24    [1014, 1014], [1154, 1154], [1328, 1328], [1367, 1368], [1370, 1376],
25    [1416, 1416], [1418, 1424], [1470, 1470], [1472, 1472], [1475, 1475],
26    [1478, 1478], [1480, 1487], [1515, 1519], [1525, 1535], [1542, 1547],
27    [1550, 1551], [1563, 1563], [1565, 1567], [1642, 1642], [1645, 1645],
28    [1748, 1748], [1758, 1758], [1769, 1769], [1789, 1790], [1792, 1806],
29    [1867, 1868], [1970, 1983], [2038, 2039], [2041, 2041], [2043, 2047],
30    [2094, 2111], [2140, 2207], [2229, 2229], [2238, 2259], [2404, 2405],
31    [2416, 2416], [2436, 2436], [2445, 2446], [2449, 2450], [2473, 2473],
32    [2481, 2481], [2483, 2485], [2490, 2491], [2501, 2502], [2505, 2506],
33    [2511, 2518], [2520, 2523], [2526, 2526], [2532, 2533], [2546, 2560],
34    [2564, 2564], [2571, 2574], [2577, 2578], [2601, 2601], [2609, 2609],
35    [2612, 2612], [2615, 2615], [2618, 2619], [2621, 2621], [2627, 2630],
36    [2633, 2634], [2638, 2640], [2642, 2648], [2653, 2653], [2655, 2661],
37    [2678, 2688], [2692, 2692], [2702, 2702], [2706, 2706], [2729, 2729],
38    [2737, 2737], [2740, 2740], [2746, 2747], [2758, 2758], [2762, 2762],
39    [2766, 2767], [2769, 2783], [2788, 2789], [2800, 2808], [2810, 2816],
40    [2820, 2820], [2829, 2830], [2833, 2834], [2857, 2857], [2865, 2865],
41    [2868, 2868], [2874, 2875], [2885, 2886], [2889, 2890], [2894, 2901],
42    [2904, 2907], [2910, 2910], [2916, 2917], [2928, 2928], [2930, 2945],
43    [2948, 2948], [2955, 2957], [2961, 2961], [2966, 2968], [2971, 2971],
44    [2973, 2973], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3005],
45    [3011, 3013], [3017, 3017], [3022, 3023], [3025, 3030], [3032, 3045],
46    [3056, 3071], [3076, 3076], [3085, 3085], [3089, 3089], [3113, 3113],
47    [3130, 3132], [3141, 3141], [3145, 3145], [3150, 3156], [3159, 3159],
48    [3163, 3167], [3172, 3173], [3184, 3199], [3204, 3204], [3213, 3213],
49    [3217, 3217], [3241, 3241], [3252, 3252], [3258, 3259], [3269, 3269],
50    [3273, 3273], [3278, 3284], [3287, 3293], [3295, 3295], [3300, 3301],
51    [3312, 3312], [3315, 3328], [3332, 3332], [3341, 3341], [3345, 3345],
52    [3387, 3388], [3397, 3397], [3401, 3401], [3407, 3411], [3416, 3422],
53    [3428, 3429], [3440, 3449], [3456, 3457], [3460, 3460], [3479, 3481],
54    [3506, 3506], [3516, 3516], [3518, 3519], [3527, 3529], [3531, 3534],
55    [3541, 3541], [3543, 3543], [3552, 3557], [3568, 3569], [3572, 3632],
56    [3634, 3635], [3643, 3654], [3663, 3663], [3674, 3760], [3762, 3763],
57    [3770, 3770], [3773, 3783], [3790, 3791], [3802, 3839], [3841, 3863],
58    [3866, 3871], [3882, 3892], [3894, 3894], [3896, 3896], [3898, 3901],
59    [3912, 3912], [3949, 3952], [3973, 3973], [3992, 3992], [4029, 4037],
60    [4039, 4138], [4159, 4159], [4170, 4181], [4186, 4189], [4193, 4193],
61    [4197, 4198], [4206, 4208], [4213, 4225], [4238, 4238], [4254, 4255],
62    [4294, 4294], [4296, 4300], [4302, 4303], [4347, 4347], [4681, 4681],
63    [4686, 4687], [4695, 4695], [4697, 4697], [4702, 4703], [4745, 4745],
64    [4750, 4751], [4785, 4785], [4790, 4791], [4799, 4799], [4801, 4801],
65    [4806, 4807], [4823, 4823], [4881, 4881], [4886, 4887], [4955, 4956],
66    [4960, 4991], [5008, 5023], [5110, 5111], [5118, 5120], [5741, 5742],
67    [5760, 5760], [5787, 5791], [5867, 5869], [5881, 5887], [5901, 5901],
68    [5909, 5919], [5941, 5951], [5972, 5983], [5997, 5997], [6001, 6001],
69    [6004, 6067], [6100, 6108], [6110, 6111], [6122, 6154], [6159, 6159],
70    [6170, 6175], [6264, 6271], [6315, 6319], [6390, 6399], [6431, 6431],
71    [6444, 6447], [6460, 6469], [6480, 6607], [6618, 6655], [6684, 6740],
72    [6751, 6751], [6781, 6782], [6794, 6799], [6810, 6831], [6847, 6911],
73    [6988, 6991], [7002, 7018], [7028, 7039], [7156, 7167], [7224, 7231],
74    [7242, 7244], [7294, 7295], [7305, 7375], [7379, 7379], [7415, 7415],
75    [7418, 7423], [7670, 7674], [7958, 7959], [7966, 7967], [8006, 8007],
76    [8014, 8015], [8024, 8024], [8026, 8026], [8028, 8028], [8030, 8030],
77    [8062, 8063], [8117, 8117], [8125, 8125], [8127, 8129], [8133, 8133],
78    [8141, 8143], [8148, 8149], [8156, 8159], [8173, 8177], [8181, 8181],
79    [8189, 8203], [8208, 8215], [8218, 8227], [8229, 8230], [8240, 8254],
80    [8257, 8259], [8261, 8275], [8277, 8287], [8293, 8293], [8304, 8304],
81    [8306, 8318], [8320, 8335], [8349, 8399], [8433, 8449], [8451, 8454],
82    [8456, 8457], [8468, 8468], [8470, 8472], [8478, 8483], [8485, 8485],
83    [8487, 8487], [8489, 8489], [8494, 8494], [8506, 8507], [8512, 8516],
84    [8522, 8525], [8527, 8543], [8585, 9397], [9450, 9756], [9758, 9976],
85    [9978, 9993], [9998, 10083], [10085, 11263], [11311, 11311],
86    [11359, 11359], [11493, 11498], [11508, 11519], [11558, 11558],
87    [11560, 11564], [11566, 11567], [11624, 11630], [11632, 11646],
88    [11671, 11679], [11687, 11687], [11695, 11695], [11703, 11703],
89    [11711, 11711], [11719, 11719], [11727, 11727], [11735, 11735],
90    [11743, 11743], [11776, 11822], [11824, 12292], [12294, 12329],
91    [12336, 12336], [12342, 12346], [12349, 12440], [12445, 12447],
92    [12539, 12539], [12544, 12548], [12590, 12592], [12687, 12703],
93    [12731, 12783], [12800, 13007], [13055, 13055], [13144, 40959],
94    [42125, 42191], [42238, 42239], [42509, 42511], [42540, 42559],
95    [42611, 42611], [42622, 42622], [42738, 42774], [42784, 42785],
96    [42889, 42890], [42927, 42927], [42936, 42998], [43048, 43071],
97    [43124, 43135], [43206, 43215], [43226, 43231], [43256, 43258],
98    [43260, 43260], [43262, 43263], [43310, 43311], [43348, 43359],
99    [43389, 43391], [43457, 43470], [43482, 43492], [43494, 43503],
100    [43514, 43519], [43575, 43583], [43598, 43599], [43610, 43642],
101    [43646, 43695], [43697, 43697], [43701, 43702], [43705, 43709],
102    [43712, 43712], [43714, 43743], [43760, 43761], [43767, 43776],
103    [43783, 43784], [43791, 43792], [43799, 43807], [43815, 43815],
104    [43823, 43823], [43867, 43867], [43878, 43887], [44011, 44011],
105    [44014, 44015], [44026, 44031], [55204, 55215], [55239, 55242],
106    [55292, 64255], [64263, 64274], [64280, 64284], [64297, 64297],
107    [64311, 64311], [64317, 64317], [64319, 64319], [64322, 64322],
108    [64325, 64325], [64434, 64466], [64830, 64847], [64912, 64913],
109    [64968, 65007], [65020, 65023], [65041, 65042], [65045, 65055],
110    [65072, 65074], [65077, 65100], [65105, 65105], [65107, 65107],
111    [65110, 65135], [65141, 65141], [65277, 65278], [65280, 65286],
112    [65288, 65291], [65293, 65293], [65295, 65305], [65308, 65312],
113    [65339, 65342], [65344, 65344], [65371, 65381], [65471, 65473],
114    [65480, 65481], [65488, 65489], [65496, 65497], [65501, 65528],
115    [65532, 65535], [65548, 65548], [65575, 65575], [65595, 65595],
116    [65598, 65598], [65614, 65615], [65630, 65663], [65787, 65855],
117    [65909, 66044], [66046, 66175], [66205, 66207], [66257, 66271],
118    [66273, 66303], [66336, 66351], [66379, 66383], [66427, 66431],
119    [66462, 66463], [66500, 66503], [66512, 66512], [66518, 66559],
120    [66718, 66719], [66730, 66735], [66772, 66775], [66812, 66815],
121    [66856, 66863], [66916, 67071], [67383, 67391], [67414, 67423],
122    [67432, 67583], [67590, 67591], [67593, 67593], [67638, 67638],
123    [67641, 67643], [67645, 67646], [67670, 67679], [67703, 67711],
124    [67743, 67807], [67827, 67827], [67830, 67839], [67862, 67871],
125    [67898, 67967], [68024, 68029], [68032, 68095], [68100, 68100],
126    [68103, 68107], [68116, 68116], [68120, 68120], [68148, 68151],
127    [68155, 68158], [68160, 68191], [68221, 68223], [68253, 68287],
128    [68296, 68296], [68327, 68351], [68406, 68415], [68438, 68447],
129    [68467, 68479], [68498, 68607], [68681, 68735], [68787, 68799],
130    [68851, 69631], [69703, 69733], [69744, 69758], [69819, 69820],
131    [69822, 69839], [69865, 69871], [69882, 69887], [69941, 69941],
132    [69952, 69967], [70004, 70005], [70007, 70015], [70085, 70089],
133    [70093, 70095], [70107, 70107], [70109, 70143], [70162, 70162],
134    [70200, 70205], [70207, 70271], [70279, 70279], [70281, 70281],
135    [70286, 70286], [70302, 70302], [70313, 70319], [70379, 70383],
136    [70394, 70399], [70404, 70404], [70413, 70414], [70417, 70418],
137    [70441, 70441], [70449, 70449], [70452, 70452], [70458, 70459],
138    [70469, 70470], [70473, 70474], [70478, 70479], [70481, 70486],
139    [70488, 70492], [70500, 70501], [70509, 70511], [70517, 70655],
140    [70731, 70735], [70746, 70783], [70854, 70854], [70856, 70863],
141    [70874, 71039], [71094, 71095], [71105, 71127], [71134, 71167],
142    [71233, 71235], [71237, 71247], [71258, 71295], [71352, 71359],
143    [71370, 71452], [71468, 71471], [71482, 71839], [71914, 71934],
144    [71936, 72383], [72441, 72703], [72713, 72713], [72759, 72759],
145    [72769, 72783], [72794, 72817], [72848, 72849], [72872, 72872],
146    [72887, 73727], [74650, 74751], [74863, 74879], [75076, 77823],
147    [78895, 82943], [83527, 92159], [92729, 92735], [92767, 92767],
148    [92778, 92879], [92910, 92911], [92917, 92927], [92983, 92991],
149    [92996, 93007], [93018, 93026], [93048, 93052], [93072, 93951],
150    [94021, 94031], [94079, 94094], [94112, 94175], [94177, 110591],
151    [110593, 113663], [113771, 113775], [113789, 113791], [113801, 113807],
152    [113818, 113820], [113823, 113823], [113828, 119140], [119146, 119148],
153    [119171, 119172], [119180, 119209], [119214, 119361], [119365, 119807],
154    [119893, 119893], [119965, 119965], [119968, 119969], [119971, 119972],
155    [119975, 119976], [119981, 119981], [119994, 119994], [119996, 119996],
156    [120004, 120004], [120070, 120070], [120075, 120076], [120085, 120085],
157    [120093, 120093], [120122, 120122], [120127, 120127], [120133, 120133],
158    [120135, 120137], [120145, 120145], [120486, 120487], [120513, 120513],
159    [120539, 120539], [120571, 120571], [120597, 120597], [120629, 120629],
160    [120655, 120655], [120687, 120687], [120713, 120713], [120745, 120745],
161    [120771, 120771], [120780, 120781], [120832, 121343], [121399, 121402],
162    [121453, 121460], [121462, 121475], [121477, 121498], [121504, 121504],
163    [121520, 122879], [122887, 122887], [122905, 122906], [122914, 122914],
164    [122917, 122917], [122923, 124927], [125125, 125135], [125143, 125183],
165    [125259, 125263], [125274, 126463], [126468, 126468], [126496, 126496],
166    [126499, 126499], [126501, 126502], [126504, 126504], [126515, 126515],
167    [126520, 126520], [126522, 126522], [126524, 126529], [126531, 126534],
168    [126536, 126536], [126538, 126538], [126540, 126540], [126544, 126544],
169    [126547, 126547], [126549, 126550], [126552, 126552], [126554, 126554],
170    [126556, 126556], [126558, 126558], [126560, 126560], [126563, 126563],
171    [126565, 126566], [126571, 126571], [126579, 126579], [126584, 126584],
172    [126589, 126589], [126591, 126591], [126602, 126602], [126620, 126624],
173    [126628, 126628], [126634, 126634], [126652, 127279], [127306, 127311],
174    [127338, 127343], [127370, 127461], [127488, 127876], [127878, 127938],
175    [127941, 127945], [127948, 127994], [128000, 128065], [128068, 128069],
176    [128081, 128101], [128106, 128109], [128111, 128111], [128121, 128123],
177    [128125, 128128], [128132, 128132], [128136, 128138], [128140, 128169],
178    [128171, 128372], [128374, 128377], [128379, 128399], [128401, 128404],
179    [128407, 128487], [128489, 128580], [128584, 128586], [128592, 128674],
180    [128676, 128691], [128695, 128703], [128705, 129303], [129311, 129317],
181    [129319, 129327], [129329, 129330], [129338, 129339], [129343, 917504],
182    [917506, 917535], [917632, 917759], [918000, 1114111]**/
183    const UnicodeSet xx_Set
184        {{{Mixed, 8}, {Empty, 14}, {Mixed, 2}, {Empty, 3}, {Mixed, 3},
185          {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 4},
186          {Mixed, 8}, {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 3},
187          {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
188          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 2},
189          {Empty, 4}, {Mixed, 37}, {Full, 1}, {Mixed, 2}, {Full, 2},
190          {Mixed, 2}, {Full, 1}, {Mixed, 7}, {Full, 2}, {Mixed, 4},
191          {Empty, 1}, {Mixed, 2}, {Empty, 10}, {Mixed, 1}, {Empty, 1},
192          {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
193          {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 18},
194          {Mixed, 2}, {Empty, 2}, {Mixed, 5}, {Full, 1}, {Mixed, 4},
195          {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
196          {Mixed, 4}, {Full, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
197          {Full, 1}, {Mixed, 4}, {Full, 2}, {Empty, 2}, {Mixed, 2},
198          {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Full, 1},
199          {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
200          {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 8}, {Full, 1},
201          {Mixed, 5}, {Empty, 1}, {Mixed, 1}, {Full, 24}, {Mixed, 1},
202          {Empty, 1}, {Mixed, 1}, {Full, 8}, {Mixed, 1}, {Full, 6},
203          {Mixed, 2}, {Full, 2}, {Mixed, 1}, {Full, 36}, {Empty, 1},
204          {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
205          {Empty, 1}, {Mixed, 4}, {Empty, 1}, {Full, 1}, {Mixed, 1},
206          {Full, 14}, {Mixed, 2}, {Full, 2}, {Mixed, 1}, {Empty, 2},
207          {Mixed, 3}, {Empty, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
208          {Full, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Full, 869},
209          {Empty, 36}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 8},
210          {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 3},
211          {Empty, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Empty, 1},
212          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
213          {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
214          {Mixed, 3}, {Full, 1}, {Mixed, 7}, {Empty, 3}, {Mixed, 1},
215          {Empty, 349}, {Mixed, 3}, {Full, 280}, {Mixed, 3}, {Empty, 2},
216          {Mixed, 2}, {Empty, 10}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
217          {Empty, 1}, {Mixed, 6}, {Empty, 3}, {Mixed, 5}, {Empty, 1},
218          {Mixed, 6}, {Full, 1}, {Empty, 3}, {Mixed, 1}, {Full, 2},
219          {Empty, 1}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 4},
220          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 4},
221          {Empty, 1}, {Mixed, 1}, {Full, 1}, {Empty, 4}, {Mixed, 4},
222          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 4},
223          {Empty, 9}, {Mixed, 3}, {Full, 4}, {Mixed, 5}, {Full, 2},
224          {Mixed, 3}, {Full, 2}, {Empty, 1}, {Mixed, 1}, {Full, 2},
225          {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2},
226          {Empty, 1}, {Mixed, 4}, {Full, 3}, {Empty, 2}, {Mixed, 1},
227          {Full, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
228          {Full, 24}, {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
229          {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Full, 1},
230          {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 5},
231          {Full, 4}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 2},
232          {Mixed, 1}, {Full, 5}, {Empty, 1}, {Mixed, 2}, {Full, 1},
233          {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 1}, {Mixed, 2},
234          {Full, 1}, {Mixed, 2}, {Full, 11}, {Empty, 2}, {Mixed, 1},
235          {Full, 14}, {Empty, 1}, {Mixed, 1}, {Full, 8}, {Mixed, 6},
236          {Full, 26}, {Empty, 28}, {Mixed, 1}, {Full, 3}, {Empty, 3},
237          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Full, 85}, {Empty, 33},
238          {Mixed, 1}, {Full, 126}, {Empty, 18}, {Mixed, 1}, {Full, 269},
239          {Empty, 17}, {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Empty, 1},
240          {Mixed, 4}, {Full, 27}, {Empty, 2}, {Mixed, 3}, {Full, 2},
241          {Mixed, 1}, {Full, 512}, {Mixed, 1}, {Full, 95}, {Empty, 3},
242          {Mixed, 3}, {Full, 165}, {Mixed, 3}, {Full, 4}, {Mixed, 1},
243          {Full, 13}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
244          {Empty, 1}, {Mixed, 3}, {Empty, 10}, {Mixed, 10}, {Empty, 1},
245          {Full, 16}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
246          {Full, 42}, {Mixed, 2}, {Full, 62}, {Empty, 6}, {Mixed, 1},
247          {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 37}, {Mixed, 6},
248          {Full, 19}, {Mixed, 4}, {Full, 2}, {Mixed, 1}, {Full, 12},
249          {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 4},
250          {Full, 5}, {Mixed, 2}, {Full, 2}, {Mixed, 1}, {Full, 2},
251          {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 17}, {Mixed, 2},
252          {Full, 24630}, {Mixed, 1}, {Empty, 3}, {Full, 4}, {Empty, 7},
253          {Mixed, 1}, {Full, 6128}},
254         {0xffffc3ff, 0xf000af7b, 0x78000001, 0xf8000001, 0xffffffdf,
255          0xfb5fdbff, 0x00800000, 0x00800000, 0xff7c003c, 0xffffafe0,
256          0x03200000, 0x0000283f, 0x00000004, 0x00400000, 0x00000004,
257          0x00010000, 0xfd800000, 0x00000001, 0x0001fd00, 0x40000000,
258          0x0000ff49, 0xffe0f800, 0xe800cfc0, 0x00002400, 0x40100000,
259          0x60000200, 0x00007fff, 0x00001800, 0xfffc0000, 0xfac00000,
260          0xffffc000, 0xf0000000, 0xc0200000, 0x000fffff, 0x00010030,
261          0x00066010, 0x0c3a0200, 0x4f7f8660, 0xfffc0030, 0x00067811,
262          0x2c920200, 0xa1fdc678, 0xffc0003f, 0x00044011, 0x0c120200,
263          0xfffec440, 0xfdff0030, 0x00066011, 0x0c120200, 0x4f3fc660,
264          0xfffd0030, 0x29c23813, 0x3c0038e7, 0xff7ec238, 0xffff003f,
265          0x00022010, 0x1c000200, 0xf89fc220, 0xffff0030, 0x00022010,
266          0x0c100200, 0xbf9fc220, 0xfff90030, 0x00022011, 0x18000000,
267          0x7f0f8220, 0x03ff0030, 0x03800013, 0xd0040000, 0x00a07b80,
268          0xfff3003f, 0xf80dffff, 0xfc00807f, 0xe40dffff, 0xfc00c0ff,
269          0xfcfffffe, 0x3d5ffc00, 0x00000100, 0x0001e000, 0x01000020,
270          0xe0000000, 0xffffffbf, 0x800007ff, 0x3c3ffc00, 0xffe1c062,
271          0xc0004003, 0x0000df40, 0x08000000, 0xc280c200, 0x0000c200,
272          0x80c20000, 0x008000c2, 0x00c20000, 0x18000000, 0xffff0000,
273          0xc0c00000, 0x00000001, 0x00006000, 0xf8000001, 0xfe003800,
274          0xffe02000, 0xffe00000, 0xfff00000, 0xfff22000, 0x000fffff,
275          0xdff00000, 0xfffffc00, 0xfc0087ff, 0xff000000, 0x0000f800,
276          0xffc00000, 0x80000000, 0xf000f000, 0xffff003f, 0xfc00ffff,
277          0xf0000000, 0x801fffff, 0x60000000, 0xfc00fc00, 0x8000ffff,
278          0xfc00f000, 0xfff007ff, 0xfff00000, 0xff000000, 0x00001c00,
279          0xc0000000, 0xfffffe00, 0x0008ffff, 0xfc800000, 0x07c00000,
280          0xc0c00000, 0x5500c0c0, 0xc0000000, 0xa0200000, 0xf030e023,
281          0xe023e000, 0xfcff0fff, 0x7fff006f, 0xffefffee, 0x7ffd0020,
282          0xe000ffff, 0x0000ffff, 0xfffe0000, 0xc1d0037b, 0x0c0042af,
283          0xffffbc1f, 0xfffffe00, 0x003fffff, 0xfffffc00, 0xdfffffff,
284          0xfdffffff, 0xffffc3ff, 0xffffffef, 0x00008000, 0x80000000,
285          0xfff007e0, 0x0000df40, 0x7fff7f00, 0xff800000, 0x80808080,
286          0x80808080, 0xffff7fff, 0xffffffdf, 0xe7c103ff, 0xe1ffffff,
287          0x08000000, 0x0000001f, 0x0001c000, 0xffff8000, 0xf8000000,
288          0x0000ffff, 0x0000ffff, 0x80000000, 0xff000000, 0xffffe000,
289          0x0000ffff, 0xc0000000, 0x0000e000, 0xfffff000, 0x40080000,
290          0xfffc0000, 0x007fffff, 0x00000003, 0x00000600, 0xff008000,
291          0x007fffff, 0xffffff00, 0xfff00000, 0xfc00ffc0, 0xd7000000,
292          0x0000c000, 0xfff00000, 0xe0000000, 0xfc007ffe, 0xfc00ffdf,
293          0xff800000, 0xfc00c000, 0xc7ffffff, 0x3e62ffff, 0xfffffffd,
294          0xff830000, 0xff818181, 0x00008080, 0x08000000, 0x0000ffc0,
295          0xfc00c800, 0x0000fff0, 0x00000780, 0xf0000000, 0x1f07ff80,
296          0xa0800200, 0x00000024, 0xfffc0000, 0x0007ffff, 0xc0000000,
297          0x0000ffff, 0x00030000, 0xffffff00, 0xf000ffff, 0xffe60000,
298          0xffe70000, 0xffca1fff, 0x0020ffff, 0x60000000, 0xf3ffaf7f,
299          0x78000001, 0xf8000001, 0x0000003f, 0x80000000, 0xe3030303,
300          0xf1ffffff, 0x00001000, 0x48000080, 0xc000c000, 0xf8000000,
301          0xffe00000, 0xdfffffff, 0xe0000000, 0xfffe0000, 0xfffffffe,
302          0x0000ffff, 0x0000f800, 0xf8000000, 0xc0000000, 0xffc100f0,
303          0xc0000000, 0x0000fc00, 0x00f00000, 0xf0000000, 0x0000ff00,
304          0xfffffff0, 0xff800000, 0xffc00000, 0xffffff00, 0x000002c0,
305          0x6e400000, 0xffc00000, 0xff800000, 0x80000000, 0xffc80000,
306          0xffc00000, 0xfc000000, 0x3f000000, 0x01100f90, 0x78f00000,
307          0xe0000000, 0xe0000000, 0x00000100, 0xffffff80, 0xffc00000,
308          0xffc00000, 0xfff80000, 0xfffc0000, 0xfffffe00, 0xfff80000,
309          0xfff80000, 0xffffff80, 0x7fff003f, 0xd8000000, 0x0000ffff,
310          0xfc00fe00, 0x00200000, 0x0000ffff, 0xffb00000, 0xe800e3e0,
311          0x00040000, 0xbf000000, 0x40004280, 0x0000fe00, 0xfc00f800,
312          0x00066010, 0x0c120200, 0x1f7ec660, 0xffe0e030, 0xfc00f800,
313          0xfc00ff40, 0x00c00000, 0xc0fffffe, 0xfc00ffee, 0xff000000,
314          0xfffffc00, 0x1fffffff, 0xfc00f000, 0x7ffffc00, 0xfe000000,
315          0x00000200, 0x00800000, 0xfc00fffe, 0x0003ffff, 0x00030000,
316          0xff800100, 0xfc000000, 0xffff8000, 0xfffffff0, 0xffff8000,
317          0xffffff80, 0xfe000000, 0x80000000, 0xfffffc00, 0x0000ffff,
318          0xffe0c000, 0xff800000, 0xfc00fff0, 0x1f000007, 0xffff0000,
319          0x0000ffe0, 0x80000000, 0x00007fff, 0xfffffffe, 0xfffffffe,
320          0xe000f800, 0x9c00fe00, 0xfffffff0, 0x00001c1f, 0xfffff018,
321          0xffffc3ff, 0xffffffe3, 0x00200000, 0x20000000, 0x1400219b,
322          0x00000010, 0x20201840, 0x84000000, 0x000203a0, 0x000000c0,
323          0x08000002, 0x08000000, 0x00200000, 0x00200000, 0x00008000,
324          0x00008000, 0x00000200, 0x00000200, 0x00003008, 0x07800000,
325          0xffdfe000, 0x07ffffef, 0xffff0001, 0x06000080, 0xfffff824,
326          0xff80ffe0, 0xfc00f800, 0x00000010, 0xf5080169, 0x5569157b,
327          0xa1080869, 0xf0000400, 0xf0000411, 0x0000ffff, 0x0000fc00,
328          0x0000fc00, 0xfffffc00, 0x0000003f, 0xffffffdf, 0xfffff3e7,
329          0x07ffffff, 0xfffe0033, 0xee00bc3f, 0xfffff711, 0xfffffbff,
330          0xfbdfffff, 0xff9effff, 0xfffffeff, 0xffff071f, 0xff8ffff7,
331          0xfffffffe, 0x80ffffff, 0x8c06ffbf, 0xfffffffd, 0xffff0000}};
332    /** Code Point Ranges for DQ
333    [34, 34]**/
334    const UnicodeSet dq_Set
335        {{{Empty, 1}, {Mixed, 1}, {Empty, 34814}},
336         {0x00000004}};
337    /** Code Point Ranges for SQ
338    [39, 39]**/
339    const UnicodeSet sq_Set
340        {{{Empty, 1}, {Mixed, 1}, {Empty, 34814}},
341         {0x00000080}};
342    /** Code Point Ranges for HL
343    [1488, 1514], [1520, 1522], [64285, 64285], [64287, 64296],
344    [64298, 64310], [64312, 64316], [64318, 64318], [64320, 64321],
345    [64323, 64324], [64326, 64335]**/
346    const UnicodeSet hl_Set
347        {{{Empty, 46}, {Mixed, 2}, {Empty, 1960}, {Mixed, 3},
348          {Empty, 32805}},
349         {0xffff0000, 0x000707ff, 0xa0000000, 0x5f7ffdff, 0x0000ffdb}};
350    /** Code Point Ranges for CR
351    [13, 13]**/
352    const UnicodeSet cr_Set
353        {{{Mixed, 1}, {Empty, 34815}},
354         {0x00002000}};
355    /** Code Point Ranges for LF
356    [10, 10]**/
357    const UnicodeSet lf_Set
358        {{{Mixed, 1}, {Empty, 34815}},
359         {0x00000400}};
360    /** Code Point Ranges for NL
361    [11, 12], [133, 133], [8232, 8233]**/
362    const UnicodeSet nl_Set
363        {{{Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 252}, {Mixed, 1},
364          {Empty, 34558}},
365         {0x00001800, 0x00000020, 0x00000300}};
366    /** Code Point Ranges for Extend
367    [768, 879], [1155, 1161], [1425, 1469], [1471, 1471], [1473, 1474],
368    [1476, 1477], [1479, 1479], [1552, 1562], [1611, 1631], [1648, 1648],
369    [1750, 1756], [1759, 1764], [1767, 1768], [1770, 1773], [1809, 1809],
370    [1840, 1866], [1958, 1968], [2027, 2035], [2070, 2073], [2075, 2083],
371    [2085, 2087], [2089, 2093], [2137, 2139], [2260, 2273], [2275, 2307],
372    [2362, 2364], [2366, 2383], [2385, 2391], [2402, 2403], [2433, 2435],
373    [2492, 2492], [2494, 2500], [2503, 2504], [2507, 2509], [2519, 2519],
374    [2530, 2531], [2561, 2563], [2620, 2620], [2622, 2626], [2631, 2632],
375    [2635, 2637], [2641, 2641], [2672, 2673], [2677, 2677], [2689, 2691],
376    [2748, 2748], [2750, 2757], [2759, 2761], [2763, 2765], [2786, 2787],
377    [2817, 2819], [2876, 2876], [2878, 2884], [2887, 2888], [2891, 2893],
378    [2902, 2903], [2914, 2915], [2946, 2946], [3006, 3010], [3014, 3016],
379    [3018, 3021], [3031, 3031], [3072, 3075], [3134, 3140], [3142, 3144],
380    [3146, 3149], [3157, 3158], [3170, 3171], [3201, 3203], [3260, 3260],
381    [3262, 3268], [3270, 3272], [3274, 3277], [3285, 3286], [3298, 3299],
382    [3329, 3331], [3390, 3396], [3398, 3400], [3402, 3405], [3415, 3415],
383    [3426, 3427], [3458, 3459], [3530, 3530], [3535, 3540], [3542, 3542],
384    [3544, 3551], [3570, 3571], [3633, 3633], [3636, 3642], [3655, 3662],
385    [3761, 3761], [3764, 3769], [3771, 3772], [3784, 3789], [3864, 3865],
386    [3893, 3893], [3895, 3895], [3897, 3897], [3902, 3903], [3953, 3972],
387    [3974, 3975], [3981, 3991], [3993, 4028], [4038, 4038], [4139, 4158],
388    [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205], [4209, 4212],
389    [4226, 4237], [4239, 4239], [4250, 4253], [4957, 4959], [5906, 5908],
390    [5938, 5940], [5970, 5971], [6002, 6003], [6068, 6099], [6109, 6109],
391    [6155, 6157], [6277, 6278], [6313, 6313], [6432, 6443], [6448, 6459],
392    [6679, 6683], [6741, 6750], [6752, 6780], [6783, 6783], [6832, 6846],
393    [6912, 6916], [6964, 6980], [7019, 7027], [7040, 7042], [7073, 7085],
394    [7142, 7155], [7204, 7223], [7376, 7378], [7380, 7400], [7405, 7405],
395    [7410, 7412], [7416, 7417], [7616, 7669], [7675, 7679], [8204, 8204],
396    [8400, 8432], [11503, 11505], [11647, 11647], [11744, 11775],
397    [12330, 12335], [12441, 12442], [42607, 42610], [42612, 42621],
398    [42654, 42655], [42736, 42737], [43010, 43010], [43014, 43014],
399    [43019, 43019], [43043, 43047], [43136, 43137], [43188, 43205],
400    [43232, 43249], [43302, 43309], [43335, 43347], [43392, 43395],
401    [43443, 43456], [43493, 43493], [43561, 43574], [43587, 43587],
402    [43596, 43597], [43643, 43645], [43696, 43696], [43698, 43700],
403    [43703, 43704], [43710, 43711], [43713, 43713], [43755, 43759],
404    [43765, 43766], [44003, 44010], [44012, 44013], [64286, 64286],
405    [65024, 65039], [65056, 65071], [65438, 65439], [66045, 66045],
406    [66272, 66272], [66422, 66426], [68097, 68099], [68101, 68102],
407    [68108, 68111], [68152, 68154], [68159, 68159], [68325, 68326],
408    [69632, 69634], [69688, 69702], [69759, 69762], [69808, 69818],
409    [69888, 69890], [69927, 69940], [70003, 70003], [70016, 70018],
410    [70067, 70080], [70090, 70092], [70188, 70199], [70206, 70206],
411    [70367, 70378], [70400, 70403], [70460, 70460], [70462, 70468],
412    [70471, 70472], [70475, 70477], [70487, 70487], [70498, 70499],
413    [70502, 70508], [70512, 70516], [70709, 70726], [70832, 70851],
414    [71087, 71093], [71096, 71104], [71132, 71133], [71216, 71232],
415    [71339, 71351], [71453, 71467], [72751, 72758], [72760, 72767],
416    [72850, 72871], [72873, 72886], [92912, 92916], [92976, 92982],
417    [94033, 94078], [94095, 94098], [113821, 113822], [119141, 119145],
418    [119149, 119154], [119163, 119170], [119173, 119179], [119210, 119213],
419    [119362, 119364], [121344, 121398], [121403, 121452], [121461, 121461],
420    [121476, 121476], [121499, 121503], [121505, 121519], [122880, 122886],
421    [122888, 122904], [122907, 122913], [122915, 122916], [122918, 122922],
422    [125136, 125142], [125252, 125258], [917536, 917631], [917760, 917999]**/
423    const UnicodeSet extend_Set
424        {{{Empty, 24}, {Full, 3}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
425          {Empty, 7}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
426          {Mixed, 2}, {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 1},
427          {Empty, 1}, {Mixed, 4}, {Empty, 3}, {Mixed, 25}, {Empty, 1},
428          {Mixed, 13}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
429          {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
430          {Mixed, 4}, {Empty, 2}, {Mixed, 4}, {Empty, 21}, {Mixed, 1},
431          {Empty, 29}, {Mixed, 4}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
432          {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
433          {Empty, 6}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
434          {Mixed, 1}, {Empty, 2}, {Mixed, 6}, {Empty, 1}, {Mixed, 1},
435          {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 2}, {Empty, 6},
436          {Full, 1}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 5},
437          {Mixed, 2}, {Empty, 95}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
438          {Empty, 3}, {Full, 1}, {Empty, 17}, {Mixed, 1}, {Empty, 2},
439          {Mixed, 1}, {Empty, 942}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
440          {Empty, 8}, {Mixed, 2}, {Empty, 2}, {Mixed, 4}, {Empty, 1},
441          {Mixed, 2}, {Empty, 1}, {Mixed, 4}, {Empty, 1}, {Mixed, 3},
442          {Empty, 1}, {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 632},
443          {Mixed, 1}, {Empty, 23}, {Mixed, 2}, {Empty, 10}, {Mixed, 1},
444          {Empty, 18}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 3},
445          {Mixed, 1}, {Empty, 52}, {Mixed, 2}, {Empty, 5}, {Mixed, 1},
446          {Empty, 40}, {Mixed, 6}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
447          {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 6},
448          {Empty, 5}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 6},
449          {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
450          {Empty, 2}, {Mixed, 2}, {Empty, 39}, {Mixed, 1}, {Empty, 2},
451          {Mixed, 2}, {Empty, 625}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
452          {Empty, 32}, {Mixed, 3}, {Empty, 615}, {Mixed, 1}, {Empty, 166},
453          {Mixed, 3}, {Empty, 4}, {Mixed, 1}, {Empty, 61}, {Full, 1},
454          {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 42}, {Mixed, 2},
455          {Empty, 68}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 24758},
456          {Full, 3}, {Empty, 4}, {Full, 7}, {Mixed, 1}, {Empty, 6128}},
457         {0x0000ffff, 0x000003f8, 0xfffe0000, 0xbfffffff, 0x000000b6,
458          0x07ff0000, 0xfffff800, 0x00010000, 0x9fc00000, 0x00003d9f,
459          0x00020000, 0xffff0000, 0x000007ff, 0x0001ffc0, 0x000ff800,
460          0xfbc00000, 0x00003eef, 0x0e000000, 0xfff00000, 0xfffffffb,
461          0x0000000f, 0xdc000000, 0x00feffff, 0x0000000c, 0x0000000e,
462          0xd0000000, 0x0080399f, 0x0000000c, 0x0000000e, 0xd0000000,
463          0x00023987, 0x00230000, 0x0000000e, 0xd0000000, 0x00003bbf,
464          0x0000000c, 0x0000000e, 0xd0000000, 0x00c0399f, 0x0000000c,
465          0x00000004, 0xc0000000, 0x00803dc7, 0x0000000f, 0xc0000000,
466          0x00603ddf, 0x0000000c, 0x0000000e, 0xd0000000, 0x00603ddf,
467          0x0000000c, 0x0000000e, 0xc0000000, 0x00803ddf, 0x0000000c,
468          0x0000000c, 0xff5f8400, 0x000c0000, 0x07f20000, 0x00007f80,
469          0x1bf20000, 0x00003f00, 0x03000000, 0xc2a00000, 0xfffe0000,
470          0xfeffe0df, 0x1fffffff, 0x00000040, 0x7ffff800, 0xc3c00000,
471          0x001e3f9d, 0x3c00bffc, 0xe0000000, 0x001c0000, 0x001c0000,
472          0x000c0000, 0x000c0000, 0xfff00000, 0x200fffff, 0x00003800,
473          0x00000060, 0x00000200, 0x0fff0fff, 0x0f800000, 0x7fe00000,
474          0x9fffffff, 0x7fff0000, 0x0000001f, 0xfff00000, 0x0000001f,
475          0x000ff800, 0x00000007, 0x00003ffe, 0x000fffc0, 0x00fffff0,
476          0xfff70000, 0x031c21ff, 0xf83fffff, 0x00001000, 0xffff0000,
477          0x0001ffff, 0x00038000, 0x80000000, 0x0000fc00, 0x06000000,
478          0x3ff78000, 0xc0000000, 0x00030000, 0x00000844, 0x000000f8,
479          0x00000003, 0xfff00000, 0x0000003f, 0x0003ffff, 0x00003fc0,
480          0x000fff80, 0x0000000f, 0xfff80000, 0x00000001, 0x00000020,
481          0x007ffe00, 0x00003008, 0x38000000, 0xc19d0000, 0x00000002,
482          0x0060f800, 0x000037f8, 0x40000000, 0x0000ffff, 0x0000ffff,
483          0xc0000000, 0x20000000, 0x00000001, 0x07c00000, 0x0000f06e,
484          0x87000000, 0x00000060, 0x00000007, 0xff000000, 0x0000007f,
485          0x80000000, 0x00000007, 0x07ff0000, 0x00000007, 0x001fff80,
486          0x00080000, 0x00000007, 0xfff80000, 0x00001c01, 0x40fff000,
487          0x80000000, 0x000007ff, 0x0000000f, 0xd0000000, 0x0080399f,
488          0x001f1fcc, 0xffe00000, 0x0000007f, 0xffff0000, 0x0000000f,
489          0xff3f8000, 0x30000001, 0xffff0000, 0x00000001, 0x00fff800,
490          0xe0000000, 0x00000fff, 0xff7f8000, 0xfffc0000, 0x007ffeff,
491          0x001f0000, 0x007f0000, 0xfffe0000, 0x7fffffff, 0x00078000,
492          0x60000000, 0xf807e3e0, 0x00000fe7, 0x00003c00, 0x0000001c,
493          0xf87fffff, 0x00201fff, 0xf8000010, 0x0000fffe, 0xf9ffff7f,
494          0x000007db, 0x007f0000, 0x000007f0, 0x0000ffff}};
495    /** Code Point Ranges for RI
496    [127462, 127487]**/
497    const UnicodeSet ri_Set
498        {{{Empty, 3983}, {Mixed, 1}, {Empty, 30832}},
499         {0xffffffc0}};
500    /** Code Point Ranges for FO
501    [173, 173], [1536, 1541], [1564, 1564], [1757, 1757], [1807, 1807],
502    [2274, 2274], [6158, 6158], [8206, 8207], [8234, 8238], [8288, 8292],
503    [8294, 8303], [65279, 65279], [65529, 65531], [69821, 69821],
504    [113824, 113827], [119155, 119162], [917505, 917505]**/
505    const UnicodeSet fo_Set
506        {{{Empty, 5}, {Mixed, 1}, {Empty, 42}, {Mixed, 1}, {Empty, 5},
507          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 14}, {Mixed, 1},
508          {Empty, 120}, {Mixed, 1}, {Empty, 63}, {Mixed, 2}, {Empty, 1},
509          {Mixed, 1}, {Empty, 1779}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
510          {Empty, 133}, {Mixed, 1}, {Empty, 1375}, {Mixed, 1}, {Empty, 165},
511          {Mixed, 1}, {Empty, 24948}, {Mixed, 1}, {Empty, 6143}},
512         {0x00002000, 0x1000003f, 0x20000000, 0x00008000, 0x00000004,
513          0x00004000, 0x0000c000, 0x00007c00, 0x0000ffdf, 0x80000000,
514          0x0e000000, 0x20000000, 0x0000000f, 0x07f80000, 0x00000002}};
515    /** Code Point Ranges for KA
516    [12337, 12341], [12443, 12444], [12448, 12538], [12540, 12543],
517    [12784, 12799], [13008, 13054], [13056, 13143], [65382, 65437],
518    [110592, 110592]**/
519    const UnicodeSet ka_Set
520        {{{Empty, 385}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 2},
521          {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 6}, {Mixed, 2},
522          {Full, 2}, {Mixed, 1}, {Empty, 1632}, {Mixed, 2}, {Empty, 1411},
523          {Mixed, 1}, {Empty, 31359}},
524         {0x003e0000, 0x18000000, 0xf7ffffff, 0xffff0000, 0xffff0000,
525          0x7fffffff, 0x00ffffff, 0xffffffc0, 0x3fffffff, 0x00000001}};
526    /** Code Point Ranges for LE
527    [65, 90], [97, 122], [170, 170], [181, 181], [186, 186], [192, 214],
528    [216, 246], [248, 705], [710, 721], [736, 740], [748, 748], [750, 750],
529    [880, 884], [886, 887], [890, 893], [895, 895], [902, 902], [904, 906],
530    [908, 908], [910, 929], [931, 1013], [1015, 1153], [1162, 1327],
531    [1329, 1366], [1369, 1369], [1377, 1415], [1523, 1523], [1568, 1610],
532    [1646, 1647], [1649, 1747], [1749, 1749], [1765, 1766], [1774, 1775],
533    [1786, 1788], [1791, 1791], [1808, 1808], [1810, 1839], [1869, 1957],
534    [1969, 1969], [1994, 2026], [2036, 2037], [2042, 2042], [2048, 2069],
535    [2074, 2074], [2084, 2084], [2088, 2088], [2112, 2136], [2208, 2228],
536    [2230, 2237], [2308, 2361], [2365, 2365], [2384, 2384], [2392, 2401],
537    [2417, 2432], [2437, 2444], [2447, 2448], [2451, 2472], [2474, 2480],
538    [2482, 2482], [2486, 2489], [2493, 2493], [2510, 2510], [2524, 2525],
539    [2527, 2529], [2544, 2545], [2565, 2570], [2575, 2576], [2579, 2600],
540    [2602, 2608], [2610, 2611], [2613, 2614], [2616, 2617], [2649, 2652],
541    [2654, 2654], [2674, 2676], [2693, 2701], [2703, 2705], [2707, 2728],
542    [2730, 2736], [2738, 2739], [2741, 2745], [2749, 2749], [2768, 2768],
543    [2784, 2785], [2809, 2809], [2821, 2828], [2831, 2832], [2835, 2856],
544    [2858, 2864], [2866, 2867], [2869, 2873], [2877, 2877], [2908, 2909],
545    [2911, 2913], [2929, 2929], [2947, 2947], [2949, 2954], [2958, 2960],
546    [2962, 2965], [2969, 2970], [2972, 2972], [2974, 2975], [2979, 2980],
547    [2984, 2986], [2990, 3001], [3024, 3024], [3077, 3084], [3086, 3088],
548    [3090, 3112], [3114, 3129], [3133, 3133], [3160, 3162], [3168, 3169],
549    [3200, 3200], [3205, 3212], [3214, 3216], [3218, 3240], [3242, 3251],
550    [3253, 3257], [3261, 3261], [3294, 3294], [3296, 3297], [3313, 3314],
551    [3333, 3340], [3342, 3344], [3346, 3386], [3389, 3389], [3406, 3406],
552    [3412, 3414], [3423, 3425], [3450, 3455], [3461, 3478], [3482, 3505],
553    [3507, 3515], [3517, 3517], [3520, 3526], [3840, 3840], [3904, 3911],
554    [3913, 3948], [3976, 3980], [4256, 4293], [4295, 4295], [4301, 4301],
555    [4304, 4346], [4348, 4680], [4682, 4685], [4688, 4694], [4696, 4696],
556    [4698, 4701], [4704, 4744], [4746, 4749], [4752, 4784], [4786, 4789],
557    [4792, 4798], [4800, 4800], [4802, 4805], [4808, 4822], [4824, 4880],
558    [4882, 4885], [4888, 4954], [4992, 5007], [5024, 5109], [5112, 5117],
559    [5121, 5740], [5743, 5759], [5761, 5786], [5792, 5866], [5870, 5880],
560    [5888, 5900], [5902, 5905], [5920, 5937], [5952, 5969], [5984, 5996],
561    [5998, 6000], [6176, 6263], [6272, 6276], [6279, 6312], [6314, 6314],
562    [6320, 6389], [6400, 6430], [6656, 6678], [6917, 6963], [6981, 6987],
563    [7043, 7072], [7086, 7087], [7098, 7141], [7168, 7203], [7245, 7247],
564    [7258, 7293], [7296, 7304], [7401, 7404], [7406, 7409], [7413, 7414],
565    [7424, 7615], [7680, 7957], [7960, 7965], [7968, 8005], [8008, 8013],
566    [8016, 8023], [8025, 8025], [8027, 8027], [8029, 8029], [8031, 8061],
567    [8064, 8116], [8118, 8124], [8126, 8126], [8130, 8132], [8134, 8140],
568    [8144, 8147], [8150, 8155], [8160, 8172], [8178, 8180], [8182, 8188],
569    [8305, 8305], [8319, 8319], [8336, 8348], [8450, 8450], [8455, 8455],
570    [8458, 8467], [8469, 8469], [8473, 8477], [8484, 8484], [8486, 8486],
571    [8488, 8488], [8490, 8493], [8495, 8505], [8508, 8511], [8517, 8521],
572    [8526, 8526], [8544, 8584], [9398, 9449], [11264, 11310],
573    [11312, 11358], [11360, 11492], [11499, 11502], [11506, 11507],
574    [11520, 11557], [11559, 11559], [11565, 11565], [11568, 11623],
575    [11631, 11631], [11648, 11670], [11680, 11686], [11688, 11694],
576    [11696, 11702], [11704, 11710], [11712, 11718], [11720, 11726],
577    [11728, 11734], [11736, 11742], [11823, 11823], [12293, 12293],
578    [12347, 12348], [12549, 12589], [12593, 12686], [12704, 12730],
579    [40960, 42124], [42192, 42237], [42240, 42508], [42512, 42527],
580    [42538, 42539], [42560, 42606], [42623, 42653], [42656, 42735],
581    [42775, 42783], [42786, 42888], [42891, 42926], [42928, 42935],
582    [42999, 43009], [43011, 43013], [43015, 43018], [43020, 43042],
583    [43072, 43123], [43138, 43187], [43250, 43255], [43259, 43259],
584    [43261, 43261], [43274, 43301], [43312, 43334], [43360, 43388],
585    [43396, 43442], [43471, 43471], [43520, 43560], [43584, 43586],
586    [43588, 43595], [43744, 43754], [43762, 43764], [43777, 43782],
587    [43785, 43790], [43793, 43798], [43808, 43814], [43816, 43822],
588    [43824, 43866], [43868, 43877], [43888, 44002], [44032, 55203],
589    [55216, 55238], [55243, 55291], [64256, 64262], [64275, 64279],
590    [64336, 64433], [64467, 64829], [64848, 64911], [64914, 64967],
591    [65008, 65019], [65136, 65140], [65142, 65276], [65313, 65338],
592    [65345, 65370], [65440, 65470], [65474, 65479], [65482, 65487],
593    [65490, 65495], [65498, 65500], [65536, 65547], [65549, 65574],
594    [65576, 65594], [65596, 65597], [65599, 65613], [65616, 65629],
595    [65664, 65786], [65856, 65908], [66176, 66204], [66208, 66256],
596    [66304, 66335], [66352, 66378], [66384, 66421], [66432, 66461],
597    [66464, 66499], [66504, 66511], [66513, 66517], [66560, 66717],
598    [66736, 66771], [66776, 66811], [66816, 66855], [66864, 66915],
599    [67072, 67382], [67392, 67413], [67424, 67431], [67584, 67589],
600    [67592, 67592], [67594, 67637], [67639, 67640], [67644, 67644],
601    [67647, 67669], [67680, 67702], [67712, 67742], [67808, 67826],
602    [67828, 67829], [67840, 67861], [67872, 67897], [67968, 68023],
603    [68030, 68031], [68096, 68096], [68112, 68115], [68117, 68119],
604    [68121, 68147], [68192, 68220], [68224, 68252], [68288, 68295],
605    [68297, 68324], [68352, 68405], [68416, 68437], [68448, 68466],
606    [68480, 68497], [68608, 68680], [68736, 68786], [68800, 68850],
607    [69635, 69687], [69763, 69807], [69840, 69864], [69891, 69926],
608    [69968, 70002], [70006, 70006], [70019, 70066], [70081, 70084],
609    [70106, 70106], [70108, 70108], [70144, 70161], [70163, 70187],
610    [70272, 70278], [70280, 70280], [70282, 70285], [70287, 70301],
611    [70303, 70312], [70320, 70366], [70405, 70412], [70415, 70416],
612    [70419, 70440], [70442, 70448], [70450, 70451], [70453, 70457],
613    [70461, 70461], [70480, 70480], [70493, 70497], [70656, 70708],
614    [70727, 70730], [70784, 70831], [70852, 70853], [70855, 70855],
615    [71040, 71086], [71128, 71131], [71168, 71215], [71236, 71236],
616    [71296, 71338], [71840, 71903], [71935, 71935], [72384, 72440],
617    [72704, 72712], [72714, 72750], [72768, 72768], [72818, 72847],
618    [73728, 74649], [74752, 74862], [74880, 75075], [77824, 78894],
619    [82944, 83526], [92160, 92728], [92736, 92766], [92880, 92909],
620    [92928, 92975], [92992, 92995], [93027, 93047], [93053, 93071],
621    [93952, 94020], [94032, 94032], [94099, 94111], [94176, 94176],
622    [113664, 113770], [113776, 113788], [113792, 113800], [113808, 113817],
623    [119808, 119892], [119894, 119964], [119966, 119967], [119970, 119970],
624    [119973, 119974], [119977, 119980], [119982, 119993], [119995, 119995],
625    [119997, 120003], [120005, 120069], [120071, 120074], [120077, 120084],
626    [120086, 120092], [120094, 120121], [120123, 120126], [120128, 120132],
627    [120134, 120134], [120138, 120144], [120146, 120485], [120488, 120512],
628    [120514, 120538], [120540, 120570], [120572, 120596], [120598, 120628],
629    [120630, 120654], [120656, 120686], [120688, 120712], [120714, 120744],
630    [120746, 120770], [120772, 120779], [124928, 125124], [125184, 125251],
631    [126464, 126467], [126469, 126495], [126497, 126498], [126500, 126500],
632    [126503, 126503], [126505, 126514], [126516, 126519], [126521, 126521],
633    [126523, 126523], [126530, 126530], [126535, 126535], [126537, 126537],
634    [126539, 126539], [126541, 126543], [126545, 126546], [126548, 126548],
635    [126551, 126551], [126553, 126553], [126555, 126555], [126557, 126557],
636    [126559, 126559], [126561, 126562], [126564, 126564], [126567, 126570],
637    [126572, 126578], [126580, 126583], [126585, 126588], [126590, 126590],
638    [126592, 126601], [126603, 126619], [126625, 126627], [126629, 126633],
639    [126635, 126651], [127280, 127305], [127312, 127337], [127344, 127369]**/
640    const UnicodeSet le_Set
641        {{{Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 14},
642          {Mixed, 2}, {Empty, 3}, {Mixed, 3}, {Full, 1}, {Mixed, 1},
643          {Full, 4}, {Mixed, 1}, {Full, 4}, {Mixed, 4}, {Empty, 2},
644          {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 2}, {Full, 2},
645          {Mixed, 5}, {Full, 2}, {Mixed, 6}, {Empty, 2}, {Mixed, 1},
646          {Empty, 2}, {Mixed, 23}, {Empty, 1}, {Mixed, 15}, {Empty, 9},
647          {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 8}, {Full, 1},
648          {Mixed, 2}, {Full, 10}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
649          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
650          {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 18}, {Mixed, 2},
651          {Full, 2}, {Mixed, 5}, {Empty, 5}, {Full, 2}, {Mixed, 3},
652          {Full, 1}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 7},
653          {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
654          {Full, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Full, 6},
655          {Empty, 2}, {Full, 8}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
656          {Full, 1}, {Mixed, 3}, {Empty, 3}, {Mixed, 2}, {Empty, 3},
657          {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Empty, 24}, {Mixed, 1},
658          {Full, 1}, {Mixed, 1}, {Empty, 56}, {Full, 1}, {Mixed, 2},
659          {Full, 4}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1},
660          {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 14}, {Mixed, 2},
661          {Empty, 6}, {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Empty, 882},
662          {Full, 36}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 8},
663          {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 3},
664          {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 1},
665          {Mixed, 3}, {Empty, 1}, {Mixed, 8}, {Empty, 1}, {Full, 1},
666          {Mixed, 2}, {Empty, 4}, {Mixed, 5}, {Full, 3}, {Mixed, 1},
667          {Full, 349}, {Mixed, 3}, {Empty, 280}, {Mixed, 1}, {Empty, 1},
668          {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 10}, {Mixed, 2},
669          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 3},
670          {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
671          {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
672          {Full, 3}, {Mixed, 1}, {Empty, 2}, {Full, 1}, {Mixed, 1},
673          {Empty, 8}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
674          {Full, 1}, {Mixed, 4}, {Full, 1}, {Mixed, 1}, {Empty, 1},
675          {Full, 4}, {Mixed, 4}, {Full, 1}, {Mixed, 1}, {Full, 1},
676          {Mixed, 1}, {Empty, 4}, {Full, 9}, {Mixed, 3}, {Empty, 4},
677          {Mixed, 5}, {Empty, 2}, {Mixed, 3}, {Empty, 2}, {Full, 1},
678          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
679          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 4}, {Empty, 3},
680          {Full, 2}, {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 1},
681          {Full, 1}, {Mixed, 1}, {Empty, 24}, {Mixed, 2}, {Empty, 2},
682          {Mixed, 11}, {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 3},
683          {Empty, 1}, {Mixed, 4}, {Empty, 4}, {Full, 1}, {Mixed, 2},
684          {Empty, 1}, {Full, 1}, {Mixed, 2}, {Empty, 5}, {Full, 1},
685          {Mixed, 2}, {Empty, 1}, {Full, 1}, {Mixed, 2}, {Empty, 1},
686          {Full, 1}, {Mixed, 1}, {Empty, 15}, {Full, 2}, {Mixed, 1},
687          {Empty, 14}, {Full, 1}, {Mixed, 1}, {Empty, 8}, {Mixed, 5},
688          {Empty, 27}, {Full, 28}, {Mixed, 1}, {Empty, 3}, {Full, 3},
689          {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Empty, 85}, {Full, 33},
690          {Mixed, 1}, {Empty, 126}, {Full, 18}, {Mixed, 1}, {Empty, 269},
691          {Full, 17}, {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Full, 1},
692          {Mixed, 4}, {Empty, 27}, {Full, 2}, {Mixed, 1}, {Empty, 1},
693          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 608}, {Full, 3},
694          {Mixed, 2}, {Empty, 187}, {Full, 2}, {Mixed, 1}, {Full, 1},
695          {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Full, 10}, {Mixed, 10},
696          {Empty, 129}, {Full, 6}, {Mixed, 1}, {Empty, 1}, {Full, 2},
697          {Mixed, 1}, {Empty, 37}, {Mixed, 6}, {Empty, 19}, {Mixed, 4},
698          {Empty, 30835}},
699         {0x07fffffe, 0x07fffffe, 0x04200400, 0xff7fffff, 0xff7fffff,
700          0x0003ffc3, 0x0000501f, 0xbcdf0000, 0xffffd740, 0xfffffffb,
701          0xffbfffff, 0xfffffc03, 0xfffeffff, 0x027fffff, 0xfffffffe,
702          0x000000ff, 0x00080000, 0x000007ff, 0xfffec000, 0x002fffff,
703          0x9c00c060, 0xfffd0000, 0x0000ffff, 0xffffe000, 0x0002003f,
704          0xfffffc00, 0x043007ff, 0x043fffff, 0x00000110, 0x01ffffff,
705          0x3fdfffff, 0xfffffff0, 0x23ffffff, 0xff010000, 0xfffe0003,
706          0xfff99fe1, 0x23c5fdff, 0xb0004000, 0x00030003, 0xfff987e0,
707          0x036dfdff, 0x5e000000, 0x001c0000, 0xfffbbfe0, 0x23edfdff,
708          0x00010000, 0x02000003, 0xfff99fe0, 0x23edfdff, 0xb0000000,
709          0x00020003, 0xd63dc7e8, 0x03ffc718, 0x00010000, 0xfffddfe0,
710          0x23fffdff, 0x07000000, 0x00000003, 0xfffddfe1, 0x23effdff,
711          0x40000000, 0x00060003, 0xfffddfe0, 0x27ffffff, 0x80704000,
712          0xfc000003, 0xfc7fffe0, 0x2ffbffff, 0x0000007f, 0x00000001,
713          0xfffffeff, 0x00001fff, 0x00001f00, 0xffff20bf, 0xf7ffffff,
714          0x3d7f3dff, 0xffff3dff, 0x7f3dffff, 0xff7fff3d, 0xff3dffff,
715          0x07ffffff, 0x0000ffff, 0x3f3fffff, 0xfffffffe, 0xffff9fff,
716          0x07fffffe, 0x01ffc7ff, 0x0003dfff, 0x0003ffff, 0x0003ffff,
717          0x0001dfff, 0x00ffffff, 0xffffff9f, 0xffff05ff, 0x003fffff,
718          0x7fffffff, 0x007fffff, 0xffffffe0, 0x000fffff, 0x00000fe0,
719          0xfffffff8, 0xfc00c001, 0x0000003f, 0x0000000f, 0xfc00e000,
720          0x3fffffff, 0x000001ff, 0x0063de00, 0x3f3fffff, 0xaaff3f3f,
721          0x3fffffff, 0x5fdfffff, 0x0fcf1fdc, 0x1fdc1fff, 0x80020000,
722          0x1fff0000, 0x3e2ffc84, 0xf3ffbd50, 0x000043e0, 0x000001ff,
723          0xffc00000, 0x000003ff, 0xffff7fff, 0x7fffffff, 0x000c781f,
724          0xffff20bf, 0x000080ff, 0x007fffff, 0x7f7f7f7f, 0x7f7f7f7f,
725          0x00008000, 0x00000020, 0x18000000, 0xffffffe0, 0xfffe3fff,
726          0x00007fff, 0x07ffffff, 0x00001fff, 0xffff0000, 0x3fffffff,
727          0xffff1fff, 0x00000c00, 0x80007fff, 0x3fffffff, 0x0000ffff,
728          0xff800000, 0xfffffffc, 0xfffff9ff, 0x00ff7fff, 0xff800000,
729          0xfffff7bb, 0x00000007, 0x000fffff, 0xfffffffc, 0x000fffff,
730          0x28fc0000, 0xfffffc00, 0xffff003f, 0x0000007f, 0x1fffffff,
731          0xfffffff0, 0x0007ffff, 0x00008000, 0x000001ff, 0x00000ff7,
732          0x001c07ff, 0x007e7e7e, 0xffff7f7f, 0xf7ffffff, 0xffff003f,
733          0x00000007, 0xffff000f, 0xfffff87f, 0x0fffffff, 0x00f8007f,
734          0xffff0000, 0x0003ffff, 0xfff80000, 0x3fffffff, 0xffff0000,
735          0xfffcffff, 0x000000ff, 0x0fff0000, 0xffdf0000, 0x1fffffff,
736          0x07fffffe, 0x07fffffe, 0x7fffffff, 0x1cfcfcfc, 0xffffefff,
737          0xb7ffff7f, 0x3fff3fff, 0x07ffffff, 0x001fffff, 0x1fffffff,
738          0x0001ffff, 0xffff0000, 0xffff07ff, 0x003fffff, 0x3fffffff,
739          0x003eff0f, 0x3fffffff, 0xffff0000, 0xff0fffff, 0x0fffffff,
740          0xffff00ff, 0x0000000f, 0x007fffff, 0x003fffff, 0x000000ff,
741          0xfffffd3f, 0x91bfffff, 0x003fffff, 0x007fffff, 0x7fffffff,
742          0x0037ffff, 0x003fffff, 0x03ffffff, 0xc0ffffff, 0xfeef0001,
743          0x000fffff, 0x1fffffff, 0x1fffffff, 0xfffffeff, 0x0000001f,
744          0x003fffff, 0x003fffff, 0x0007ffff, 0x0003ffff, 0x000001ff,
745          0x0007ffff, 0x0007ffff, 0xfffffff8, 0x00ffffff, 0xfffffff8,
746          0x0000ffff, 0xffff0000, 0x000001ff, 0xfffffff8, 0x0000007f,
747          0xffff0000, 0x0047ffff, 0xfffffff8, 0x0007ffff, 0x1400001e,
748          0xfffbffff, 0x00000fff, 0xbfffbd7f, 0xffff01ff, 0x7fffffff,
749          0xfff99fe0, 0x23edfdff, 0xe0010000, 0x00000003, 0x001fffff,
750          0x00000780, 0x0000ffff, 0x000000b0, 0x00007fff, 0x0f000000,
751          0x0000ffff, 0x00000010, 0x000007ff, 0x80000000, 0x01ffffff,
752          0xfffffdff, 0x00007fff, 0x00000001, 0xfffc0000, 0x0000ffff,
753          0x03ffffff, 0x00007fff, 0x0000000f, 0x00007fff, 0x0000007f,
754          0x01ffffff, 0x7fffffff, 0xffff0000, 0x00003fff, 0x0000ffff,
755          0x0000000f, 0xe0fffff8, 0x0000ffff, 0x0001001f, 0xfff80000,
756          0x00000001, 0x1fff07ff, 0x03ff01ff, 0xffdfffff, 0xdfffffff,
757          0xebffde64, 0xffffffef, 0xdfdfe7bf, 0x7bffffff, 0xfffdfc5f,
758          0xffffff3f, 0xf7fffffd, 0xf7ffffff, 0xffdfffff, 0xffdfffff,
759          0xffff7fff, 0xffff7fff, 0xfffffdff, 0xfffffdff, 0x00000ff7,
760          0x0000001f, 0x0000000f, 0xffffffef, 0x0af7fe96, 0xaa96ea84,
761          0x5ef7f796, 0x0ffffbff, 0x0ffffbee, 0xffff0000, 0xffff03ff,
762          0xffff03ff, 0x000003ff}};
763    /** Code Point Ranges for ML
764    [58, 58], [183, 183], [727, 727], [903, 903], [1524, 1524],
765    [8231, 8231], [65043, 65043], [65109, 65109], [65306, 65306]**/
766    const UnicodeSet ml_Set
767        {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 16},
768          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 18}, {Mixed, 1},
769          {Empty, 209}, {Mixed, 1}, {Empty, 1774}, {Mixed, 1}, {Empty, 1},
770          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 32775}},
771         {0x04000000, 0x00800000, 0x00800000, 0x00000080, 0x00100000,
772          0x00000080, 0x00080000, 0x00200000, 0x04000000}};
773    /** Code Point Ranges for MN
774    [44, 44], [59, 59], [894, 894], [1417, 1417], [1548, 1549],
775    [1644, 1644], [2040, 2040], [8260, 8260], [65040, 65040],
776    [65044, 65044], [65104, 65104], [65108, 65108], [65292, 65292],
777    [65307, 65307]**/
778    const UnicodeSet mn_Set
779        {{{Empty, 1}, {Mixed, 1}, {Empty, 25}, {Mixed, 1}, {Empty, 16},
780          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
781          {Empty, 11}, {Mixed, 1}, {Empty, 194}, {Mixed, 1}, {Empty, 1773},
782          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
783          {Empty, 32775}},
784         {0x08001000, 0x40000000, 0x00000200, 0x00003000, 0x00001000,
785          0x01000000, 0x00000010, 0x00110000, 0x00110000, 0x08001000}};
786    /** Code Point Ranges for MB
787    [46, 46], [8216, 8217], [8228, 8228], [65106, 65106], [65287, 65287],
788    [65294, 65294]**/
789    const UnicodeSet mb_Set
790        {{{Empty, 1}, {Mixed, 1}, {Empty, 254}, {Mixed, 2}, {Empty, 1776},
791          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 32775}},
792         {0x00004000, 0x03000000, 0x00000010, 0x00040000, 0x00004080}};
793    /** Code Point Ranges for NU
794    [48, 57], [1632, 1641], [1643, 1643], [1776, 1785], [1984, 1993],
795    [2406, 2415], [2534, 2543], [2662, 2671], [2790, 2799], [2918, 2927],
796    [3046, 3055], [3174, 3183], [3302, 3311], [3430, 3439], [3558, 3567],
797    [3664, 3673], [3792, 3801], [3872, 3881], [4160, 4169], [4240, 4249],
798    [6112, 6121], [6160, 6169], [6470, 6479], [6608, 6617], [6784, 6793],
799    [6800, 6809], [6992, 7001], [7088, 7097], [7232, 7241], [7248, 7257],
800    [42528, 42537], [43216, 43225], [43264, 43273], [43472, 43481],
801    [43504, 43513], [43600, 43609], [44016, 44025], [66720, 66729],
802    [69734, 69743], [69872, 69881], [69942, 69951], [70096, 70105],
803    [70384, 70393], [70736, 70745], [70864, 70873], [71248, 71257],
804    [71360, 71369], [71472, 71481], [71904, 71913], [72784, 72793],
805    [92768, 92777], [93008, 93017], [120782, 120831], [125264, 125273]**/
806    const UnicodeSet nu_Set
807        {{{Empty, 1}, {Mixed, 1}, {Empty, 49}, {Mixed, 1}, {Empty, 3},
808          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
809          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
810          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
811          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
812          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
813          {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 8},
814          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 58}, {Mixed, 2},
815          {Empty, 9}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 5},
816          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
817          {Empty, 4}, {Mixed, 1}, {Empty, 1102}, {Mixed, 1}, {Empty, 20},
818          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 2},
819          {Empty, 2}, {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 709},
820          {Mixed, 1}, {Empty, 93}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
821          {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 8},
822          {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
823          {Empty, 11}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
824          {Mixed, 1}, {Empty, 13}, {Mixed, 1}, {Empty, 26}, {Mixed, 1},
825          {Empty, 624}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 867},
826          {Mixed, 1}, {Full, 1}, {Empty, 138}, {Mixed, 1}, {Empty, 30901}},
827         {0x03ff0000, 0x00000bff, 0x03ff0000, 0x000003ff, 0x0000ffc0,
828          0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0,
829          0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x03ff0000,
830          0x03ff0000, 0x000003ff, 0x000003ff, 0x03ff0000, 0x000003ff,
831          0x03ff0000, 0x0000ffc0, 0x03ff0000, 0x03ff03ff, 0x03ff0000,
832          0x03ff0000, 0x03ff03ff, 0x000003ff, 0x03ff0000, 0x000003ff,
833          0x03ff0000, 0x03ff0000, 0x03ff0000, 0x03ff0000, 0x000003ff,
834          0x0000ffc0, 0x03ff0000, 0xffc00000, 0x03ff0000, 0x03ff0000,
835          0x03ff0000, 0x03ff0000, 0x03ff0000, 0x000003ff, 0x03ff0000,
836          0x000003ff, 0x03ff0000, 0x000003ff, 0x03ff0000, 0xffffc000,
837          0x03ff0000}};
838    /** Code Point Ranges for EX
839    [95, 95], [8239, 8239], [8255, 8256], [8276, 8276], [65075, 65076],
840    [65101, 65103], [65343, 65343]**/
841    const UnicodeSet ex_Set
842        {{{Empty, 2}, {Mixed, 1}, {Empty, 254}, {Mixed, 2}, {Empty, 1774},
843          {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 32774}},
844         {0x80000000, 0x80008000, 0x00100001, 0x00180000, 0x0000e000,
845          0x80000000}};
846    /** Code Point Ranges for EB
847    [9757, 9757], [9977, 9977], [9994, 9997], [127877, 127877],
848    [127939, 127940], [127946, 127947], [128066, 128067], [128070, 128080],
849    [128110, 128110], [128112, 128120], [128124, 128124], [128129, 128131],
850    [128133, 128135], [128170, 128170], [128373, 128373], [128378, 128378],
851    [128400, 128400], [128405, 128406], [128581, 128583], [128587, 128591],
852    [128675, 128675], [128692, 128694], [128704, 128704], [129304, 129310],
853    [129318, 129318], [129328, 129328], [129331, 129337], [129340, 129342]**/
854    const UnicodeSet eb_Set
855        {{{Empty, 304}, {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 3683},
856          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 4},
857          {Empty, 5}, {Mixed, 2}, {Empty, 5}, {Mixed, 1}, {Empty, 2},
858          {Mixed, 2}, {Empty, 17}, {Mixed, 2}, {Empty, 30774}},
859         {0x20000000, 0x02000000, 0x00003c00, 0x00000020, 0x00000c18,
860          0x0001ffcc, 0x11ff4000, 0x000000ee, 0x00000400, 0x04200000,
861          0x00610000, 0x0000f8e0, 0x00700008, 0x00000001, 0x7f000000,
862          0x73f90040}};
863    /** Code Point Ranges for EM
864    [127995, 127999]**/
865    const UnicodeSet em_Set
866        {{{Empty, 3999}, {Mixed, 1}, {Empty, 30816}},
867         {0xf8000000}};
868    /** Code Point Ranges for ZWJ
869    [8205, 8205]**/
870    const UnicodeSet zwj_Set
871        {{{Empty, 256}, {Mixed, 1}, {Empty, 34559}},
872         {0x00002000}};
873    /** Code Point Ranges for GAZ
874    [10084, 10084], [128139, 128139], [128488, 128488]**/
875    const UnicodeSet gaz_Set
876        {{{Empty, 315}, {Mixed, 1}, {Empty, 3688}, {Mixed, 1}, {Empty, 10},
877          {Mixed, 1}, {Empty, 30800}},
878         {0x00000010, 0x00000800, 0x00000100}};
879    /** Code Point Ranges for EBG
880    [128102, 128105]**/
881    const UnicodeSet ebg_Set
882        {{{Empty, 4003}, {Mixed, 1}, {Empty, 30812}},
883         {0x000003c0}};
884    static EnumeratedPropertyObject property_object
885        {WB,
886         WB_ns::independent_prop_values,
887         WB_ns::enum_names,
888         WB_ns::value_names,
889         WB_ns::aliases_only_map,
890         {&xx_Set, &dq_Set, &sq_Set, &hl_Set, &cr_Set, &lf_Set, &nl_Set,
891        &extend_Set, &ri_Set, &fo_Set, &ka_Set, &le_Set, &ml_Set, &mn_Set,
892        &mb_Set, &nu_Set, &ex_Set, &eb_Set, &em_Set, &zwj_Set, &gaz_Set,
893        &ebg_Set
894         }};
895    }
896}
897
898#endif
Note: See TracBrowser for help on using the repository browser.