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

Last change on this file since 5686 was 5686, checked in by cameron, 20 months ago

Update to UCD 10.0.0

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