source: icGREP/icgrep-devel/icgrep/UCD/WordBreakProperty.h @ 5685

Last change on this file since 5685 was 5660, checked in by cameron, 2 years ago

UCD corrections and additional properties

File size: 56.5 KB
Line 
1#ifndef WORDBREAKPROPERTY_H
2#define WORDBREAKPROPERTY_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 WB_ns {
18    const unsigned independent_prop_values = 22;
19    /** Code Point Ranges for XX
20    [0000, 0009], [000e, 0021], [0023, 0026], [0028, 002b], [002d, 002d],
21    [002f, 002f], [003c, 0040], [005b, 005e], [0060, 0060], [007b, 0084],
22    [0086, 00a9], [00ab, 00ac], [00ae, 00b4], [00b6, 00b6], [00b8, 00b9],
23    [00bb, 00bf], [00d7, 00d7], [00f7, 00f7], [02c2, 02c5], [02d2, 02d6],
24    [02d8, 02df], [02e5, 02eb], [02ed, 02ed], [02ef, 02ff], [0375, 0375],
25    [0378, 0379], [0380, 0385], [038b, 038b], [038d, 038d], [03a2, 03a2],
26    [03f6, 03f6], [0482, 0482], [0530, 0530], [0557, 0558], [055a, 0560],
27    [0588, 0588], [058a, 0590], [05be, 05be], [05c0, 05c0], [05c3, 05c3],
28    [05c6, 05c6], [05c8, 05cf], [05eb, 05ef], [05f5, 05ff], [0606, 060b],
29    [060e, 060f], [061b, 061b], [061d, 061f], [066a, 066a], [066d, 066d],
30    [06d4, 06d4], [06de, 06de], [06e9, 06e9], [06fd, 06fe], [0700, 070e],
31    [074b, 074c], [07b2, 07bf], [07f6, 07f7], [07f9, 07f9], [07fb, 07ff],
32    [082e, 083f], [085c, 089f], [08b5, 08b5], [08be, 08d3], [0964, 0965],
33    [0970, 0970], [0984, 0984], [098d, 098e], [0991, 0992], [09a9, 09a9],
34    [09b1, 09b1], [09b3, 09b5], [09ba, 09bb], [09c5, 09c6], [09c9, 09ca],
35    [09cf, 09d6], [09d8, 09db], [09de, 09de], [09e4, 09e5], [09f2, 0a00],
36    [0a04, 0a04], [0a0b, 0a0e], [0a11, 0a12], [0a29, 0a29], [0a31, 0a31],
37    [0a34, 0a34], [0a37, 0a37], [0a3a, 0a3b], [0a3d, 0a3d], [0a43, 0a46],
38    [0a49, 0a4a], [0a4e, 0a50], [0a52, 0a58], [0a5d, 0a5d], [0a5f, 0a65],
39    [0a76, 0a80], [0a84, 0a84], [0a8e, 0a8e], [0a92, 0a92], [0aa9, 0aa9],
40    [0ab1, 0ab1], [0ab4, 0ab4], [0aba, 0abb], [0ac6, 0ac6], [0aca, 0aca],
41    [0ace, 0acf], [0ad1, 0adf], [0ae4, 0ae5], [0af0, 0af8], [0afa, 0b00],
42    [0b04, 0b04], [0b0d, 0b0e], [0b11, 0b12], [0b29, 0b29], [0b31, 0b31],
43    [0b34, 0b34], [0b3a, 0b3b], [0b45, 0b46], [0b49, 0b4a], [0b4e, 0b55],
44    [0b58, 0b5b], [0b5e, 0b5e], [0b64, 0b65], [0b70, 0b70], [0b72, 0b81],
45    [0b84, 0b84], [0b8b, 0b8d], [0b91, 0b91], [0b96, 0b98], [0b9b, 0b9b],
46    [0b9d, 0b9d], [0ba0, 0ba2], [0ba5, 0ba7], [0bab, 0bad], [0bba, 0bbd],
47    [0bc3, 0bc5], [0bc9, 0bc9], [0bce, 0bcf], [0bd1, 0bd6], [0bd8, 0be5],
48    [0bf0, 0bff], [0c04, 0c04], [0c0d, 0c0d], [0c11, 0c11], [0c29, 0c29],
49    [0c3a, 0c3c], [0c45, 0c45], [0c49, 0c49], [0c4e, 0c54], [0c57, 0c57],
50    [0c5b, 0c5f], [0c64, 0c65], [0c70, 0c7f], [0c84, 0c84], [0c8d, 0c8d],
51    [0c91, 0c91], [0ca9, 0ca9], [0cb4, 0cb4], [0cba, 0cbb], [0cc5, 0cc5],
52    [0cc9, 0cc9], [0cce, 0cd4], [0cd7, 0cdd], [0cdf, 0cdf], [0ce4, 0ce5],
53    [0cf0, 0cf0], [0cf3, 0d00], [0d04, 0d04], [0d0d, 0d0d], [0d11, 0d11],
54    [0d3b, 0d3c], [0d45, 0d45], [0d49, 0d49], [0d4f, 0d53], [0d58, 0d5e],
55    [0d64, 0d65], [0d70, 0d79], [0d80, 0d81], [0d84, 0d84], [0d97, 0d99],
56    [0db2, 0db2], [0dbc, 0dbc], [0dbe, 0dbf], [0dc7, 0dc9], [0dcb, 0dce],
57    [0dd5, 0dd5], [0dd7, 0dd7], [0de0, 0de5], [0df0, 0df1], [0df4, 0e30],
58    [0e32, 0e33], [0e3b, 0e46], [0e4f, 0e4f], [0e5a, 0eb0], [0eb2, 0eb3],
59    [0eba, 0eba], [0ebd, 0ec7], [0ece, 0ecf], [0eda, 0eff], [0f01, 0f17],
60    [0f1a, 0f1f], [0f2a, 0f34], [0f36, 0f36], [0f38, 0f38], [0f3a, 0f3d],
61    [0f48, 0f48], [0f6d, 0f70], [0f85, 0f85], [0f98, 0f98], [0fbd, 0fc5],
62    [0fc7, 102a], [103f, 103f], [104a, 1055], [105a, 105d], [1061, 1061],
63    [1065, 1066], [106e, 1070], [1075, 1081], [108e, 108e], [109e, 109f],
64    [10c6, 10c6], [10c8, 10cc], [10ce, 10cf], [10fb, 10fb], [1249, 1249],
65    [124e, 124f], [1257, 1257], [1259, 1259], [125e, 125f], [1289, 1289],
66    [128e, 128f], [12b1, 12b1], [12b6, 12b7], [12bf, 12bf], [12c1, 12c1],
67    [12c6, 12c7], [12d7, 12d7], [1311, 1311], [1316, 1317], [135b, 135c],
68    [1360, 137f], [1390, 139f], [13f6, 13f7], [13fe, 1400], [166d, 166e],
69    [1680, 1680], [169b, 169f], [16eb, 16ed], [16f9, 16ff], [170d, 170d],
70    [1715, 171f], [1735, 173f], [1754, 175f], [176d, 176d], [1771, 1771],
71    [1774, 17b3], [17d4, 17dc], [17de, 17df], [17ea, 180a], [180f, 180f],
72    [181a, 181f], [1878, 187f], [18ab, 18af], [18f6, 18ff], [191f, 191f],
73    [192c, 192f], [193c, 1945], [1950, 19cf], [19da, 19ff], [1a1c, 1a54],
74    [1a5f, 1a5f], [1a7d, 1a7e], [1a8a, 1a8f], [1a9a, 1aaf], [1abf, 1aff],
75    [1b4c, 1b4f], [1b5a, 1b6a], [1b74, 1b7f], [1bf4, 1bff], [1c38, 1c3f],
76    [1c4a, 1c4c], [1c7e, 1c7f], [1c89, 1ccf], [1cd3, 1cd3], [1cf7, 1cf7],
77    [1cfa, 1cff], [1df6, 1dfa], [1f16, 1f17], [1f1e, 1f1f], [1f46, 1f47],
78    [1f4e, 1f4f], [1f58, 1f58], [1f5a, 1f5a], [1f5c, 1f5c], [1f5e, 1f5e],
79    [1f7e, 1f7f], [1fb5, 1fb5], [1fbd, 1fbd], [1fbf, 1fc1], [1fc5, 1fc5],
80    [1fcd, 1fcf], [1fd4, 1fd5], [1fdc, 1fdf], [1fed, 1ff1], [1ff5, 1ff5],
81    [1ffd, 200b], [2010, 2017], [201a, 2023], [2025, 2026], [2030, 203e],
82    [2041, 2043], [2045, 2053], [2055, 205f], [2065, 2065], [2070, 2070],
83    [2072, 207e], [2080, 208f], [209d, 20cf], [20f1, 2101], [2103, 2106],
84    [2108, 2109], [2114, 2114], [2116, 2118], [211e, 2123], [2125, 2125],
85    [2127, 2127], [2129, 2129], [212e, 212e], [213a, 213b], [2140, 2144],
86    [214a, 214d], [214f, 215f], [2189, 24b5], [24ea, 261c], [261e, 26f8],
87    [26fa, 2709], [270e, 2763], [2765, 2bff], [2c2f, 2c2f], [2c5f, 2c5f],
88    [2ce5, 2cea], [2cf4, 2cff], [2d26, 2d26], [2d28, 2d2c], [2d2e, 2d2f],
89    [2d68, 2d6e], [2d70, 2d7e], [2d97, 2d9f], [2da7, 2da7], [2daf, 2daf],
90    [2db7, 2db7], [2dbf, 2dbf], [2dc7, 2dc7], [2dcf, 2dcf], [2dd7, 2dd7],
91    [2ddf, 2ddf], [2e00, 2e2e], [2e30, 3004], [3006, 3029], [3030, 3030],
92    [3036, 303a], [303d, 3098], [309d, 309f], [30fb, 30fb], [3100, 3104],
93    [312e, 3130], [318f, 319f], [31bb, 31ef], [3200, 32cf], [32ff, 32ff],
94    [3358, 9fff], [a48d, a4cf], [a4fe, a4ff], [a60d, a60f], [a62c, a63f],
95    [a673, a673], [a67e, a67e], [a6f2, a716], [a720, a721], [a789, a78a],
96    [a7af, a7af], [a7b8, a7f6], [a828, a83f], [a874, a87f], [a8c6, a8cf],
97    [a8da, a8df], [a8f8, a8fa], [a8fc, a8fc], [a8fe, a8ff], [a92e, a92f],
98    [a954, a95f], [a97d, a97f], [a9c1, a9ce], [a9da, a9e4], [a9e6, a9ef],
99    [a9fa, a9ff], [aa37, aa3f], [aa4e, aa4f], [aa5a, aa7a], [aa7e, aaaf],
100    [aab1, aab1], [aab5, aab6], [aab9, aabd], [aac0, aac0], [aac2, aadf],
101    [aaf0, aaf1], [aaf7, ab00], [ab07, ab08], [ab0f, ab10], [ab17, ab1f],
102    [ab27, ab27], [ab2f, ab2f], [ab5b, ab5b], [ab66, ab6f], [abeb, abeb],
103    [abee, abef], [abfa, abff], [d7a4, d7af], [d7c7, d7ca], [d7fc, faff],
104    [fb07, fb12], [fb18, fb1c], [fb29, fb29], [fb37, fb37], [fb3d, fb3d],
105    [fb3f, fb3f], [fb42, fb42], [fb45, fb45], [fbb2, fbd2], [fd3e, fd4f],
106    [fd90, fd91], [fdc8, fdef], [fdfc, fdff], [fe11, fe12], [fe15, fe1f],
107    [fe30, fe32], [fe35, fe4c], [fe51, fe51], [fe53, fe53], [fe56, fe6f],
108    [fe75, fe75], [fefd, fefe], [ff00, ff06], [ff08, ff0b], [ff0d, ff0d],
109    [ff0f, ff19], [ff1c, ff20], [ff3b, ff3e], [ff40, ff40], [ff5b, ff65],
110    [ffbf, ffc1], [ffc8, ffc9], [ffd0, ffd1], [ffd8, ffd9], [ffdd, fff8],
111    [fffc, ffff], [1000c, 1000c], [10027, 10027], [1003b, 1003b],
112    [1003e, 1003e], [1004e, 1004f], [1005e, 1007f], [100fb, 1013f],
113    [10175, 101fc], [101fe, 1027f], [1029d, 1029f], [102d1, 102df],
114    [102e1, 102ff], [10320, 1032f], [1034b, 1034f], [1037b, 1037f],
115    [1039e, 1039f], [103c4, 103c7], [103d0, 103d0], [103d6, 103ff],
116    [1049e, 1049f], [104aa, 104af], [104d4, 104d7], [104fc, 104ff],
117    [10528, 1052f], [10564, 105ff], [10737, 1073f], [10756, 1075f],
118    [10768, 107ff], [10806, 10807], [10809, 10809], [10836, 10836],
119    [10839, 1083b], [1083d, 1083e], [10856, 1085f], [10877, 1087f],
120    [1089f, 108df], [108f3, 108f3], [108f6, 108ff], [10916, 1091f],
121    [1093a, 1097f], [109b8, 109bd], [109c0, 109ff], [10a04, 10a04],
122    [10a07, 10a0b], [10a14, 10a14], [10a18, 10a18], [10a34, 10a37],
123    [10a3b, 10a3e], [10a40, 10a5f], [10a7d, 10a7f], [10a9d, 10abf],
124    [10ac8, 10ac8], [10ae7, 10aff], [10b36, 10b3f], [10b56, 10b5f],
125    [10b73, 10b7f], [10b92, 10bff], [10c49, 10c7f], [10cb3, 10cbf],
126    [10cf3, 10fff], [11047, 11065], [11070, 1107e], [110bb, 110bc],
127    [110be, 110cf], [110e9, 110ef], [110fa, 110ff], [11135, 11135],
128    [11140, 1114f], [11174, 11175], [11177, 1117f], [111c5, 111c9],
129    [111cd, 111cf], [111db, 111db], [111dd, 111ff], [11212, 11212],
130    [11238, 1123d], [1123f, 1127f], [11287, 11287], [11289, 11289],
131    [1128e, 1128e], [1129e, 1129e], [112a9, 112af], [112eb, 112ef],
132    [112fa, 112ff], [11304, 11304], [1130d, 1130e], [11311, 11312],
133    [11329, 11329], [11331, 11331], [11334, 11334], [1133a, 1133b],
134    [11345, 11346], [11349, 1134a], [1134e, 1134f], [11351, 11356],
135    [11358, 1135c], [11364, 11365], [1136d, 1136f], [11375, 113ff],
136    [1144b, 1144f], [1145a, 1147f], [114c6, 114c6], [114c8, 114cf],
137    [114da, 1157f], [115b6, 115b7], [115c1, 115d7], [115de, 115ff],
138    [11641, 11643], [11645, 1164f], [1165a, 1167f], [116b8, 116bf],
139    [116ca, 1171c], [1172c, 1172f], [1173a, 1189f], [118ea, 118fe],
140    [11900, 11abf], [11af9, 11bff], [11c09, 11c09], [11c37, 11c37],
141    [11c41, 11c4f], [11c5a, 11c71], [11c90, 11c91], [11ca8, 11ca8],
142    [11cb7, 11fff], [1239a, 123ff], [1246f, 1247f], [12544, 12fff],
143    [1342f, 143ff], [14647, 167ff], [16a39, 16a3f], [16a5f, 16a5f],
144    [16a6a, 16acf], [16aee, 16aef], [16af5, 16aff], [16b37, 16b3f],
145    [16b44, 16b4f], [16b5a, 16b62], [16b78, 16b7c], [16b90, 16eff],
146    [16f45, 16f4f], [16f7f, 16f8e], [16fa0, 16fdf], [16fe1, 1afff],
147    [1b001, 1bbff], [1bc6b, 1bc6f], [1bc7d, 1bc7f], [1bc89, 1bc8f],
148    [1bc9a, 1bc9c], [1bc9f, 1bc9f], [1bca4, 1d164], [1d16a, 1d16c],
149    [1d183, 1d184], [1d18c, 1d1a9], [1d1ae, 1d241], [1d245, 1d3ff],
150    [1d455, 1d455], [1d49d, 1d49d], [1d4a0, 1d4a1], [1d4a3, 1d4a4],
151    [1d4a7, 1d4a8], [1d4ad, 1d4ad], [1d4ba, 1d4ba], [1d4bc, 1d4bc],
152    [1d4c4, 1d4c4], [1d506, 1d506], [1d50b, 1d50c], [1d515, 1d515],
153    [1d51d, 1d51d], [1d53a, 1d53a], [1d53f, 1d53f], [1d545, 1d545],
154    [1d547, 1d549], [1d551, 1d551], [1d6a6, 1d6a7], [1d6c1, 1d6c1],
155    [1d6db, 1d6db], [1d6fb, 1d6fb], [1d715, 1d715], [1d735, 1d735],
156    [1d74f, 1d74f], [1d76f, 1d76f], [1d789, 1d789], [1d7a9, 1d7a9],
157    [1d7c3, 1d7c3], [1d7cc, 1d7cd], [1d800, 1d9ff], [1da37, 1da3a],
158    [1da6d, 1da74], [1da76, 1da83], [1da85, 1da9a], [1daa0, 1daa0],
159    [1dab0, 1dfff], [1e007, 1e007], [1e019, 1e01a], [1e022, 1e022],
160    [1e025, 1e025], [1e02b, 1e7ff], [1e8c5, 1e8cf], [1e8d7, 1e8ff],
161    [1e94b, 1e94f], [1e95a, 1edff], [1ee04, 1ee04], [1ee20, 1ee20],
162    [1ee23, 1ee23], [1ee25, 1ee26], [1ee28, 1ee28], [1ee33, 1ee33],
163    [1ee38, 1ee38], [1ee3a, 1ee3a], [1ee3c, 1ee41], [1ee43, 1ee46],
164    [1ee48, 1ee48], [1ee4a, 1ee4a], [1ee4c, 1ee4c], [1ee50, 1ee50],
165    [1ee53, 1ee53], [1ee55, 1ee56], [1ee58, 1ee58], [1ee5a, 1ee5a],
166    [1ee5c, 1ee5c], [1ee5e, 1ee5e], [1ee60, 1ee60], [1ee63, 1ee63],
167    [1ee65, 1ee66], [1ee6b, 1ee6b], [1ee73, 1ee73], [1ee78, 1ee78],
168    [1ee7d, 1ee7d], [1ee7f, 1ee7f], [1ee8a, 1ee8a], [1ee9c, 1eea0],
169    [1eea4, 1eea4], [1eeaa, 1eeaa], [1eebc, 1f12f], [1f14a, 1f14f],
170    [1f16a, 1f16f], [1f18a, 1f1e5], [1f200, 1f384], [1f386, 1f3c2],
171    [1f3c5, 1f3c9], [1f3cc, 1f3fa], [1f400, 1f441], [1f444, 1f445],
172    [1f451, 1f465], [1f46a, 1f46d], [1f46f, 1f46f], [1f479, 1f47b],
173    [1f47d, 1f480], [1f484, 1f484], [1f488, 1f48a], [1f48c, 1f4a9],
174    [1f4ab, 1f574], [1f576, 1f579], [1f57b, 1f58f], [1f591, 1f594],
175    [1f597, 1f5e7], [1f5e9, 1f644], [1f648, 1f64a], [1f650, 1f6a2],
176    [1f6a4, 1f6b3], [1f6b7, 1f6bf], [1f6c1, 1f917], [1f91f, 1f925],
177    [1f927, 1f92f], [1f931, 1f932], [1f93a, 1f93b], [1f93f, e0000],
178    [e0002, e001f], [e0080, e00ff], [e01f0, 10ffff]**/
179    const UnicodeSet xx_Set
180        {{{Mixed, 8}, {Empty, 14}, {Mixed, 2}, {Empty, 3}, {Mixed, 3},
181          {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 4},
182          {Mixed, 8}, {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 3},
183          {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
184          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 2},
185          {Empty, 4}, {Mixed, 37}, {Full, 1}, {Mixed, 2}, {Full, 2},
186          {Mixed, 2}, {Full, 1}, {Mixed, 7}, {Full, 2}, {Mixed, 4},
187          {Empty, 1}, {Mixed, 2}, {Empty, 10}, {Mixed, 1}, {Empty, 1},
188          {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
189          {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 18},
190          {Mixed, 2}, {Empty, 2}, {Mixed, 5}, {Full, 1}, {Mixed, 4},
191          {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
192          {Mixed, 4}, {Full, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
193          {Full, 1}, {Mixed, 4}, {Full, 2}, {Empty, 2}, {Mixed, 2},
194          {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Full, 1},
195          {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
196          {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 8}, {Full, 1},
197          {Mixed, 5}, {Empty, 1}, {Mixed, 1}, {Full, 24}, {Mixed, 1},
198          {Empty, 1}, {Mixed, 1}, {Full, 8}, {Mixed, 1}, {Full, 6},
199          {Mixed, 2}, {Full, 2}, {Mixed, 1}, {Full, 36}, {Empty, 1},
200          {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
201          {Empty, 1}, {Mixed, 4}, {Empty, 1}, {Full, 1}, {Mixed, 1},
202          {Full, 14}, {Mixed, 2}, {Full, 2}, {Mixed, 1}, {Empty, 2},
203          {Mixed, 3}, {Empty, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
204          {Full, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Full, 869},
205          {Empty, 36}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 8},
206          {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 3},
207          {Empty, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Empty, 1},
208          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
209          {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
210          {Mixed, 3}, {Full, 1}, {Mixed, 7}, {Empty, 3}, {Mixed, 1},
211          {Empty, 349}, {Mixed, 3}, {Full, 280}, {Mixed, 3}, {Empty, 2},
212          {Mixed, 2}, {Empty, 10}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
213          {Empty, 1}, {Mixed, 6}, {Empty, 3}, {Mixed, 5}, {Empty, 1},
214          {Mixed, 6}, {Full, 1}, {Empty, 3}, {Mixed, 1}, {Full, 2},
215          {Empty, 1}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 4},
216          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 4},
217          {Empty, 1}, {Mixed, 1}, {Full, 1}, {Empty, 4}, {Mixed, 4},
218          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 4},
219          {Empty, 9}, {Mixed, 3}, {Full, 4}, {Mixed, 5}, {Full, 2},
220          {Mixed, 3}, {Full, 2}, {Empty, 1}, {Mixed, 1}, {Full, 2},
221          {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2},
222          {Empty, 1}, {Mixed, 4}, {Full, 3}, {Empty, 2}, {Mixed, 1},
223          {Full, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
224          {Full, 24}, {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
225          {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Full, 1},
226          {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 5},
227          {Full, 4}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 2},
228          {Mixed, 1}, {Full, 5}, {Empty, 1}, {Mixed, 2}, {Full, 1},
229          {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 1}, {Mixed, 2},
230          {Full, 1}, {Mixed, 2}, {Full, 11}, {Empty, 2}, {Mixed, 1},
231          {Full, 14}, {Empty, 1}, {Mixed, 1}, {Full, 8}, {Mixed, 6},
232          {Full, 26}, {Empty, 28}, {Mixed, 1}, {Full, 3}, {Empty, 3},
233          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Full, 85}, {Empty, 33},
234          {Mixed, 1}, {Full, 126}, {Empty, 18}, {Mixed, 1}, {Full, 269},
235          {Empty, 17}, {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Empty, 1},
236          {Mixed, 4}, {Full, 27}, {Empty, 2}, {Mixed, 3}, {Full, 2},
237          {Mixed, 1}, {Full, 512}, {Mixed, 1}, {Full, 95}, {Empty, 3},
238          {Mixed, 3}, {Full, 165}, {Mixed, 3}, {Full, 4}, {Mixed, 1},
239          {Full, 13}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
240          {Empty, 1}, {Mixed, 3}, {Empty, 10}, {Mixed, 10}, {Empty, 1},
241          {Full, 16}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
242          {Full, 42}, {Mixed, 2}, {Full, 62}, {Empty, 6}, {Mixed, 1},
243          {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 37}, {Mixed, 6},
244          {Full, 19}, {Mixed, 4}, {Full, 2}, {Mixed, 1}, {Full, 12},
245          {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 4},
246          {Full, 5}, {Mixed, 2}, {Full, 2}, {Mixed, 1}, {Full, 2},
247          {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 17}, {Mixed, 2},
248          {Full, 24630}, {Mixed, 1}, {Empty, 3}, {Full, 4}, {Empty, 7},
249          {Mixed, 1}, {Full, 6128}},
250         {0xffffc3ff, 0xf000af7b, 0x78000001, 0xf8000001, 0xffffffdf,
251          0xfb5fdbff, 0x00800000, 0x00800000, 0xff7c003c, 0xffffafe0,
252          0x03200000, 0x0000283f, 0x00000004, 0x00400000, 0x00000004,
253          0x00010000, 0xfd800000, 0x00000001, 0x0001fd00, 0x40000000,
254          0x0000ff49, 0xffe0f800, 0xe800cfc0, 0x00002400, 0x40100000,
255          0x60000200, 0x00007fff, 0x00001800, 0xfffc0000, 0xfac00000,
256          0xffffc000, 0xf0000000, 0xc0200000, 0x000fffff, 0x00010030,
257          0x00066010, 0x0c3a0200, 0x4f7f8660, 0xfffc0030, 0x00067811,
258          0x2c920200, 0xa1fdc678, 0xffc0003f, 0x00044011, 0x0c120200,
259          0xfffec440, 0xfdff0030, 0x00066011, 0x0c120200, 0x4f3fc660,
260          0xfffd0030, 0x29c23813, 0x3c0038e7, 0xff7ec238, 0xffff003f,
261          0x00022010, 0x1c000200, 0xf89fc220, 0xffff0030, 0x00022010,
262          0x0c100200, 0xbf9fc220, 0xfff90030, 0x00022011, 0x18000000,
263          0x7f0f8220, 0x03ff0030, 0x03800013, 0xd0040000, 0x00a07b80,
264          0xfff3003f, 0xf80dffff, 0xfc00807f, 0xe40dffff, 0xfc00c0ff,
265          0xfcfffffe, 0x3d5ffc00, 0x00000100, 0x0001e000, 0x01000020,
266          0xe0000000, 0xffffffbf, 0x800007ff, 0x3c3ffc00, 0xffe1c062,
267          0xc0004003, 0x0000df40, 0x08000000, 0xc280c200, 0x0000c200,
268          0x80c20000, 0x008000c2, 0x00c20000, 0x18000000, 0xffff0000,
269          0xc0c00000, 0x00000001, 0x00006000, 0xf8000001, 0xfe003800,
270          0xffe02000, 0xffe00000, 0xfff00000, 0xfff22000, 0x000fffff,
271          0xdff00000, 0xfffffc00, 0xfc0087ff, 0xff000000, 0x0000f800,
272          0xffc00000, 0x80000000, 0xf000f000, 0xffff003f, 0xfc00ffff,
273          0xf0000000, 0x801fffff, 0x60000000, 0xfc00fc00, 0x8000ffff,
274          0xfc00f000, 0xfff007ff, 0xfff00000, 0xff000000, 0x00001c00,
275          0xc0000000, 0xfffffe00, 0x0008ffff, 0xfc800000, 0x07c00000,
276          0xc0c00000, 0x5500c0c0, 0xc0000000, 0xa0200000, 0xf030e023,
277          0xe023e000, 0xfcff0fff, 0x7fff006f, 0xffefffee, 0x7ffd0020,
278          0xe000ffff, 0x0000ffff, 0xfffe0000, 0xc1d0037b, 0x0c0042af,
279          0xffffbc1f, 0xfffffe00, 0x003fffff, 0xfffffc00, 0xdfffffff,
280          0xfdffffff, 0xffffc3ff, 0xffffffef, 0x00008000, 0x80000000,
281          0xfff007e0, 0x0000df40, 0x7fff7f00, 0xff800000, 0x80808080,
282          0x80808080, 0xffff7fff, 0xffffffdf, 0xe7c103ff, 0xe1ffffff,
283          0x08000000, 0x0000001f, 0x0001c000, 0xffff8000, 0xf8000000,
284          0x0000ffff, 0x0000ffff, 0x80000000, 0xff000000, 0xffffe000,
285          0x0000ffff, 0xc0000000, 0x0000e000, 0xfffff000, 0x40080000,
286          0xfffc0000, 0x007fffff, 0x00000003, 0x00000600, 0xff008000,
287          0x007fffff, 0xffffff00, 0xfff00000, 0xfc00ffc0, 0xd7000000,
288          0x0000c000, 0xfff00000, 0xe0000000, 0xfc007ffe, 0xfc00ffdf,
289          0xff800000, 0xfc00c000, 0xc7ffffff, 0x3e62ffff, 0xfffffffd,
290          0xff830000, 0xff818181, 0x00008080, 0x08000000, 0x0000ffc0,
291          0xfc00c800, 0x0000fff0, 0x00000780, 0xf0000000, 0x1f07ff80,
292          0xa0800200, 0x00000024, 0xfffc0000, 0x0007ffff, 0xc0000000,
293          0x0000ffff, 0x00030000, 0xffffff00, 0xf000ffff, 0xffe60000,
294          0xffe70000, 0xffca1fff, 0x0020ffff, 0x60000000, 0xf3ffaf7f,
295          0x78000001, 0xf8000001, 0x0000003f, 0x80000000, 0xe3030303,
296          0xf1ffffff, 0x00001000, 0x48000080, 0xc000c000, 0xf8000000,
297          0xffe00000, 0xdfffffff, 0xe0000000, 0xfffe0000, 0xfffffffe,
298          0x0000ffff, 0x0000f800, 0xf8000000, 0xc0000000, 0xffc100f0,
299          0xc0000000, 0x0000fc00, 0x00f00000, 0xf0000000, 0x0000ff00,
300          0xfffffff0, 0xff800000, 0xffc00000, 0xffffff00, 0x000002c0,
301          0x6e400000, 0xffc00000, 0xff800000, 0x80000000, 0xffc80000,
302          0xffc00000, 0xfc000000, 0x3f000000, 0x01100f90, 0x78f00000,
303          0xe0000000, 0xe0000000, 0x00000100, 0xffffff80, 0xffc00000,
304          0xffc00000, 0xfff80000, 0xfffc0000, 0xfffffe00, 0xfff80000,
305          0xfff80000, 0xffffff80, 0x7fff003f, 0xd8000000, 0x0000ffff,
306          0xfc00fe00, 0x00200000, 0x0000ffff, 0xffb00000, 0xe800e3e0,
307          0x00040000, 0xbf000000, 0x40004280, 0x0000fe00, 0xfc00f800,
308          0x00066010, 0x0c120200, 0x1f7ec660, 0xffe0e030, 0xfc00f800,
309          0xfc00ff40, 0x00c00000, 0xc0fffffe, 0xfc00ffee, 0xff000000,
310          0xfffffc00, 0x1fffffff, 0xfc00f000, 0x7ffffc00, 0xfe000000,
311          0x00000200, 0x00800000, 0xfc00fffe, 0x0003ffff, 0x00030000,
312          0xff800100, 0xfc000000, 0xffff8000, 0xfffffff0, 0xffff8000,
313          0xffffff80, 0xfe000000, 0x80000000, 0xfffffc00, 0x0000ffff,
314          0xffe0c000, 0xff800000, 0xfc00fff0, 0x1f000007, 0xffff0000,
315          0x0000ffe0, 0x80000000, 0x00007fff, 0xfffffffe, 0xfffffffe,
316          0xe000f800, 0x9c00fe00, 0xfffffff0, 0x00001c1f, 0xfffff018,
317          0xffffc3ff, 0xffffffe3, 0x00200000, 0x20000000, 0x1400219b,
318          0x00000010, 0x20201840, 0x84000000, 0x000203a0, 0x000000c0,
319          0x08000002, 0x08000000, 0x00200000, 0x00200000, 0x00008000,
320          0x00008000, 0x00000200, 0x00000200, 0x00003008, 0x07800000,
321          0xffdfe000, 0x07ffffef, 0xffff0001, 0x06000080, 0xfffff824,
322          0xff80ffe0, 0xfc00f800, 0x00000010, 0xf5080169, 0x5569157b,
323          0xa1080869, 0xf0000400, 0xf0000411, 0x0000ffff, 0x0000fc00,
324          0x0000fc00, 0xfffffc00, 0x0000003f, 0xffffffdf, 0xfffff3e7,
325          0x07ffffff, 0xfffe0033, 0xee00bc3f, 0xfffff711, 0xfffffbff,
326          0xfbdfffff, 0xff9effff, 0xfffffeff, 0xffff071f, 0xff8ffff7,
327          0xfffffffe, 0x80ffffff, 0x8c06ffbf, 0xfffffffd, 0xffff0000}};
328    /** Code Point Ranges for DQ
329    [0022, 0022]**/
330    const UnicodeSet dq_Set
331        {{{Empty, 1}, {Mixed, 1}, {Empty, 34814}},
332         {0x00000004}};
333    /** Code Point Ranges for SQ
334    [0027, 0027]**/
335    const UnicodeSet sq_Set
336        {{{Empty, 1}, {Mixed, 1}, {Empty, 34814}},
337         {0x00000080}};
338    /** Code Point Ranges for HL
339    [05d0, 05ea], [05f0, 05f2], [fb1d, fb1d], [fb1f, fb28], [fb2a, fb36],
340    [fb38, fb3c], [fb3e, fb3e], [fb40, fb41], [fb43, fb44], [fb46, fb4f]**/
341    const UnicodeSet hl_Set
342        {{{Empty, 46}, {Mixed, 2}, {Empty, 1960}, {Mixed, 3},
343          {Empty, 32805}},
344         {0xffff0000, 0x000707ff, 0xa0000000, 0x5f7ffdff, 0x0000ffdb}};
345    /** Code Point Ranges for CR
346    [000d, 000d]**/
347    const UnicodeSet cr_Set
348        {{{Mixed, 1}, {Empty, 34815}},
349         {0x00002000}};
350    /** Code Point Ranges for LF
351    [000a, 000a]**/
352    const UnicodeSet lf_Set
353        {{{Mixed, 1}, {Empty, 34815}},
354         {0x00000400}};
355    /** Code Point Ranges for NL
356    [000b, 000c], [0085, 0085], [2028, 2029]**/
357    const UnicodeSet nl_Set
358        {{{Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 252}, {Mixed, 1},
359          {Empty, 34558}},
360         {0x00001800, 0x00000020, 0x00000300}};
361    /** Code Point Ranges for Extend
362    [0300, 036f], [0483, 0489], [0591, 05bd], [05bf, 05bf], [05c1, 05c2],
363    [05c4, 05c5], [05c7, 05c7], [0610, 061a], [064b, 065f], [0670, 0670],
364    [06d6, 06dc], [06df, 06e4], [06e7, 06e8], [06ea, 06ed], [0711, 0711],
365    [0730, 074a], [07a6, 07b0], [07eb, 07f3], [0816, 0819], [081b, 0823],
366    [0825, 0827], [0829, 082d], [0859, 085b], [08d4, 08e1], [08e3, 0903],
367    [093a, 093c], [093e, 094f], [0951, 0957], [0962, 0963], [0981, 0983],
368    [09bc, 09bc], [09be, 09c4], [09c7, 09c8], [09cb, 09cd], [09d7, 09d7],
369    [09e2, 09e3], [0a01, 0a03], [0a3c, 0a3c], [0a3e, 0a42], [0a47, 0a48],
370    [0a4b, 0a4d], [0a51, 0a51], [0a70, 0a71], [0a75, 0a75], [0a81, 0a83],
371    [0abc, 0abc], [0abe, 0ac5], [0ac7, 0ac9], [0acb, 0acd], [0ae2, 0ae3],
372    [0b01, 0b03], [0b3c, 0b3c], [0b3e, 0b44], [0b47, 0b48], [0b4b, 0b4d],
373    [0b56, 0b57], [0b62, 0b63], [0b82, 0b82], [0bbe, 0bc2], [0bc6, 0bc8],
374    [0bca, 0bcd], [0bd7, 0bd7], [0c00, 0c03], [0c3e, 0c44], [0c46, 0c48],
375    [0c4a, 0c4d], [0c55, 0c56], [0c62, 0c63], [0c81, 0c83], [0cbc, 0cbc],
376    [0cbe, 0cc4], [0cc6, 0cc8], [0cca, 0ccd], [0cd5, 0cd6], [0ce2, 0ce3],
377    [0d01, 0d03], [0d3e, 0d44], [0d46, 0d48], [0d4a, 0d4d], [0d57, 0d57],
378    [0d62, 0d63], [0d82, 0d83], [0dca, 0dca], [0dcf, 0dd4], [0dd6, 0dd6],
379    [0dd8, 0ddf], [0df2, 0df3], [0e31, 0e31], [0e34, 0e3a], [0e47, 0e4e],
380    [0eb1, 0eb1], [0eb4, 0eb9], [0ebb, 0ebc], [0ec8, 0ecd], [0f18, 0f19],
381    [0f35, 0f35], [0f37, 0f37], [0f39, 0f39], [0f3e, 0f3f], [0f71, 0f84],
382    [0f86, 0f87], [0f8d, 0f97], [0f99, 0fbc], [0fc6, 0fc6], [102b, 103e],
383    [1056, 1059], [105e, 1060], [1062, 1064], [1067, 106d], [1071, 1074],
384    [1082, 108d], [108f, 108f], [109a, 109d], [135d, 135f], [1712, 1714],
385    [1732, 1734], [1752, 1753], [1772, 1773], [17b4, 17d3], [17dd, 17dd],
386    [180b, 180d], [1885, 1886], [18a9, 18a9], [1920, 192b], [1930, 193b],
387    [1a17, 1a1b], [1a55, 1a5e], [1a60, 1a7c], [1a7f, 1a7f], [1ab0, 1abe],
388    [1b00, 1b04], [1b34, 1b44], [1b6b, 1b73], [1b80, 1b82], [1ba1, 1bad],
389    [1be6, 1bf3], [1c24, 1c37], [1cd0, 1cd2], [1cd4, 1ce8], [1ced, 1ced],
390    [1cf2, 1cf4], [1cf8, 1cf9], [1dc0, 1df5], [1dfb, 1dff], [200c, 200c],
391    [20d0, 20f0], [2cef, 2cf1], [2d7f, 2d7f], [2de0, 2dff], [302a, 302f],
392    [3099, 309a], [a66f, a672], [a674, a67d], [a69e, a69f], [a6f0, a6f1],
393    [a802, a802], [a806, a806], [a80b, a80b], [a823, a827], [a880, a881],
394    [a8b4, a8c5], [a8e0, a8f1], [a926, a92d], [a947, a953], [a980, a983],
395    [a9b3, a9c0], [a9e5, a9e5], [aa29, aa36], [aa43, aa43], [aa4c, aa4d],
396    [aa7b, aa7d], [aab0, aab0], [aab2, aab4], [aab7, aab8], [aabe, aabf],
397    [aac1, aac1], [aaeb, aaef], [aaf5, aaf6], [abe3, abea], [abec, abed],
398    [fb1e, fb1e], [fe00, fe0f], [fe20, fe2f], [ff9e, ff9f], [101fd, 101fd],
399    [102e0, 102e0], [10376, 1037a], [10a01, 10a03], [10a05, 10a06],
400    [10a0c, 10a0f], [10a38, 10a3a], [10a3f, 10a3f], [10ae5, 10ae6],
401    [11000, 11002], [11038, 11046], [1107f, 11082], [110b0, 110ba],
402    [11100, 11102], [11127, 11134], [11173, 11173], [11180, 11182],
403    [111b3, 111c0], [111ca, 111cc], [1122c, 11237], [1123e, 1123e],
404    [112df, 112ea], [11300, 11303], [1133c, 1133c], [1133e, 11344],
405    [11347, 11348], [1134b, 1134d], [11357, 11357], [11362, 11363],
406    [11366, 1136c], [11370, 11374], [11435, 11446], [114b0, 114c3],
407    [115af, 115b5], [115b8, 115c0], [115dc, 115dd], [11630, 11640],
408    [116ab, 116b7], [1171d, 1172b], [11c2f, 11c36], [11c38, 11c3f],
409    [11c92, 11ca7], [11ca9, 11cb6], [16af0, 16af4], [16b30, 16b36],
410    [16f51, 16f7e], [16f8f, 16f92], [1bc9d, 1bc9e], [1d165, 1d169],
411    [1d16d, 1d172], [1d17b, 1d182], [1d185, 1d18b], [1d1aa, 1d1ad],
412    [1d242, 1d244], [1da00, 1da36], [1da3b, 1da6c], [1da75, 1da75],
413    [1da84, 1da84], [1da9b, 1da9f], [1daa1, 1daaf], [1e000, 1e006],
414    [1e008, 1e018], [1e01b, 1e021], [1e023, 1e024], [1e026, 1e02a],
415    [1e8d0, 1e8d6], [1e944, 1e94a], [e0020, e007f], [e0100, e01ef]**/
416    const UnicodeSet extend_Set
417        {{{Empty, 24}, {Full, 3}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
418          {Empty, 7}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
419          {Mixed, 2}, {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 1},
420          {Empty, 1}, {Mixed, 4}, {Empty, 3}, {Mixed, 25}, {Empty, 1},
421          {Mixed, 13}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
422          {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
423          {Mixed, 4}, {Empty, 2}, {Mixed, 4}, {Empty, 21}, {Mixed, 1},
424          {Empty, 29}, {Mixed, 4}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
425          {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
426          {Empty, 6}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
427          {Mixed, 1}, {Empty, 2}, {Mixed, 6}, {Empty, 1}, {Mixed, 1},
428          {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 2}, {Empty, 6},
429          {Full, 1}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 5},
430          {Mixed, 2}, {Empty, 95}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
431          {Empty, 3}, {Full, 1}, {Empty, 17}, {Mixed, 1}, {Empty, 2},
432          {Mixed, 1}, {Empty, 942}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
433          {Empty, 8}, {Mixed, 2}, {Empty, 2}, {Mixed, 4}, {Empty, 1},
434          {Mixed, 2}, {Empty, 1}, {Mixed, 4}, {Empty, 1}, {Mixed, 3},
435          {Empty, 1}, {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 632},
436          {Mixed, 1}, {Empty, 23}, {Mixed, 2}, {Empty, 10}, {Mixed, 1},
437          {Empty, 18}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 3},
438          {Mixed, 1}, {Empty, 52}, {Mixed, 2}, {Empty, 5}, {Mixed, 1},
439          {Empty, 40}, {Mixed, 6}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
440          {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 6},
441          {Empty, 5}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 6},
442          {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
443          {Empty, 2}, {Mixed, 2}, {Empty, 39}, {Mixed, 1}, {Empty, 2},
444          {Mixed, 2}, {Empty, 625}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
445          {Empty, 32}, {Mixed, 3}, {Empty, 615}, {Mixed, 1}, {Empty, 166},
446          {Mixed, 3}, {Empty, 4}, {Mixed, 1}, {Empty, 61}, {Full, 1},
447          {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 42}, {Mixed, 2},
448          {Empty, 68}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 24758},
449          {Full, 3}, {Empty, 4}, {Full, 7}, {Mixed, 1}, {Empty, 6128}},
450         {0x0000ffff, 0x000003f8, 0xfffe0000, 0xbfffffff, 0x000000b6,
451          0x07ff0000, 0xfffff800, 0x00010000, 0x9fc00000, 0x00003d9f,
452          0x00020000, 0xffff0000, 0x000007ff, 0x0001ffc0, 0x000ff800,
453          0xfbc00000, 0x00003eef, 0x0e000000, 0xfff00000, 0xfffffffb,
454          0x0000000f, 0xdc000000, 0x00feffff, 0x0000000c, 0x0000000e,
455          0xd0000000, 0x0080399f, 0x0000000c, 0x0000000e, 0xd0000000,
456          0x00023987, 0x00230000, 0x0000000e, 0xd0000000, 0x00003bbf,
457          0x0000000c, 0x0000000e, 0xd0000000, 0x00c0399f, 0x0000000c,
458          0x00000004, 0xc0000000, 0x00803dc7, 0x0000000f, 0xc0000000,
459          0x00603ddf, 0x0000000c, 0x0000000e, 0xd0000000, 0x00603ddf,
460          0x0000000c, 0x0000000e, 0xc0000000, 0x00803ddf, 0x0000000c,
461          0x0000000c, 0xff5f8400, 0x000c0000, 0x07f20000, 0x00007f80,
462          0x1bf20000, 0x00003f00, 0x03000000, 0xc2a00000, 0xfffe0000,
463          0xfeffe0df, 0x1fffffff, 0x00000040, 0x7ffff800, 0xc3c00000,
464          0x001e3f9d, 0x3c00bffc, 0xe0000000, 0x001c0000, 0x001c0000,
465          0x000c0000, 0x000c0000, 0xfff00000, 0x200fffff, 0x00003800,
466          0x00000060, 0x00000200, 0x0fff0fff, 0x0f800000, 0x7fe00000,
467          0x9fffffff, 0x7fff0000, 0x0000001f, 0xfff00000, 0x0000001f,
468          0x000ff800, 0x00000007, 0x00003ffe, 0x000fffc0, 0x00fffff0,
469          0xfff70000, 0x031c21ff, 0xf83fffff, 0x00001000, 0xffff0000,
470          0x0001ffff, 0x00038000, 0x80000000, 0x0000fc00, 0x06000000,
471          0x3ff78000, 0xc0000000, 0x00030000, 0x00000844, 0x000000f8,
472          0x00000003, 0xfff00000, 0x0000003f, 0x0003ffff, 0x00003fc0,
473          0x000fff80, 0x0000000f, 0xfff80000, 0x00000001, 0x00000020,
474          0x007ffe00, 0x00003008, 0x38000000, 0xc19d0000, 0x00000002,
475          0x0060f800, 0x000037f8, 0x40000000, 0x0000ffff, 0x0000ffff,
476          0xc0000000, 0x20000000, 0x00000001, 0x07c00000, 0x0000f06e,
477          0x87000000, 0x00000060, 0x00000007, 0xff000000, 0x0000007f,
478          0x80000000, 0x00000007, 0x07ff0000, 0x00000007, 0x001fff80,
479          0x00080000, 0x00000007, 0xfff80000, 0x00001c01, 0x40fff000,
480          0x80000000, 0x000007ff, 0x0000000f, 0xd0000000, 0x0080399f,
481          0x001f1fcc, 0xffe00000, 0x0000007f, 0xffff0000, 0x0000000f,
482          0xff3f8000, 0x30000001, 0xffff0000, 0x00000001, 0x00fff800,
483          0xe0000000, 0x00000fff, 0xff7f8000, 0xfffc0000, 0x007ffeff,
484          0x001f0000, 0x007f0000, 0xfffe0000, 0x7fffffff, 0x00078000,
485          0x60000000, 0xf807e3e0, 0x00000fe7, 0x00003c00, 0x0000001c,
486          0xf87fffff, 0x00201fff, 0xf8000010, 0x0000fffe, 0xf9ffff7f,
487          0x000007db, 0x007f0000, 0x000007f0, 0x0000ffff}};
488    /** Code Point Ranges for RI
489    [1f1e6, 1f1ff]**/
490    const UnicodeSet ri_Set
491        {{{Empty, 3983}, {Mixed, 1}, {Empty, 30832}},
492         {0xffffffc0}};
493    /** Code Point Ranges for FO
494    [00ad, 00ad], [0600, 0605], [061c, 061c], [06dd, 06dd], [070f, 070f],
495    [08e2, 08e2], [180e, 180e], [200e, 200f], [202a, 202e], [2060, 2064],
496    [2066, 206f], [feff, feff], [fff9, fffb], [110bd, 110bd],
497    [1bca0, 1bca3], [1d173, 1d17a], [e0001, e0001]**/
498    const UnicodeSet fo_Set
499        {{{Empty, 5}, {Mixed, 1}, {Empty, 42}, {Mixed, 1}, {Empty, 5},
500          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 14}, {Mixed, 1},
501          {Empty, 120}, {Mixed, 1}, {Empty, 63}, {Mixed, 2}, {Empty, 1},
502          {Mixed, 1}, {Empty, 1779}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
503          {Empty, 133}, {Mixed, 1}, {Empty, 1375}, {Mixed, 1}, {Empty, 165},
504          {Mixed, 1}, {Empty, 24948}, {Mixed, 1}, {Empty, 6143}},
505         {0x00002000, 0x1000003f, 0x20000000, 0x00008000, 0x00000004,
506          0x00004000, 0x0000c000, 0x00007c00, 0x0000ffdf, 0x80000000,
507          0x0e000000, 0x20000000, 0x0000000f, 0x07f80000, 0x00000002}};
508    /** Code Point Ranges for KA
509    [3031, 3035], [309b, 309c], [30a0, 30fa], [30fc, 30ff], [31f0, 31ff],
510    [32d0, 32fe], [3300, 3357], [ff66, ff9d], [1b000, 1b000]**/
511    const UnicodeSet ka_Set
512        {{{Empty, 385}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 2},
513          {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 6}, {Mixed, 2},
514          {Full, 2}, {Mixed, 1}, {Empty, 1632}, {Mixed, 2}, {Empty, 1411},
515          {Mixed, 1}, {Empty, 31359}},
516         {0x003e0000, 0x18000000, 0xf7ffffff, 0xffff0000, 0xffff0000,
517          0x7fffffff, 0x00ffffff, 0xffffffc0, 0x3fffffff, 0x00000001}};
518    /** Code Point Ranges for LE
519    [0041, 005a], [0061, 007a], [00aa, 00aa], [00b5, 00b5], [00ba, 00ba],
520    [00c0, 00d6], [00d8, 00f6], [00f8, 02c1], [02c6, 02d1], [02e0, 02e4],
521    [02ec, 02ec], [02ee, 02ee], [0370, 0374], [0376, 0377], [037a, 037d],
522    [037f, 037f], [0386, 0386], [0388, 038a], [038c, 038c], [038e, 03a1],
523    [03a3, 03f5], [03f7, 0481], [048a, 052f], [0531, 0556], [0559, 0559],
524    [0561, 0587], [05f3, 05f3], [0620, 064a], [066e, 066f], [0671, 06d3],
525    [06d5, 06d5], [06e5, 06e6], [06ee, 06ef], [06fa, 06fc], [06ff, 06ff],
526    [0710, 0710], [0712, 072f], [074d, 07a5], [07b1, 07b1], [07ca, 07ea],
527    [07f4, 07f5], [07fa, 07fa], [0800, 0815], [081a, 081a], [0824, 0824],
528    [0828, 0828], [0840, 0858], [08a0, 08b4], [08b6, 08bd], [0904, 0939],
529    [093d, 093d], [0950, 0950], [0958, 0961], [0971, 0980], [0985, 098c],
530    [098f, 0990], [0993, 09a8], [09aa, 09b0], [09b2, 09b2], [09b6, 09b9],
531    [09bd, 09bd], [09ce, 09ce], [09dc, 09dd], [09df, 09e1], [09f0, 09f1],
532    [0a05, 0a0a], [0a0f, 0a10], [0a13, 0a28], [0a2a, 0a30], [0a32, 0a33],
533    [0a35, 0a36], [0a38, 0a39], [0a59, 0a5c], [0a5e, 0a5e], [0a72, 0a74],
534    [0a85, 0a8d], [0a8f, 0a91], [0a93, 0aa8], [0aaa, 0ab0], [0ab2, 0ab3],
535    [0ab5, 0ab9], [0abd, 0abd], [0ad0, 0ad0], [0ae0, 0ae1], [0af9, 0af9],
536    [0b05, 0b0c], [0b0f, 0b10], [0b13, 0b28], [0b2a, 0b30], [0b32, 0b33],
537    [0b35, 0b39], [0b3d, 0b3d], [0b5c, 0b5d], [0b5f, 0b61], [0b71, 0b71],
538    [0b83, 0b83], [0b85, 0b8a], [0b8e, 0b90], [0b92, 0b95], [0b99, 0b9a],
539    [0b9c, 0b9c], [0b9e, 0b9f], [0ba3, 0ba4], [0ba8, 0baa], [0bae, 0bb9],
540    [0bd0, 0bd0], [0c05, 0c0c], [0c0e, 0c10], [0c12, 0c28], [0c2a, 0c39],
541    [0c3d, 0c3d], [0c58, 0c5a], [0c60, 0c61], [0c80, 0c80], [0c85, 0c8c],
542    [0c8e, 0c90], [0c92, 0ca8], [0caa, 0cb3], [0cb5, 0cb9], [0cbd, 0cbd],
543    [0cde, 0cde], [0ce0, 0ce1], [0cf1, 0cf2], [0d05, 0d0c], [0d0e, 0d10],
544    [0d12, 0d3a], [0d3d, 0d3d], [0d4e, 0d4e], [0d54, 0d56], [0d5f, 0d61],
545    [0d7a, 0d7f], [0d85, 0d96], [0d9a, 0db1], [0db3, 0dbb], [0dbd, 0dbd],
546    [0dc0, 0dc6], [0f00, 0f00], [0f40, 0f47], [0f49, 0f6c], [0f88, 0f8c],
547    [10a0, 10c5], [10c7, 10c7], [10cd, 10cd], [10d0, 10fa], [10fc, 1248],
548    [124a, 124d], [1250, 1256], [1258, 1258], [125a, 125d], [1260, 1288],
549    [128a, 128d], [1290, 12b0], [12b2, 12b5], [12b8, 12be], [12c0, 12c0],
550    [12c2, 12c5], [12c8, 12d6], [12d8, 1310], [1312, 1315], [1318, 135a],
551    [1380, 138f], [13a0, 13f5], [13f8, 13fd], [1401, 166c], [166f, 167f],
552    [1681, 169a], [16a0, 16ea], [16ee, 16f8], [1700, 170c], [170e, 1711],
553    [1720, 1731], [1740, 1751], [1760, 176c], [176e, 1770], [1820, 1877],
554    [1880, 1884], [1887, 18a8], [18aa, 18aa], [18b0, 18f5], [1900, 191e],
555    [1a00, 1a16], [1b05, 1b33], [1b45, 1b4b], [1b83, 1ba0], [1bae, 1baf],
556    [1bba, 1be5], [1c00, 1c23], [1c4d, 1c4f], [1c5a, 1c7d], [1c80, 1c88],
557    [1ce9, 1cec], [1cee, 1cf1], [1cf5, 1cf6], [1d00, 1dbf], [1e00, 1f15],
558    [1f18, 1f1d], [1f20, 1f45], [1f48, 1f4d], [1f50, 1f57], [1f59, 1f59],
559    [1f5b, 1f5b], [1f5d, 1f5d], [1f5f, 1f7d], [1f80, 1fb4], [1fb6, 1fbc],
560    [1fbe, 1fbe], [1fc2, 1fc4], [1fc6, 1fcc], [1fd0, 1fd3], [1fd6, 1fdb],
561    [1fe0, 1fec], [1ff2, 1ff4], [1ff6, 1ffc], [2071, 2071], [207f, 207f],
562    [2090, 209c], [2102, 2102], [2107, 2107], [210a, 2113], [2115, 2115],
563    [2119, 211d], [2124, 2124], [2126, 2126], [2128, 2128], [212a, 212d],
564    [212f, 2139], [213c, 213f], [2145, 2149], [214e, 214e], [2160, 2188],
565    [24b6, 24e9], [2c00, 2c2e], [2c30, 2c5e], [2c60, 2ce4], [2ceb, 2cee],
566    [2cf2, 2cf3], [2d00, 2d25], [2d27, 2d27], [2d2d, 2d2d], [2d30, 2d67],
567    [2d6f, 2d6f], [2d80, 2d96], [2da0, 2da6], [2da8, 2dae], [2db0, 2db6],
568    [2db8, 2dbe], [2dc0, 2dc6], [2dc8, 2dce], [2dd0, 2dd6], [2dd8, 2dde],
569    [2e2f, 2e2f], [3005, 3005], [303b, 303c], [3105, 312d], [3131, 318e],
570    [31a0, 31ba], [a000, a48c], [a4d0, a4fd], [a500, a60c], [a610, a61f],
571    [a62a, a62b], [a640, a66e], [a67f, a69d], [a6a0, a6ef], [a717, a71f],
572    [a722, a788], [a78b, a7ae], [a7b0, a7b7], [a7f7, a801], [a803, a805],
573    [a807, a80a], [a80c, a822], [a840, a873], [a882, a8b3], [a8f2, a8f7],
574    [a8fb, a8fb], [a8fd, a8fd], [a90a, a925], [a930, a946], [a960, a97c],
575    [a984, a9b2], [a9cf, a9cf], [aa00, aa28], [aa40, aa42], [aa44, aa4b],
576    [aae0, aaea], [aaf2, aaf4], [ab01, ab06], [ab09, ab0e], [ab11, ab16],
577    [ab20, ab26], [ab28, ab2e], [ab30, ab5a], [ab5c, ab65], [ab70, abe2],
578    [ac00, d7a3], [d7b0, d7c6], [d7cb, d7fb], [fb00, fb06], [fb13, fb17],
579    [fb50, fbb1], [fbd3, fd3d], [fd50, fd8f], [fd92, fdc7], [fdf0, fdfb],
580    [fe70, fe74], [fe76, fefc], [ff21, ff3a], [ff41, ff5a], [ffa0, ffbe],
581    [ffc2, ffc7], [ffca, ffcf], [ffd2, ffd7], [ffda, ffdc], [10000, 1000b],
582    [1000d, 10026], [10028, 1003a], [1003c, 1003d], [1003f, 1004d],
583    [10050, 1005d], [10080, 100fa], [10140, 10174], [10280, 1029c],
584    [102a0, 102d0], [10300, 1031f], [10330, 1034a], [10350, 10375],
585    [10380, 1039d], [103a0, 103c3], [103c8, 103cf], [103d1, 103d5],
586    [10400, 1049d], [104b0, 104d3], [104d8, 104fb], [10500, 10527],
587    [10530, 10563], [10600, 10736], [10740, 10755], [10760, 10767],
588    [10800, 10805], [10808, 10808], [1080a, 10835], [10837, 10838],
589    [1083c, 1083c], [1083f, 10855], [10860, 10876], [10880, 1089e],
590    [108e0, 108f2], [108f4, 108f5], [10900, 10915], [10920, 10939],
591    [10980, 109b7], [109be, 109bf], [10a00, 10a00], [10a10, 10a13],
592    [10a15, 10a17], [10a19, 10a33], [10a60, 10a7c], [10a80, 10a9c],
593    [10ac0, 10ac7], [10ac9, 10ae4], [10b00, 10b35], [10b40, 10b55],
594    [10b60, 10b72], [10b80, 10b91], [10c00, 10c48], [10c80, 10cb2],
595    [10cc0, 10cf2], [11003, 11037], [11083, 110af], [110d0, 110e8],
596    [11103, 11126], [11150, 11172], [11176, 11176], [11183, 111b2],
597    [111c1, 111c4], [111da, 111da], [111dc, 111dc], [11200, 11211],
598    [11213, 1122b], [11280, 11286], [11288, 11288], [1128a, 1128d],
599    [1128f, 1129d], [1129f, 112a8], [112b0, 112de], [11305, 1130c],
600    [1130f, 11310], [11313, 11328], [1132a, 11330], [11332, 11333],
601    [11335, 11339], [1133d, 1133d], [11350, 11350], [1135d, 11361],
602    [11400, 11434], [11447, 1144a], [11480, 114af], [114c4, 114c5],
603    [114c7, 114c7], [11580, 115ae], [115d8, 115db], [11600, 1162f],
604    [11644, 11644], [11680, 116aa], [118a0, 118df], [118ff, 118ff],
605    [11ac0, 11af8], [11c00, 11c08], [11c0a, 11c2e], [11c40, 11c40],
606    [11c72, 11c8f], [12000, 12399], [12400, 1246e], [12480, 12543],
607    [13000, 1342e], [14400, 14646], [16800, 16a38], [16a40, 16a5e],
608    [16ad0, 16aed], [16b00, 16b2f], [16b40, 16b43], [16b63, 16b77],
609    [16b7d, 16b8f], [16f00, 16f44], [16f50, 16f50], [16f93, 16f9f],
610    [16fe0, 16fe0], [1bc00, 1bc6a], [1bc70, 1bc7c], [1bc80, 1bc88],
611    [1bc90, 1bc99], [1d400, 1d454], [1d456, 1d49c], [1d49e, 1d49f],
612    [1d4a2, 1d4a2], [1d4a5, 1d4a6], [1d4a9, 1d4ac], [1d4ae, 1d4b9],
613    [1d4bb, 1d4bb], [1d4bd, 1d4c3], [1d4c5, 1d505], [1d507, 1d50a],
614    [1d50d, 1d514], [1d516, 1d51c], [1d51e, 1d539], [1d53b, 1d53e],
615    [1d540, 1d544], [1d546, 1d546], [1d54a, 1d550], [1d552, 1d6a5],
616    [1d6a8, 1d6c0], [1d6c2, 1d6da], [1d6dc, 1d6fa], [1d6fc, 1d714],
617    [1d716, 1d734], [1d736, 1d74e], [1d750, 1d76e], [1d770, 1d788],
618    [1d78a, 1d7a8], [1d7aa, 1d7c2], [1d7c4, 1d7cb], [1e800, 1e8c4],
619    [1e900, 1e943], [1ee00, 1ee03], [1ee05, 1ee1f], [1ee21, 1ee22],
620    [1ee24, 1ee24], [1ee27, 1ee27], [1ee29, 1ee32], [1ee34, 1ee37],
621    [1ee39, 1ee39], [1ee3b, 1ee3b], [1ee42, 1ee42], [1ee47, 1ee47],
622    [1ee49, 1ee49], [1ee4b, 1ee4b], [1ee4d, 1ee4f], [1ee51, 1ee52],
623    [1ee54, 1ee54], [1ee57, 1ee57], [1ee59, 1ee59], [1ee5b, 1ee5b],
624    [1ee5d, 1ee5d], [1ee5f, 1ee5f], [1ee61, 1ee62], [1ee64, 1ee64],
625    [1ee67, 1ee6a], [1ee6c, 1ee72], [1ee74, 1ee77], [1ee79, 1ee7c],
626    [1ee7e, 1ee7e], [1ee80, 1ee89], [1ee8b, 1ee9b], [1eea1, 1eea3],
627    [1eea5, 1eea9], [1eeab, 1eebb], [1f130, 1f149], [1f150, 1f169],
628    [1f170, 1f189]**/
629    const UnicodeSet le_Set
630        {{{Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 14},
631          {Mixed, 2}, {Empty, 3}, {Mixed, 3}, {Full, 1}, {Mixed, 1},
632          {Full, 4}, {Mixed, 1}, {Full, 4}, {Mixed, 4}, {Empty, 2},
633          {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 2}, {Full, 2},
634          {Mixed, 5}, {Full, 2}, {Mixed, 6}, {Empty, 2}, {Mixed, 1},
635          {Empty, 2}, {Mixed, 23}, {Empty, 1}, {Mixed, 15}, {Empty, 9},
636          {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 8}, {Full, 1},
637          {Mixed, 2}, {Full, 10}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
638          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
639          {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 18}, {Mixed, 2},
640          {Full, 2}, {Mixed, 5}, {Empty, 5}, {Full, 2}, {Mixed, 3},
641          {Full, 1}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 7},
642          {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
643          {Full, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Full, 6},
644          {Empty, 2}, {Full, 8}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
645          {Full, 1}, {Mixed, 3}, {Empty, 3}, {Mixed, 2}, {Empty, 3},
646          {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Empty, 24}, {Mixed, 1},
647          {Full, 1}, {Mixed, 1}, {Empty, 56}, {Full, 1}, {Mixed, 2},
648          {Full, 4}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1},
649          {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 14}, {Mixed, 2},
650          {Empty, 6}, {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Empty, 882},
651          {Full, 36}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 8},
652          {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 3},
653          {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 1},
654          {Mixed, 3}, {Empty, 1}, {Mixed, 8}, {Empty, 1}, {Full, 1},
655          {Mixed, 2}, {Empty, 4}, {Mixed, 5}, {Full, 3}, {Mixed, 1},
656          {Full, 349}, {Mixed, 3}, {Empty, 280}, {Mixed, 1}, {Empty, 1},
657          {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 10}, {Mixed, 2},
658          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 3},
659          {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
660          {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
661          {Full, 3}, {Mixed, 1}, {Empty, 2}, {Full, 1}, {Mixed, 1},
662          {Empty, 8}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
663          {Full, 1}, {Mixed, 4}, {Full, 1}, {Mixed, 1}, {Empty, 1},
664          {Full, 4}, {Mixed, 4}, {Full, 1}, {Mixed, 1}, {Full, 1},
665          {Mixed, 1}, {Empty, 4}, {Full, 9}, {Mixed, 3}, {Empty, 4},
666          {Mixed, 5}, {Empty, 2}, {Mixed, 3}, {Empty, 2}, {Full, 1},
667          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
668          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 4}, {Empty, 3},
669          {Full, 2}, {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 1},
670          {Full, 1}, {Mixed, 1}, {Empty, 24}, {Mixed, 2}, {Empty, 2},
671          {Mixed, 11}, {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 3},
672          {Empty, 1}, {Mixed, 4}, {Empty, 4}, {Full, 1}, {Mixed, 2},
673          {Empty, 1}, {Full, 1}, {Mixed, 2}, {Empty, 5}, {Full, 1},
674          {Mixed, 2}, {Empty, 1}, {Full, 1}, {Mixed, 2}, {Empty, 1},
675          {Full, 1}, {Mixed, 1}, {Empty, 15}, {Full, 2}, {Mixed, 1},
676          {Empty, 14}, {Full, 1}, {Mixed, 1}, {Empty, 8}, {Mixed, 5},
677          {Empty, 27}, {Full, 28}, {Mixed, 1}, {Empty, 3}, {Full, 3},
678          {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Empty, 85}, {Full, 33},
679          {Mixed, 1}, {Empty, 126}, {Full, 18}, {Mixed, 1}, {Empty, 269},
680          {Full, 17}, {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Full, 1},
681          {Mixed, 4}, {Empty, 27}, {Full, 2}, {Mixed, 1}, {Empty, 1},
682          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 608}, {Full, 3},
683          {Mixed, 2}, {Empty, 187}, {Full, 2}, {Mixed, 1}, {Full, 1},
684          {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Full, 10}, {Mixed, 10},
685          {Empty, 129}, {Full, 6}, {Mixed, 1}, {Empty, 1}, {Full, 2},
686          {Mixed, 1}, {Empty, 37}, {Mixed, 6}, {Empty, 19}, {Mixed, 4},
687          {Empty, 30835}},
688         {0x07fffffe, 0x07fffffe, 0x04200400, 0xff7fffff, 0xff7fffff,
689          0x0003ffc3, 0x0000501f, 0xbcdf0000, 0xffffd740, 0xfffffffb,
690          0xffbfffff, 0xfffffc03, 0xfffeffff, 0x027fffff, 0xfffffffe,
691          0x000000ff, 0x00080000, 0x000007ff, 0xfffec000, 0x002fffff,
692          0x9c00c060, 0xfffd0000, 0x0000ffff, 0xffffe000, 0x0002003f,
693          0xfffffc00, 0x043007ff, 0x043fffff, 0x00000110, 0x01ffffff,
694          0x3fdfffff, 0xfffffff0, 0x23ffffff, 0xff010000, 0xfffe0003,
695          0xfff99fe1, 0x23c5fdff, 0xb0004000, 0x00030003, 0xfff987e0,
696          0x036dfdff, 0x5e000000, 0x001c0000, 0xfffbbfe0, 0x23edfdff,
697          0x00010000, 0x02000003, 0xfff99fe0, 0x23edfdff, 0xb0000000,
698          0x00020003, 0xd63dc7e8, 0x03ffc718, 0x00010000, 0xfffddfe0,
699          0x23fffdff, 0x07000000, 0x00000003, 0xfffddfe1, 0x23effdff,
700          0x40000000, 0x00060003, 0xfffddfe0, 0x27ffffff, 0x80704000,
701          0xfc000003, 0xfc7fffe0, 0x2ffbffff, 0x0000007f, 0x00000001,
702          0xfffffeff, 0x00001fff, 0x00001f00, 0xffff20bf, 0xf7ffffff,
703          0x3d7f3dff, 0xffff3dff, 0x7f3dffff, 0xff7fff3d, 0xff3dffff,
704          0x07ffffff, 0x0000ffff, 0x3f3fffff, 0xfffffffe, 0xffff9fff,
705          0x07fffffe, 0x01ffc7ff, 0x0003dfff, 0x0003ffff, 0x0003ffff,
706          0x0001dfff, 0x00ffffff, 0xffffff9f, 0xffff05ff, 0x003fffff,
707          0x7fffffff, 0x007fffff, 0xffffffe0, 0x000fffff, 0x00000fe0,
708          0xfffffff8, 0xfc00c001, 0x0000003f, 0x0000000f, 0xfc00e000,
709          0x3fffffff, 0x000001ff, 0x0063de00, 0x3f3fffff, 0xaaff3f3f,
710          0x3fffffff, 0x5fdfffff, 0x0fcf1fdc, 0x1fdc1fff, 0x80020000,
711          0x1fff0000, 0x3e2ffc84, 0xf3ffbd50, 0x000043e0, 0x000001ff,
712          0xffc00000, 0x000003ff, 0xffff7fff, 0x7fffffff, 0x000c781f,
713          0xffff20bf, 0x000080ff, 0x007fffff, 0x7f7f7f7f, 0x7f7f7f7f,
714          0x00008000, 0x00000020, 0x18000000, 0xffffffe0, 0xfffe3fff,
715          0x00007fff, 0x07ffffff, 0x00001fff, 0xffff0000, 0x3fffffff,
716          0xffff1fff, 0x00000c00, 0x80007fff, 0x3fffffff, 0x0000ffff,
717          0xff800000, 0xfffffffc, 0xfffff9ff, 0x00ff7fff, 0xff800000,
718          0xfffff7bb, 0x00000007, 0x000fffff, 0xfffffffc, 0x000fffff,
719          0x28fc0000, 0xfffffc00, 0xffff003f, 0x0000007f, 0x1fffffff,
720          0xfffffff0, 0x0007ffff, 0x00008000, 0x000001ff, 0x00000ff7,
721          0x001c07ff, 0x007e7e7e, 0xffff7f7f, 0xf7ffffff, 0xffff003f,
722          0x00000007, 0xffff000f, 0xfffff87f, 0x0fffffff, 0x00f8007f,
723          0xffff0000, 0x0003ffff, 0xfff80000, 0x3fffffff, 0xffff0000,
724          0xfffcffff, 0x000000ff, 0x0fff0000, 0xffdf0000, 0x1fffffff,
725          0x07fffffe, 0x07fffffe, 0x7fffffff, 0x1cfcfcfc, 0xffffefff,
726          0xb7ffff7f, 0x3fff3fff, 0x07ffffff, 0x001fffff, 0x1fffffff,
727          0x0001ffff, 0xffff0000, 0xffff07ff, 0x003fffff, 0x3fffffff,
728          0x003eff0f, 0x3fffffff, 0xffff0000, 0xff0fffff, 0x0fffffff,
729          0xffff00ff, 0x0000000f, 0x007fffff, 0x003fffff, 0x000000ff,
730          0xfffffd3f, 0x91bfffff, 0x003fffff, 0x007fffff, 0x7fffffff,
731          0x0037ffff, 0x003fffff, 0x03ffffff, 0xc0ffffff, 0xfeef0001,
732          0x000fffff, 0x1fffffff, 0x1fffffff, 0xfffffeff, 0x0000001f,
733          0x003fffff, 0x003fffff, 0x0007ffff, 0x0003ffff, 0x000001ff,
734          0x0007ffff, 0x0007ffff, 0xfffffff8, 0x00ffffff, 0xfffffff8,
735          0x0000ffff, 0xffff0000, 0x000001ff, 0xfffffff8, 0x0000007f,
736          0xffff0000, 0x0047ffff, 0xfffffff8, 0x0007ffff, 0x1400001e,
737          0xfffbffff, 0x00000fff, 0xbfffbd7f, 0xffff01ff, 0x7fffffff,
738          0xfff99fe0, 0x23edfdff, 0xe0010000, 0x00000003, 0x001fffff,
739          0x00000780, 0x0000ffff, 0x000000b0, 0x00007fff, 0x0f000000,
740          0x0000ffff, 0x00000010, 0x000007ff, 0x80000000, 0x01ffffff,
741          0xfffffdff, 0x00007fff, 0x00000001, 0xfffc0000, 0x0000ffff,
742          0x03ffffff, 0x00007fff, 0x0000000f, 0x00007fff, 0x0000007f,
743          0x01ffffff, 0x7fffffff, 0xffff0000, 0x00003fff, 0x0000ffff,
744          0x0000000f, 0xe0fffff8, 0x0000ffff, 0x0001001f, 0xfff80000,
745          0x00000001, 0x1fff07ff, 0x03ff01ff, 0xffdfffff, 0xdfffffff,
746          0xebffde64, 0xffffffef, 0xdfdfe7bf, 0x7bffffff, 0xfffdfc5f,
747          0xffffff3f, 0xf7fffffd, 0xf7ffffff, 0xffdfffff, 0xffdfffff,
748          0xffff7fff, 0xffff7fff, 0xfffffdff, 0xfffffdff, 0x00000ff7,
749          0x0000001f, 0x0000000f, 0xffffffef, 0x0af7fe96, 0xaa96ea84,
750          0x5ef7f796, 0x0ffffbff, 0x0ffffbee, 0xffff0000, 0xffff03ff,
751          0xffff03ff, 0x000003ff}};
752    /** Code Point Ranges for ML
753    [003a, 003a], [00b7, 00b7], [02d7, 02d7], [0387, 0387], [05f4, 05f4],
754    [2027, 2027], [fe13, fe13], [fe55, fe55], [ff1a, ff1a]**/
755    const UnicodeSet ml_Set
756        {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 16},
757          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 18}, {Mixed, 1},
758          {Empty, 209}, {Mixed, 1}, {Empty, 1774}, {Mixed, 1}, {Empty, 1},
759          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 32775}},
760         {0x04000000, 0x00800000, 0x00800000, 0x00000080, 0x00100000,
761          0x00000080, 0x00080000, 0x00200000, 0x04000000}};
762    /** Code Point Ranges for MN
763    [002c, 002c], [003b, 003b], [037e, 037e], [0589, 0589], [060c, 060d],
764    [066c, 066c], [07f8, 07f8], [2044, 2044], [fe10, fe10], [fe14, fe14],
765    [fe50, fe50], [fe54, fe54], [ff0c, ff0c], [ff1b, ff1b]**/
766    const UnicodeSet mn_Set
767        {{{Empty, 1}, {Mixed, 1}, {Empty, 25}, {Mixed, 1}, {Empty, 16},
768          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
769          {Empty, 11}, {Mixed, 1}, {Empty, 194}, {Mixed, 1}, {Empty, 1773},
770          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
771          {Empty, 32775}},
772         {0x08001000, 0x40000000, 0x00000200, 0x00003000, 0x00001000,
773          0x01000000, 0x00000010, 0x00110000, 0x00110000, 0x08001000}};
774    /** Code Point Ranges for MB
775    [002e, 002e], [2018, 2019], [2024, 2024], [fe52, fe52], [ff07, ff07],
776    [ff0e, ff0e]**/
777    const UnicodeSet mb_Set
778        {{{Empty, 1}, {Mixed, 1}, {Empty, 254}, {Mixed, 2}, {Empty, 1776},
779          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 32775}},
780         {0x00004000, 0x03000000, 0x00000010, 0x00040000, 0x00004080}};
781    /** Code Point Ranges for NU
782    [0030, 0039], [0660, 0669], [066b, 066b], [06f0, 06f9], [07c0, 07c9],
783    [0966, 096f], [09e6, 09ef], [0a66, 0a6f], [0ae6, 0aef], [0b66, 0b6f],
784    [0be6, 0bef], [0c66, 0c6f], [0ce6, 0cef], [0d66, 0d6f], [0de6, 0def],
785    [0e50, 0e59], [0ed0, 0ed9], [0f20, 0f29], [1040, 1049], [1090, 1099],
786    [17e0, 17e9], [1810, 1819], [1946, 194f], [19d0, 19d9], [1a80, 1a89],
787    [1a90, 1a99], [1b50, 1b59], [1bb0, 1bb9], [1c40, 1c49], [1c50, 1c59],
788    [a620, a629], [a8d0, a8d9], [a900, a909], [a9d0, a9d9], [a9f0, a9f9],
789    [aa50, aa59], [abf0, abf9], [104a0, 104a9], [11066, 1106f],
790    [110f0, 110f9], [11136, 1113f], [111d0, 111d9], [112f0, 112f9],
791    [11450, 11459], [114d0, 114d9], [11650, 11659], [116c0, 116c9],
792    [11730, 11739], [118e0, 118e9], [11c50, 11c59], [16a60, 16a69],
793    [16b50, 16b59], [1d7ce, 1d7ff], [1e950, 1e959]**/
794    const UnicodeSet nu_Set
795        {{{Empty, 1}, {Mixed, 1}, {Empty, 49}, {Mixed, 1}, {Empty, 3},
796          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
797          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
798          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
799          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
800          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
801          {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 8},
802          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 58}, {Mixed, 2},
803          {Empty, 9}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 5},
804          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
805          {Empty, 4}, {Mixed, 1}, {Empty, 1102}, {Mixed, 1}, {Empty, 20},
806          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 2},
807          {Empty, 2}, {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 709},
808          {Mixed, 1}, {Empty, 93}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
809          {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 8},
810          {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
811          {Empty, 11}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
812          {Mixed, 1}, {Empty, 13}, {Mixed, 1}, {Empty, 26}, {Mixed, 1},
813          {Empty, 624}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 867},
814          {Mixed, 1}, {Full, 1}, {Empty, 138}, {Mixed, 1}, {Empty, 30901}},
815         {0x03ff0000, 0x00000bff, 0x03ff0000, 0x000003ff, 0x0000ffc0,
816          0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0,
817          0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x03ff0000,
818          0x03ff0000, 0x000003ff, 0x000003ff, 0x03ff0000, 0x000003ff,
819          0x03ff0000, 0x0000ffc0, 0x03ff0000, 0x03ff03ff, 0x03ff0000,
820          0x03ff0000, 0x03ff03ff, 0x000003ff, 0x03ff0000, 0x000003ff,
821          0x03ff0000, 0x03ff0000, 0x03ff0000, 0x03ff0000, 0x000003ff,
822          0x0000ffc0, 0x03ff0000, 0xffc00000, 0x03ff0000, 0x03ff0000,
823          0x03ff0000, 0x03ff0000, 0x03ff0000, 0x000003ff, 0x03ff0000,
824          0x000003ff, 0x03ff0000, 0x000003ff, 0x03ff0000, 0xffffc000,
825          0x03ff0000}};
826    /** Code Point Ranges for EX
827    [005f, 005f], [202f, 202f], [203f, 2040], [2054, 2054], [fe33, fe34],
828    [fe4d, fe4f], [ff3f, ff3f]**/
829    const UnicodeSet ex_Set
830        {{{Empty, 2}, {Mixed, 1}, {Empty, 254}, {Mixed, 2}, {Empty, 1774},
831          {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 32774}},
832         {0x80000000, 0x80008000, 0x00100001, 0x00180000, 0x0000e000,
833          0x80000000}};
834    /** Code Point Ranges for EB
835    [261d, 261d], [26f9, 26f9], [270a, 270d], [1f385, 1f385],
836    [1f3c3, 1f3c4], [1f3ca, 1f3cb], [1f442, 1f443], [1f446, 1f450],
837    [1f46e, 1f46e], [1f470, 1f478], [1f47c, 1f47c], [1f481, 1f483],
838    [1f485, 1f487], [1f4aa, 1f4aa], [1f575, 1f575], [1f57a, 1f57a],
839    [1f590, 1f590], [1f595, 1f596], [1f645, 1f647], [1f64b, 1f64f],
840    [1f6a3, 1f6a3], [1f6b4, 1f6b6], [1f6c0, 1f6c0], [1f918, 1f91e],
841    [1f926, 1f926], [1f930, 1f930], [1f933, 1f939], [1f93c, 1f93e]**/
842    const UnicodeSet eb_Set
843        {{{Empty, 304}, {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 3683},
844          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 4},
845          {Empty, 5}, {Mixed, 2}, {Empty, 5}, {Mixed, 1}, {Empty, 2},
846          {Mixed, 2}, {Empty, 17}, {Mixed, 2}, {Empty, 30774}},
847         {0x20000000, 0x02000000, 0x00003c00, 0x00000020, 0x00000c18,
848          0x0001ffcc, 0x11ff4000, 0x000000ee, 0x00000400, 0x04200000,
849          0x00610000, 0x0000f8e0, 0x00700008, 0x00000001, 0x7f000000,
850          0x73f90040}};
851    /** Code Point Ranges for EM
852    [1f3fb, 1f3ff]**/
853    const UnicodeSet em_Set
854        {{{Empty, 3999}, {Mixed, 1}, {Empty, 30816}},
855         {0xf8000000}};
856    /** Code Point Ranges for ZWJ
857    [200d, 200d]**/
858    const UnicodeSet zwj_Set
859        {{{Empty, 256}, {Mixed, 1}, {Empty, 34559}},
860         {0x00002000}};
861    /** Code Point Ranges for GAZ
862    [2764, 2764], [1f48b, 1f48b], [1f5e8, 1f5e8]**/
863    const UnicodeSet gaz_Set
864        {{{Empty, 315}, {Mixed, 1}, {Empty, 3688}, {Mixed, 1}, {Empty, 10},
865          {Mixed, 1}, {Empty, 30800}},
866         {0x00000010, 0x00000800, 0x00000100}};
867    /** Code Point Ranges for EBG
868    [1f466, 1f469]**/
869    const UnicodeSet ebg_Set
870        {{{Empty, 4003}, {Mixed, 1}, {Empty, 30812}},
871         {0x000003c0}};
872    static EnumeratedPropertyObject property_object
873        {WB,
874         WB_ns::independent_prop_values,
875         WB_ns::enum_names,
876         WB_ns::value_names,
877         WB_ns::aliases_only_map,
878         {&xx_Set, &dq_Set, &sq_Set, &hl_Set, &cr_Set, &lf_Set, &nl_Set,
879        &extend_Set, &ri_Set, &fo_Set, &ka_Set, &le_Set, &ml_Set, &mn_Set,
880        &mb_Set, &nu_Set, &ex_Set, &eb_Set, &em_Set, &zwj_Set, &gaz_Set,
881        &ebg_Set
882         }};
883    }
884}
885
886#endif
Note: See TracBrowser for help on using the repository browser.