source: icGREP/icgrep-devel/icgrep/UCD/DerivedBidiClass.h @ 5235

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

Support for enumeration basis sets

File size: 41.0 KB
Line 
1#ifndef DERIVEDBIDICLASS_H
2#define DERIVEDBIDICLASS_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 BC_ns {
17    const unsigned independent_prop_values = 23;
18    /** Code Point Ranges for L
19    [65, 90], [97, 122], [170, 170], [181, 181], [186, 186], [192, 214],
20    [216, 246], [248, 696], [699, 705], [720, 721], [736, 740], [750, 750],
21    [880, 883], [886, 893], [895, 899], [902, 902], [904, 1013],
22    [1015, 1154], [1162, 1417], [1419, 1420], [2307, 2361], [2363, 2363],
23    [2365, 2368], [2377, 2380], [2382, 2384], [2392, 2401], [2404, 2432],
24    [2434, 2491], [2493, 2496], [2501, 2508], [2510, 2529], [2532, 2545],
25    [2548, 2554], [2556, 2560], [2563, 2619], [2621, 2624], [2627, 2630],
26    [2633, 2634], [2638, 2640], [2642, 2671], [2674, 2676], [2678, 2688],
27    [2691, 2747], [2749, 2752], [2758, 2758], [2761, 2764], [2766, 2785],
28    [2788, 2800], [2802, 2816], [2818, 2875], [2877, 2878], [2880, 2880],
29    [2885, 2892], [2894, 2901], [2903, 2913], [2916, 2945], [2947, 3007],
30    [3009, 3020], [3022, 3058], [3067, 3071], [3073, 3133], [3137, 3141],
31    [3145, 3145], [3150, 3156], [3159, 3169], [3172, 3191], [3199, 3200],
32    [3202, 3259], [3261, 3275], [3278, 3297], [3300, 3328], [3330, 3392],
33    [3397, 3404], [3406, 3425], [3428, 3529], [3531, 3537], [3541, 3541],
34    [3543, 3632], [3634, 3635], [3643, 3646], [3648, 3654], [3663, 3760],
35    [3762, 3763], [3770, 3770], [3773, 3783], [3790, 3863], [3866, 3892],
36    [3894, 3894], [3896, 3896], [3902, 3952], [3967, 3967], [3973, 3973],
37    [3976, 3980], [3992, 3992], [4029, 4037], [4039, 4140], [4145, 4145],
38    [4152, 4152], [4155, 4156], [4159, 4183], [4186, 4189], [4193, 4208],
39    [4213, 4225], [4227, 4228], [4231, 4236], [4238, 4252], [4254, 4956],
40    [4960, 5007], [5018, 5119], [5121, 5759], [5761, 5786], [5789, 5905],
41    [5909, 5937], [5941, 5969], [5972, 6001], [6004, 6067], [6070, 6070],
42    [6078, 6085], [6087, 6088], [6100, 6106], [6108, 6108], [6110, 6127],
43    [6138, 6143], [6159, 6276], [6279, 6312], [6314, 6431], [6435, 6438],
44    [6441, 6449], [6451, 6456], [6460, 6463], [6465, 6467], [6470, 6621],
45    [6656, 6678], [6681, 6682], [6684, 6741], [6743, 6743], [6751, 6751],
46    [6753, 6753], [6755, 6756], [6765, 6770], [6781, 6782], [6784, 6831],
47    [6847, 6911], [6916, 6963], [6965, 6965], [6971, 6971], [6973, 6977],
48    [6979, 7018], [7028, 7039], [7042, 7073], [7078, 7079], [7082, 7082],
49    [7086, 7141], [7143, 7143], [7146, 7148], [7150, 7150], [7154, 7211],
50    [7220, 7221], [7224, 7375], [7379, 7379], [7393, 7393], [7401, 7404],
51    [7406, 7411], [7413, 7415], [7418, 7615], [7670, 7674], [7680, 8124],
52    [8126, 8126], [8130, 8140], [8144, 8156], [8160, 8172], [8176, 8188],
53    [8191, 8191], [8206, 8206], [8305, 8307], [8319, 8319], [8335, 8351],
54    [8433, 8447], [8450, 8450], [8455, 8455], [8458, 8467], [8469, 8469],
55    [8473, 8477], [8484, 8484], [8486, 8486], [8488, 8488], [8490, 8493],
56    [8495, 8505], [8508, 8511], [8517, 8521], [8526, 8527], [8544, 8584],
57    [8588, 8591], [9014, 9082], [9109, 9109], [9215, 9215], [9255, 9279],
58    [9291, 9311], [9372, 9449], [9900, 9900], [10240, 10495],
59    [11124, 11125], [11158, 11159], [11194, 11196], [11209, 11209],
60    [11218, 11243], [11248, 11492], [11499, 11502], [11506, 11512],
61    [11520, 11646], [11648, 11743], [11845, 11903], [11930, 11930],
62    [12020, 12031], [12246, 12271], [12284, 12287], [12293, 12295],
63    [12321, 12329], [12334, 12335], [12337, 12341], [12344, 12348],
64    [12352, 12440], [12445, 12447], [12449, 12538], [12540, 12735],
65    [12772, 12828], [12831, 12879], [12896, 12923], [12927, 12976],
66    [12992, 13003], [13008, 13174], [13179, 13277], [13280, 13310],
67    [13312, 19903], [19968, 42127], [42183, 42508], [42512, 42606],
68    [42624, 42653], [42656, 42735], [42738, 42751], [42786, 42887],
69    [42889, 43009], [43011, 43013], [43015, 43018], [43020, 43044],
70    [43047, 43047], [43052, 43063], [43066, 43123], [43128, 43203],
71    [43206, 43231], [43250, 43301], [43310, 43334], [43346, 43391],
72    [43395, 43442], [43444, 43445], [43450, 43451], [43453, 43492],
73    [43494, 43560], [43567, 43568], [43571, 43572], [43575, 43586],
74    [43588, 43595], [43597, 43643], [43645, 43695], [43697, 43697],
75    [43701, 43702], [43705, 43709], [43712, 43712], [43714, 43755],
76    [43758, 43765], [43767, 44004], [44006, 44007], [44009, 44012],
77    [44014, 64284], [65050, 65055], [65107, 65107], [65127, 65127],
78    [65132, 65135], [65280, 65280], [65313, 65338], [65345, 65370],
79    [65382, 65503], [65511, 65511], [65519, 65519], [65536, 65792],
80    [65794, 65855], [65933, 65935], [65948, 65951], [65953, 66044],
81    [66046, 66271], [66300, 66421], [66427, 67583], [69632, 69632],
82    [69634, 69687], [69703, 69713], [69734, 69758], [69762, 69810],
83    [69815, 69816], [69819, 69887], [69891, 69926], [69932, 69932],
84    [69941, 70002], [70004, 70015], [70018, 70069], [70079, 70089],
85    [70093, 70190], [70194, 70195], [70197, 70197], [70200, 70205],
86    [70207, 70366], [70368, 70370], [70379, 70399], [70402, 70459],
87    [70461, 70463], [70465, 70501], [70509, 70511], [70517, 70711],
88    [70720, 70721], [70725, 70725], [70727, 70834], [70841, 70841],
89    [70843, 70846], [70849, 70849], [70852, 71089], [71094, 71099],
90    [71102, 71102], [71105, 71131], [71134, 71218], [71227, 71228],
91    [71230, 71230], [71233, 71263], [71277, 71338], [71340, 71340],
92    [71342, 71343], [71350, 71350], [71352, 71452], [71456, 71457],
93    [71462, 71462], [71468, 72751], [72759, 72759], [72766, 72849],
94    [72872, 72873], [72881, 72881], [72884, 72884], [72887, 92911],
95    [92917, 92975], [92983, 94094], [94099, 113820], [113823, 113823],
96    [113828, 119142], [119146, 119154], [119171, 119172], [119180, 119209],
97    [119214, 119295], [119366, 119551], [119639, 120538], [120540, 120596],
98    [120598, 120654], [120656, 120712], [120714, 120770], [120772, 120781],
99    [120832, 121343], [121399, 121402], [121453, 121460], [121462, 121475],
100    [121477, 121498], [121504, 121504], [121520, 122879], [122887, 122887],
101    [122905, 122906], [122914, 122914], [122917, 122917], [122923, 124927],
102    [127020, 127023], [127124, 127135], [127151, 127152], [127168, 127168],
103    [127184, 127184], [127222, 127231], [127245, 127337], [127340, 127743],
104    [128723, 128735], [128749, 128751], [128759, 128767], [128884, 128895],
105    [128981, 129023], [129036, 129039], [129096, 129103], [129114, 129119],
106    [129160, 129167], [129198, 129295], [129311, 129311], [129320, 129327],
107    [129329, 129330], [129343, 129343], [129356, 129359], [129375, 129407],
108    [129426, 129471], [129473, 131069], [131072, 196605], [196608, 262141],
109    [262144, 327677], [327680, 393213], [393216, 458749], [458752, 524285],
110    [524288, 589821], [589824, 655357], [655360, 720893], [720896, 786429],
111    [786432, 851965], [851968, 917501], [921600, 983037], [983040, 1048573],
112    [1048576, 1114109]**/
113    const UnicodeSet l_Set
114        {{{Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 13},
115          {Mixed, 3}, {Empty, 3}, {Mixed, 2}, {Full, 2}, {Mixed, 1},
116          {Full, 4}, {Mixed, 1}, {Full, 7}, {Mixed, 1}, {Empty, 27},
117          {Mixed, 21}, {Full, 1}, {Mixed, 11}, {Full, 1}, {Mixed, 2},
118          {Full, 2}, {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 2},
119          {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 4},
120          {Full, 2}, {Mixed, 4}, {Full, 21}, {Mixed, 1}, {Full, 1},
121          {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 19}, {Mixed, 1},
122          {Full, 3}, {Mixed, 4}, {Full, 1}, {Mixed, 4}, {Full, 3},
123          {Mixed, 2}, {Full, 3}, {Mixed, 2}, {Full, 3}, {Mixed, 1},
124          {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 1},
125          {Mixed, 1}, {Full, 2}, {Mixed, 6}, {Full, 1}, {Mixed, 1},
126          {Full, 1}, {Mixed, 1}, {Full, 4}, {Mixed, 2}, {Full, 6},
127          {Empty, 1}, {Mixed, 1}, {Full, 13}, {Mixed, 4}, {Empty, 2},
128          {Mixed, 2}, {Empty, 2}, {Mixed, 4}, {Full, 1}, {Mixed, 1},
129          {Empty, 12}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 2},
130          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
131          {Full, 2}, {Mixed, 1}, {Empty, 13}, {Mixed, 1}, {Empty, 10},
132          {Full, 8}, {Empty, 19}, {Mixed, 5}, {Full, 7}, {Mixed, 1},
133          {Full, 3}, {Mixed, 1}, {Full, 3}, {Empty, 3}, {Mixed, 1},
134          {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 6},
135          {Mixed, 4}, {Full, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
136          {Full, 6}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2},
137          {Full, 1}, {Mixed, 2}, {Full, 4}, {Mixed, 1}, {Full, 2},
138          {Mixed, 2}, {Full, 206}, {Empty, 2}, {Full, 692}, {Mixed, 1},
139          {Empty, 1}, {Mixed, 1}, {Full, 9}, {Mixed, 1}, {Full, 2},
140          {Mixed, 2}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
141          {Full, 2}, {Mixed, 1}, {Full, 3}, {Mixed, 2}, {Full, 1},
142          {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 2},
143          {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1},
144          {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Full, 7}, {Mixed, 1},
145          {Full, 632}, {Mixed, 1}, {Empty, 23}, {Mixed, 1}, {Empty, 1},
146          {Mixed, 2}, {Empty, 4}, {Mixed, 4}, {Full, 3}, {Mixed, 1},
147          {Full, 8}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 2},
148          {Full, 1}, {Mixed, 1}, {Full, 7}, {Mixed, 1}, {Full, 3},
149          {Mixed, 1}, {Full, 36}, {Empty, 64}, {Mixed, 6}, {Full, 2},
150          {Mixed, 2}, {Full, 1}, {Mixed, 4}, {Full, 2}, {Mixed, 1},
151          {Full, 4}, {Mixed, 6}, {Full, 5}, {Mixed, 2}, {Full, 2},
152          {Mixed, 2}, {Full, 6}, {Mixed, 2}, {Full, 2}, {Mixed, 3},
153          {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 39},
154          {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 625}, {Mixed, 1},
155          {Full, 1}, {Mixed, 1}, {Full, 34}, {Mixed, 1}, {Full, 615},
156          {Mixed, 2}, {Full, 165}, {Mixed, 3}, {Full, 2}, {Empty, 2},
157          {Mixed, 1}, {Full, 5}, {Empty, 2}, {Mixed, 1}, {Full, 27},
158          {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
159          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
160          {Full, 16}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
161          {Full, 42}, {Mixed, 2}, {Full, 62}, {Empty, 65}, {Mixed, 1},
162          {Empty, 2}, {Mixed, 5}, {Full, 2}, {Mixed, 1}, {Full, 12},
163          {Empty, 30}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
164          {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
165          {Empty, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 3}, {Full, 1},
166          {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 48}, {Mixed, 1},
167          {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047},
168          {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1},
169          {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047},
170          {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1},
171          {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Empty, 128},
172          {Full, 1919}, {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047},
173          {Mixed, 1}},
174         {0x07fffffe, 0x07fffffe, 0x04200400, 0xff7fffff, 0xff7fffff,
175          0xf9ffffff, 0x00030003, 0x0000401f, 0xbfcf0000, 0xffffff4f,
176          0xffbfffff, 0xfffffc07, 0x00001bff, 0xfffffff8, 0xebffffff,
177          0xff01de01, 0xfffffff3, 0xfffffffd, 0xefffffff, 0xffffdfe1,
178          0xf7f3fff3, 0xfffffff9, 0xefffffff, 0xfffdc679, 0xffdcffff,
179          0xfffffff9, 0xefffffff, 0xffffde41, 0xfffdfff3, 0xfffffffd,
180          0x6fffffff, 0xffbfdfe1, 0xfffffff3, 0xfffffffb, 0xffffdffe,
181          0xf807ffff, 0xfffffffe, 0x3fffffff, 0xff9fc23e, 0x80fffff3,
182          0xfffffffd, 0xefffffff, 0xffffcfff, 0xfffffff3, 0xfffffffd,
183          0xffffdfe1, 0xfffffff3, 0xffa3fbff, 0x780dffff, 0xffff807f,
184          0xe40dffff, 0xffffc0ff, 0xfcffffff, 0xc15fffff, 0x8001ffff,
185          0x01001f20, 0xe0000000, 0xffffffbf, 0x99021fff, 0x3cffffff,
186          0xffe1fffe, 0xdfffdf9b, 0x1fffffff, 0xfc00ffff, 0xfffffffe,
187          0xe7fffffe, 0xffe3ffff, 0xffe3ffff, 0xfff3ffff, 0xfff3ffff,
188          0xc04fffff, 0xd7f001bf, 0xfc00ffff, 0xffff8000, 0xffffff9f,
189          0xfffffdff, 0xf1fbfe78, 0xffffffce, 0x3fffffff, 0xf67fffff,
190          0x80bfffff, 0x6007e01a, 0x8000ffff, 0xfffffff0, 0xe82fffff,
191          0xfffffffb, 0xfff007ff, 0xfffffffc, 0xffffc4c3, 0xfffc5cbf,
192          0xff300fff, 0x0008ffff, 0xfcefde02, 0x07c00000, 0x5fffffff,
193          0x1fff1ffc, 0x9fff1fff, 0x00004000, 0x800e0000, 0xffff8000,
194          0xfffe0000, 0x3e2ffc84, 0xf3ffbd50, 0x0000c3e0, 0x0000f1ff,
195          0xffc00000, 0x07ffffff, 0x00200000, 0x80000000, 0xffffff80,
196          0xfffff800, 0xf0000000, 0x000003ff, 0x00001000, 0x00300000,
197          0x00c00000, 0x1c000000, 0xfffc0200, 0xffff0fff, 0x01fc781f,
198          0x7fffffff, 0xffffffe0, 0x04000000, 0xfff00000, 0xffc00000,
199          0xf000ffff, 0x000000e0, 0x1f3ec3fe, 0xe1ffffff, 0xfffffffe,
200          0xf7ffffff, 0xfffffff0, 0x9fffffff, 0x0000ffff, 0x8fffffff,
201          0x0001ffff, 0xffff0fff, 0xf87fffff, 0x3fffffff, 0x7fffffff,
202          0x0000ffff, 0xffffff80, 0xffff1fff, 0x00007fff, 0x3fffffff,
203          0xfffcffff, 0xfffffffc, 0xfffffeff, 0xfffff7bb, 0xfcfff09f,
204          0xff0fffff, 0xffffffcf, 0xfffc0000, 0xffffc03f, 0xfffc007f,
205          0xfffffff8, 0xec37ffff, 0xffffffdf, 0xff9981ff, 0xffffeff7,
206          0xefffffff, 0x3e62ffff, 0xfffffffd, 0xffbfcfff, 0xffffdedf,
207          0x1fffffff, 0xfc000000, 0x00080000, 0x0000f080, 0x00000001,
208          0x07fffffe, 0x07fffffe, 0xffffffc0, 0x00008080, 0xfffffffd,
209          0xf000e000, 0xfffffffe, 0xdfffffff, 0xf0000000, 0xf83fffff,
210          0xfffffffd, 0x00ffffff, 0x0003ff80, 0x7fffffc0, 0xfffffffc,
211          0xf987ffff, 0xfffffff8, 0xffe0107f, 0xfff7ffff, 0xfffffffc,
212          0x803fffff, 0xffffe3ff, 0xbf2c7fff, 0x7fffffff, 0xfffff807,
213          0xfffffffc, 0xefffffff, 0xfffffffe, 0xffe0e03f, 0x00ffffff,
214          0xffffffa3, 0x7a07ffff, 0xfffffff2, 0x4fc3ffff, 0xcffffffe,
215          0x5807ffff, 0xfffffffe, 0xffffe000, 0xff40d7ff, 0x1fffffff,
216          0xfffff043, 0xc080ffff, 0x0003ffff, 0xff920300, 0xffe0ffff,
217          0xff80ffff, 0xfff87fff, 0x9fffffff, 0xfffffff0, 0x0007fc7f,
218          0xfffff018, 0xffffc3ff, 0xffffffc0, 0xff800000, 0xf7ffffff,
219          0xffdfffff, 0xffff7fff, 0xfffffdff, 0x00003ff7, 0x07800000,
220          0xffdfe000, 0x07ffffef, 0xffff0001, 0x06000080, 0xfffff824,
221          0x0000f000, 0xfff00000, 0x00018000, 0x00010001, 0xffc00000,
222          0xffffe000, 0xfffff3ff, 0xfff80000, 0xff80e000, 0xfff00000,
223          0xffe00000, 0x0000f000, 0xfc00ff00, 0x0000ff00, 0xffffc000,
224          0x8000ffff, 0x8006ff00, 0x8000f000, 0xfffc0000, 0xfffffffe,
225          0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff,
226          0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff,
227          0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff,
228          0x3fffffff}};
229    /** Code Point Ranges for R
230    [1424, 1424], [1470, 1470], [1472, 1472], [1475, 1475], [1478, 1478],
231    [1480, 1535], [1984, 2026], [2036, 2037], [2042, 2069], [2074, 2074],
232    [2084, 2084], [2088, 2088], [2094, 2136], [2140, 2207], [8207, 8207],
233    [64285, 64285], [64287, 64296], [64298, 64335], [67584, 67870],
234    [67872, 68096], [68100, 68100], [68103, 68107], [68112, 68151],
235    [68155, 68158], [68160, 68324], [68327, 68408], [68416, 69215],
236    [69247, 69631], [124928, 125135], [125143, 125251], [125259, 126463],
237    [126720, 126975]**/
238    const UnicodeSet r_Set
239        {{{Empty, 44}, {Mixed, 3}, {Full, 1}, {Empty, 14}, {Full, 1},
240          {Mixed, 4}, {Full, 2}, {Empty, 187}, {Mixed, 1}, {Empty, 1751},
241          {Mixed, 3}, {Empty, 101}, {Full, 8}, {Mixed, 1}, {Full, 7},
242          {Mixed, 2}, {Full, 5}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
243          {Full, 25}, {Mixed, 1}, {Full, 12}, {Empty, 1728}, {Full, 6},
244          {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 37}, {Empty, 8},
245          {Full, 8}, {Empty, 30848}},
246         {0x00010000, 0x40000000, 0xffffff49, 0xfc3007ff, 0x043fffff,
247          0xffffc110, 0xf1ffffff, 0x00008000, 0xa0000000, 0xfffffdff,
248          0x0000ffff, 0x7fffffff, 0xffff0f91, 0x78ffffff, 0xffffff9f,
249          0x01ffffff, 0x80000000, 0xff80ffff, 0xfffff80f}};
250    /** Code Point Ranges for EN
251    [48, 57], [178, 179], [185, 185], [1776, 1785], [8304, 8304],
252    [8308, 8313], [8320, 8329], [9352, 9371], [65296, 65305],
253    [66273, 66299], [120782, 120831], [127232, 127242]**/
254    const UnicodeSet en_Set
255        {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 49},
256          {Mixed, 1}, {Empty, 203}, {Mixed, 2}, {Empty, 31}, {Mixed, 1},
257          {Empty, 1747}, {Mixed, 1}, {Empty, 30}, {Mixed, 1}, {Empty, 1702},
258          {Mixed, 1}, {Full, 1}, {Empty, 200}, {Mixed, 1}, {Empty, 30839}},
259         {0x03ff0000, 0x020c0000, 0x03ff0000, 0x03f10000, 0x000003ff,
260          0x0fffff00, 0x03ff0000, 0x0ffffffe, 0xffffc000, 0x000007ff}};
261    /** Code Point Ranges for ES
262    [43, 43], [45, 45], [8314, 8315], [8330, 8331], [8722, 8722],
263    [64297, 64297], [65122, 65123], [65291, 65291], [65293, 65293]**/
264    const UnicodeSet es_Set
265        {{{Empty, 1}, {Mixed, 1}, {Empty, 257}, {Mixed, 2}, {Empty, 11},
266          {Mixed, 1}, {Empty, 1736}, {Mixed, 1}, {Empty, 25}, {Mixed, 1},
267          {Empty, 4}, {Mixed, 1}, {Empty, 32775}},
268         {0x00002800, 0x0c000000, 0x00000c00, 0x00040000, 0x00000200,
269          0x0000000c, 0x00002800}};
270    /** Code Point Ranges for ET
271    [35, 37], [162, 165], [176, 177], [1423, 1423], [1545, 1546],
272    [1642, 1642], [2546, 2547], [2555, 2555], [2801, 2801], [3065, 3065],
273    [3647, 3647], [6107, 6107], [8240, 8244], [8352, 8399], [8494, 8494],
274    [8723, 8723], [43064, 43065], [65119, 65119], [65129, 65130],
275    [65283, 65285], [65504, 65505], [65509, 65510]**/
276    const UnicodeSet et_Set
277        {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 38},
278          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
279          {Empty, 27}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 7},
280          {Mixed, 1}, {Empty, 17}, {Mixed, 1}, {Empty, 76}, {Mixed, 1},
281          {Empty, 66}, {Mixed, 1}, {Empty, 3}, {Full, 1}, {Mixed, 1},
282          {Empty, 2}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 1072},
283          {Mixed, 1}, {Empty, 688}, {Mixed, 2}, {Empty, 4}, {Mixed, 1},
284          {Empty, 6}, {Mixed, 1}, {Empty, 32768}},
285         {0x00000038, 0x0003003c, 0x00008000, 0x00000600, 0x00000400,
286          0x080c0000, 0x00020000, 0x02000000, 0x80000000, 0x08000000,
287          0x001f0000, 0x0000ffff, 0x00004000, 0x00080000, 0x03000000,
288          0x80000000, 0x00000600, 0x00000038, 0x00000063}};
289    /** Code Point Ranges for AN
290    [1536, 1541], [1632, 1641], [1643, 1644], [1757, 1757], [2274, 2274],
291    [69216, 69246]**/
292    const UnicodeSet an_Set
293        {{{Empty, 48}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 2},
294          {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 2091}, {Mixed, 1},
295          {Empty, 32652}},
296         {0x0000003f, 0x00001bff, 0x20000000, 0x00000004, 0x7fffffff}};
297    /** Code Point Ranges for CS
298    [44, 44], [46, 47], [58, 58], [160, 160], [1548, 1548], [8239, 8239],
299    [8260, 8260], [65104, 65104], [65106, 65106], [65109, 65109],
300    [65292, 65292], [65294, 65295], [65306, 65306]**/
301    const UnicodeSet cs_Set
302        {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 42},
303          {Mixed, 1}, {Empty, 208}, {Mixed, 2}, {Empty, 1775}, {Mixed, 1},
304          {Empty, 5}, {Mixed, 1}, {Empty, 32775}},
305         {0x0400d000, 0x00000001, 0x00001000, 0x00008000, 0x00000010,
306          0x00250000, 0x0400d000}};
307    /** Code Point Ranges for B
308    [10, 10], [13, 13], [28, 30], [133, 133], [8233, 8233]**/
309    const UnicodeSet b_Set
310        {{{Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 252}, {Mixed, 1},
311          {Empty, 34558}},
312         {0x70002400, 0x00000020, 0x00000200}};
313    /** Code Point Ranges for S
314    [9, 9], [11, 11], [31, 31]**/
315    const UnicodeSet s_Set
316        {{{Mixed, 1}, {Empty, 34815}},
317         {0x80000a00}};
318    /** Code Point Ranges for WS
319    [12, 12], [32, 32], [5760, 5760], [8192, 8202], [8232, 8232],
320    [8287, 8287], [12288, 12288]**/
321    const UnicodeSet ws_Set
322        {{{Mixed, 2}, {Empty, 178}, {Mixed, 1}, {Empty, 75}, {Mixed, 3},
323          {Empty, 125}, {Mixed, 1}, {Empty, 34431}},
324         {0x00001000, 0x00000001, 0x00000001, 0x000007ff, 0x00000100,
325          0x80000000, 0x00000001}};
326    /** Code Point Ranges for ON
327    [33, 34], [38, 42], [59, 64], [91, 96], [123, 126], [161, 161],
328    [166, 169], [171, 172], [174, 175], [180, 180], [182, 184], [187, 191],
329    [215, 215], [247, 247], [697, 698], [706, 719], [722, 735], [741, 749],
330    [751, 767], [884, 885], [894, 894], [900, 901], [903, 903],
331    [1014, 1014], [1418, 1418], [1421, 1422], [1542, 1543], [1550, 1551],
332    [1758, 1758], [1769, 1769], [2038, 2041], [3059, 3064], [3066, 3066],
333    [3192, 3198], [3898, 3901], [5008, 5017], [5120, 5120], [5787, 5788],
334    [6128, 6137], [6144, 6154], [6464, 6464], [6468, 6469], [6622, 6655],
335    [8125, 8125], [8127, 8129], [8141, 8143], [8157, 8159], [8173, 8175],
336    [8189, 8190], [8208, 8231], [8245, 8259], [8261, 8286], [8316, 8318],
337    [8332, 8334], [8448, 8449], [8451, 8454], [8456, 8457], [8468, 8468],
338    [8470, 8472], [8478, 8483], [8485, 8485], [8487, 8487], [8489, 8489],
339    [8506, 8507], [8512, 8516], [8522, 8525], [8528, 8543], [8585, 8587],
340    [8592, 8721], [8724, 9013], [9083, 9108], [9110, 9214], [9216, 9254],
341    [9280, 9290], [9312, 9351], [9450, 9899], [9901, 10239], [10496, 11123],
342    [11126, 11157], [11160, 11193], [11197, 11208], [11210, 11217],
343    [11244, 11247], [11493, 11498], [11513, 11519], [11776, 11844],
344    [11904, 11929], [11931, 12019], [12032, 12245], [12272, 12283],
345    [12289, 12292], [12296, 12320], [12336, 12336], [12342, 12343],
346    [12349, 12351], [12443, 12444], [12448, 12448], [12539, 12539],
347    [12736, 12771], [12829, 12830], [12880, 12895], [12924, 12926],
348    [12977, 12991], [13004, 13007], [13175, 13178], [13278, 13279],
349    [13311, 13311], [19904, 19967], [42128, 42182], [42509, 42511],
350    [42611, 42611], [42622, 42623], [42752, 42785], [42888, 42888],
351    [43048, 43051], [43124, 43127], [64830, 64831], [65021, 65021],
352    [65040, 65049], [65072, 65103], [65105, 65105], [65108, 65108],
353    [65110, 65118], [65120, 65121], [65124, 65126], [65128, 65128],
354    [65131, 65131], [65281, 65282], [65286, 65290], [65307, 65312],
355    [65339, 65344], [65371, 65381], [65506, 65508], [65512, 65518],
356    [65529, 65533], [65793, 65793], [65856, 65932], [65936, 65947],
357    [65952, 65952], [67871, 67871], [68409, 68415], [69714, 69733],
358    [71264, 71276], [119296, 119361], [119365, 119365], [119552, 119638],
359    [120539, 120539], [120597, 120597], [120655, 120655], [120713, 120713],
360    [120771, 120771], [126704, 126705], [126976, 127019], [127024, 127123],
361    [127136, 127150], [127153, 127167], [127169, 127183], [127185, 127221],
362    [127243, 127244], [127338, 127339], [127744, 128722], [128736, 128748],
363    [128752, 128758], [128768, 128883], [128896, 128980], [129024, 129035],
364    [129040, 129095], [129104, 129113], [129120, 129159], [129168, 129197],
365    [129296, 129310], [129312, 129319], [129328, 129328], [129331, 129342],
366    [129344, 129355], [129360, 129374], [129408, 129425], [129472, 129472]**/
367    const UnicodeSet on_Set
368        {{{Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 13},
369          {Mixed, 3}, {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
370          {Empty, 12}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 5},
371          {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 31}, {Mixed, 1},
372          {Empty, 3}, {Mixed, 1}, {Empty, 21}, {Mixed, 1}, {Empty, 34},
373          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 19}, {Mixed, 1},
374          {Empty, 10}, {Mixed, 2}, {Empty, 9}, {Mixed, 1}, {Empty, 3},
375          {Mixed, 1}, {Full, 1}, {Empty, 45}, {Mixed, 8}, {Empty, 3},
376          {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Full, 3}, {Mixed, 1},
377          {Full, 8}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 2},
378          {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
379          {Empty, 2}, {Mixed, 1}, {Full, 13}, {Mixed, 1}, {Full, 10},
380          {Empty, 8}, {Full, 19}, {Mixed, 5}, {Empty, 7}, {Mixed, 1},
381          {Empty, 8}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
382          {Full, 2}, {Mixed, 1}, {Full, 6}, {Mixed, 4}, {Empty, 2},
383          {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 6}, {Full, 1},
384          {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
385          {Empty, 4}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 206},
386          {Full, 2}, {Empty, 692}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
387          {Empty, 9}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 4},
388          {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 4},
389          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 677}, {Mixed, 1},
390          {Empty, 5}, {Mixed, 5}, {Empty, 4}, {Mixed, 4}, {Empty, 3},
391          {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 1}, {Full, 2},
392          {Mixed, 2}, {Empty, 58}, {Mixed, 1}, {Empty, 16}, {Mixed, 1},
393          {Empty, 40}, {Mixed, 2}, {Empty, 47}, {Mixed, 1}, {Empty, 1500},
394          {Full, 2}, {Mixed, 1}, {Empty, 5}, {Full, 2}, {Mixed, 1},
395          {Empty, 27}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
396          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
397          {Empty, 184}, {Mixed, 1}, {Empty, 8}, {Full, 1}, {Mixed, 1},
398          {Full, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 1}, {Empty, 12},
399          {Full, 30}, {Mixed, 2}, {Full, 3}, {Mixed, 1}, {Full, 2},
400          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
401          {Full, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Empty, 1},
402          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 30769}},
403         {0xf80007c6, 0xf8000001, 0x78000001, 0xf9d0dbc2, 0x00800000,
404          0x00800000, 0x06000000, 0xfffcfffc, 0xffffbfe0, 0x40300000,
405          0x000000b0, 0x00400000, 0x00006400, 0x0000c0c0, 0x40000000,
406          0x00000200, 0x03c00000, 0x05f80000, 0x7f000000, 0x3c000000,
407          0x03ff0000, 0x00000001, 0x18000000, 0x03ff0000, 0x000007ff,
408          0x00000031, 0xc0000000, 0xa0000000, 0xe000e003, 0x6000e000,
409          0xffff0000, 0xffe000ff, 0x7fffffef, 0x70000000, 0x00007000,
410          0xc1d0037b, 0x0c0002af, 0xffff3c1f, 0xffff0e00, 0xfff3ffff,
411          0x003fffff, 0xf8000000, 0xffdfffff, 0x7fffffff, 0x0000007f,
412          0x000007ff, 0x000000ff, 0xfffffc00, 0xffffefff, 0xffcfffff,
413          0xff3fffff, 0xe3ffffff, 0x0003fdff, 0x0000f000, 0xfe0007e0,
414          0x0000001f, 0xfbffffff, 0x000fffff, 0x003fffff, 0x0fff0000,
415          0xffffff1e, 0xe0c10001, 0x18000000, 0x00000001, 0x08000000,
416          0x0000000f, 0x60000000, 0xffff0000, 0x70000000, 0xfffe0000,
417          0x0000f000, 0x07800000, 0xc0000000, 0x80000000, 0xffff0000,
418          0x0000007f, 0x0000e000, 0xc0080000, 0x00000003, 0x00000100,
419          0x00000f00, 0x00f00000, 0xc0000000, 0x20000000, 0x03ff0000,
420          0xffff0000, 0x7fd2ffff, 0x00000973, 0xf80007c6, 0xf8000001,
421          0xf8000001, 0x0000003f, 0x3e007f1c, 0x00000002, 0x0fff1fff,
422          0x00000001, 0x80000000, 0xfe000000, 0xfffc0000, 0x0000003f,
423          0x00001fff, 0x00000023, 0x007fffff, 0x08000000, 0x00200000,
424          0x00008000, 0x00000200, 0x00000008, 0x00030000, 0xffff0fff,
425          0x000fffff, 0xfffe7fff, 0xfffefffe, 0x003fffff, 0x00001800,
426          0x00000c00, 0x0007ffff, 0x007f1fff, 0x000fffff, 0x001fffff,
427          0xffff0fff, 0x03ff00ff, 0xffff00ff, 0x00003fff, 0x7fff0000,
428          0x7ff900ff, 0x7fff0fff, 0x0003ffff, 0x00000001}};
429    /** Code Point Ranges for BN
430    [0, 8], [14, 27], [127, 132], [134, 159], [173, 173], [6158, 6158],
431    [8203, 8205], [8288, 8293], [8298, 8303], [64976, 65007],
432    [65279, 65279], [65520, 65528], [65534, 65535], [113824, 113827],
433    [119155, 119162], [131070, 131071], [196606, 196607], [262142, 262143],
434    [327678, 327679], [393214, 393215], [458750, 458751], [524286, 524287],
435    [589822, 589823], [655358, 655359], [720894, 720895], [786430, 786431],
436    [851966, 851967], [917502, 917759], [918000, 921599], [983038, 983039],
437    [1048574, 1048575], [1114110, 1114111]**/
438    const UnicodeSet bn_Set
439        {{{Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 186}, {Mixed, 1},
440          {Empty, 63}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1770},
441          {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
442          {Empty, 1509}, {Mixed, 1}, {Empty, 165}, {Mixed, 1}, {Empty, 371},
443          {Mixed, 1}, {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},
448          {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1}, {Full, 8},
449          {Empty, 7}, {Mixed, 1}, {Full, 112}, {Empty, 1919}, {Mixed, 1},
450          {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1}},
451         {0x0fffc1ff, 0x80000000, 0xffffffdf, 0x00002000, 0x00004000,
452          0x00003800, 0x0000fc3f, 0xffff0000, 0x0000ffff, 0x80000000,
453          0xc1ff0000, 0x0000000f, 0x07f80000, 0xc0000000, 0xc0000000,
454          0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
455          0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
456          0xc0000000, 0xffff0000, 0xc0000000, 0xc0000000, 0xc0000000}};
457    /** Code Point Ranges for NSM
458    [768, 879], [1155, 1161], [1425, 1469], [1471, 1471], [1473, 1474],
459    [1476, 1477], [1479, 1479], [1552, 1562], [1611, 1631], [1648, 1648],
460    [1750, 1756], [1759, 1764], [1767, 1768], [1770, 1773], [1809, 1809],
461    [1840, 1866], [1958, 1968], [2027, 2035], [2070, 2073], [2075, 2083],
462    [2085, 2087], [2089, 2093], [2137, 2139], [2260, 2273], [2275, 2306],
463    [2362, 2362], [2364, 2364], [2369, 2376], [2381, 2381], [2385, 2391],
464    [2402, 2403], [2433, 2433], [2492, 2492], [2497, 2500], [2509, 2509],
465    [2530, 2531], [2561, 2562], [2620, 2620], [2625, 2626], [2631, 2632],
466    [2635, 2637], [2641, 2641], [2672, 2673], [2677, 2677], [2689, 2690],
467    [2748, 2748], [2753, 2757], [2759, 2760], [2765, 2765], [2786, 2787],
468    [2817, 2817], [2876, 2876], [2879, 2879], [2881, 2884], [2893, 2893],
469    [2902, 2902], [2914, 2915], [2946, 2946], [3008, 3008], [3021, 3021],
470    [3072, 3072], [3134, 3136], [3142, 3144], [3146, 3149], [3157, 3158],
471    [3170, 3171], [3201, 3201], [3260, 3260], [3276, 3277], [3298, 3299],
472    [3329, 3329], [3393, 3396], [3405, 3405], [3426, 3427], [3530, 3530],
473    [3538, 3540], [3542, 3542], [3633, 3633], [3636, 3642], [3655, 3662],
474    [3761, 3761], [3764, 3769], [3771, 3772], [3784, 3789], [3864, 3865],
475    [3893, 3893], [3895, 3895], [3897, 3897], [3953, 3966], [3968, 3972],
476    [3974, 3975], [3981, 3991], [3993, 4028], [4038, 4038], [4141, 4144],
477    [4146, 4151], [4153, 4154], [4157, 4158], [4184, 4185], [4190, 4192],
478    [4209, 4212], [4226, 4226], [4229, 4230], [4237, 4237], [4253, 4253],
479    [4957, 4959], [5906, 5908], [5938, 5940], [5970, 5971], [6002, 6003],
480    [6068, 6069], [6071, 6077], [6086, 6086], [6089, 6099], [6109, 6109],
481    [6155, 6157], [6277, 6278], [6313, 6313], [6432, 6434], [6439, 6440],
482    [6450, 6450], [6457, 6459], [6679, 6680], [6683, 6683], [6742, 6742],
483    [6744, 6750], [6752, 6752], [6754, 6754], [6757, 6764], [6771, 6780],
484    [6783, 6783], [6832, 6846], [6912, 6915], [6964, 6964], [6966, 6970],
485    [6972, 6972], [6978, 6978], [7019, 7027], [7040, 7041], [7074, 7077],
486    [7080, 7081], [7083, 7085], [7142, 7142], [7144, 7145], [7149, 7149],
487    [7151, 7153], [7212, 7219], [7222, 7223], [7376, 7378], [7380, 7392],
488    [7394, 7400], [7405, 7405], [7412, 7412], [7416, 7417], [7616, 7669],
489    [7675, 7679], [8400, 8432], [11503, 11505], [11647, 11647],
490    [11744, 11775], [12330, 12333], [12441, 12442], [42607, 42610],
491    [42612, 42621], [42654, 42655], [42736, 42737], [43010, 43010],
492    [43014, 43014], [43019, 43019], [43045, 43046], [43204, 43205],
493    [43232, 43249], [43302, 43309], [43335, 43345], [43392, 43394],
494    [43443, 43443], [43446, 43449], [43452, 43452], [43493, 43493],
495    [43561, 43566], [43569, 43570], [43573, 43574], [43587, 43587],
496    [43596, 43596], [43644, 43644], [43696, 43696], [43698, 43700],
497    [43703, 43704], [43710, 43711], [43713, 43713], [43756, 43757],
498    [43766, 43766], [44005, 44005], [44008, 44008], [44013, 44013],
499    [64286, 64286], [65024, 65039], [65056, 65071], [66045, 66045],
500    [66272, 66272], [66422, 66426], [68097, 68099], [68101, 68102],
501    [68108, 68111], [68152, 68154], [68159, 68159], [68325, 68326],
502    [69633, 69633], [69688, 69702], [69759, 69761], [69811, 69814],
503    [69817, 69818], [69888, 69890], [69927, 69931], [69933, 69940],
504    [70003, 70003], [70016, 70017], [70070, 70078], [70090, 70092],
505    [70191, 70193], [70196, 70196], [70198, 70199], [70206, 70206],
506    [70367, 70367], [70371, 70378], [70400, 70401], [70460, 70460],
507    [70464, 70464], [70502, 70508], [70512, 70516], [70712, 70719],
508    [70722, 70724], [70726, 70726], [70835, 70840], [70842, 70842],
509    [70847, 70848], [70850, 70851], [71090, 71093], [71100, 71101],
510    [71103, 71104], [71132, 71133], [71219, 71226], [71229, 71229],
511    [71231, 71232], [71339, 71339], [71341, 71341], [71344, 71349],
512    [71351, 71351], [71453, 71455], [71458, 71461], [71463, 71467],
513    [72752, 72758], [72760, 72765], [72850, 72871], [72874, 72880],
514    [72882, 72883], [72885, 72886], [92912, 92916], [92976, 92982],
515    [94095, 94098], [113821, 113822], [119143, 119145], [119163, 119170],
516    [119173, 119179], [119210, 119213], [119362, 119364], [121344, 121398],
517    [121403, 121452], [121461, 121461], [121476, 121476], [121499, 121503],
518    [121505, 121519], [122880, 122886], [122888, 122904], [122907, 122913],
519    [122915, 122916], [122918, 122922], [125136, 125142], [125252, 125258],
520    [917760, 917999]**/
521    const UnicodeSet nsm_Set
522        {{{Empty, 24}, {Full, 3}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
523          {Empty, 7}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
524          {Mixed, 2}, {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 1},
525          {Empty, 1}, {Mixed, 4}, {Empty, 3}, {Mixed, 23}, {Empty, 1},
526          {Mixed, 1}, {Empty, 1}, {Mixed, 9}, {Empty, 1}, {Mixed, 2},
527          {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 2},
528          {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 4},
529          {Empty, 2}, {Mixed, 4}, {Empty, 21}, {Mixed, 1}, {Empty, 29},
530          {Mixed, 4}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
531          {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 6},
532          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
533          {Empty, 2}, {Mixed, 6}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
534          {Mixed, 1}, {Empty, 4}, {Mixed, 2}, {Empty, 6}, {Full, 1},
535          {Mixed, 1}, {Empty, 22}, {Mixed, 2}, {Empty, 95}, {Mixed, 1},
536          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Full, 1}, {Empty, 17},
537          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 942}, {Mixed, 2},
538          {Empty, 2}, {Mixed, 1}, {Empty, 8}, {Mixed, 2}, {Empty, 4},
539          {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
540          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
541          {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 632}, {Mixed, 1},
542          {Empty, 23}, {Mixed, 2}, {Empty, 29}, {Mixed, 1}, {Empty, 7},
543          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 52}, {Mixed, 2},
544          {Empty, 5}, {Mixed, 1}, {Empty, 40}, {Mixed, 6}, {Empty, 2},
545          {Mixed, 2}, {Empty, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 1},
546          {Empty, 4}, {Mixed, 6}, {Empty, 5}, {Mixed, 2}, {Empty, 2},
547          {Mixed, 2}, {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
548          {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 39},
549          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 625}, {Mixed, 1},
550          {Empty, 1}, {Mixed, 1}, {Empty, 34}, {Mixed, 1}, {Empty, 615},
551          {Mixed, 1}, {Empty, 166}, {Mixed, 3}, {Empty, 4}, {Mixed, 1},
552          {Empty, 61}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
553          {Empty, 42}, {Mixed, 2}, {Empty, 68}, {Mixed, 1}, {Empty, 3},
554          {Mixed, 1}, {Empty, 24765}, {Full, 7}, {Mixed, 1}, {Empty, 6128}},
555         {0x0000ffff, 0x000003f8, 0xfffe0000, 0xbfffffff, 0x000000b6,
556          0x07ff0000, 0xfffff800, 0x00010000, 0x9fc00000, 0x00003d9f,
557          0x00020000, 0xffff0000, 0x000007ff, 0x0001ffc0, 0x000ff800,
558          0xfbc00000, 0x00003eef, 0x0e000000, 0xfff00000, 0xfffffffb,
559          0x00000007, 0x14000000, 0x00fe21fe, 0x0000000c, 0x00000002,
560          0x10000000, 0x0000201e, 0x0000000c, 0x00000006, 0x10000000,
561          0x00023986, 0x00230000, 0x00000006, 0x10000000, 0x000021be,
562          0x0000000c, 0x00000002, 0x90000000, 0x0040201e, 0x0000000c,
563          0x00000004, 0x00002001, 0x00000001, 0xc0000000, 0x00603dc1,
564          0x0000000c, 0x00000002, 0x10000000, 0x00003000, 0x0000000c,
565          0x00000002, 0x0000201e, 0x0000000c, 0x005c0400, 0x07f20000,
566          0x00007f80, 0x1bf20000, 0x00003f00, 0x03000000, 0x02a00000,
567          0x7ffe0000, 0xfeffe0df, 0x1fffffff, 0x00000040, 0x66fde000,
568          0xc3000000, 0x001e0001, 0x20002064, 0xe0000000, 0x001c0000,
569          0x001c0000, 0x000c0000, 0x000c0000, 0x3fb00000, 0x200ffe40,
570          0x00003800, 0x00000060, 0x00000200, 0x0e040187, 0x09800000,
571          0x7f400000, 0x9ff81fe5, 0x7fff0000, 0x0000000f, 0x17d00000,
572          0x00000004, 0x000ff800, 0x00000003, 0x00003b3c, 0x0003a340,
573          0x00cff000, 0xfff70000, 0x031021fd, 0xf83fffff, 0xffff0000,
574          0x0001ffff, 0x00038000, 0x80000000, 0x00003c00, 0x06000000,
575          0x3ff78000, 0xc0000000, 0x00030000, 0x00000844, 0x00000060,
576          0x00000030, 0x0003ffff, 0x00003fc0, 0x0003ff80, 0x00000007,
577          0x13c80000, 0x00000020, 0x00667e00, 0x00001008, 0x10000000,
578          0xc19d0000, 0x00000002, 0x00403000, 0x00002120, 0x40000000,
579          0x0000ffff, 0x0000ffff, 0x20000000, 0x00000001, 0x07c00000,
580          0x0000f06e, 0x87000000, 0x00000060, 0x00000002, 0xff000000,
581          0x0000007f, 0x80000000, 0x00000003, 0x06780000, 0x00000007,
582          0x001fef80, 0x00080000, 0x00000003, 0x7fc00000, 0x00001c00,
583          0x40d38000, 0x80000000, 0x000007f8, 0x00000003, 0x10000000,
584          0x00000001, 0x001f1fc0, 0xff000000, 0x0000005c, 0x85f80000,
585          0x0000000d, 0xb03c0000, 0x30000001, 0xa7f80000, 0x00000001,
586          0x00bf2800, 0xe0000000, 0x00000fbc, 0x3f7f0000, 0xfffc0000,
587          0x006dfcff, 0x001f0000, 0x007f0000, 0x00078000, 0x60000000,
588          0xf8000380, 0x00000fe7, 0x00003c00, 0x0000001c, 0xf87fffff,
589          0x00201fff, 0xf8000010, 0x0000fffe, 0xf9ffff7f, 0x000007db,
590          0x007f0000, 0x000007f0, 0x0000ffff}};
591    /** Code Point Ranges for AL
592    [1544, 1544], [1547, 1547], [1549, 1549], [1563, 1610], [1645, 1647],
593    [1649, 1749], [1765, 1766], [1774, 1775], [1786, 1808], [1810, 1839],
594    [1867, 1957], [1969, 1983], [2208, 2259], [64336, 64829],
595    [64832, 64975], [65008, 65020], [65022, 65023], [65136, 65278],
596    [126464, 126703], [126706, 126719]**/
597    const UnicodeSet al_Set
598        {{{Empty, 48}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 2},
599          {Mixed, 5}, {Full, 2}, {Mixed, 1}, {Empty, 7}, {Full, 1},
600          {Mixed, 1}, {Empty, 1939}, {Mixed, 1}, {Full, 14}, {Mixed, 1},
601          {Full, 4}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Full, 3},
602          {Mixed, 1}, {Empty, 1912}, {Full, 7}, {Mixed, 1}, {Empty, 30856}},
603         {0xf8002900, 0x000007ff, 0xfffee000, 0x003fffff, 0xfc00c060,
604          0xfffdffff, 0x0000ffff, 0xfffff800, 0xfffe003f, 0x000fffff,
605          0xffff0000, 0x3fffffff, 0x0000ffff, 0xdfff0000, 0xffff0000,
606          0x7fffffff, 0xfffcffff}};
607    /** Code Point Ranges for LRO
608    [8237, 8237]**/
609    const UnicodeSet lro_Set
610        {{{Empty, 257}, {Mixed, 1}, {Empty, 34558}},
611         {0x00002000}};
612    /** Code Point Ranges for RLO
613    [8238, 8238]**/
614    const UnicodeSet rlo_Set
615        {{{Empty, 257}, {Mixed, 1}, {Empty, 34558}},
616         {0x00004000}};
617    /** Code Point Ranges for LRE
618    [8234, 8234]**/
619    const UnicodeSet lre_Set
620        {{{Empty, 257}, {Mixed, 1}, {Empty, 34558}},
621         {0x00000400}};
622    /** Code Point Ranges for RLE
623    [8235, 8235]**/
624    const UnicodeSet rle_Set
625        {{{Empty, 257}, {Mixed, 1}, {Empty, 34558}},
626         {0x00000800}};
627    /** Code Point Ranges for PDF
628    [8236, 8236]**/
629    const UnicodeSet pdf_Set
630        {{{Empty, 257}, {Mixed, 1}, {Empty, 34558}},
631         {0x00001000}};
632    /** Code Point Ranges for LRI
633    [8294, 8294]**/
634    const UnicodeSet lri_Set
635        {{{Empty, 259}, {Mixed, 1}, {Empty, 34556}},
636         {0x00000040}};
637    /** Code Point Ranges for RLI
638    [8295, 8295]**/
639    const UnicodeSet rli_Set
640        {{{Empty, 259}, {Mixed, 1}, {Empty, 34556}},
641         {0x00000080}};
642    /** Code Point Ranges for FSI
643    [8296, 8296]**/
644    const UnicodeSet fsi_Set
645        {{{Empty, 259}, {Mixed, 1}, {Empty, 34556}},
646         {0x00000100}};
647    /** Code Point Ranges for PDI
648    [8297, 8297]**/
649    const UnicodeSet pdi_Set
650        {{{Empty, 259}, {Mixed, 1}, {Empty, 34556}},
651         {0x00000200}};
652    static EnumeratedPropertyObject property_object
653        {bc,
654         BC_ns::independent_prop_values,
655         BC_ns::enum_names,
656         BC_ns::value_names,
657         BC_ns::aliases_only_map,
658         {&l_Set, &r_Set, &en_Set, &es_Set, &et_Set, &an_Set, &cs_Set, &b_Set,
659        &s_Set, &ws_Set, &on_Set, &bn_Set, &nsm_Set, &al_Set, &lro_Set,
660        &rlo_Set, &lre_Set, &rle_Set, &pdf_Set, &lri_Set, &rli_Set,
661        &fsi_Set, &pdi_Set
662         }};
663    }
664}
665
666#endif
Note: See TracBrowser for help on using the repository browser.