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

Last change on this file since 5670 was 5660, checked in by cameron, 22 months ago

UCD corrections and additional properties

File size: 40.5 KB
Line 
1#ifndef DERIVEDBIDICLASS_H
2#define DERIVEDBIDICLASS_H
3/*
4 *  Copyright (c) 2017 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 "PropertyAliases.h"
12#include "PropertyObjects.h"
13#include "PropertyValueAliases.h"
14#include "unicode_set.h"
15
16namespace UCD {
17  namespace BC_ns {
18    const unsigned independent_prop_values = 23;
19    /** Code Point Ranges for L
20    [0041, 005a], [0061, 007a], [00aa, 00aa], [00b5, 00b5], [00ba, 00ba],
21    [00c0, 00d6], [00d8, 00f6], [00f8, 02b8], [02bb, 02c1], [02d0, 02d1],
22    [02e0, 02e4], [02ee, 02ee], [0370, 0373], [0376, 037d], [037f, 0383],
23    [0386, 0386], [0388, 03f5], [03f7, 0482], [048a, 0589], [058b, 058c],
24    [0903, 0939], [093b, 093b], [093d, 0940], [0949, 094c], [094e, 0950],
25    [0958, 0961], [0964, 0980], [0982, 09bb], [09bd, 09c0], [09c5, 09cc],
26    [09ce, 09e1], [09e4, 09f1], [09f4, 09fa], [09fc, 0a00], [0a03, 0a3b],
27    [0a3d, 0a40], [0a43, 0a46], [0a49, 0a4a], [0a4e, 0a50], [0a52, 0a6f],
28    [0a72, 0a74], [0a76, 0a80], [0a83, 0abb], [0abd, 0ac0], [0ac6, 0ac6],
29    [0ac9, 0acc], [0ace, 0ae1], [0ae4, 0af0], [0af2, 0b00], [0b02, 0b3b],
30    [0b3d, 0b3e], [0b40, 0b40], [0b45, 0b4c], [0b4e, 0b55], [0b57, 0b61],
31    [0b64, 0b81], [0b83, 0bbf], [0bc1, 0bcc], [0bce, 0bf2], [0bfb, 0bff],
32    [0c01, 0c3d], [0c41, 0c45], [0c49, 0c49], [0c4e, 0c54], [0c57, 0c61],
33    [0c64, 0c77], [0c7f, 0c80], [0c82, 0cbb], [0cbd, 0ccb], [0cce, 0ce1],
34    [0ce4, 0d00], [0d02, 0d40], [0d45, 0d4c], [0d4e, 0d61], [0d64, 0dc9],
35    [0dcb, 0dd1], [0dd5, 0dd5], [0dd7, 0e30], [0e32, 0e33], [0e3b, 0e3e],
36    [0e40, 0e46], [0e4f, 0eb0], [0eb2, 0eb3], [0eba, 0eba], [0ebd, 0ec7],
37    [0ece, 0f17], [0f1a, 0f34], [0f36, 0f36], [0f38, 0f38], [0f3e, 0f70],
38    [0f7f, 0f7f], [0f85, 0f85], [0f88, 0f8c], [0f98, 0f98], [0fbd, 0fc5],
39    [0fc7, 102c], [1031, 1031], [1038, 1038], [103b, 103c], [103f, 1057],
40    [105a, 105d], [1061, 1070], [1075, 1081], [1083, 1084], [1087, 108c],
41    [108e, 109c], [109e, 135c], [1360, 138f], [139a, 13ff], [1401, 167f],
42    [1681, 169a], [169d, 1711], [1715, 1731], [1735, 1751], [1754, 1771],
43    [1774, 17b3], [17b6, 17b6], [17be, 17c5], [17c7, 17c8], [17d4, 17da],
44    [17dc, 17dc], [17de, 17ef], [17fa, 17ff], [180f, 1884], [1887, 18a8],
45    [18aa, 191f], [1923, 1926], [1929, 1931], [1933, 1938], [193c, 193f],
46    [1941, 1943], [1946, 19dd], [1a00, 1a16], [1a19, 1a1a], [1a1c, 1a55],
47    [1a57, 1a57], [1a5f, 1a5f], [1a61, 1a61], [1a63, 1a64], [1a6d, 1a72],
48    [1a7d, 1a7e], [1a80, 1aaf], [1abf, 1aff], [1b04, 1b33], [1b35, 1b35],
49    [1b3b, 1b3b], [1b3d, 1b41], [1b43, 1b6a], [1b74, 1b7f], [1b82, 1ba1],
50    [1ba6, 1ba7], [1baa, 1baa], [1bae, 1be5], [1be7, 1be7], [1bea, 1bec],
51    [1bee, 1bee], [1bf2, 1c2b], [1c34, 1c35], [1c38, 1ccf], [1cd3, 1cd3],
52    [1ce1, 1ce1], [1ce9, 1cec], [1cee, 1cf3], [1cf5, 1cf7], [1cfa, 1dbf],
53    [1df6, 1dfa], [1e00, 1fbc], [1fbe, 1fbe], [1fc2, 1fcc], [1fd0, 1fdc],
54    [1fe0, 1fec], [1ff0, 1ffc], [1fff, 1fff], [200e, 200e], [2071, 2073],
55    [207f, 207f], [208f, 209f], [20f1, 20ff], [2102, 2102], [2107, 2107],
56    [210a, 2113], [2115, 2115], [2119, 211d], [2124, 2124], [2126, 2126],
57    [2128, 2128], [212a, 212d], [212f, 2139], [213c, 213f], [2145, 2149],
58    [214e, 214f], [2160, 2188], [218c, 218f], [2336, 237a], [2395, 2395],
59    [23ff, 23ff], [2427, 243f], [244b, 245f], [249c, 24e9], [26ac, 26ac],
60    [2800, 28ff], [2b74, 2b75], [2b96, 2b97], [2bba, 2bbc], [2bc9, 2bc9],
61    [2bd2, 2beb], [2bf0, 2ce4], [2ceb, 2cee], [2cf2, 2cf8], [2d00, 2d7e],
62    [2d80, 2ddf], [2e45, 2e7f], [2e9a, 2e9a], [2ef4, 2eff], [2fd6, 2fef],
63    [2ffc, 2fff], [3005, 3007], [3021, 3029], [302e, 302f], [3031, 3035],
64    [3038, 303c], [3040, 3098], [309d, 309f], [30a1, 30fa], [30fc, 31bf],
65    [31e4, 321c], [321f, 324f], [3260, 327b], [327f, 32b0], [32c0, 32cb],
66    [32d0, 3376], [337b, 33dd], [33e0, 33fe], [3400, 4dbf], [4e00, a48f],
67    [a4c7, a60c], [a610, a66e], [a680, a69d], [a6a0, a6ef], [a6f2, a6ff],
68    [a722, a787], [a789, a801], [a803, a805], [a807, a80a], [a80c, a824],
69    [a827, a827], [a82c, a837], [a83a, a873], [a878, a8c3], [a8c6, a8df],
70    [a8f2, a925], [a92e, a946], [a952, a97f], [a983, a9b2], [a9b4, a9b5],
71    [a9ba, a9bb], [a9bd, a9e4], [a9e6, aa28], [aa2f, aa30], [aa33, aa34],
72    [aa37, aa42], [aa44, aa4b], [aa4d, aa7b], [aa7d, aaaf], [aab1, aab1],
73    [aab5, aab6], [aab9, aabd], [aac0, aac0], [aac2, aaeb], [aaee, aaf5],
74    [aaf7, abe4], [abe6, abe7], [abe9, abec], [abee, fb1c], [fe1a, fe1f],
75    [fe53, fe53], [fe67, fe67], [fe6c, fe6f], [ff00, ff00], [ff21, ff3a],
76    [ff41, ff5a], [ff66, ffdf], [ffe7, ffe7], [ffef, ffef], [10000, 10100],
77    [10102, 1013f], [1018d, 1018f], [1019c, 1019f], [101a1, 101fc],
78    [101fe, 102df], [102fc, 10375], [1037b, 107ff], [11000, 11000],
79    [11002, 11037], [11047, 11051], [11066, 1107e], [11082, 110b2],
80    [110b7, 110b8], [110bb, 110ff], [11103, 11126], [1112c, 1112c],
81    [11135, 11172], [11174, 1117f], [11182, 111b5], [111bf, 111c9],
82    [111cd, 1122e], [11232, 11233], [11235, 11235], [11238, 1123d],
83    [1123f, 112de], [112e0, 112e2], [112eb, 112ff], [11302, 1133b],
84    [1133d, 1133f], [11341, 11365], [1136d, 1136f], [11375, 11437],
85    [11440, 11441], [11445, 11445], [11447, 114b2], [114b9, 114b9],
86    [114bb, 114be], [114c1, 114c1], [114c4, 115b1], [115b6, 115bb],
87    [115be, 115be], [115c1, 115db], [115de, 11632], [1163b, 1163c],
88    [1163e, 1163e], [11641, 1165f], [1166d, 116aa], [116ac, 116ac],
89    [116ae, 116af], [116b6, 116b6], [116b8, 1171c], [11720, 11721],
90    [11726, 11726], [1172c, 11c2f], [11c37, 11c37], [11c3e, 11c91],
91    [11ca8, 11ca9], [11cb1, 11cb1], [11cb4, 11cb4], [11cb7, 16aef],
92    [16af5, 16b2f], [16b37, 16f8e], [16f93, 1bc9c], [1bc9f, 1bc9f],
93    [1bca4, 1d166], [1d16a, 1d172], [1d183, 1d184], [1d18c, 1d1a9],
94    [1d1ae, 1d1ff], [1d246, 1d2ff], [1d357, 1d6da], [1d6dc, 1d714],
95    [1d716, 1d74e], [1d750, 1d788], [1d78a, 1d7c2], [1d7c4, 1d7cd],
96    [1d800, 1d9ff], [1da37, 1da3a], [1da6d, 1da74], [1da76, 1da83],
97    [1da85, 1da9a], [1daa0, 1daa0], [1dab0, 1dfff], [1e007, 1e007],
98    [1e019, 1e01a], [1e022, 1e022], [1e025, 1e025], [1e02b, 1e7ff],
99    [1f02c, 1f02f], [1f094, 1f09f], [1f0af, 1f0b0], [1f0c0, 1f0c0],
100    [1f0d0, 1f0d0], [1f0f6, 1f0ff], [1f10d, 1f169], [1f16c, 1f2ff],
101    [1f6d3, 1f6df], [1f6ed, 1f6ef], [1f6f7, 1f6ff], [1f774, 1f77f],
102    [1f7d5, 1f7ff], [1f80c, 1f80f], [1f848, 1f84f], [1f85a, 1f85f],
103    [1f888, 1f88f], [1f8ae, 1f90f], [1f91f, 1f91f], [1f928, 1f92f],
104    [1f931, 1f932], [1f93f, 1f93f], [1f94c, 1f94f], [1f95f, 1f97f],
105    [1f992, 1f9bf], [1f9c1, 1fffd], [20000, 2fffd], [30000, 3fffd],
106    [40000, 4fffd], [50000, 5fffd], [60000, 6fffd], [70000, 7fffd],
107    [80000, 8fffd], [90000, 9fffd], [a0000, afffd], [b0000, bfffd],
108    [c0000, cfffd], [d0000, dfffd], [e1000, efffd], [f0000, ffffd],
109    [100000, 10fffd]**/
110    const UnicodeSet l_Set
111        {{{Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 13},
112          {Mixed, 3}, {Empty, 3}, {Mixed, 2}, {Full, 2}, {Mixed, 1},
113          {Full, 4}, {Mixed, 1}, {Full, 7}, {Mixed, 1}, {Empty, 27},
114          {Mixed, 21}, {Full, 1}, {Mixed, 11}, {Full, 1}, {Mixed, 2},
115          {Full, 2}, {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 2},
116          {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 4},
117          {Full, 2}, {Mixed, 4}, {Full, 21}, {Mixed, 1}, {Full, 1},
118          {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 19}, {Mixed, 1},
119          {Full, 3}, {Mixed, 4}, {Full, 1}, {Mixed, 4}, {Full, 3},
120          {Mixed, 2}, {Full, 3}, {Mixed, 2}, {Full, 3}, {Mixed, 1},
121          {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 1},
122          {Mixed, 1}, {Full, 2}, {Mixed, 6}, {Full, 1}, {Mixed, 1},
123          {Full, 1}, {Mixed, 1}, {Full, 4}, {Mixed, 2}, {Full, 6},
124          {Empty, 1}, {Mixed, 1}, {Full, 13}, {Mixed, 4}, {Empty, 2},
125          {Mixed, 2}, {Empty, 2}, {Mixed, 4}, {Full, 1}, {Mixed, 1},
126          {Empty, 12}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 2},
127          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
128          {Full, 2}, {Mixed, 1}, {Empty, 13}, {Mixed, 1}, {Empty, 10},
129          {Full, 8}, {Empty, 19}, {Mixed, 5}, {Full, 7}, {Mixed, 1},
130          {Full, 3}, {Mixed, 1}, {Full, 3}, {Empty, 3}, {Mixed, 1},
131          {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 6},
132          {Mixed, 4}, {Full, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
133          {Full, 6}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2},
134          {Full, 1}, {Mixed, 2}, {Full, 4}, {Mixed, 1}, {Full, 2},
135          {Mixed, 2}, {Full, 206}, {Empty, 2}, {Full, 692}, {Mixed, 1},
136          {Empty, 1}, {Mixed, 1}, {Full, 9}, {Mixed, 1}, {Full, 2},
137          {Mixed, 2}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
138          {Full, 2}, {Mixed, 1}, {Full, 3}, {Mixed, 2}, {Full, 1},
139          {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 2},
140          {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1},
141          {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Full, 7}, {Mixed, 1},
142          {Full, 632}, {Mixed, 1}, {Empty, 23}, {Mixed, 1}, {Empty, 1},
143          {Mixed, 2}, {Empty, 4}, {Mixed, 4}, {Full, 3}, {Mixed, 1},
144          {Full, 8}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 2},
145          {Full, 1}, {Mixed, 1}, {Full, 7}, {Mixed, 1}, {Full, 3},
146          {Mixed, 1}, {Full, 36}, {Empty, 64}, {Mixed, 6}, {Full, 2},
147          {Mixed, 2}, {Full, 1}, {Mixed, 4}, {Full, 2}, {Mixed, 1},
148          {Full, 4}, {Mixed, 6}, {Full, 5}, {Mixed, 2}, {Full, 2},
149          {Mixed, 2}, {Full, 6}, {Mixed, 2}, {Full, 2}, {Mixed, 3},
150          {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 39},
151          {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 625}, {Mixed, 1},
152          {Full, 1}, {Mixed, 1}, {Full, 34}, {Mixed, 1}, {Full, 615},
153          {Mixed, 2}, {Full, 165}, {Mixed, 3}, {Full, 2}, {Empty, 2},
154          {Mixed, 1}, {Full, 5}, {Empty, 2}, {Mixed, 1}, {Full, 27},
155          {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
156          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
157          {Full, 16}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
158          {Full, 42}, {Mixed, 2}, {Full, 62}, {Empty, 65}, {Mixed, 1},
159          {Empty, 2}, {Mixed, 5}, {Full, 2}, {Mixed, 1}, {Full, 12},
160          {Empty, 30}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
161          {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
162          {Empty, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 3}, {Full, 1},
163          {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 48}, {Mixed, 1},
164          {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047},
165          {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047}, {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}, {Empty, 128},
169          {Full, 1919}, {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047},
170          {Mixed, 1}},
171         {0x07fffffe, 0x07fffffe, 0x04200400, 0xff7fffff, 0xff7fffff,
172          0xf9ffffff, 0x00030003, 0x0000401f, 0xbfcf0000, 0xffffff4f,
173          0xffbfffff, 0xfffffc07, 0x00001bff, 0xfffffff8, 0xebffffff,
174          0xff01de01, 0xfffffff3, 0xfffffffd, 0xefffffff, 0xffffdfe1,
175          0xf7f3fff3, 0xfffffff9, 0xefffffff, 0xfffdc679, 0xffdcffff,
176          0xfffffff9, 0xefffffff, 0xffffde41, 0xfffdfff3, 0xfffffffd,
177          0x6fffffff, 0xffbfdfe1, 0xfffffff3, 0xfffffffb, 0xffffdffe,
178          0xf807ffff, 0xfffffffe, 0x3fffffff, 0xff9fc23e, 0x80fffff3,
179          0xfffffffd, 0xefffffff, 0xffffcfff, 0xfffffff3, 0xfffffffd,
180          0xffffdfe1, 0xfffffff3, 0xffa3fbff, 0x780dffff, 0xffff807f,
181          0xe40dffff, 0xffffc0ff, 0xfcffffff, 0xc15fffff, 0x8001ffff,
182          0x01001f20, 0xe0000000, 0xffffffbf, 0x99021fff, 0x3cffffff,
183          0xffe1fffe, 0xdfffdf9b, 0x1fffffff, 0xfc00ffff, 0xfffffffe,
184          0xe7fffffe, 0xffe3ffff, 0xffe3ffff, 0xfff3ffff, 0xfff3ffff,
185          0xc04fffff, 0xd7f001bf, 0xfc00ffff, 0xffff8000, 0xffffff9f,
186          0xfffffdff, 0xf1fbfe78, 0xffffffce, 0x3fffffff, 0xf67fffff,
187          0x80bfffff, 0x6007e01a, 0x8000ffff, 0xfffffff0, 0xe82fffff,
188          0xfffffffb, 0xfff007ff, 0xfffffffc, 0xffffc4c3, 0xfffc5cbf,
189          0xff300fff, 0x0008ffff, 0xfcefde02, 0x07c00000, 0x5fffffff,
190          0x1fff1ffc, 0x9fff1fff, 0x00004000, 0x800e0000, 0xffff8000,
191          0xfffe0000, 0x3e2ffc84, 0xf3ffbd50, 0x0000c3e0, 0x0000f1ff,
192          0xffc00000, 0x07ffffff, 0x00200000, 0x80000000, 0xffffff80,
193          0xfffff800, 0xf0000000, 0x000003ff, 0x00001000, 0x00300000,
194          0x00c00000, 0x1c000000, 0xfffc0200, 0xffff0fff, 0x01fc781f,
195          0x7fffffff, 0xffffffe0, 0x04000000, 0xfff00000, 0xffc00000,
196          0xf000ffff, 0x000000e0, 0x1f3ec3fe, 0xe1ffffff, 0xfffffffe,
197          0xf7ffffff, 0xfffffff0, 0x9fffffff, 0x0000ffff, 0x8fffffff,
198          0x0001ffff, 0xffff0fff, 0xf87fffff, 0x3fffffff, 0x7fffffff,
199          0x0000ffff, 0xffffff80, 0xffff1fff, 0x00007fff, 0x3fffffff,
200          0xfffcffff, 0xfffffffc, 0xfffffeff, 0xfffff7bb, 0xfcfff09f,
201          0xff0fffff, 0xffffffcf, 0xfffc0000, 0xffffc03f, 0xfffc007f,
202          0xfffffff8, 0xec37ffff, 0xffffffdf, 0xff9981ff, 0xffffeff7,
203          0xefffffff, 0x3e62ffff, 0xfffffffd, 0xffbfcfff, 0xffffdedf,
204          0x1fffffff, 0xfc000000, 0x00080000, 0x0000f080, 0x00000001,
205          0x07fffffe, 0x07fffffe, 0xffffffc0, 0x00008080, 0xfffffffd,
206          0xf000e000, 0xfffffffe, 0xdfffffff, 0xf0000000, 0xf83fffff,
207          0xfffffffd, 0x00ffffff, 0x0003ff80, 0x7fffffc0, 0xfffffffc,
208          0xf987ffff, 0xfffffff8, 0xffe0107f, 0xfff7ffff, 0xfffffffc,
209          0x803fffff, 0xffffe3ff, 0xbf2c7fff, 0x7fffffff, 0xfffff807,
210          0xfffffffc, 0xefffffff, 0xfffffffe, 0xffe0e03f, 0x00ffffff,
211          0xffffffa3, 0x7a07ffff, 0xfffffff2, 0x4fc3ffff, 0xcffffffe,
212          0x5807ffff, 0xfffffffe, 0xffffe000, 0xff40d7ff, 0x1fffffff,
213          0xfffff043, 0xc080ffff, 0x0003ffff, 0xff920300, 0xffe0ffff,
214          0xff80ffff, 0xfff87fff, 0x9fffffff, 0xfffffff0, 0x0007fc7f,
215          0xfffff018, 0xffffc3ff, 0xffffffc0, 0xff800000, 0xf7ffffff,
216          0xffdfffff, 0xffff7fff, 0xfffffdff, 0x00003ff7, 0x07800000,
217          0xffdfe000, 0x07ffffef, 0xffff0001, 0x06000080, 0xfffff824,
218          0x0000f000, 0xfff00000, 0x00018000, 0x00010001, 0xffc00000,
219          0xffffe000, 0xfffff3ff, 0xfff80000, 0xff80e000, 0xfff00000,
220          0xffe00000, 0x0000f000, 0xfc00ff00, 0x0000ff00, 0xffffc000,
221          0x8000ffff, 0x8006ff00, 0x8000f000, 0xfffc0000, 0xfffffffe,
222          0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff,
223          0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff,
224          0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff,
225          0x3fffffff}};
226    /** Code Point Ranges for R
227    [0590, 0590], [05be, 05be], [05c0, 05c0], [05c3, 05c3], [05c6, 05c6],
228    [05c8, 05ff], [07c0, 07ea], [07f4, 07f5], [07fa, 0815], [081a, 081a],
229    [0824, 0824], [0828, 0828], [082e, 0858], [085c, 089f], [200f, 200f],
230    [fb1d, fb1d], [fb1f, fb28], [fb2a, fb4f], [10800, 1091e],
231    [10920, 10a00], [10a04, 10a04], [10a07, 10a0b], [10a10, 10a37],
232    [10a3b, 10a3e], [10a40, 10ae4], [10ae7, 10b38], [10b40, 10e5f],
233    [10e7f, 10fff], [1e800, 1e8cf], [1e8d7, 1e943], [1e94b, 1edff],
234    [1ef00, 1efff]**/
235    const UnicodeSet r_Set
236        {{{Empty, 44}, {Mixed, 3}, {Full, 1}, {Empty, 14}, {Full, 1},
237          {Mixed, 4}, {Full, 2}, {Empty, 187}, {Mixed, 1}, {Empty, 1751},
238          {Mixed, 3}, {Empty, 101}, {Full, 8}, {Mixed, 1}, {Full, 7},
239          {Mixed, 2}, {Full, 5}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
240          {Full, 25}, {Mixed, 1}, {Full, 12}, {Empty, 1728}, {Full, 6},
241          {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 37}, {Empty, 8},
242          {Full, 8}, {Empty, 30848}},
243         {0x00010000, 0x40000000, 0xffffff49, 0xfc3007ff, 0x043fffff,
244          0xffffc110, 0xf1ffffff, 0x00008000, 0xa0000000, 0xfffffdff,
245          0x0000ffff, 0x7fffffff, 0xffff0f91, 0x78ffffff, 0xffffff9f,
246          0x01ffffff, 0x80000000, 0xff80ffff, 0xfffff80f}};
247    /** Code Point Ranges for EN
248    [0030, 0039], [00b2, 00b3], [00b9, 00b9], [06f0, 06f9], [2070, 2070],
249    [2074, 2079], [2080, 2089], [2488, 249b], [ff10, ff19], [102e1, 102fb],
250    [1d7ce, 1d7ff], [1f100, 1f10a]**/
251    const UnicodeSet en_Set
252        {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 49},
253          {Mixed, 1}, {Empty, 203}, {Mixed, 2}, {Empty, 31}, {Mixed, 1},
254          {Empty, 1747}, {Mixed, 1}, {Empty, 30}, {Mixed, 1}, {Empty, 1702},
255          {Mixed, 1}, {Full, 1}, {Empty, 200}, {Mixed, 1}, {Empty, 30839}},
256         {0x03ff0000, 0x020c0000, 0x03ff0000, 0x03f10000, 0x000003ff,
257          0x0fffff00, 0x03ff0000, 0x0ffffffe, 0xffffc000, 0x000007ff}};
258    /** Code Point Ranges for ES
259    [002b, 002b], [002d, 002d], [207a, 207b], [208a, 208b], [2212, 2212],
260    [fb29, fb29], [fe62, fe63], [ff0b, ff0b], [ff0d, ff0d]**/
261    const UnicodeSet es_Set
262        {{{Empty, 1}, {Mixed, 1}, {Empty, 257}, {Mixed, 2}, {Empty, 11},
263          {Mixed, 1}, {Empty, 1736}, {Mixed, 1}, {Empty, 25}, {Mixed, 1},
264          {Empty, 4}, {Mixed, 1}, {Empty, 32775}},
265         {0x00002800, 0x0c000000, 0x00000c00, 0x00040000, 0x00000200,
266          0x0000000c, 0x00002800}};
267    /** Code Point Ranges for ET
268    [0023, 0025], [00a2, 00a5], [00b0, 00b1], [058f, 058f], [0609, 060a],
269    [066a, 066a], [09f2, 09f3], [09fb, 09fb], [0af1, 0af1], [0bf9, 0bf9],
270    [0e3f, 0e3f], [17db, 17db], [2030, 2034], [20a0, 20cf], [212e, 212e],
271    [2213, 2213], [a838, a839], [fe5f, fe5f], [fe69, fe6a], [ff03, ff05],
272    [ffe0, ffe1], [ffe5, ffe6]**/
273    const UnicodeSet et_Set
274        {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 38},
275          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
276          {Empty, 27}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 7},
277          {Mixed, 1}, {Empty, 17}, {Mixed, 1}, {Empty, 76}, {Mixed, 1},
278          {Empty, 66}, {Mixed, 1}, {Empty, 3}, {Full, 1}, {Mixed, 1},
279          {Empty, 2}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 1072},
280          {Mixed, 1}, {Empty, 688}, {Mixed, 2}, {Empty, 4}, {Mixed, 1},
281          {Empty, 6}, {Mixed, 1}, {Empty, 32768}},
282         {0x00000038, 0x0003003c, 0x00008000, 0x00000600, 0x00000400,
283          0x080c0000, 0x00020000, 0x02000000, 0x80000000, 0x08000000,
284          0x001f0000, 0x0000ffff, 0x00004000, 0x00080000, 0x03000000,
285          0x80000000, 0x00000600, 0x00000038, 0x00000063}};
286    /** Code Point Ranges for AN
287    [0600, 0605], [0660, 0669], [066b, 066c], [06dd, 06dd], [08e2, 08e2],
288    [10e60, 10e7e]**/
289    const UnicodeSet an_Set
290        {{{Empty, 48}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 2},
291          {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 2091}, {Mixed, 1},
292          {Empty, 32652}},
293         {0x0000003f, 0x00001bff, 0x20000000, 0x00000004, 0x7fffffff}};
294    /** Code Point Ranges for CS
295    [002c, 002c], [002e, 002f], [003a, 003a], [00a0, 00a0], [060c, 060c],
296    [202f, 202f], [2044, 2044], [fe50, fe50], [fe52, fe52], [fe55, fe55],
297    [ff0c, ff0c], [ff0e, ff0f], [ff1a, ff1a]**/
298    const UnicodeSet cs_Set
299        {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 42},
300          {Mixed, 1}, {Empty, 208}, {Mixed, 2}, {Empty, 1775}, {Mixed, 1},
301          {Empty, 5}, {Mixed, 1}, {Empty, 32775}},
302         {0x0400d000, 0x00000001, 0x00001000, 0x00008000, 0x00000010,
303          0x00250000, 0x0400d000}};
304    /** Code Point Ranges for B
305    [000a, 000a], [000d, 000d], [001c, 001e], [0085, 0085], [2029, 2029]**/
306    const UnicodeSet b_Set
307        {{{Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 252}, {Mixed, 1},
308          {Empty, 34558}},
309         {0x70002400, 0x00000020, 0x00000200}};
310    /** Code Point Ranges for S
311    [0009, 0009], [000b, 000b], [001f, 001f]**/
312    const UnicodeSet s_Set
313        {{{Mixed, 1}, {Empty, 34815}},
314         {0x80000a00}};
315    /** Code Point Ranges for WS
316    [000c, 000c], [0020, 0020], [1680, 1680], [2000, 200a], [2028, 2028],
317    [205f, 205f], [3000, 3000]**/
318    const UnicodeSet ws_Set
319        {{{Mixed, 2}, {Empty, 178}, {Mixed, 1}, {Empty, 75}, {Mixed, 3},
320          {Empty, 125}, {Mixed, 1}, {Empty, 34431}},
321         {0x00001000, 0x00000001, 0x00000001, 0x000007ff, 0x00000100,
322          0x80000000, 0x00000001}};
323    /** Code Point Ranges for ON
324    [0021, 0022], [0026, 002a], [003b, 0040], [005b, 0060], [007b, 007e],
325    [00a1, 00a1], [00a6, 00a9], [00ab, 00ac], [00ae, 00af], [00b4, 00b4],
326    [00b6, 00b8], [00bb, 00bf], [00d7, 00d7], [00f7, 00f7], [02b9, 02ba],
327    [02c2, 02cf], [02d2, 02df], [02e5, 02ed], [02ef, 02ff], [0374, 0375],
328    [037e, 037e], [0384, 0385], [0387, 0387], [03f6, 03f6], [058a, 058a],
329    [058d, 058e], [0606, 0607], [060e, 060f], [06de, 06de], [06e9, 06e9],
330    [07f6, 07f9], [0bf3, 0bf8], [0bfa, 0bfa], [0c78, 0c7e], [0f3a, 0f3d],
331    [1390, 1399], [1400, 1400], [169b, 169c], [17f0, 17f9], [1800, 180a],
332    [1940, 1940], [1944, 1945], [19de, 19ff], [1fbd, 1fbd], [1fbf, 1fc1],
333    [1fcd, 1fcf], [1fdd, 1fdf], [1fed, 1fef], [1ffd, 1ffe], [2010, 2027],
334    [2035, 2043], [2045, 205e], [207c, 207e], [208c, 208e], [2100, 2101],
335    [2103, 2106], [2108, 2109], [2114, 2114], [2116, 2118], [211e, 2123],
336    [2125, 2125], [2127, 2127], [2129, 2129], [213a, 213b], [2140, 2144],
337    [214a, 214d], [2150, 215f], [2189, 218b], [2190, 2211], [2214, 2335],
338    [237b, 2394], [2396, 23fe], [2400, 2426], [2440, 244a], [2460, 2487],
339    [24ea, 26ab], [26ad, 27ff], [2900, 2b73], [2b76, 2b95], [2b98, 2bb9],
340    [2bbd, 2bc8], [2bca, 2bd1], [2bec, 2bef], [2ce5, 2cea], [2cf9, 2cff],
341    [2e00, 2e44], [2e80, 2e99], [2e9b, 2ef3], [2f00, 2fd5], [2ff0, 2ffb],
342    [3001, 3004], [3008, 3020], [3030, 3030], [3036, 3037], [303d, 303f],
343    [309b, 309c], [30a0, 30a0], [30fb, 30fb], [31c0, 31e3], [321d, 321e],
344    [3250, 325f], [327c, 327e], [32b1, 32bf], [32cc, 32cf], [3377, 337a],
345    [33de, 33df], [33ff, 33ff], [4dc0, 4dff], [a490, a4c6], [a60d, a60f],
346    [a673, a673], [a67e, a67f], [a700, a721], [a788, a788], [a828, a82b],
347    [a874, a877], [fd3e, fd3f], [fdfd, fdfd], [fe10, fe19], [fe30, fe4f],
348    [fe51, fe51], [fe54, fe54], [fe56, fe5e], [fe60, fe61], [fe64, fe66],
349    [fe68, fe68], [fe6b, fe6b], [ff01, ff02], [ff06, ff0a], [ff1b, ff20],
350    [ff3b, ff40], [ff5b, ff65], [ffe2, ffe4], [ffe8, ffee], [fff9, fffd],
351    [10101, 10101], [10140, 1018c], [10190, 1019b], [101a0, 101a0],
352    [1091f, 1091f], [10b39, 10b3f], [11052, 11065], [11660, 1166c],
353    [1d200, 1d241], [1d245, 1d245], [1d300, 1d356], [1d6db, 1d6db],
354    [1d715, 1d715], [1d74f, 1d74f], [1d789, 1d789], [1d7c3, 1d7c3],
355    [1eef0, 1eef1], [1f000, 1f02b], [1f030, 1f093], [1f0a0, 1f0ae],
356    [1f0b1, 1f0bf], [1f0c1, 1f0cf], [1f0d1, 1f0f5], [1f10b, 1f10c],
357    [1f16a, 1f16b], [1f300, 1f6d2], [1f6e0, 1f6ec], [1f6f0, 1f6f6],
358    [1f700, 1f773], [1f780, 1f7d4], [1f800, 1f80b], [1f810, 1f847],
359    [1f850, 1f859], [1f860, 1f887], [1f890, 1f8ad], [1f910, 1f91e],
360    [1f920, 1f927], [1f930, 1f930], [1f933, 1f93e], [1f940, 1f94b],
361    [1f950, 1f95e], [1f980, 1f991], [1f9c0, 1f9c0]**/
362    const UnicodeSet on_Set
363        {{{Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 13},
364          {Mixed, 3}, {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
365          {Empty, 12}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 5},
366          {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 31}, {Mixed, 1},
367          {Empty, 3}, {Mixed, 1}, {Empty, 21}, {Mixed, 1}, {Empty, 34},
368          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 19}, {Mixed, 1},
369          {Empty, 10}, {Mixed, 2}, {Empty, 9}, {Mixed, 1}, {Empty, 3},
370          {Mixed, 1}, {Full, 1}, {Empty, 45}, {Mixed, 8}, {Empty, 3},
371          {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Full, 3}, {Mixed, 1},
372          {Full, 8}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 2},
373          {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
374          {Empty, 2}, {Mixed, 1}, {Full, 13}, {Mixed, 1}, {Full, 10},
375          {Empty, 8}, {Full, 19}, {Mixed, 5}, {Empty, 7}, {Mixed, 1},
376          {Empty, 8}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
377          {Full, 2}, {Mixed, 1}, {Full, 6}, {Mixed, 4}, {Empty, 2},
378          {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 6}, {Full, 1},
379          {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
380          {Empty, 4}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 206},
381          {Full, 2}, {Empty, 692}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
382          {Empty, 9}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 4},
383          {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 4},
384          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 677}, {Mixed, 1},
385          {Empty, 5}, {Mixed, 5}, {Empty, 4}, {Mixed, 4}, {Empty, 3},
386          {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 1}, {Full, 2},
387          {Mixed, 2}, {Empty, 58}, {Mixed, 1}, {Empty, 16}, {Mixed, 1},
388          {Empty, 40}, {Mixed, 2}, {Empty, 47}, {Mixed, 1}, {Empty, 1500},
389          {Full, 2}, {Mixed, 1}, {Empty, 5}, {Full, 2}, {Mixed, 1},
390          {Empty, 27}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
391          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
392          {Empty, 184}, {Mixed, 1}, {Empty, 8}, {Full, 1}, {Mixed, 1},
393          {Full, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 1}, {Empty, 12},
394          {Full, 30}, {Mixed, 2}, {Full, 3}, {Mixed, 1}, {Full, 2},
395          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
396          {Full, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Empty, 1},
397          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 30769}},
398         {0xf80007c6, 0xf8000001, 0x78000001, 0xf9d0dbc2, 0x00800000,
399          0x00800000, 0x06000000, 0xfffcfffc, 0xffffbfe0, 0x40300000,
400          0x000000b0, 0x00400000, 0x00006400, 0x0000c0c0, 0x40000000,
401          0x00000200, 0x03c00000, 0x05f80000, 0x7f000000, 0x3c000000,
402          0x03ff0000, 0x00000001, 0x18000000, 0x03ff0000, 0x000007ff,
403          0x00000031, 0xc0000000, 0xa0000000, 0xe000e003, 0x6000e000,
404          0xffff0000, 0xffe000ff, 0x7fffffef, 0x70000000, 0x00007000,
405          0xc1d0037b, 0x0c0002af, 0xffff3c1f, 0xffff0e00, 0xfff3ffff,
406          0x003fffff, 0xf8000000, 0xffdfffff, 0x7fffffff, 0x0000007f,
407          0x000007ff, 0x000000ff, 0xfffffc00, 0xffffefff, 0xffcfffff,
408          0xff3fffff, 0xe3ffffff, 0x0003fdff, 0x0000f000, 0xfe0007e0,
409          0x0000001f, 0xfbffffff, 0x000fffff, 0x003fffff, 0x0fff0000,
410          0xffffff1e, 0xe0c10001, 0x18000000, 0x00000001, 0x08000000,
411          0x0000000f, 0x60000000, 0xffff0000, 0x70000000, 0xfffe0000,
412          0x0000f000, 0x07800000, 0xc0000000, 0x80000000, 0xffff0000,
413          0x0000007f, 0x0000e000, 0xc0080000, 0x00000003, 0x00000100,
414          0x00000f00, 0x00f00000, 0xc0000000, 0x20000000, 0x03ff0000,
415          0xffff0000, 0x7fd2ffff, 0x00000973, 0xf80007c6, 0xf8000001,
416          0xf8000001, 0x0000003f, 0x3e007f1c, 0x00000002, 0x0fff1fff,
417          0x00000001, 0x80000000, 0xfe000000, 0xfffc0000, 0x0000003f,
418          0x00001fff, 0x00000023, 0x007fffff, 0x08000000, 0x00200000,
419          0x00008000, 0x00000200, 0x00000008, 0x00030000, 0xffff0fff,
420          0x000fffff, 0xfffe7fff, 0xfffefffe, 0x003fffff, 0x00001800,
421          0x00000c00, 0x0007ffff, 0x007f1fff, 0x000fffff, 0x001fffff,
422          0xffff0fff, 0x03ff00ff, 0xffff00ff, 0x00003fff, 0x7fff0000,
423          0x7ff900ff, 0x7fff0fff, 0x0003ffff, 0x00000001}};
424    /** Code Point Ranges for BN
425    [0000, 0008], [000e, 001b], [007f, 0084], [0086, 009f], [00ad, 00ad],
426    [180e, 180e], [200b, 200d], [2060, 2065], [206a, 206f], [fdd0, fdef],
427    [feff, feff], [fff0, fff8], [fffe, ffff], [1bca0, 1bca3],
428    [1d173, 1d17a], [1fffe, 1ffff], [2fffe, 2ffff], [3fffe, 3ffff],
429    [4fffe, 4ffff], [5fffe, 5ffff], [6fffe, 6ffff], [7fffe, 7ffff],
430    [8fffe, 8ffff], [9fffe, 9ffff], [afffe, affff], [bfffe, bffff],
431    [cfffe, cffff], [dfffe, e00ff], [e01f0, e0fff], [efffe, effff],
432    [ffffe, fffff], [10fffe, 10ffff]**/
433    const UnicodeSet bn_Set
434        {{{Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 186}, {Mixed, 1},
435          {Empty, 63}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1770},
436          {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
437          {Empty, 1509}, {Mixed, 1}, {Empty, 165}, {Mixed, 1}, {Empty, 371},
438          {Mixed, 1}, {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
439          {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
440          {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
441          {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
442          {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
443          {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1}, {Full, 8},
444          {Empty, 7}, {Mixed, 1}, {Full, 112}, {Empty, 1919}, {Mixed, 1},
445          {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1}},
446         {0x0fffc1ff, 0x80000000, 0xffffffdf, 0x00002000, 0x00004000,
447          0x00003800, 0x0000fc3f, 0xffff0000, 0x0000ffff, 0x80000000,
448          0xc1ff0000, 0x0000000f, 0x07f80000, 0xc0000000, 0xc0000000,
449          0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
450          0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
451          0xc0000000, 0xffff0000, 0xc0000000, 0xc0000000, 0xc0000000}};
452    /** Code Point Ranges for NSM
453    [0300, 036f], [0483, 0489], [0591, 05bd], [05bf, 05bf], [05c1, 05c2],
454    [05c4, 05c5], [05c7, 05c7], [0610, 061a], [064b, 065f], [0670, 0670],
455    [06d6, 06dc], [06df, 06e4], [06e7, 06e8], [06ea, 06ed], [0711, 0711],
456    [0730, 074a], [07a6, 07b0], [07eb, 07f3], [0816, 0819], [081b, 0823],
457    [0825, 0827], [0829, 082d], [0859, 085b], [08d4, 08e1], [08e3, 0902],
458    [093a, 093a], [093c, 093c], [0941, 0948], [094d, 094d], [0951, 0957],
459    [0962, 0963], [0981, 0981], [09bc, 09bc], [09c1, 09c4], [09cd, 09cd],
460    [09e2, 09e3], [0a01, 0a02], [0a3c, 0a3c], [0a41, 0a42], [0a47, 0a48],
461    [0a4b, 0a4d], [0a51, 0a51], [0a70, 0a71], [0a75, 0a75], [0a81, 0a82],
462    [0abc, 0abc], [0ac1, 0ac5], [0ac7, 0ac8], [0acd, 0acd], [0ae2, 0ae3],
463    [0b01, 0b01], [0b3c, 0b3c], [0b3f, 0b3f], [0b41, 0b44], [0b4d, 0b4d],
464    [0b56, 0b56], [0b62, 0b63], [0b82, 0b82], [0bc0, 0bc0], [0bcd, 0bcd],
465    [0c00, 0c00], [0c3e, 0c40], [0c46, 0c48], [0c4a, 0c4d], [0c55, 0c56],
466    [0c62, 0c63], [0c81, 0c81], [0cbc, 0cbc], [0ccc, 0ccd], [0ce2, 0ce3],
467    [0d01, 0d01], [0d41, 0d44], [0d4d, 0d4d], [0d62, 0d63], [0dca, 0dca],
468    [0dd2, 0dd4], [0dd6, 0dd6], [0e31, 0e31], [0e34, 0e3a], [0e47, 0e4e],
469    [0eb1, 0eb1], [0eb4, 0eb9], [0ebb, 0ebc], [0ec8, 0ecd], [0f18, 0f19],
470    [0f35, 0f35], [0f37, 0f37], [0f39, 0f39], [0f71, 0f7e], [0f80, 0f84],
471    [0f86, 0f87], [0f8d, 0f97], [0f99, 0fbc], [0fc6, 0fc6], [102d, 1030],
472    [1032, 1037], [1039, 103a], [103d, 103e], [1058, 1059], [105e, 1060],
473    [1071, 1074], [1082, 1082], [1085, 1086], [108d, 108d], [109d, 109d],
474    [135d, 135f], [1712, 1714], [1732, 1734], [1752, 1753], [1772, 1773],
475    [17b4, 17b5], [17b7, 17bd], [17c6, 17c6], [17c9, 17d3], [17dd, 17dd],
476    [180b, 180d], [1885, 1886], [18a9, 18a9], [1920, 1922], [1927, 1928],
477    [1932, 1932], [1939, 193b], [1a17, 1a18], [1a1b, 1a1b], [1a56, 1a56],
478    [1a58, 1a5e], [1a60, 1a60], [1a62, 1a62], [1a65, 1a6c], [1a73, 1a7c],
479    [1a7f, 1a7f], [1ab0, 1abe], [1b00, 1b03], [1b34, 1b34], [1b36, 1b3a],
480    [1b3c, 1b3c], [1b42, 1b42], [1b6b, 1b73], [1b80, 1b81], [1ba2, 1ba5],
481    [1ba8, 1ba9], [1bab, 1bad], [1be6, 1be6], [1be8, 1be9], [1bed, 1bed],
482    [1bef, 1bf1], [1c2c, 1c33], [1c36, 1c37], [1cd0, 1cd2], [1cd4, 1ce0],
483    [1ce2, 1ce8], [1ced, 1ced], [1cf4, 1cf4], [1cf8, 1cf9], [1dc0, 1df5],
484    [1dfb, 1dff], [20d0, 20f0], [2cef, 2cf1], [2d7f, 2d7f], [2de0, 2dff],
485    [302a, 302d], [3099, 309a], [a66f, a672], [a674, a67d], [a69e, a69f],
486    [a6f0, a6f1], [a802, a802], [a806, a806], [a80b, a80b], [a825, a826],
487    [a8c4, a8c5], [a8e0, a8f1], [a926, a92d], [a947, a951], [a980, a982],
488    [a9b3, a9b3], [a9b6, a9b9], [a9bc, a9bc], [a9e5, a9e5], [aa29, aa2e],
489    [aa31, aa32], [aa35, aa36], [aa43, aa43], [aa4c, aa4c], [aa7c, aa7c],
490    [aab0, aab0], [aab2, aab4], [aab7, aab8], [aabe, aabf], [aac1, aac1],
491    [aaec, aaed], [aaf6, aaf6], [abe5, abe5], [abe8, abe8], [abed, abed],
492    [fb1e, fb1e], [fe00, fe0f], [fe20, fe2f], [101fd, 101fd],
493    [102e0, 102e0], [10376, 1037a], [10a01, 10a03], [10a05, 10a06],
494    [10a0c, 10a0f], [10a38, 10a3a], [10a3f, 10a3f], [10ae5, 10ae6],
495    [11001, 11001], [11038, 11046], [1107f, 11081], [110b3, 110b6],
496    [110b9, 110ba], [11100, 11102], [11127, 1112b], [1112d, 11134],
497    [11173, 11173], [11180, 11181], [111b6, 111be], [111ca, 111cc],
498    [1122f, 11231], [11234, 11234], [11236, 11237], [1123e, 1123e],
499    [112df, 112df], [112e3, 112ea], [11300, 11301], [1133c, 1133c],
500    [11340, 11340], [11366, 1136c], [11370, 11374], [11438, 1143f],
501    [11442, 11444], [11446, 11446], [114b3, 114b8], [114ba, 114ba],
502    [114bf, 114c0], [114c2, 114c3], [115b2, 115b5], [115bc, 115bd],
503    [115bf, 115c0], [115dc, 115dd], [11633, 1163a], [1163d, 1163d],
504    [1163f, 11640], [116ab, 116ab], [116ad, 116ad], [116b0, 116b5],
505    [116b7, 116b7], [1171d, 1171f], [11722, 11725], [11727, 1172b],
506    [11c30, 11c36], [11c38, 11c3d], [11c92, 11ca7], [11caa, 11cb0],
507    [11cb2, 11cb3], [11cb5, 11cb6], [16af0, 16af4], [16b30, 16b36],
508    [16f8f, 16f92], [1bc9d, 1bc9e], [1d167, 1d169], [1d17b, 1d182],
509    [1d185, 1d18b], [1d1aa, 1d1ad], [1d242, 1d244], [1da00, 1da36],
510    [1da3b, 1da6c], [1da75, 1da75], [1da84, 1da84], [1da9b, 1da9f],
511    [1daa1, 1daaf], [1e000, 1e006], [1e008, 1e018], [1e01b, 1e021],
512    [1e023, 1e024], [1e026, 1e02a], [1e8d0, 1e8d6], [1e944, 1e94a],
513    [e0100, e01ef]**/
514    const UnicodeSet nsm_Set
515        {{{Empty, 24}, {Full, 3}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
516          {Empty, 7}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
517          {Mixed, 2}, {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 1},
518          {Empty, 1}, {Mixed, 4}, {Empty, 3}, {Mixed, 23}, {Empty, 1},
519          {Mixed, 1}, {Empty, 1}, {Mixed, 9}, {Empty, 1}, {Mixed, 2},
520          {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 2},
521          {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 4},
522          {Empty, 2}, {Mixed, 4}, {Empty, 21}, {Mixed, 1}, {Empty, 29},
523          {Mixed, 4}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
524          {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 6},
525          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
526          {Empty, 2}, {Mixed, 6}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
527          {Mixed, 1}, {Empty, 4}, {Mixed, 2}, {Empty, 6}, {Full, 1},
528          {Mixed, 1}, {Empty, 22}, {Mixed, 2}, {Empty, 95}, {Mixed, 1},
529          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Full, 1}, {Empty, 17},
530          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 942}, {Mixed, 2},
531          {Empty, 2}, {Mixed, 1}, {Empty, 8}, {Mixed, 2}, {Empty, 4},
532          {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
533          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
534          {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 632}, {Mixed, 1},
535          {Empty, 23}, {Mixed, 2}, {Empty, 29}, {Mixed, 1}, {Empty, 7},
536          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 52}, {Mixed, 2},
537          {Empty, 5}, {Mixed, 1}, {Empty, 40}, {Mixed, 6}, {Empty, 2},
538          {Mixed, 2}, {Empty, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 1},
539          {Empty, 4}, {Mixed, 6}, {Empty, 5}, {Mixed, 2}, {Empty, 2},
540          {Mixed, 2}, {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
541          {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 39},
542          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 625}, {Mixed, 1},
543          {Empty, 1}, {Mixed, 1}, {Empty, 34}, {Mixed, 1}, {Empty, 615},
544          {Mixed, 1}, {Empty, 166}, {Mixed, 3}, {Empty, 4}, {Mixed, 1},
545          {Empty, 61}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
546          {Empty, 42}, {Mixed, 2}, {Empty, 68}, {Mixed, 1}, {Empty, 3},
547          {Mixed, 1}, {Empty, 24765}, {Full, 7}, {Mixed, 1}, {Empty, 6128}},
548         {0x0000ffff, 0x000003f8, 0xfffe0000, 0xbfffffff, 0x000000b6,
549          0x07ff0000, 0xfffff800, 0x00010000, 0x9fc00000, 0x00003d9f,
550          0x00020000, 0xffff0000, 0x000007ff, 0x0001ffc0, 0x000ff800,
551          0xfbc00000, 0x00003eef, 0x0e000000, 0xfff00000, 0xfffffffb,
552          0x00000007, 0x14000000, 0x00fe21fe, 0x0000000c, 0x00000002,
553          0x10000000, 0x0000201e, 0x0000000c, 0x00000006, 0x10000000,
554          0x00023986, 0x00230000, 0x00000006, 0x10000000, 0x000021be,
555          0x0000000c, 0x00000002, 0x90000000, 0x0040201e, 0x0000000c,
556          0x00000004, 0x00002001, 0x00000001, 0xc0000000, 0x00603dc1,
557          0x0000000c, 0x00000002, 0x10000000, 0x00003000, 0x0000000c,
558          0x00000002, 0x0000201e, 0x0000000c, 0x005c0400, 0x07f20000,
559          0x00007f80, 0x1bf20000, 0x00003f00, 0x03000000, 0x02a00000,
560          0x7ffe0000, 0xfeffe0df, 0x1fffffff, 0x00000040, 0x66fde000,
561          0xc3000000, 0x001e0001, 0x20002064, 0xe0000000, 0x001c0000,
562          0x001c0000, 0x000c0000, 0x000c0000, 0x3fb00000, 0x200ffe40,
563          0x00003800, 0x00000060, 0x00000200, 0x0e040187, 0x09800000,
564          0x7f400000, 0x9ff81fe5, 0x7fff0000, 0x0000000f, 0x17d00000,
565          0x00000004, 0x000ff800, 0x00000003, 0x00003b3c, 0x0003a340,
566          0x00cff000, 0xfff70000, 0x031021fd, 0xf83fffff, 0xffff0000,
567          0x0001ffff, 0x00038000, 0x80000000, 0x00003c00, 0x06000000,
568          0x3ff78000, 0xc0000000, 0x00030000, 0x00000844, 0x00000060,
569          0x00000030, 0x0003ffff, 0x00003fc0, 0x0003ff80, 0x00000007,
570          0x13c80000, 0x00000020, 0x00667e00, 0x00001008, 0x10000000,
571          0xc19d0000, 0x00000002, 0x00403000, 0x00002120, 0x40000000,
572          0x0000ffff, 0x0000ffff, 0x20000000, 0x00000001, 0x07c00000,
573          0x0000f06e, 0x87000000, 0x00000060, 0x00000002, 0xff000000,
574          0x0000007f, 0x80000000, 0x00000003, 0x06780000, 0x00000007,
575          0x001fef80, 0x00080000, 0x00000003, 0x7fc00000, 0x00001c00,
576          0x40d38000, 0x80000000, 0x000007f8, 0x00000003, 0x10000000,
577          0x00000001, 0x001f1fc0, 0xff000000, 0x0000005c, 0x85f80000,
578          0x0000000d, 0xb03c0000, 0x30000001, 0xa7f80000, 0x00000001,
579          0x00bf2800, 0xe0000000, 0x00000fbc, 0x3f7f0000, 0xfffc0000,
580          0x006dfcff, 0x001f0000, 0x007f0000, 0x00078000, 0x60000000,
581          0xf8000380, 0x00000fe7, 0x00003c00, 0x0000001c, 0xf87fffff,
582          0x00201fff, 0xf8000010, 0x0000fffe, 0xf9ffff7f, 0x000007db,
583          0x007f0000, 0x000007f0, 0x0000ffff}};
584    /** Code Point Ranges for AL
585    [0608, 0608], [060b, 060b], [060d, 060d], [061b, 064a], [066d, 066f],
586    [0671, 06d5], [06e5, 06e6], [06ee, 06ef], [06fa, 0710], [0712, 072f],
587    [074b, 07a5], [07b1, 07bf], [08a0, 08d3], [fb50, fd3d], [fd40, fdcf],
588    [fdf0, fdfc], [fdfe, fdff], [fe70, fefe], [1ee00, 1eeef],
589    [1eef2, 1eeff]**/
590    const UnicodeSet al_Set
591        {{{Empty, 48}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 2},
592          {Mixed, 5}, {Full, 2}, {Mixed, 1}, {Empty, 7}, {Full, 1},
593          {Mixed, 1}, {Empty, 1939}, {Mixed, 1}, {Full, 14}, {Mixed, 1},
594          {Full, 4}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Full, 3},
595          {Mixed, 1}, {Empty, 1912}, {Full, 7}, {Mixed, 1}, {Empty, 30856}},
596         {0xf8002900, 0x000007ff, 0xfffee000, 0x003fffff, 0xfc00c060,
597          0xfffdffff, 0x0000ffff, 0xfffff800, 0xfffe003f, 0x000fffff,
598          0xffff0000, 0x3fffffff, 0x0000ffff, 0xdfff0000, 0xffff0000,
599          0x7fffffff, 0xfffcffff}};
600    /** Code Point Ranges for LRO
601    [202d, 202d]**/
602    const UnicodeSet lro_Set
603        {{{Empty, 257}, {Mixed, 1}, {Empty, 34558}},
604         {0x00002000}};
605    /** Code Point Ranges for RLO
606    [202e, 202e]**/
607    const UnicodeSet rlo_Set
608        {{{Empty, 257}, {Mixed, 1}, {Empty, 34558}},
609         {0x00004000}};
610    /** Code Point Ranges for LRE
611    [202a, 202a]**/
612    const UnicodeSet lre_Set
613        {{{Empty, 257}, {Mixed, 1}, {Empty, 34558}},
614         {0x00000400}};
615    /** Code Point Ranges for RLE
616    [202b, 202b]**/
617    const UnicodeSet rle_Set
618        {{{Empty, 257}, {Mixed, 1}, {Empty, 34558}},
619         {0x00000800}};
620    /** Code Point Ranges for PDF
621    [202c, 202c]**/
622    const UnicodeSet pdf_Set
623        {{{Empty, 257}, {Mixed, 1}, {Empty, 34558}},
624         {0x00001000}};
625    /** Code Point Ranges for LRI
626    [2066, 2066]**/
627    const UnicodeSet lri_Set
628        {{{Empty, 259}, {Mixed, 1}, {Empty, 34556}},
629         {0x00000040}};
630    /** Code Point Ranges for RLI
631    [2067, 2067]**/
632    const UnicodeSet rli_Set
633        {{{Empty, 259}, {Mixed, 1}, {Empty, 34556}},
634         {0x00000080}};
635    /** Code Point Ranges for FSI
636    [2068, 2068]**/
637    const UnicodeSet fsi_Set
638        {{{Empty, 259}, {Mixed, 1}, {Empty, 34556}},
639         {0x00000100}};
640    /** Code Point Ranges for PDI
641    [2069, 2069]**/
642    const UnicodeSet pdi_Set
643        {{{Empty, 259}, {Mixed, 1}, {Empty, 34556}},
644         {0x00000200}};
645    static EnumeratedPropertyObject property_object
646        {bc,
647         BC_ns::independent_prop_values,
648         BC_ns::enum_names,
649         BC_ns::value_names,
650         BC_ns::aliases_only_map,
651         {&l_Set, &r_Set, &en_Set, &es_Set, &et_Set, &an_Set, &cs_Set, &b_Set,
652        &s_Set, &ws_Set, &on_Set, &bn_Set, &nsm_Set, &al_Set, &lro_Set,
653        &rlo_Set, &lre_Set, &rle_Set, &pdf_Set, &lri_Set, &rli_Set,
654        &fsi_Set, &pdi_Set
655         }};
656    }
657}
658
659#endif
Note: See TracBrowser for help on using the repository browser.