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

Last change on this file since 4885 was 4746, checked in by cameron, 4 years ago

icgrep property support: Bidi, Join, Decomposition, Numeric Type

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