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

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

Updates for Unicode 9.0

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