source: icGREP/icgrep-devel/icgrep/UCD/GraphemeBreakProperty.h @ 5671

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

UCD corrections and additional properties

File size: 51.3 KB
Line 
1#ifndef GRAPHEMEBREAKPROPERTY_H
2#define GRAPHEMEBREAKPROPERTY_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 GCB_ns {
18    const unsigned independent_prop_values = 18;
19    /** Code Point Ranges for XX
20    [0020, 007e], [00a0, 00ac], [00ae, 02ff], [0370, 0482], [048a, 0590],
21    [05be, 05be], [05c0, 05c0], [05c3, 05c3], [05c6, 05c6], [05c8, 05ff],
22    [0606, 060f], [061b, 061b], [061d, 064a], [0660, 066f], [0671, 06d5],
23    [06de, 06de], [06e5, 06e6], [06e9, 06e9], [06ee, 070e], [0710, 0710],
24    [0712, 072f], [074b, 07a5], [07b1, 07ea], [07f4, 0815], [081a, 081a],
25    [0824, 0824], [0828, 0828], [082e, 0858], [085c, 08d3], [0904, 0939],
26    [093d, 093d], [0950, 0950], [0958, 0961], [0964, 0980], [0984, 09bb],
27    [09bd, 09bd], [09c5, 09c6], [09c9, 09ca], [09ce, 09d6], [09d8, 09e1],
28    [09e4, 0a00], [0a04, 0a3b], [0a3d, 0a3d], [0a43, 0a46], [0a49, 0a4a],
29    [0a4e, 0a50], [0a52, 0a6f], [0a72, 0a74], [0a76, 0a80], [0a84, 0abb],
30    [0abd, 0abd], [0ac6, 0ac6], [0aca, 0aca], [0ace, 0ae1], [0ae4, 0b00],
31    [0b04, 0b3b], [0b3d, 0b3d], [0b45, 0b46], [0b49, 0b4a], [0b4e, 0b55],
32    [0b58, 0b61], [0b64, 0b81], [0b83, 0bbd], [0bc3, 0bc5], [0bc9, 0bc9],
33    [0bce, 0bd6], [0bd8, 0bff], [0c04, 0c3d], [0c45, 0c45], [0c49, 0c49],
34    [0c4e, 0c54], [0c57, 0c61], [0c64, 0c80], [0c84, 0cbb], [0cbd, 0cbd],
35    [0cc5, 0cc5], [0cc9, 0cc9], [0cce, 0cd4], [0cd7, 0ce1], [0ce4, 0d00],
36    [0d04, 0d3d], [0d45, 0d45], [0d49, 0d49], [0d4f, 0d56], [0d58, 0d61],
37    [0d64, 0d81], [0d84, 0dc9], [0dcb, 0dce], [0dd5, 0dd5], [0dd7, 0dd7],
38    [0de0, 0df1], [0df4, 0e30], [0e32, 0e32], [0e3b, 0e46], [0e4f, 0eb0],
39    [0eb2, 0eb2], [0eba, 0eba], [0ebd, 0ec7], [0ece, 0f17], [0f1a, 0f34],
40    [0f36, 0f36], [0f38, 0f38], [0f3a, 0f3d], [0f40, 0f70], [0f85, 0f85],
41    [0f88, 0f8c], [0f98, 0f98], [0fbd, 0fc5], [0fc7, 102c], [1038, 1038],
42    [103f, 1055], [105a, 105d], [1061, 1070], [1075, 1081], [1083, 1083],
43    [1087, 108c], [108e, 109c], [109e, 10ff], [1200, 135c], [1360, 1711],
44    [1715, 1731], [1735, 1751], [1754, 1771], [1774, 17b3], [17d4, 17dc],
45    [17de, 180a], [180f, 1884], [1887, 18a8], [18aa, 191f], [192c, 192f],
46    [193c, 1a16], [1a1c, 1a54], [1a5f, 1a5f], [1a61, 1a61], [1a63, 1a64],
47    [1a7d, 1a7e], [1a80, 1aaf], [1abf, 1aff], [1b05, 1b33], [1b45, 1b6a],
48    [1b74, 1b7f], [1b83, 1ba0], [1bae, 1be5], [1bf4, 1c23], [1c38, 1ccf],
49    [1cd3, 1cd3], [1ce9, 1cec], [1cee, 1cf1], [1cf5, 1cf7], [1cfa, 1dbf],
50    [1df6, 1dfa], [1e00, 200a], [2010, 2027], [202f, 205f], [2070, 20cf],
51    [20f1, 261c], [261e, 26f8], [26fa, 2709], [270e, 2763], [2765, 2cee],
52    [2cf2, 2d7e], [2d80, 2ddf], [2e00, 3029], [3030, 3098], [309b, a66e],
53    [a673, a673], [a67e, a69d], [a6a0, a6ef], [a6f2, a801], [a803, a805],
54    [a807, a80a], [a80c, a822], [a828, a87f], [a882, a8b3], [a8c6, a8df],
55    [a8f2, a925], [a92e, a946], [a954, a95f], [a97d, a97f], [a984, a9b2],
56    [a9c1, a9e4], [a9e6, aa28], [aa37, aa42], [aa44, aa4b], [aa4e, aa7b],
57    [aa7d, aaaf], [aab1, aab1], [aab5, aab6], [aab9, aabd], [aac0, aac0],
58    [aac2, aaea], [aaf0, aaf4], [aaf7, abe2], [abeb, abeb], [abee, abff],
59    [d7a4, d7af], [d7c7, d7ca], [d7fc, d7ff], [e000, fb1d], [fb1f, fdff],
60    [fe10, fe1f], [fe30, fefe], [ff00, ff9d], [ffa0, ffef], [fffc, 101fc],
61    [101fe, 102df], [102e1, 10375], [1037b, 10a00], [10a04, 10a04],
62    [10a07, 10a0b], [10a10, 10a37], [10a3b, 10a3e], [10a40, 10ae4],
63    [10ae7, 10fff], [11003, 11037], [11047, 1107e], [11083, 110af],
64    [110bb, 110bc], [110be, 110ff], [11103, 11126], [11135, 11172],
65    [11174, 1117f], [11183, 111b2], [111c1, 111c1], [111c4, 111c9],
66    [111cd, 1122b], [11238, 1123d], [1123f, 112de], [112eb, 112ff],
67    [11304, 1133b], [1133d, 1133d], [11345, 11346], [11349, 1134a],
68    [1134e, 11356], [11358, 11361], [11364, 11365], [1136d, 1136f],
69    [11375, 11434], [11447, 114af], [114c4, 115ae], [115b6, 115b7],
70    [115c1, 115db], [115de, 1162f], [11641, 116aa], [116b8, 1171c],
71    [1172c, 11c2e], [11c37, 11c37], [11c40, 11c91], [11ca8, 11ca8],
72    [11cb7, 16aef], [16af5, 16b2f], [16b37, 16f50], [16f7f, 16f8e],
73    [16f93, 1bc9c], [1bc9f, 1bc9f], [1bca4, 1d164], [1d16a, 1d16c],
74    [1d183, 1d184], [1d18c, 1d1a9], [1d1ae, 1d241], [1d245, 1d9ff],
75    [1da37, 1da3a], [1da6d, 1da74], [1da76, 1da83], [1da85, 1da9a],
76    [1daa0, 1daa0], [1dab0, 1dfff], [1e007, 1e007], [1e019, 1e01a],
77    [1e022, 1e022], [1e025, 1e025], [1e02b, 1e8cf], [1e8d7, 1e943],
78    [1e94b, 1f1e5], [1f200, 1f384], [1f386, 1f3c2], [1f3c5, 1f3c9],
79    [1f3cc, 1f3fa], [1f400, 1f441], [1f444, 1f445], [1f451, 1f465],
80    [1f46a, 1f46d], [1f46f, 1f46f], [1f479, 1f47b], [1f47d, 1f480],
81    [1f484, 1f484], [1f488, 1f48a], [1f48c, 1f4a9], [1f4ab, 1f574],
82    [1f576, 1f579], [1f57b, 1f58f], [1f591, 1f594], [1f597, 1f5e7],
83    [1f5e9, 1f644], [1f648, 1f64a], [1f650, 1f6a2], [1f6a4, 1f6b3],
84    [1f6b7, 1f6bf], [1f6c1, 1f917], [1f91f, 1f925], [1f927, 1f92f],
85    [1f931, 1f932], [1f93a, 1f93b], [1f93f, dffff], [e1000, 10ffff]**/
86    const UnicodeSet xx_Set
87        {{{Empty, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
88          {Full, 18}, {Empty, 3}, {Mixed, 1}, {Full, 8}, {Mixed, 1},
89          {Full, 7}, {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Full, 1},
90          {Mixed, 2}, {Full, 2}, {Mixed, 5}, {Full, 2}, {Mixed, 1},
91          {Full, 1}, {Mixed, 4}, {Full, 3}, {Mixed, 1}, {Empty, 1},
92          {Mixed, 23}, {Full, 1}, {Mixed, 13}, {Full, 1}, {Mixed, 2},
93          {Full, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Full, 1},
94          {Mixed, 2}, {Full, 1}, {Mixed, 4}, {Full, 2}, {Mixed, 4},
95          {Full, 3}, {Empty, 8}, {Full, 10}, {Mixed, 1}, {Full, 29},
96          {Mixed, 4}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
97          {Full, 3}, {Mixed, 2}, {Full, 3}, {Mixed, 1}, {Full, 6},
98          {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
99          {Full, 2}, {Mixed, 6}, {Full, 1}, {Mixed, 1}, {Full, 1},
100          {Mixed, 1}, {Full, 4}, {Mixed, 2}, {Full, 6}, {Empty, 1},
101          {Mixed, 1}, {Full, 16}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
102          {Full, 2}, {Mixed, 2}, {Full, 40}, {Mixed, 1}, {Full, 6},
103          {Mixed, 2}, {Full, 2}, {Mixed, 1}, {Full, 43}, {Mixed, 1},
104          {Full, 3}, {Mixed, 1}, {Full, 3}, {Empty, 1}, {Full, 17},
105          {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 942}, {Mixed, 2},
106          {Full, 2}, {Mixed, 1}, {Full, 8}, {Mixed, 2}, {Full, 2},
107          {Mixed, 4}, {Full, 1}, {Mixed, 7}, {Full, 1}, {Mixed, 3},
108          {Full, 1}, {Mixed, 3}, {Full, 7}, {Mixed, 1}, {Empty, 349},
109          {Mixed, 3}, {Empty, 64}, {Full, 216}, {Mixed, 1}, {Full, 23},
110          {Mixed, 2}, {Full, 5}, {Mixed, 1}, {Full, 4}, {Mixed, 1},
111          {Full, 2}, {Mixed, 1}, {Full, 15}, {Mixed, 1}, {Full, 7},
112          {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 52}, {Mixed, 2},
113          {Full, 5}, {Mixed, 1}, {Full, 40}, {Mixed, 6}, {Full, 2},
114          {Mixed, 2}, {Full, 1}, {Mixed, 4}, {Full, 2}, {Mixed, 1},
115          {Full, 4}, {Mixed, 6}, {Full, 5}, {Mixed, 2}, {Full, 2},
116          {Mixed, 2}, {Full, 6}, {Mixed, 2}, {Full, 2}, {Mixed, 2},
117          {Full, 2}, {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 39},
118          {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 625}, {Mixed, 1},
119          {Full, 1}, {Mixed, 1}, {Full, 32}, {Mixed, 3}, {Full, 615},
120          {Mixed, 2}, {Full, 165}, {Mixed, 3}, {Full, 4}, {Mixed, 1},
121          {Full, 61}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
122          {Full, 42}, {Mixed, 2}, {Full, 68}, {Mixed, 1}, {Full, 3},
123          {Mixed, 1}, {Full, 68}, {Mixed, 1}, {Full, 12}, {Mixed, 1},
124          {Full, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 4}, {Full, 5},
125          {Mixed, 2}, {Full, 2}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
126          {Full, 2}, {Mixed, 2}, {Full, 17}, {Mixed, 2}, {Full, 24630},
127          {Empty, 128}, {Full, 6016}},
128         {0x7fffffff, 0xffffdfff, 0xffff0000, 0xfffffc07, 0x0001ffff,
129          0x40000000, 0xffffff49, 0xe800ffc0, 0x000007ff, 0xfffeffff,
130          0x403fffff, 0xffffc260, 0xfffd7fff, 0x0000ffff, 0xfffff800,
131          0xfffe003f, 0xfff007ff, 0x043fffff, 0xffffc110, 0xf1ffffff,
132          0x000fffff, 0xfffffff0, 0x23ffffff, 0xff010000, 0xfffffff3,
133          0xfffffff1, 0x2fffffff, 0xff7fc660, 0xfffffff3, 0xfffffff1,
134          0x2fffffff, 0xfffdc678, 0xffdcffff, 0xfffffff1, 0x2fffffff,
135          0xffffc440, 0xfffffff3, 0xfffffff1, 0x2fffffff, 0xff3fc660,
136          0xfffffff3, 0xfffffffb, 0x3fffffff, 0xff7fc238, 0xfffffff0,
137          0x3fffffff, 0xff9fc220, 0xfffffff3, 0xfffffff1, 0x2fffffff,
138          0xff9fc220, 0xfffffff3, 0xfffffff1, 0x3fffffff, 0xff7f8220,
139          0xfffffff3, 0xfffffff3, 0x00a07bff, 0xfff3ffff, 0xf805ffff,
140          0xffff807f, 0xe405ffff, 0xffffc0ff, 0xfcffffff, 0x3d5fffff,
141          0x0001ffff, 0x01001f20, 0xe0000000, 0xffffffbf, 0x81001fff,
142          0x3c3fffff, 0xffe1fffe, 0xdfffdf8b, 0x1fffffff, 0xffe3ffff,
143          0xffe3ffff, 0xfff3ffff, 0xfff3ffff, 0x000fffff, 0xdff00000,
144          0xffff87ff, 0xffffff9f, 0xfffffdff, 0xf000f000, 0xf07fffff,
145          0x801fffff, 0x6000001a, 0x8000ffff, 0xffffffe0, 0x000fffff,
146          0xffffffe0, 0xfff007ff, 0xfffffff8, 0xffffc001, 0xfff0003f,
147          0xff00000f, 0x0008ffff, 0xfce3de00, 0x07c00000, 0xffff07ff,
148          0xffff80ff, 0xffff0000, 0x0000ffff, 0xfffe0000, 0xdfffffff,
149          0xfdffffff, 0xffffc3ff, 0xffffffef, 0xfffc7fff, 0x7fffffff,
150          0xffff03ff, 0xf9ffffff, 0xc0087fff, 0x3fffffff, 0xfffcffff,
151          0xfffff7bb, 0xffffff07, 0xfffffffc, 0x000fffff, 0xffffffc0,
152          0xfffc0000, 0xffffc03f, 0xfff0007f, 0xe0000000, 0xfffffff0,
153          0x0007ffff, 0xfffffffe, 0xffffffdf, 0xff8001ff, 0xffffcff7,
154          0xefffffff, 0x3e62ffff, 0xfffffffd, 0xff9f07ff, 0xffffc807,
155          0x0000fff0, 0x00000780, 0xf0000000, 0xbfffffff, 0xffff0000,
156          0xffff0000, 0x7fffffff, 0x3fffffff, 0xf000ffff, 0xdfffffff,
157          0xfffffffe, 0xf83fffff, 0xffff0f91, 0x78ffffff, 0xffffff9f,
158          0xfffffff8, 0x00ffffff, 0xffffff80, 0x7fffffff, 0xfffffff8,
159          0xd800ffff, 0xfffffff8, 0xffe0007f, 0xfff7ffff, 0xfffffff8,
160          0x0007ffff, 0xffffe3f2, 0xbf000fff, 0x7fffffff, 0xfffff800,
161          0xfffffff0, 0x2fffffff, 0xff7fc660, 0xffe0e033, 0x001fffff,
162          0xffffff80, 0x0000ffff, 0xfffffff0, 0x00c07fff, 0xcffffffe,
163          0x0000ffff, 0xfffffffe, 0xff0007ff, 0x1fffffff, 0xfffff000,
164          0x00807fff, 0x0003ffff, 0xff800100, 0xffe0ffff, 0xff80ffff,
165          0x0001ffff, 0x80000000, 0xfff87fff, 0x9fffffff, 0xfffffff0,
166          0x00001c1f, 0xfffff018, 0xffffc3ff, 0xffffffe3, 0x07800000,
167          0xffdfe000, 0x07ffffef, 0xffff0001, 0x06000080, 0xfffff824,
168          0xff80ffff, 0xfffff80f, 0x0000003f, 0xffffffdf, 0xfffff3e7,
169          0x07ffffff, 0xfffe0033, 0xee00bc3f, 0xfffff711, 0xfffffbff,
170          0xfbdfffff, 0xff9effff, 0xfffffeff, 0xffff071f, 0xff8ffff7,
171          0xfffffffe, 0x80ffffff, 0x8c06ffbf}};
172    /** Code Point Ranges for PP
173    [0600, 0605], [06dd, 06dd], [070f, 070f], [08e2, 08e2], [0d4e, 0d4e],
174    [110bd, 110bd], [111c2, 111c3]**/
175    const UnicodeSet pp_Set
176        {{{Empty, 48}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 1},
177          {Mixed, 1}, {Empty, 14}, {Mixed, 1}, {Empty, 34}, {Mixed, 1},
178          {Empty, 2074}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 32625}},
179         {0x0000003f, 0x20000000, 0x00008000, 0x00000004, 0x00004000,
180          0x20000000, 0x0000000c}};
181    /** Code Point Ranges for CR
182    [000d, 000d]**/
183    const UnicodeSet cr_Set
184        {{{Mixed, 1}, {Empty, 34815}},
185         {0x00002000}};
186    /** Code Point Ranges for LF
187    [000a, 000a]**/
188    const UnicodeSet lf_Set
189        {{{Mixed, 1}, {Empty, 34815}},
190         {0x00000400}};
191    /** Code Point Ranges for CN
192    [0000, 0009], [000b, 000c], [000e, 001f], [007f, 009f], [00ad, 00ad],
193    [061c, 061c], [180e, 180e], [200b, 200b], [200e, 200f], [2028, 202e],
194    [2060, 206f], [d800, dfff], [feff, feff], [fff0, fffb], [1bca0, 1bca3],
195    [1d173, 1d17a], [e0000, e001f], [e0080, e00ff], [e01f0, e0fff]**/
196    const UnicodeSet cn_Set
197        {{{Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
198          {Empty, 42}, {Mixed, 1}, {Empty, 143}, {Mixed, 1}, {Empty, 63},
199          {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1468}, {Full, 64},
200          {Empty, 247}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 1509},
201          {Mixed, 1}, {Empty, 165}, {Mixed, 1}, {Empty, 24948}, {Full, 1},
202          {Empty, 3}, {Full, 4}, {Empty, 7}, {Mixed, 1}, {Full, 112},
203          {Empty, 6016}},
204         {0xffffdbff, 0x80000000, 0x00002000, 0x10000000, 0x00004000,
205          0x0000c800, 0x00007f00, 0x0000ffff, 0x80000000, 0x0fff0000,
206          0x0000000f, 0x07f80000, 0xffff0000}};
207    /** Code Point Ranges for EX
208    [0300, 036f], [0483, 0489], [0591, 05bd], [05bf, 05bf], [05c1, 05c2],
209    [05c4, 05c5], [05c7, 05c7], [0610, 061a], [064b, 065f], [0670, 0670],
210    [06d6, 06dc], [06df, 06e4], [06e7, 06e8], [06ea, 06ed], [0711, 0711],
211    [0730, 074a], [07a6, 07b0], [07eb, 07f3], [0816, 0819], [081b, 0823],
212    [0825, 0827], [0829, 082d], [0859, 085b], [08d4, 08e1], [08e3, 0902],
213    [093a, 093a], [093c, 093c], [0941, 0948], [094d, 094d], [0951, 0957],
214    [0962, 0963], [0981, 0981], [09bc, 09bc], [09be, 09be], [09c1, 09c4],
215    [09cd, 09cd], [09d7, 09d7], [09e2, 09e3], [0a01, 0a02], [0a3c, 0a3c],
216    [0a41, 0a42], [0a47, 0a48], [0a4b, 0a4d], [0a51, 0a51], [0a70, 0a71],
217    [0a75, 0a75], [0a81, 0a82], [0abc, 0abc], [0ac1, 0ac5], [0ac7, 0ac8],
218    [0acd, 0acd], [0ae2, 0ae3], [0b01, 0b01], [0b3c, 0b3c], [0b3e, 0b3f],
219    [0b41, 0b44], [0b4d, 0b4d], [0b56, 0b57], [0b62, 0b63], [0b82, 0b82],
220    [0bbe, 0bbe], [0bc0, 0bc0], [0bcd, 0bcd], [0bd7, 0bd7], [0c00, 0c00],
221    [0c3e, 0c40], [0c46, 0c48], [0c4a, 0c4d], [0c55, 0c56], [0c62, 0c63],
222    [0c81, 0c81], [0cbc, 0cbc], [0cbf, 0cbf], [0cc2, 0cc2], [0cc6, 0cc6],
223    [0ccc, 0ccd], [0cd5, 0cd6], [0ce2, 0ce3], [0d01, 0d01], [0d3e, 0d3e],
224    [0d41, 0d44], [0d4d, 0d4d], [0d57, 0d57], [0d62, 0d63], [0dca, 0dca],
225    [0dcf, 0dcf], [0dd2, 0dd4], [0dd6, 0dd6], [0ddf, 0ddf], [0e31, 0e31],
226    [0e34, 0e3a], [0e47, 0e4e], [0eb1, 0eb1], [0eb4, 0eb9], [0ebb, 0ebc],
227    [0ec8, 0ecd], [0f18, 0f19], [0f35, 0f35], [0f37, 0f37], [0f39, 0f39],
228    [0f71, 0f7e], [0f80, 0f84], [0f86, 0f87], [0f8d, 0f97], [0f99, 0fbc],
229    [0fc6, 0fc6], [102d, 1030], [1032, 1037], [1039, 103a], [103d, 103e],
230    [1058, 1059], [105e, 1060], [1071, 1074], [1082, 1082], [1085, 1086],
231    [108d, 108d], [109d, 109d], [135d, 135f], [1712, 1714], [1732, 1734],
232    [1752, 1753], [1772, 1773], [17b4, 17b5], [17b7, 17bd], [17c6, 17c6],
233    [17c9, 17d3], [17dd, 17dd], [180b, 180d], [1885, 1886], [18a9, 18a9],
234    [1920, 1922], [1927, 1928], [1932, 1932], [1939, 193b], [1a17, 1a18],
235    [1a1b, 1a1b], [1a56, 1a56], [1a58, 1a5e], [1a60, 1a60], [1a62, 1a62],
236    [1a65, 1a6c], [1a73, 1a7c], [1a7f, 1a7f], [1ab0, 1abe], [1b00, 1b03],
237    [1b34, 1b34], [1b36, 1b3a], [1b3c, 1b3c], [1b42, 1b42], [1b6b, 1b73],
238    [1b80, 1b81], [1ba2, 1ba5], [1ba8, 1ba9], [1bab, 1bad], [1be6, 1be6],
239    [1be8, 1be9], [1bed, 1bed], [1bef, 1bf1], [1c2c, 1c33], [1c36, 1c37],
240    [1cd0, 1cd2], [1cd4, 1ce0], [1ce2, 1ce8], [1ced, 1ced], [1cf4, 1cf4],
241    [1cf8, 1cf9], [1dc0, 1df5], [1dfb, 1dff], [200c, 200c], [20d0, 20f0],
242    [2cef, 2cf1], [2d7f, 2d7f], [2de0, 2dff], [302a, 302f], [3099, 309a],
243    [a66f, a672], [a674, a67d], [a69e, a69f], [a6f0, a6f1], [a802, a802],
244    [a806, a806], [a80b, a80b], [a825, a826], [a8c4, a8c5], [a8e0, a8f1],
245    [a926, a92d], [a947, a951], [a980, a982], [a9b3, a9b3], [a9b6, a9b9],
246    [a9bc, a9bc], [a9e5, a9e5], [aa29, aa2e], [aa31, aa32], [aa35, aa36],
247    [aa43, aa43], [aa4c, aa4c], [aa7c, aa7c], [aab0, aab0], [aab2, aab4],
248    [aab7, aab8], [aabe, aabf], [aac1, aac1], [aaec, aaed], [aaf6, aaf6],
249    [abe5, abe5], [abe8, abe8], [abed, abed], [fb1e, fb1e], [fe00, fe0f],
250    [fe20, fe2f], [ff9e, ff9f], [101fd, 101fd], [102e0, 102e0],
251    [10376, 1037a], [10a01, 10a03], [10a05, 10a06], [10a0c, 10a0f],
252    [10a38, 10a3a], [10a3f, 10a3f], [10ae5, 10ae6], [11001, 11001],
253    [11038, 11046], [1107f, 11081], [110b3, 110b6], [110b9, 110ba],
254    [11100, 11102], [11127, 1112b], [1112d, 11134], [11173, 11173],
255    [11180, 11181], [111b6, 111be], [111ca, 111cc], [1122f, 11231],
256    [11234, 11234], [11236, 11237], [1123e, 1123e], [112df, 112df],
257    [112e3, 112ea], [11300, 11301], [1133c, 1133c], [1133e, 1133e],
258    [11340, 11340], [11357, 11357], [11366, 1136c], [11370, 11374],
259    [11438, 1143f], [11442, 11444], [11446, 11446], [114b0, 114b0],
260    [114b3, 114b8], [114ba, 114ba], [114bd, 114bd], [114bf, 114c0],
261    [114c2, 114c3], [115af, 115af], [115b2, 115b5], [115bc, 115bd],
262    [115bf, 115c0], [115dc, 115dd], [11633, 1163a], [1163d, 1163d],
263    [1163f, 11640], [116ab, 116ab], [116ad, 116ad], [116b0, 116b5],
264    [116b7, 116b7], [1171d, 1171f], [11722, 11725], [11727, 1172b],
265    [11c30, 11c36], [11c38, 11c3d], [11c3f, 11c3f], [11c92, 11ca7],
266    [11caa, 11cb0], [11cb2, 11cb3], [11cb5, 11cb6], [16af0, 16af4],
267    [16b30, 16b36], [16f8f, 16f92], [1bc9d, 1bc9e], [1d165, 1d165],
268    [1d167, 1d169], [1d16e, 1d172], [1d17b, 1d182], [1d185, 1d18b],
269    [1d1aa, 1d1ad], [1d242, 1d244], [1da00, 1da36], [1da3b, 1da6c],
270    [1da75, 1da75], [1da84, 1da84], [1da9b, 1da9f], [1daa1, 1daaf],
271    [1e000, 1e006], [1e008, 1e018], [1e01b, 1e021], [1e023, 1e024],
272    [1e026, 1e02a], [1e8d0, 1e8d6], [1e944, 1e94a], [e0020, e007f],
273    [e0100, e01ef]**/
274    const UnicodeSet ex_Set
275        {{{Empty, 24}, {Full, 3}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
276          {Empty, 7}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
277          {Mixed, 2}, {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 1},
278          {Empty, 1}, {Mixed, 4}, {Empty, 3}, {Mixed, 25}, {Empty, 1},
279          {Mixed, 12}, {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
280          {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
281          {Mixed, 4}, {Empty, 2}, {Mixed, 4}, {Empty, 21}, {Mixed, 1},
282          {Empty, 29}, {Mixed, 4}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
283          {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
284          {Empty, 6}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
285          {Mixed, 1}, {Empty, 2}, {Mixed, 6}, {Empty, 1}, {Mixed, 1},
286          {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 2}, {Empty, 6},
287          {Full, 1}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 5},
288          {Mixed, 2}, {Empty, 95}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
289          {Empty, 3}, {Full, 1}, {Empty, 17}, {Mixed, 1}, {Empty, 2},
290          {Mixed, 1}, {Empty, 942}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
291          {Empty, 8}, {Mixed, 2}, {Empty, 4}, {Mixed, 2}, {Empty, 1},
292          {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
293          {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 7},
294          {Mixed, 1}, {Empty, 632}, {Mixed, 1}, {Empty, 23}, {Mixed, 2},
295          {Empty, 10}, {Mixed, 1}, {Empty, 18}, {Mixed, 1}, {Empty, 7},
296          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 52}, {Mixed, 2},
297          {Empty, 5}, {Mixed, 1}, {Empty, 40}, {Mixed, 6}, {Empty, 2},
298          {Mixed, 2}, {Empty, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 1},
299          {Empty, 4}, {Mixed, 6}, {Empty, 5}, {Mixed, 2}, {Empty, 2},
300          {Mixed, 2}, {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
301          {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 39},
302          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 625}, {Mixed, 1},
303          {Empty, 1}, {Mixed, 1}, {Empty, 34}, {Mixed, 1}, {Empty, 615},
304          {Mixed, 1}, {Empty, 166}, {Mixed, 3}, {Empty, 4}, {Mixed, 1},
305          {Empty, 61}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
306          {Empty, 42}, {Mixed, 2}, {Empty, 68}, {Mixed, 1}, {Empty, 3},
307          {Mixed, 1}, {Empty, 24758}, {Full, 3}, {Empty, 4}, {Full, 7},
308          {Mixed, 1}, {Empty, 6128}},
309         {0x0000ffff, 0x000003f8, 0xfffe0000, 0xbfffffff, 0x000000b6,
310          0x07ff0000, 0xfffff800, 0x00010000, 0x9fc00000, 0x00003d9f,
311          0x00020000, 0xffff0000, 0x000007ff, 0x0001ffc0, 0x000ff800,
312          0xfbc00000, 0x00003eef, 0x0e000000, 0xfff00000, 0xfffffffb,
313          0x00000007, 0x14000000, 0x00fe21fe, 0x0000000c, 0x00000002,
314          0x50000000, 0x0080201e, 0x0000000c, 0x00000006, 0x10000000,
315          0x00023986, 0x00230000, 0x00000006, 0x10000000, 0x000021be,
316          0x0000000c, 0x00000002, 0xd0000000, 0x00c0201e, 0x0000000c,
317          0x00000004, 0x40000000, 0x00802001, 0x00000001, 0xc0000000,
318          0x00603dc1, 0x0000000c, 0x00000002, 0x90000000, 0x00603044,
319          0x0000000c, 0x00000002, 0x40000000, 0x0080201e, 0x0000000c,
320          0x805c8400, 0x07f20000, 0x00007f80, 0x1bf20000, 0x00003f00,
321          0x03000000, 0x02a00000, 0x7ffe0000, 0xfeffe0df, 0x1fffffff,
322          0x00000040, 0x66fde000, 0xc3000000, 0x001e0001, 0x20002064,
323          0xe0000000, 0x001c0000, 0x001c0000, 0x000c0000, 0x000c0000,
324          0x3fb00000, 0x200ffe40, 0x00003800, 0x00000060, 0x00000200,
325          0x0e040187, 0x09800000, 0x7f400000, 0x9ff81fe5, 0x7fff0000,
326          0x0000000f, 0x17d00000, 0x00000004, 0x000ff800, 0x00000003,
327          0x00003b3c, 0x0003a340, 0x00cff000, 0xfff70000, 0x031021fd,
328          0xf83fffff, 0x00001000, 0xffff0000, 0x0001ffff, 0x00038000,
329          0x80000000, 0x0000fc00, 0x06000000, 0x3ff78000, 0xc0000000,
330          0x00030000, 0x00000844, 0x00000060, 0x00000030, 0x0003ffff,
331          0x00003fc0, 0x0003ff80, 0x00000007, 0x13c80000, 0x00000020,
332          0x00667e00, 0x00001008, 0x10000000, 0xc19d0000, 0x00000002,
333          0x00403000, 0x00002120, 0x40000000, 0x0000ffff, 0x0000ffff,
334          0xc0000000, 0x20000000, 0x00000001, 0x07c00000, 0x0000f06e,
335          0x87000000, 0x00000060, 0x00000002, 0xff000000, 0x0000007f,
336          0x80000000, 0x00000003, 0x06780000, 0x00000007, 0x001fef80,
337          0x00080000, 0x00000003, 0x7fc00000, 0x00001c00, 0x40d38000,
338          0x80000000, 0x000007f8, 0x00000003, 0x50000000, 0x00800001,
339          0x001f1fc0, 0xff000000, 0x0000005c, 0xa5f90000, 0x0000000d,
340          0xb03c8000, 0x30000001, 0xa7f80000, 0x00000001, 0x00bf2800,
341          0xe0000000, 0x00000fbc, 0xbf7f0000, 0xfffc0000, 0x006dfcff,
342          0x001f0000, 0x007f0000, 0x00078000, 0x60000000, 0xf807c3a0,
343          0x00000fe7, 0x00003c00, 0x0000001c, 0xf87fffff, 0x00201fff,
344          0xf8000010, 0x0000fffe, 0xf9ffff7f, 0x000007db, 0x007f0000,
345          0x000007f0, 0x0000ffff}};
346    /** Code Point Ranges for RI
347    [1f1e6, 1f1ff]**/
348    const UnicodeSet ri_Set
349        {{{Empty, 3983}, {Mixed, 1}, {Empty, 30832}},
350         {0xffffffc0}};
351    /** Code Point Ranges for SM
352    [0903, 0903], [093b, 093b], [093e, 0940], [0949, 094c], [094e, 094f],
353    [0982, 0983], [09bf, 09c0], [09c7, 09c8], [09cb, 09cc], [0a03, 0a03],
354    [0a3e, 0a40], [0a83, 0a83], [0abe, 0ac0], [0ac9, 0ac9], [0acb, 0acc],
355    [0b02, 0b03], [0b40, 0b40], [0b47, 0b48], [0b4b, 0b4c], [0bbf, 0bbf],
356    [0bc1, 0bc2], [0bc6, 0bc8], [0bca, 0bcc], [0c01, 0c03], [0c41, 0c44],
357    [0c82, 0c83], [0cbe, 0cbe], [0cc0, 0cc1], [0cc3, 0cc4], [0cc7, 0cc8],
358    [0cca, 0ccb], [0d02, 0d03], [0d3f, 0d40], [0d46, 0d48], [0d4a, 0d4c],
359    [0d82, 0d83], [0dd0, 0dd1], [0dd8, 0dde], [0df2, 0df3], [0e33, 0e33],
360    [0eb3, 0eb3], [0f3e, 0f3f], [0f7f, 0f7f], [1031, 1031], [103b, 103c],
361    [1056, 1057], [1084, 1084], [17b6, 17b6], [17be, 17c5], [17c7, 17c8],
362    [1923, 1926], [1929, 192b], [1930, 1931], [1933, 1938], [1a19, 1a1a],
363    [1a55, 1a55], [1a57, 1a57], [1a6d, 1a72], [1b04, 1b04], [1b35, 1b35],
364    [1b3b, 1b3b], [1b3d, 1b41], [1b43, 1b44], [1b82, 1b82], [1ba1, 1ba1],
365    [1ba6, 1ba7], [1baa, 1baa], [1be7, 1be7], [1bea, 1bec], [1bee, 1bee],
366    [1bf2, 1bf3], [1c24, 1c2b], [1c34, 1c35], [1ce1, 1ce1], [1cf2, 1cf3],
367    [a823, a824], [a827, a827], [a880, a881], [a8b4, a8c3], [a952, a953],
368    [a983, a983], [a9b4, a9b5], [a9ba, a9bb], [a9bd, a9c0], [aa2f, aa30],
369    [aa33, aa34], [aa4d, aa4d], [aaeb, aaeb], [aaee, aaef], [aaf5, aaf5],
370    [abe3, abe4], [abe6, abe7], [abe9, abea], [abec, abec], [11000, 11000],
371    [11002, 11002], [11082, 11082], [110b0, 110b2], [110b7, 110b8],
372    [1112c, 1112c], [11182, 11182], [111b3, 111b5], [111bf, 111c0],
373    [1122c, 1122e], [11232, 11233], [11235, 11235], [112e0, 112e2],
374    [11302, 11303], [1133f, 1133f], [11341, 11344], [11347, 11348],
375    [1134b, 1134d], [11362, 11363], [11435, 11437], [11440, 11441],
376    [11445, 11445], [114b1, 114b2], [114b9, 114b9], [114bb, 114bc],
377    [114be, 114be], [114c1, 114c1], [115b0, 115b1], [115b8, 115bb],
378    [115be, 115be], [11630, 11632], [1163b, 1163c], [1163e, 1163e],
379    [116ac, 116ac], [116ae, 116af], [116b6, 116b6], [11720, 11721],
380    [11726, 11726], [11c2f, 11c2f], [11c3e, 11c3e], [11ca9, 11ca9],
381    [11cb1, 11cb1], [11cb4, 11cb4], [16f51, 16f7e], [1d166, 1d166],
382    [1d16d, 1d16d]**/
383    const UnicodeSet sm_Set
384        {{{Empty, 72}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
385          {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1},
386          {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
387          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
388          {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
389          {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
390          {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5},
391          {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 56}, {Mixed, 2},
392          {Empty, 10}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 1},
393          {Mixed, 2}, {Empty, 4}, {Mixed, 3}, {Empty, 1}, {Mixed, 2},
394          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5},
395          {Mixed, 1}, {Empty, 1113}, {Mixed, 1}, {Empty, 2}, {Mixed, 3},
396          {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 2},
397          {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
398          {Empty, 800}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 3},
399          {Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 2}, {Mixed, 1},
400          {Empty, 5}, {Mixed, 5}, {Empty, 5}, {Mixed, 2}, {Empty, 2},
401          {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
402          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 39},
403          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 660}, {Mixed, 2},
404          {Empty, 783}, {Mixed, 1}, {Empty, 31092}},
405         {0x00000008, 0xc8000000, 0x0000de01, 0x0000000c, 0x80000000,
406          0x00001981, 0x00000008, 0xc0000000, 0x00000001, 0x00000008,
407          0xc0000000, 0x00001a01, 0x0000000c, 0x00001981, 0x80000000,
408          0x00001dc6, 0x0000000e, 0x0000001e, 0x0000000c, 0x40000000,
409          0x00000d9b, 0x0000000c, 0x80000000, 0x00001dc1, 0x0000000c,
410          0x7f030000, 0x000c0000, 0x00080000, 0x00080000, 0xc0000000,
411          0x80000000, 0x18020000, 0x00c00000, 0x00000010, 0xc0400000,
412          0x000001bf, 0x01fb0e78, 0x06000000, 0x00a00000, 0x0007e000,
413          0x00000010, 0xe8200000, 0x0000001b, 0x00000004, 0x000004c2,
414          0x000c5c80, 0x00300ff0, 0x000c0002, 0x00000098, 0x00000003,
415          0xfff00000, 0x0000000f, 0x000c0000, 0x00000008, 0xec300000,
416          0x00000001, 0x00198000, 0x00002000, 0x0020c800, 0x000016d8,
417          0x00000005, 0x00000004, 0x01870000, 0x00001000, 0x00000004,
418          0x80380000, 0x00000001, 0x002c7000, 0x00000007, 0x0000000c,
419          0x80000000, 0x0000399e, 0x0000000c, 0x00e00000, 0x00000023,
420          0x5a060000, 0x00000002, 0x4f030000, 0x58070000, 0x0040d000,
421          0x00000043, 0x40008000, 0x00120200, 0xfffe0000, 0x7fffffff,
422          0x00002040}};
423    /** Code Point Ranges for L
424    [1100, 115f], [a960, a97c]**/
425    const UnicodeSet l_Set
426        {{{Empty, 136}, {Full, 3}, {Empty, 1216}, {Mixed, 1},
427          {Empty, 33460}},
428         {0x1fffffff}};
429    /** Code Point Ranges for V
430    [1160, 11a7], [d7b0, d7c6]**/
431    const UnicodeSet v_Set
432        {{{Empty, 139}, {Full, 2}, {Mixed, 1}, {Empty, 1583}, {Mixed, 2},
433          {Empty, 33089}},
434         {0x000000ff, 0xffff0000, 0x0000007f}};
435    /** Code Point Ranges for T
436    [11a8, 11ff], [d7cb, d7fb]**/
437    const UnicodeSet t_Set
438        {{{Empty, 141}, {Mixed, 1}, {Full, 2}, {Empty, 1582}, {Mixed, 2},
439          {Empty, 33088}},
440         {0xffffff00, 0xfffff800, 0x0fffffff}};
441    /** Code Point Ranges for LV
442    [ac00, ac00], [ac1c, ac1c], [ac38, ac38], [ac54, ac54], [ac70, ac70],
443    [ac8c, ac8c], [aca8, aca8], [acc4, acc4], [ace0, ace0], [acfc, acfc],
444    [ad18, ad18], [ad34, ad34], [ad50, ad50], [ad6c, ad6c], [ad88, ad88],
445    [ada4, ada4], [adc0, adc0], [addc, addc], [adf8, adf8], [ae14, ae14],
446    [ae30, ae30], [ae4c, ae4c], [ae68, ae68], [ae84, ae84], [aea0, aea0],
447    [aebc, aebc], [aed8, aed8], [aef4, aef4], [af10, af10], [af2c, af2c],
448    [af48, af48], [af64, af64], [af80, af80], [af9c, af9c], [afb8, afb8],
449    [afd4, afd4], [aff0, aff0], [b00c, b00c], [b028, b028], [b044, b044],
450    [b060, b060], [b07c, b07c], [b098, b098], [b0b4, b0b4], [b0d0, b0d0],
451    [b0ec, b0ec], [b108, b108], [b124, b124], [b140, b140], [b15c, b15c],
452    [b178, b178], [b194, b194], [b1b0, b1b0], [b1cc, b1cc], [b1e8, b1e8],
453    [b204, b204], [b220, b220], [b23c, b23c], [b258, b258], [b274, b274],
454    [b290, b290], [b2ac, b2ac], [b2c8, b2c8], [b2e4, b2e4], [b300, b300],
455    [b31c, b31c], [b338, b338], [b354, b354], [b370, b370], [b38c, b38c],
456    [b3a8, b3a8], [b3c4, b3c4], [b3e0, b3e0], [b3fc, b3fc], [b418, b418],
457    [b434, b434], [b450, b450], [b46c, b46c], [b488, b488], [b4a4, b4a4],
458    [b4c0, b4c0], [b4dc, b4dc], [b4f8, b4f8], [b514, b514], [b530, b530],
459    [b54c, b54c], [b568, b568], [b584, b584], [b5a0, b5a0], [b5bc, b5bc],
460    [b5d8, b5d8], [b5f4, b5f4], [b610, b610], [b62c, b62c], [b648, b648],
461    [b664, b664], [b680, b680], [b69c, b69c], [b6b8, b6b8], [b6d4, b6d4],
462    [b6f0, b6f0], [b70c, b70c], [b728, b728], [b744, b744], [b760, b760],
463    [b77c, b77c], [b798, b798], [b7b4, b7b4], [b7d0, b7d0], [b7ec, b7ec],
464    [b808, b808], [b824, b824], [b840, b840], [b85c, b85c], [b878, b878],
465    [b894, b894], [b8b0, b8b0], [b8cc, b8cc], [b8e8, b8e8], [b904, b904],
466    [b920, b920], [b93c, b93c], [b958, b958], [b974, b974], [b990, b990],
467    [b9ac, b9ac], [b9c8, b9c8], [b9e4, b9e4], [ba00, ba00], [ba1c, ba1c],
468    [ba38, ba38], [ba54, ba54], [ba70, ba70], [ba8c, ba8c], [baa8, baa8],
469    [bac4, bac4], [bae0, bae0], [bafc, bafc], [bb18, bb18], [bb34, bb34],
470    [bb50, bb50], [bb6c, bb6c], [bb88, bb88], [bba4, bba4], [bbc0, bbc0],
471    [bbdc, bbdc], [bbf8, bbf8], [bc14, bc14], [bc30, bc30], [bc4c, bc4c],
472    [bc68, bc68], [bc84, bc84], [bca0, bca0], [bcbc, bcbc], [bcd8, bcd8],
473    [bcf4, bcf4], [bd10, bd10], [bd2c, bd2c], [bd48, bd48], [bd64, bd64],
474    [bd80, bd80], [bd9c, bd9c], [bdb8, bdb8], [bdd4, bdd4], [bdf0, bdf0],
475    [be0c, be0c], [be28, be28], [be44, be44], [be60, be60], [be7c, be7c],
476    [be98, be98], [beb4, beb4], [bed0, bed0], [beec, beec], [bf08, bf08],
477    [bf24, bf24], [bf40, bf40], [bf5c, bf5c], [bf78, bf78], [bf94, bf94],
478    [bfb0, bfb0], [bfcc, bfcc], [bfe8, bfe8], [c004, c004], [c020, c020],
479    [c03c, c03c], [c058, c058], [c074, c074], [c090, c090], [c0ac, c0ac],
480    [c0c8, c0c8], [c0e4, c0e4], [c100, c100], [c11c, c11c], [c138, c138],
481    [c154, c154], [c170, c170], [c18c, c18c], [c1a8, c1a8], [c1c4, c1c4],
482    [c1e0, c1e0], [c1fc, c1fc], [c218, c218], [c234, c234], [c250, c250],
483    [c26c, c26c], [c288, c288], [c2a4, c2a4], [c2c0, c2c0], [c2dc, c2dc],
484    [c2f8, c2f8], [c314, c314], [c330, c330], [c34c, c34c], [c368, c368],
485    [c384, c384], [c3a0, c3a0], [c3bc, c3bc], [c3d8, c3d8], [c3f4, c3f4],
486    [c410, c410], [c42c, c42c], [c448, c448], [c464, c464], [c480, c480],
487    [c49c, c49c], [c4b8, c4b8], [c4d4, c4d4], [c4f0, c4f0], [c50c, c50c],
488    [c528, c528], [c544, c544], [c560, c560], [c57c, c57c], [c598, c598],
489    [c5b4, c5b4], [c5d0, c5d0], [c5ec, c5ec], [c608, c608], [c624, c624],
490    [c640, c640], [c65c, c65c], [c678, c678], [c694, c694], [c6b0, c6b0],
491    [c6cc, c6cc], [c6e8, c6e8], [c704, c704], [c720, c720], [c73c, c73c],
492    [c758, c758], [c774, c774], [c790, c790], [c7ac, c7ac], [c7c8, c7c8],
493    [c7e4, c7e4], [c800, c800], [c81c, c81c], [c838, c838], [c854, c854],
494    [c870, c870], [c88c, c88c], [c8a8, c8a8], [c8c4, c8c4], [c8e0, c8e0],
495    [c8fc, c8fc], [c918, c918], [c934, c934], [c950, c950], [c96c, c96c],
496    [c988, c988], [c9a4, c9a4], [c9c0, c9c0], [c9dc, c9dc], [c9f8, c9f8],
497    [ca14, ca14], [ca30, ca30], [ca4c, ca4c], [ca68, ca68], [ca84, ca84],
498    [caa0, caa0], [cabc, cabc], [cad8, cad8], [caf4, caf4], [cb10, cb10],
499    [cb2c, cb2c], [cb48, cb48], [cb64, cb64], [cb80, cb80], [cb9c, cb9c],
500    [cbb8, cbb8], [cbd4, cbd4], [cbf0, cbf0], [cc0c, cc0c], [cc28, cc28],
501    [cc44, cc44], [cc60, cc60], [cc7c, cc7c], [cc98, cc98], [ccb4, ccb4],
502    [ccd0, ccd0], [ccec, ccec], [cd08, cd08], [cd24, cd24], [cd40, cd40],
503    [cd5c, cd5c], [cd78, cd78], [cd94, cd94], [cdb0, cdb0], [cdcc, cdcc],
504    [cde8, cde8], [ce04, ce04], [ce20, ce20], [ce3c, ce3c], [ce58, ce58],
505    [ce74, ce74], [ce90, ce90], [ceac, ceac], [cec8, cec8], [cee4, cee4],
506    [cf00, cf00], [cf1c, cf1c], [cf38, cf38], [cf54, cf54], [cf70, cf70],
507    [cf8c, cf8c], [cfa8, cfa8], [cfc4, cfc4], [cfe0, cfe0], [cffc, cffc],
508    [d018, d018], [d034, d034], [d050, d050], [d06c, d06c], [d088, d088],
509    [d0a4, d0a4], [d0c0, d0c0], [d0dc, d0dc], [d0f8, d0f8], [d114, d114],
510    [d130, d130], [d14c, d14c], [d168, d168], [d184, d184], [d1a0, d1a0],
511    [d1bc, d1bc], [d1d8, d1d8], [d1f4, d1f4], [d210, d210], [d22c, d22c],
512    [d248, d248], [d264, d264], [d280, d280], [d29c, d29c], [d2b8, d2b8],
513    [d2d4, d2d4], [d2f0, d2f0], [d30c, d30c], [d328, d328], [d344, d344],
514    [d360, d360], [d37c, d37c], [d398, d398], [d3b4, d3b4], [d3d0, d3d0],
515    [d3ec, d3ec], [d408, d408], [d424, d424], [d440, d440], [d45c, d45c],
516    [d478, d478], [d494, d494], [d4b0, d4b0], [d4cc, d4cc], [d4e8, d4e8],
517    [d504, d504], [d520, d520], [d53c, d53c], [d558, d558], [d574, d574],
518    [d590, d590], [d5ac, d5ac], [d5c8, d5c8], [d5e4, d5e4], [d600, d600],
519    [d61c, d61c], [d638, d638], [d654, d654], [d670, d670], [d68c, d68c],
520    [d6a8, d6a8], [d6c4, d6c4], [d6e0, d6e0], [d6fc, d6fc], [d718, d718],
521    [d734, d734], [d750, d750], [d76c, d76c], [d788, d788]**/
522    const UnicodeSet lv_Set
523        {{{Empty, 1376}, {Mixed, 349}, {Empty, 33091}},
524         {0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
525          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
526          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
527          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
528          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
529          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
530          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
531          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
532          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
533          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
534          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
535          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
536          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
537          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
538          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
539          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
540          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
541          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
542          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
543          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
544          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
545          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
546          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
547          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
548          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
549          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
550          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
551          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
552          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
553          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
554          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
555          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
556          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
557          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
558          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
559          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
560          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
561          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
562          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
563          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
564          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
565          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
566          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
567          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
568          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
569          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
570          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
571          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
572          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
573          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
574          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
575          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
576          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
577          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
578          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
579          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
580          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
581          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
582          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
583          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
584          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
585          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
586          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
587          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
588          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
589          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
590          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
591          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
592          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
593          0x00100000, 0x00010000, 0x00001000, 0x00000100}};
594    /** Code Point Ranges for LVT
595    [ac01, ac1b], [ac1d, ac37], [ac39, ac53], [ac55, ac6f], [ac71, ac8b],
596    [ac8d, aca7], [aca9, acc3], [acc5, acdf], [ace1, acfb], [acfd, ad17],
597    [ad19, ad33], [ad35, ad4f], [ad51, ad6b], [ad6d, ad87], [ad89, ada3],
598    [ada5, adbf], [adc1, addb], [addd, adf7], [adf9, ae13], [ae15, ae2f],
599    [ae31, ae4b], [ae4d, ae67], [ae69, ae83], [ae85, ae9f], [aea1, aebb],
600    [aebd, aed7], [aed9, aef3], [aef5, af0f], [af11, af2b], [af2d, af47],
601    [af49, af63], [af65, af7f], [af81, af9b], [af9d, afb7], [afb9, afd3],
602    [afd5, afef], [aff1, b00b], [b00d, b027], [b029, b043], [b045, b05f],
603    [b061, b07b], [b07d, b097], [b099, b0b3], [b0b5, b0cf], [b0d1, b0eb],
604    [b0ed, b107], [b109, b123], [b125, b13f], [b141, b15b], [b15d, b177],
605    [b179, b193], [b195, b1af], [b1b1, b1cb], [b1cd, b1e7], [b1e9, b203],
606    [b205, b21f], [b221, b23b], [b23d, b257], [b259, b273], [b275, b28f],
607    [b291, b2ab], [b2ad, b2c7], [b2c9, b2e3], [b2e5, b2ff], [b301, b31b],
608    [b31d, b337], [b339, b353], [b355, b36f], [b371, b38b], [b38d, b3a7],
609    [b3a9, b3c3], [b3c5, b3df], [b3e1, b3fb], [b3fd, b417], [b419, b433],
610    [b435, b44f], [b451, b46b], [b46d, b487], [b489, b4a3], [b4a5, b4bf],
611    [b4c1, b4db], [b4dd, b4f7], [b4f9, b513], [b515, b52f], [b531, b54b],
612    [b54d, b567], [b569, b583], [b585, b59f], [b5a1, b5bb], [b5bd, b5d7],
613    [b5d9, b5f3], [b5f5, b60f], [b611, b62b], [b62d, b647], [b649, b663],
614    [b665, b67f], [b681, b69b], [b69d, b6b7], [b6b9, b6d3], [b6d5, b6ef],
615    [b6f1, b70b], [b70d, b727], [b729, b743], [b745, b75f], [b761, b77b],
616    [b77d, b797], [b799, b7b3], [b7b5, b7cf], [b7d1, b7eb], [b7ed, b807],
617    [b809, b823], [b825, b83f], [b841, b85b], [b85d, b877], [b879, b893],
618    [b895, b8af], [b8b1, b8cb], [b8cd, b8e7], [b8e9, b903], [b905, b91f],
619    [b921, b93b], [b93d, b957], [b959, b973], [b975, b98f], [b991, b9ab],
620    [b9ad, b9c7], [b9c9, b9e3], [b9e5, b9ff], [ba01, ba1b], [ba1d, ba37],
621    [ba39, ba53], [ba55, ba6f], [ba71, ba8b], [ba8d, baa7], [baa9, bac3],
622    [bac5, badf], [bae1, bafb], [bafd, bb17], [bb19, bb33], [bb35, bb4f],
623    [bb51, bb6b], [bb6d, bb87], [bb89, bba3], [bba5, bbbf], [bbc1, bbdb],
624    [bbdd, bbf7], [bbf9, bc13], [bc15, bc2f], [bc31, bc4b], [bc4d, bc67],
625    [bc69, bc83], [bc85, bc9f], [bca1, bcbb], [bcbd, bcd7], [bcd9, bcf3],
626    [bcf5, bd0f], [bd11, bd2b], [bd2d, bd47], [bd49, bd63], [bd65, bd7f],
627    [bd81, bd9b], [bd9d, bdb7], [bdb9, bdd3], [bdd5, bdef], [bdf1, be0b],
628    [be0d, be27], [be29, be43], [be45, be5f], [be61, be7b], [be7d, be97],
629    [be99, beb3], [beb5, becf], [bed1, beeb], [beed, bf07], [bf09, bf23],
630    [bf25, bf3f], [bf41, bf5b], [bf5d, bf77], [bf79, bf93], [bf95, bfaf],
631    [bfb1, bfcb], [bfcd, bfe7], [bfe9, c003], [c005, c01f], [c021, c03b],
632    [c03d, c057], [c059, c073], [c075, c08f], [c091, c0ab], [c0ad, c0c7],
633    [c0c9, c0e3], [c0e5, c0ff], [c101, c11b], [c11d, c137], [c139, c153],
634    [c155, c16f], [c171, c18b], [c18d, c1a7], [c1a9, c1c3], [c1c5, c1df],
635    [c1e1, c1fb], [c1fd, c217], [c219, c233], [c235, c24f], [c251, c26b],
636    [c26d, c287], [c289, c2a3], [c2a5, c2bf], [c2c1, c2db], [c2dd, c2f7],
637    [c2f9, c313], [c315, c32f], [c331, c34b], [c34d, c367], [c369, c383],
638    [c385, c39f], [c3a1, c3bb], [c3bd, c3d7], [c3d9, c3f3], [c3f5, c40f],
639    [c411, c42b], [c42d, c447], [c449, c463], [c465, c47f], [c481, c49b],
640    [c49d, c4b7], [c4b9, c4d3], [c4d5, c4ef], [c4f1, c50b], [c50d, c527],
641    [c529, c543], [c545, c55f], [c561, c57b], [c57d, c597], [c599, c5b3],
642    [c5b5, c5cf], [c5d1, c5eb], [c5ed, c607], [c609, c623], [c625, c63f],
643    [c641, c65b], [c65d, c677], [c679, c693], [c695, c6af], [c6b1, c6cb],
644    [c6cd, c6e7], [c6e9, c703], [c705, c71f], [c721, c73b], [c73d, c757],
645    [c759, c773], [c775, c78f], [c791, c7ab], [c7ad, c7c7], [c7c9, c7e3],
646    [c7e5, c7ff], [c801, c81b], [c81d, c837], [c839, c853], [c855, c86f],
647    [c871, c88b], [c88d, c8a7], [c8a9, c8c3], [c8c5, c8df], [c8e1, c8fb],
648    [c8fd, c917], [c919, c933], [c935, c94f], [c951, c96b], [c96d, c987],
649    [c989, c9a3], [c9a5, c9bf], [c9c1, c9db], [c9dd, c9f7], [c9f9, ca13],
650    [ca15, ca2f], [ca31, ca4b], [ca4d, ca67], [ca69, ca83], [ca85, ca9f],
651    [caa1, cabb], [cabd, cad7], [cad9, caf3], [caf5, cb0f], [cb11, cb2b],
652    [cb2d, cb47], [cb49, cb63], [cb65, cb7f], [cb81, cb9b], [cb9d, cbb7],
653    [cbb9, cbd3], [cbd5, cbef], [cbf1, cc0b], [cc0d, cc27], [cc29, cc43],
654    [cc45, cc5f], [cc61, cc7b], [cc7d, cc97], [cc99, ccb3], [ccb5, cccf],
655    [ccd1, cceb], [cced, cd07], [cd09, cd23], [cd25, cd3f], [cd41, cd5b],
656    [cd5d, cd77], [cd79, cd93], [cd95, cdaf], [cdb1, cdcb], [cdcd, cde7],
657    [cde9, ce03], [ce05, ce1f], [ce21, ce3b], [ce3d, ce57], [ce59, ce73],
658    [ce75, ce8f], [ce91, ceab], [cead, cec7], [cec9, cee3], [cee5, ceff],
659    [cf01, cf1b], [cf1d, cf37], [cf39, cf53], [cf55, cf6f], [cf71, cf8b],
660    [cf8d, cfa7], [cfa9, cfc3], [cfc5, cfdf], [cfe1, cffb], [cffd, d017],
661    [d019, d033], [d035, d04f], [d051, d06b], [d06d, d087], [d089, d0a3],
662    [d0a5, d0bf], [d0c1, d0db], [d0dd, d0f7], [d0f9, d113], [d115, d12f],
663    [d131, d14b], [d14d, d167], [d169, d183], [d185, d19f], [d1a1, d1bb],
664    [d1bd, d1d7], [d1d9, d1f3], [d1f5, d20f], [d211, d22b], [d22d, d247],
665    [d249, d263], [d265, d27f], [d281, d29b], [d29d, d2b7], [d2b9, d2d3],
666    [d2d5, d2ef], [d2f1, d30b], [d30d, d327], [d329, d343], [d345, d35f],
667    [d361, d37b], [d37d, d397], [d399, d3b3], [d3b5, d3cf], [d3d1, d3eb],
668    [d3ed, d407], [d409, d423], [d425, d43f], [d441, d45b], [d45d, d477],
669    [d479, d493], [d495, d4af], [d4b1, d4cb], [d4cd, d4e7], [d4e9, d503],
670    [d505, d51f], [d521, d53b], [d53d, d557], [d559, d573], [d575, d58f],
671    [d591, d5ab], [d5ad, d5c7], [d5c9, d5e3], [d5e5, d5ff], [d601, d61b],
672    [d61d, d637], [d639, d653], [d655, d66f], [d671, d68b], [d68d, d6a7],
673    [d6a9, d6c3], [d6c5, d6df], [d6e1, d6fb], [d6fd, d717], [d719, d733],
674    [d735, d74f], [d751, d76b], [d76d, d787], [d789, d7a3]**/
675    const UnicodeSet lvt_Set
676        {{{Empty, 1376}, {Mixed, 350}, {Empty, 33090}},
677         {0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
678          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
679          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
680          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
681          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
682          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
683          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
684          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
685          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
686          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
687          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
688          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
689          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
690          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
691          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
692          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
693          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
694          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
695          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
696          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
697          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
698          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
699          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
700          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
701          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
702          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
703          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
704          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
705          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
706          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
707          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
708          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
709          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
710          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
711          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
712          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
713          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
714          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
715          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
716          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
717          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
718          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
719          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
720          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
721          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
722          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
723          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
724          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
725          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
726          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
727          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
728          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
729          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
730          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
731          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
732          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
733          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
734          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
735          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
736          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
737          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
738          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
739          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
740          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
741          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
742          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
743          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
744          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
745          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
746          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0x0000000f}};
747    /** Code Point Ranges for EB
748    [261d, 261d], [26f9, 26f9], [270a, 270d], [1f385, 1f385],
749    [1f3c3, 1f3c4], [1f3ca, 1f3cb], [1f442, 1f443], [1f446, 1f450],
750    [1f46e, 1f46e], [1f470, 1f478], [1f47c, 1f47c], [1f481, 1f483],
751    [1f485, 1f487], [1f4aa, 1f4aa], [1f575, 1f575], [1f57a, 1f57a],
752    [1f590, 1f590], [1f595, 1f596], [1f645, 1f647], [1f64b, 1f64f],
753    [1f6a3, 1f6a3], [1f6b4, 1f6b6], [1f6c0, 1f6c0], [1f918, 1f91e],
754    [1f926, 1f926], [1f930, 1f930], [1f933, 1f939], [1f93c, 1f93e]**/
755    const UnicodeSet eb_Set
756        {{{Empty, 304}, {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 3683},
757          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 4},
758          {Empty, 5}, {Mixed, 2}, {Empty, 5}, {Mixed, 1}, {Empty, 2},
759          {Mixed, 2}, {Empty, 17}, {Mixed, 2}, {Empty, 30774}},
760         {0x20000000, 0x02000000, 0x00003c00, 0x00000020, 0x00000c18,
761          0x0001ffcc, 0x11ff4000, 0x000000ee, 0x00000400, 0x04200000,
762          0x00610000, 0x0000f8e0, 0x00700008, 0x00000001, 0x7f000000,
763          0x73f90040}};
764    /** Code Point Ranges for EM
765    [1f3fb, 1f3ff]**/
766    const UnicodeSet em_Set
767        {{{Empty, 3999}, {Mixed, 1}, {Empty, 30816}},
768         {0xf8000000}};
769    /** Code Point Ranges for ZWJ
770    [200d, 200d]**/
771    const UnicodeSet zwj_Set
772        {{{Empty, 256}, {Mixed, 1}, {Empty, 34559}},
773         {0x00002000}};
774    /** Code Point Ranges for GAZ
775    [2764, 2764], [1f48b, 1f48b], [1f5e8, 1f5e8]**/
776    const UnicodeSet gaz_Set
777        {{{Empty, 315}, {Mixed, 1}, {Empty, 3688}, {Mixed, 1}, {Empty, 10},
778          {Mixed, 1}, {Empty, 30800}},
779         {0x00000010, 0x00000800, 0x00000100}};
780    /** Code Point Ranges for EBG
781    [1f466, 1f469]**/
782    const UnicodeSet ebg_Set
783        {{{Empty, 4003}, {Mixed, 1}, {Empty, 30812}},
784         {0x000003c0}};
785    static EnumeratedPropertyObject property_object
786        {GCB,
787         GCB_ns::independent_prop_values,
788         GCB_ns::enum_names,
789         GCB_ns::value_names,
790         GCB_ns::aliases_only_map,
791         {&xx_Set, &pp_Set, &cr_Set, &lf_Set, &cn_Set, &ex_Set, &ri_Set,
792        &sm_Set, &l_Set, &v_Set, &t_Set, &lv_Set, &lvt_Set, &eb_Set,
793        &em_Set, &zwj_Set, &gaz_Set, &ebg_Set
794         }};
795    }
796}
797
798#endif
Note: See TracBrowser for help on using the repository browser.