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

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

Update to UCD 10.0.0

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