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

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

Fix for -gs mode from Xiangyu

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