source: icGREP/icgrep-devel/icgrep/UCD/LineBreak.h @ 5672

Last change on this file since 5672 was 5660, checked in by cameron, 23 months ago

UCD corrections and additional properties

File size: 102.8 KB
Line 
1#ifndef LINEBREAK_H
2#define LINEBREAK_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 LB_ns {
18    const unsigned independent_prop_values = 43;
19    /** Code Point Ranges for XX
20    [0378, 0379], [0380, 0383], [038b, 038b], [038d, 038d], [03a2, 03a2],
21    [0530, 0530], [0557, 0558], [0560, 0560], [0588, 0588], [058b, 058c],
22    [0590, 0590], [05c8, 05cf], [05eb, 05ef], [05f5, 05ff], [061d, 061d],
23    [070e, 070e], [074b, 074c], [07b2, 07bf], [07fb, 07ff], [082e, 082f],
24    [083f, 083f], [085c, 085d], [085f, 089f], [08b5, 08b5], [08be, 08d3],
25    [0984, 0984], [098d, 098e], [0991, 0992], [09a9, 09a9], [09b1, 09b1],
26    [09b3, 09b5], [09ba, 09bb], [09c5, 09c6], [09c9, 09ca], [09cf, 09d6],
27    [09d8, 09db], [09de, 09de], [09e4, 09e5], [09fc, 0a00], [0a04, 0a04],
28    [0a0b, 0a0e], [0a11, 0a12], [0a29, 0a29], [0a31, 0a31], [0a34, 0a34],
29    [0a37, 0a37], [0a3a, 0a3b], [0a3d, 0a3d], [0a43, 0a46], [0a49, 0a4a],
30    [0a4e, 0a50], [0a52, 0a58], [0a5d, 0a5d], [0a5f, 0a65], [0a76, 0a80],
31    [0a84, 0a84], [0a8e, 0a8e], [0a92, 0a92], [0aa9, 0aa9], [0ab1, 0ab1],
32    [0ab4, 0ab4], [0aba, 0abb], [0ac6, 0ac6], [0aca, 0aca], [0ace, 0acf],
33    [0ad1, 0adf], [0ae4, 0ae5], [0af2, 0af8], [0afa, 0b00], [0b04, 0b04],
34    [0b0d, 0b0e], [0b11, 0b12], [0b29, 0b29], [0b31, 0b31], [0b34, 0b34],
35    [0b3a, 0b3b], [0b45, 0b46], [0b49, 0b4a], [0b4e, 0b55], [0b58, 0b5b],
36    [0b5e, 0b5e], [0b64, 0b65], [0b78, 0b81], [0b84, 0b84], [0b8b, 0b8d],
37    [0b91, 0b91], [0b96, 0b98], [0b9b, 0b9b], [0b9d, 0b9d], [0ba0, 0ba2],
38    [0ba5, 0ba7], [0bab, 0bad], [0bba, 0bbd], [0bc3, 0bc5], [0bc9, 0bc9],
39    [0bce, 0bcf], [0bd1, 0bd6], [0bd8, 0be5], [0bfb, 0bff], [0c04, 0c04],
40    [0c0d, 0c0d], [0c11, 0c11], [0c29, 0c29], [0c3a, 0c3c], [0c45, 0c45],
41    [0c49, 0c49], [0c4e, 0c54], [0c57, 0c57], [0c5b, 0c5f], [0c64, 0c65],
42    [0c70, 0c77], [0c84, 0c84], [0c8d, 0c8d], [0c91, 0c91], [0ca9, 0ca9],
43    [0cb4, 0cb4], [0cba, 0cbb], [0cc5, 0cc5], [0cc9, 0cc9], [0cce, 0cd4],
44    [0cd7, 0cdd], [0cdf, 0cdf], [0ce4, 0ce5], [0cf0, 0cf0], [0cf3, 0d00],
45    [0d04, 0d04], [0d0d, 0d0d], [0d11, 0d11], [0d3b, 0d3c], [0d45, 0d45],
46    [0d49, 0d49], [0d50, 0d53], [0d64, 0d65], [0d80, 0d81], [0d84, 0d84],
47    [0d97, 0d99], [0db2, 0db2], [0dbc, 0dbc], [0dbe, 0dbf], [0dc7, 0dc9],
48    [0dcb, 0dce], [0dd5, 0dd5], [0dd7, 0dd7], [0de0, 0de5], [0df0, 0df1],
49    [0df5, 0e00], [0e3b, 0e3e], [0e5c, 0e80], [0e83, 0e83], [0e85, 0e86],
50    [0e89, 0e89], [0e8b, 0e8c], [0e8e, 0e93], [0e98, 0e98], [0ea0, 0ea0],
51    [0ea4, 0ea4], [0ea6, 0ea6], [0ea8, 0ea9], [0eac, 0eac], [0eba, 0eba],
52    [0ebe, 0ebf], [0ec5, 0ec5], [0ec7, 0ec7], [0ece, 0ecf], [0eda, 0edb],
53    [0ee0, 0eff], [0f48, 0f48], [0f6d, 0f70], [0f98, 0f98], [0fbd, 0fbd],
54    [0fcd, 0fcd], [0fdb, 0fff], [10c6, 10c6], [10c8, 10cc], [10ce, 10cf],
55    [1249, 1249], [124e, 124f], [1257, 1257], [1259, 1259], [125e, 125f],
56    [1289, 1289], [128e, 128f], [12b1, 12b1], [12b6, 12b7], [12bf, 12bf],
57    [12c1, 12c1], [12c6, 12c7], [12d7, 12d7], [1311, 1311], [1316, 1317],
58    [135b, 135c], [137d, 137f], [139a, 139f], [13f6, 13f7], [13fe, 13ff],
59    [169d, 169f], [16f9, 16ff], [170d, 170d], [1715, 171f], [1737, 173f],
60    [1754, 175f], [176d, 176d], [1771, 1771], [1774, 177f], [17de, 17df],
61    [17ea, 17ef], [17fa, 17ff], [180f, 180f], [181a, 181f], [1878, 187f],
62    [18ab, 18af], [18f6, 18ff], [191f, 191f], [192c, 192f], [193c, 193f],
63    [1941, 1943], [196e, 196f], [1975, 197f], [19ac, 19af], [19ca, 19cf],
64    [19db, 19dd], [1a1c, 1a1d], [1a5f, 1a5f], [1a7d, 1a7e], [1a8a, 1a8f],
65    [1a9a, 1a9f], [1aae, 1aaf], [1abf, 1aff], [1b4c, 1b4f], [1b7d, 1b7f],
66    [1bf4, 1bfb], [1c38, 1c3a], [1c4a, 1c4c], [1c89, 1cbf], [1cc8, 1ccf],
67    [1cf7, 1cf7], [1cfa, 1cff], [1df6, 1dfa], [1f16, 1f17], [1f1e, 1f1f],
68    [1f46, 1f47], [1f4e, 1f4f], [1f58, 1f58], [1f5a, 1f5a], [1f5c, 1f5c],
69    [1f5e, 1f5e], [1f7e, 1f7f], [1fb5, 1fb5], [1fc5, 1fc5], [1fd4, 1fd5],
70    [1fdc, 1fdc], [1ff0, 1ff1], [1ff5, 1ff5], [1fff, 1fff], [2065, 2065],
71    [2072, 2073], [208f, 208f], [209d, 209f], [20f1, 20ff], [218c, 218f],
72    [23ff, 23ff], [2427, 243f], [244b, 245f], [2b74, 2b75], [2b96, 2b97],
73    [2bba, 2bbc], [2bc9, 2bc9], [2bd2, 2beb], [2bf0, 2bff], [2c2f, 2c2f],
74    [2c5f, 2c5f], [2cf4, 2cf8], [2d26, 2d26], [2d28, 2d2c], [2d2e, 2d2f],
75    [2d68, 2d6e], [2d71, 2d7e], [2d97, 2d9f], [2da7, 2da7], [2daf, 2daf],
76    [2db7, 2db7], [2dbf, 2dbf], [2dc7, 2dc7], [2dcf, 2dcf], [2dd7, 2dd7],
77    [2ddf, 2ddf], [2e45, 2e7f], [2e9a, 2e9a], [2ef4, 2eff], [2fd6, 2fef],
78    [2ffc, 2fff], [3040, 3040], [3097, 3098], [3100, 3104], [312e, 3130],
79    [318f, 318f], [31bb, 31bf], [31e4, 31ef], [321f, 321f], [32ff, 32ff],
80    [a48d, a48f], [a4c7, a4cf], [a62c, a63f], [a6f8, a6ff], [a7af, a7af],
81    [a7b8, a7f6], [a82c, a82f], [a83a, a83f], [a878, a87f], [a8c6, a8cd],
82    [a8da, a8df], [a8fe, a8ff], [a954, a95e], [a97d, a97f], [a9ce, a9ce],
83    [a9da, a9dd], [a9ff, a9ff], [aa37, aa3f], [aa4e, aa4f], [aa5a, aa5b],
84    [aac3, aada], [aaf7, ab00], [ab07, ab08], [ab0f, ab10], [ab17, ab1f],
85    [ab27, ab27], [ab2f, ab2f], [ab66, ab6f], [abee, abef], [abfa, abff],
86    [d7a4, d7af], [d7c7, d7ca], [d7fc, d7ff], [e000, f8ff], [fb07, fb12],
87    [fb18, fb1c], [fb37, fb37], [fb3d, fb3d], [fb3f, fb3f], [fb42, fb42],
88    [fb45, fb45], [fbc2, fbd2], [fd40, fd4f], [fd90, fd91], [fdc8, fdef],
89    [fdfe, fdff], [fe1a, fe1f], [fe53, fe53], [fe67, fe67], [fe6c, fe6f],
90    [fe75, fe75], [fefd, fefe], [ff00, ff00], [ffbf, ffc1], [ffc8, ffc9],
91    [ffd0, ffd1], [ffd8, ffd9], [ffdd, ffdf], [ffe7, ffe7], [ffef, fff8],
92    [fffe, ffff], [1000c, 1000c], [10027, 10027], [1003b, 1003b],
93    [1003e, 1003e], [1004e, 1004f], [1005e, 1007f], [100fb, 100ff],
94    [10103, 10106], [10134, 10136], [1018f, 1018f], [1019c, 1019f],
95    [101a1, 101cf], [101fe, 1027f], [1029d, 1029f], [102d1, 102df],
96    [102fc, 102ff], [10324, 1032f], [1034b, 1034f], [1037b, 1037f],
97    [1039e, 1039e], [103c4, 103c7], [103d6, 103ff], [1049e, 1049f],
98    [104aa, 104af], [104d4, 104d7], [104fc, 104ff], [10528, 1052f],
99    [10564, 1056e], [10570, 105ff], [10737, 1073f], [10756, 1075f],
100    [10768, 107ff], [10806, 10807], [10809, 10809], [10836, 10836],
101    [10839, 1083b], [1083d, 1083e], [10856, 10856], [1089f, 108a6],
102    [108b0, 108df], [108f3, 108f3], [108f6, 108fa], [1091c, 1091e],
103    [1093a, 1093e], [10940, 1097f], [109b8, 109bb], [109d0, 109d1],
104    [10a04, 10a04], [10a07, 10a0b], [10a14, 10a14], [10a18, 10a18],
105    [10a34, 10a37], [10a3b, 10a3e], [10a48, 10a4f], [10a59, 10a5f],
106    [10aa0, 10abf], [10ae7, 10aea], [10af7, 10aff], [10b36, 10b38],
107    [10b56, 10b57], [10b73, 10b77], [10b92, 10b98], [10b9d, 10ba8],
108    [10bb0, 10bff], [10c49, 10c7f], [10cb3, 10cbf], [10cf3, 10cf9],
109    [10d00, 10e5f], [10e7f, 10fff], [1104e, 11051], [11070, 1107e],
110    [110c2, 110cf], [110e9, 110ef], [110fa, 110ff], [11135, 11135],
111    [11144, 1114f], [11177, 1117f], [111ce, 111cf], [111e0, 111e0],
112    [111f5, 111ff], [11212, 11212], [1123f, 1127f], [11287, 11287],
113    [11289, 11289], [1128e, 1128e], [1129e, 1129e], [112aa, 112af],
114    [112eb, 112ef], [112fa, 112ff], [11304, 11304], [1130d, 1130e],
115    [11311, 11312], [11329, 11329], [11331, 11331], [11334, 11334],
116    [1133a, 1133b], [11345, 11346], [11349, 1134a], [1134e, 1134f],
117    [11351, 11356], [11358, 1135c], [11364, 11365], [1136d, 1136f],
118    [11375, 113ff], [1145a, 1145a], [1145c, 1145c], [1145e, 1147f],
119    [114c8, 114cf], [114da, 1157f], [115b6, 115b7], [115de, 115ff],
120    [11645, 1164f], [1165a, 1165f], [1166d, 1167f], [116b8, 116bf],
121    [116ca, 116ff], [1171a, 1171c], [1172c, 1172f], [11740, 1189f],
122    [118f3, 118fe], [11900, 11abf], [11af9, 11bff], [11c09, 11c09],
123    [11c37, 11c37], [11c46, 11c4f], [11c6d, 11c6f], [11c90, 11c91],
124    [11ca8, 11ca8], [11cb7, 11fff], [1239a, 123ff], [1246f, 1246f],
125    [12475, 1247f], [12544, 12fff], [1342f, 143ff], [14647, 167ff],
126    [16a39, 16a3f], [16a5f, 16a5f], [16a6a, 16a6d], [16a70, 16acf],
127    [16aee, 16aef], [16af6, 16aff], [16b46, 16b4f], [16b5a, 16b5a],
128    [16b62, 16b62], [16b78, 16b7c], [16b90, 16eff], [16f45, 16f4f],
129    [16f7f, 16f8e], [16fa0, 16fdf], [16fe1, 16fff], [187ed, 187ff],
130    [18af3, 1afff], [1b002, 1bbff], [1bc6b, 1bc6f], [1bc7d, 1bc7f],
131    [1bc89, 1bc8f], [1bc9a, 1bc9b], [1bca4, 1cfff], [1d0f6, 1d0ff],
132    [1d127, 1d128], [1d1e9, 1d1ff], [1d246, 1d2ff], [1d357, 1d35f],
133    [1d372, 1d3ff], [1d455, 1d455], [1d49d, 1d49d], [1d4a0, 1d4a1],
134    [1d4a3, 1d4a4], [1d4a7, 1d4a8], [1d4ad, 1d4ad], [1d4ba, 1d4ba],
135    [1d4bc, 1d4bc], [1d4c4, 1d4c4], [1d506, 1d506], [1d50b, 1d50c],
136    [1d515, 1d515], [1d51d, 1d51d], [1d53a, 1d53a], [1d53f, 1d53f],
137    [1d545, 1d545], [1d547, 1d549], [1d551, 1d551], [1d6a6, 1d6a7],
138    [1d7cc, 1d7cd], [1da8c, 1da9a], [1daa0, 1daa0], [1dab0, 1dfff],
139    [1e007, 1e007], [1e019, 1e01a], [1e022, 1e022], [1e025, 1e025],
140    [1e02b, 1e7ff], [1e8c5, 1e8c6], [1e8d7, 1e8ff], [1e94b, 1e94f],
141    [1e95a, 1e95d], [1e960, 1edff], [1ee04, 1ee04], [1ee20, 1ee20],
142    [1ee23, 1ee23], [1ee25, 1ee26], [1ee28, 1ee28], [1ee33, 1ee33],
143    [1ee38, 1ee38], [1ee3a, 1ee3a], [1ee3c, 1ee41], [1ee43, 1ee46],
144    [1ee48, 1ee48], [1ee4a, 1ee4a], [1ee4c, 1ee4c], [1ee50, 1ee50],
145    [1ee53, 1ee53], [1ee55, 1ee56], [1ee58, 1ee58], [1ee5a, 1ee5a],
146    [1ee5c, 1ee5c], [1ee5e, 1ee5e], [1ee60, 1ee60], [1ee63, 1ee63],
147    [1ee65, 1ee66], [1ee6b, 1ee6b], [1ee73, 1ee73], [1ee78, 1ee78],
148    [1ee7d, 1ee7d], [1ee7f, 1ee7f], [1ee8a, 1ee8a], [1ee9c, 1eea0],
149    [1eea4, 1eea4], [1eeaa, 1eeaa], [1eebc, 1eeef], [1eef2, 1efff],
150    [1fffe, 1ffff], [2fffe, 2ffff], [3fffe, e0000], [e0002, e001f],
151    [e0080, e00ff], [e01f0, 10ffff]**/
152    const UnicodeSet xx_Set
153        {{{Empty, 27}, {Mixed, 3}, {Empty, 11}, {Mixed, 4}, {Empty, 1},
154          {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
155          {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
156          {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Empty, 5}, {Mixed, 39},
157          {Full, 1}, {Mixed, 3}, {Full, 1}, {Empty, 2}, {Mixed, 5},
158          {Full, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
159          {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
160          {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 20}, {Mixed, 1},
161          {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 3}, {Empty, 2},
162          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
163          {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
164          {Mixed, 4}, {Full, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 3},
165          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
166          {Full, 1}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 8},
167          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
168          {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 4},
169          {Mixed, 1}, {Empty, 18}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
170          {Empty, 56}, {Mixed, 5}, {Empty, 1}, {Mixed, 2}, {Empty, 4},
171          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 4},
172          {Empty, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 2},
173          {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
174          {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 2},
175          {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 6}, {Mixed, 1},
176          {Empty, 908}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 10},
177          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
178          {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
179          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
180          {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 3},
181          {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
182          {Empty, 349}, {Mixed, 3}, {Empty, 64}, {Full, 200}, {Empty, 16},
183          {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
184          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
185          {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 4}, {Mixed, 6},
186          {Full, 1}, {Empty, 3}, {Mixed, 3}, {Empty, 2}, {Mixed, 4},
187          {Full, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
188          {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Empty, 4},
189          {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
190          {Full, 4}, {Empty, 9}, {Mixed, 3}, {Full, 4}, {Mixed, 3},
191          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Full, 2},
192          {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2},
193          {Full, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
194          {Full, 2}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 1},
195          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 11}, {Mixed, 1},
196          {Full, 12}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
197          {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 4}, {Full, 2},
198          {Mixed, 2}, {Empty, 1}, {Mixed, 5}, {Full, 4}, {Empty, 2},
199          {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 5},
200          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Empty, 2}, {Mixed, 2},
201          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 11},
202          {Empty, 2}, {Mixed, 1}, {Full, 14}, {Empty, 1}, {Mixed, 1},
203          {Full, 8}, {Mixed, 6}, {Full, 26}, {Empty, 28}, {Mixed, 1},
204          {Full, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
205          {Full, 85}, {Empty, 33}, {Mixed, 1}, {Full, 126}, {Empty, 18},
206          {Mixed, 1}, {Full, 269}, {Empty, 17}, {Mixed, 3}, {Full, 2},
207          {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Full, 27}, {Empty, 2},
208          {Mixed, 3}, {Full, 2}, {Mixed, 1}, {Empty, 191}, {Mixed, 1},
209          {Empty, 23}, {Mixed, 1}, {Full, 296}, {Mixed, 1}, {Full, 95},
210          {Empty, 3}, {Mixed, 3}, {Full, 154}, {Empty, 7}, {Mixed, 1},
211          {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 2},
212          {Mixed, 1}, {Full, 5}, {Empty, 2}, {Mixed, 2}, {Full, 4},
213          {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
214          {Mixed, 3}, {Empty, 10}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
215          {Empty, 21}, {Mixed, 2}, {Full, 42}, {Mixed, 2}, {Full, 62},
216          {Empty, 6}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1},
217          {Full, 37}, {Mixed, 6}, {Full, 1}, {Mixed, 1}, {Full, 8},
218          {Empty, 127}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
219          {Empty, 2047}, {Mixed, 1}, {Full, 20480}, {Mixed, 1}, {Empty, 3},
220          {Full, 4}, {Empty, 7}, {Mixed, 1}, {Full, 6128}},
221         {0x03000000, 0x0000280f, 0x00000004, 0x00010000, 0x01800000,
222          0x00000001, 0x00011900, 0x0000ff00, 0xffe0f800, 0x20000000,
223          0x00004000, 0x00001800, 0xfffc0000, 0xf8000000, 0x8000c000,
224          0xb0000000, 0xc0200000, 0x000fffff, 0x00066010, 0x0c3a0200,
225          0x4f7f8660, 0xf0000030, 0x00067811, 0x2c920200, 0xa1fdc678,
226          0xffc0003f, 0x00044011, 0x0c120200, 0xfffec440, 0xfdfc0030,
227          0x00066011, 0x0c120200, 0x4f3fc660, 0xff000030, 0x29c23813,
228          0x3c0038e7, 0xff7ec238, 0xf800003f, 0x00022010, 0x1c000200,
229          0xf89fc220, 0x00ff0030, 0x00022010, 0x0c100200, 0xbf9fc220,
230          0xfff90030, 0x00022011, 0x18000000, 0x000f0220, 0x00000030,
231          0x03800013, 0xd0040000, 0x00a07b80, 0xffe3003f, 0x00000001,
232          0x78000000, 0xf0000000, 0x010fda69, 0xc4001351, 0x0c00c0a0,
233          0x00000100, 0x0001e000, 0x01000000, 0x20000000, 0xf8002000,
234          0x0000df40, 0xc280c200, 0x0000c200, 0x80c20000, 0x008000c2,
235          0x00c20000, 0x18000000, 0xe0000000, 0xfc000000, 0xc0c00000,
236          0xe0000000, 0xfe000000, 0xffe02000, 0xff800000, 0xfff00000,
237          0xfff22000, 0xc0000000, 0xfc00fc00, 0xfc008000, 0xff000000,
238          0x0000f800, 0xffc00000, 0x80000000, 0xf000f000, 0x0000000e,
239          0xffe0c000, 0x0000f000, 0x3800fc00, 0x30000000, 0x80000000,
240          0x60000000, 0xfc00fc00, 0x8000c000, 0x0000f000, 0xe0000000,
241          0x0ff00000, 0x07000000, 0x00001c00, 0xfffffe00, 0x0000ff00,
242          0xfc800000, 0x07c00000, 0xc0c00000, 0x5500c0c0, 0xc0000000,
243          0x00200000, 0x10300020, 0x80230000, 0x000c0020, 0xe0008000,
244          0xfffe0000, 0x0000f000, 0x80000000, 0xffffff80, 0xfffff800,
245          0x00300000, 0x00c00000, 0x1c000000, 0xfffc0200, 0xffff0fff,
246          0x00008000, 0x80000000, 0x01f00000, 0x0000df40, 0x7ffe7f00,
247          0xff800000, 0x80808080, 0x80808080, 0xffffffe0, 0x04000000,
248          0xfff00000, 0xffc00000, 0xf000ffff, 0x00000001, 0x01800000,
249          0x0000001f, 0x0001c000, 0x00008000, 0xf8000000, 0x0000fff0,
250          0x80000000, 0x80000000, 0x0000e000, 0x0000ff80, 0xfffff000,
251          0xff000000, 0xff008000, 0x007fffff, 0xfc00f000, 0xff000000,
252          0xfc003fc0, 0xc0000000, 0x7ff00000, 0xe0000000, 0x3c004000,
253          0x80000000, 0xff800000, 0x0c00c000, 0x07fffff8, 0xff800000,
254          0xff818181, 0x00008080, 0x0000ffc0, 0xfc00c000, 0x0000fff0,
255          0x00000780, 0xf0000000, 0x1f07ff80, 0xa0800000, 0x00000024,
256          0x0007fffc, 0x0000ffff, 0x00030000, 0xffffff00, 0xc000ffff,
257          0xfc000000, 0x00080000, 0x0020f080, 0x60000000, 0x00000001,
258          0x80000000, 0xe3030303, 0xc1ff8080, 0x00001000, 0x48000080,
259          0xc000c000, 0xf8000000, 0x00000078, 0x00700000, 0xf0008000,
260          0xfffffffe, 0x0000ffff, 0xc0000000, 0xe0000000, 0xfffe0000,
261          0xf0000000, 0x0000fff0, 0x0000f800, 0xf8000000, 0x40000000,
262          0xffc000f0, 0xc0000000, 0x0000fc00, 0x00f00000, 0xf0000000,
263          0x0000ff00, 0xffff7ff0, 0xff800000, 0xffc00000, 0xffffff00,
264          0x000002c0, 0x6e400000, 0x00400000, 0x80000000, 0xffff007f,
265          0x07c80000, 0x70000000, 0x7c000000, 0x0f000000, 0x00030000,
266          0x01100f90, 0x78f00000, 0xfe00ff00, 0xff800780, 0x01c00000,
267          0x00c00000, 0x00f80000, 0xe1fc0000, 0xffff01ff, 0xfffffe00,
268          0xfff80000, 0x03f80000, 0x80000000, 0x0003c000, 0x7fff0000,
269          0x0000fffc, 0xfc00fe00, 0x00200000, 0x0000fff0, 0xff800000,
270          0x0000c000, 0xffe00001, 0x00040000, 0x80000000, 0x40004280,
271          0x0000fc00, 0xfc00f800, 0x00066010, 0x0c120200, 0x1f7ec660,
272          0xffe0e030, 0xd4000000, 0xfc00ff00, 0x00c00000, 0xc0000000,
273          0xfc00ffe0, 0xffffe000, 0xff000000, 0xfffffc00, 0x1c000000,
274          0x0000f000, 0x7ff80000, 0xfe000000, 0x00000200, 0x00800000,
275          0x0000ffc0, 0x0000e000, 0x00030000, 0xff800100, 0xfc000000,
276          0xffe08000, 0xfffffff0, 0xffff8000, 0xffffff80, 0xfe000000,
277          0x80000000, 0xffff3c00, 0x0000ffff, 0xffc0c000, 0x0400ffc0,
278          0x1f000004, 0xffff0000, 0x0000ffe0, 0x80000000, 0x00007fff,
279          0xfffffffe, 0xffffe000, 0xfff80000, 0xfffffffc, 0xe000f800,
280          0x0c00fe00, 0xfffffff0, 0xffc00000, 0x00000180, 0xfffffe00,
281          0xffffffc0, 0xff800000, 0xfffc0000, 0x00200000, 0x20000000,
282          0x1400219b, 0x00000010, 0x20201840, 0x84000000, 0x000203a0,
283          0x000000c0, 0x00003000, 0x07fff000, 0xffff0001, 0x06000080,
284          0xfffff824, 0xff800060, 0x3c00f800, 0x00000010, 0xf5080169,
285          0x5569157b, 0xa1080869, 0xf0000400, 0xf0000411, 0xfffcffff,
286          0xc0000000, 0xc0000000, 0xc0000000, 0xfffffffd, 0xffff0000}};
287    /** Code Point Ranges for CM
288    [0000, 0008], [000e, 001f], [007f, 0084], [0086, 009f], [0300, 034e],
289    [0350, 035b], [0363, 036f], [0483, 0489], [0591, 05bd], [05bf, 05bf],
290    [05c1, 05c2], [05c4, 05c5], [05c7, 05c7], [0610, 061a], [061c, 061c],
291    [064b, 065f], [0670, 0670], [06d6, 06dc], [06df, 06e4], [06e7, 06e8],
292    [06ea, 06ed], [0711, 0711], [0730, 074a], [07a6, 07b0], [07eb, 07f3],
293    [0816, 0819], [081b, 0823], [0825, 0827], [0829, 082d], [0859, 085b],
294    [08d4, 08e1], [08e3, 0903], [093a, 093c], [093e, 094f], [0951, 0957],
295    [0962, 0963], [0981, 0983], [09bc, 09bc], [09be, 09c4], [09c7, 09c8],
296    [09cb, 09cd], [09d7, 09d7], [09e2, 09e3], [0a01, 0a03], [0a3c, 0a3c],
297    [0a3e, 0a42], [0a47, 0a48], [0a4b, 0a4d], [0a51, 0a51], [0a70, 0a71],
298    [0a75, 0a75], [0a81, 0a83], [0abc, 0abc], [0abe, 0ac5], [0ac7, 0ac9],
299    [0acb, 0acd], [0ae2, 0ae3], [0b01, 0b03], [0b3c, 0b3c], [0b3e, 0b44],
300    [0b47, 0b48], [0b4b, 0b4d], [0b56, 0b57], [0b62, 0b63], [0b82, 0b82],
301    [0bbe, 0bc2], [0bc6, 0bc8], [0bca, 0bcd], [0bd7, 0bd7], [0c00, 0c03],
302    [0c3e, 0c44], [0c46, 0c48], [0c4a, 0c4d], [0c55, 0c56], [0c62, 0c63],
303    [0c81, 0c83], [0cbc, 0cbc], [0cbe, 0cc4], [0cc6, 0cc8], [0cca, 0ccd],
304    [0cd5, 0cd6], [0ce2, 0ce3], [0d01, 0d03], [0d3e, 0d44], [0d46, 0d48],
305    [0d4a, 0d4d], [0d57, 0d57], [0d62, 0d63], [0d82, 0d83], [0dca, 0dca],
306    [0dcf, 0dd4], [0dd6, 0dd6], [0dd8, 0ddf], [0df2, 0df3], [0f18, 0f19],
307    [0f35, 0f35], [0f37, 0f37], [0f39, 0f39], [0f3e, 0f3f], [0f71, 0f7e],
308    [0f80, 0f84], [0f86, 0f87], [0f8d, 0f97], [0f99, 0fbc], [0fc6, 0fc6],
309    [135d, 135f], [1712, 1714], [1732, 1734], [1752, 1753], [1772, 1773],
310    [180b, 180d], [1885, 1886], [18a9, 18a9], [1920, 192b], [1930, 193b],
311    [1a17, 1a1b], [1a7f, 1a7f], [1ab0, 1abe], [1b00, 1b04], [1b34, 1b44],
312    [1b6b, 1b73], [1b80, 1b82], [1ba1, 1bad], [1be6, 1bf3], [1c24, 1c37],
313    [1cd0, 1cd2], [1cd4, 1ce8], [1ced, 1ced], [1cf2, 1cf4], [1cf8, 1cf9],
314    [1dc0, 1df5], [1dfb, 1dff], [200c, 200c], [200e, 200f], [202a, 202e],
315    [2066, 206f], [20d0, 20f0], [2cef, 2cf1], [2d7f, 2d7f], [2de0, 2dff],
316    [302a, 302f], [3035, 3035], [3099, 309a], [a66f, a672], [a674, a67d],
317    [a69e, a69f], [a6f0, a6f1], [a802, a802], [a806, a806], [a80b, a80b],
318    [a823, a827], [a880, a881], [a8b4, a8c5], [a8e0, a8f1], [a926, a92d],
319    [a947, a953], [a980, a983], [a9b3, a9c0], [aa29, aa36], [aa43, aa43],
320    [aa4c, aa4d], [aaeb, aaef], [aaf5, aaf6], [abe3, abea], [abec, abed],
321    [fb1e, fb1e], [fe00, fe0f], [fe20, fe2f], [fff9, fffb], [101fd, 101fd],
322    [102e0, 102e0], [10376, 1037a], [10a01, 10a03], [10a05, 10a06],
323    [10a0c, 10a0f], [10a38, 10a3a], [10a3f, 10a3f], [10ae5, 10ae6],
324    [11000, 11002], [11038, 11046], [1107f, 11082], [110b0, 110ba],
325    [11100, 11102], [11127, 11134], [11173, 11173], [11180, 11182],
326    [111b3, 111c0], [111ca, 111cc], [1122c, 11237], [1123e, 1123e],
327    [112df, 112ea], [11300, 11303], [1133c, 1133c], [1133e, 11344],
328    [11347, 11348], [1134b, 1134d], [11357, 11357], [11362, 11363],
329    [11366, 1136c], [11370, 11374], [11435, 11446], [114b0, 114c3],
330    [115af, 115b5], [115b8, 115c0], [115dc, 115dd], [11630, 11640],
331    [116ab, 116b7], [11c2f, 11c36], [11c38, 11c3f], [11c92, 11ca7],
332    [11ca9, 11cb6], [16af0, 16af4], [16b30, 16b36], [16f51, 16f7e],
333    [16f8f, 16f92], [1bc9d, 1bc9e], [1bca0, 1bca3], [1d165, 1d169],
334    [1d16d, 1d182], [1d185, 1d18b], [1d1aa, 1d1ad], [1d242, 1d244],
335    [1da00, 1da36], [1da3b, 1da6c], [1da75, 1da75], [1da84, 1da84],
336    [1da9b, 1da9f], [1daa1, 1daaf], [1e000, 1e006], [1e008, 1e018],
337    [1e01b, 1e021], [1e023, 1e024], [1e026, 1e02a], [1e8d0, 1e8d6],
338    [1e944, 1e94a], [e0001, e0001], [e0020, e007f], [e0100, e01ef]**/
339    const UnicodeSet cm_Set
340        {{{Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 19}, {Full, 2},
341          {Mixed, 2}, {Empty, 8}, {Mixed, 1}, {Empty, 7}, {Mixed, 3},
342          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 2},
343          {Mixed, 5}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 4},
344          {Empty, 3}, {Mixed, 25}, {Empty, 1}, {Mixed, 13}, {Empty, 1},
345          {Mixed, 2}, {Empty, 8}, {Mixed, 2}, {Empty, 1}, {Mixed, 4},
346          {Empty, 27}, {Mixed, 1}, {Empty, 29}, {Mixed, 4}, {Empty, 4},
347          {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
348          {Empty, 6}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
349          {Mixed, 1}, {Empty, 2}, {Mixed, 6}, {Empty, 1}, {Mixed, 1},
350          {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 2}, {Empty, 6},
351          {Full, 1}, {Mixed, 1}, {Empty, 16}, {Mixed, 2}, {Empty, 1},
352          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 95}, {Mixed, 1},
353          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Full, 1}, {Empty, 17},
354          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 942}, {Mixed, 2},
355          {Empty, 2}, {Mixed, 1}, {Empty, 8}, {Mixed, 2}, {Empty, 2},
356          {Mixed, 4}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
357          {Empty, 2}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 7},
358          {Mixed, 1}, {Empty, 632}, {Mixed, 1}, {Empty, 23}, {Mixed, 2},
359          {Empty, 13}, {Mixed, 1}, {Empty, 15}, {Mixed, 1}, {Empty, 7},
360          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 52}, {Mixed, 2},
361          {Empty, 5}, {Mixed, 1}, {Empty, 40}, {Mixed, 6}, {Empty, 2},
362          {Mixed, 2}, {Empty, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 1},
363          {Empty, 4}, {Mixed, 6}, {Empty, 5}, {Mixed, 2}, {Empty, 2},
364          {Mixed, 2}, {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
365          {Empty, 2}, {Mixed, 1}, {Empty, 43}, {Mixed, 1}, {Empty, 2},
366          {Mixed, 2}, {Empty, 625}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
367          {Empty, 32}, {Mixed, 3}, {Empty, 615}, {Mixed, 2}, {Empty, 165},
368          {Mixed, 3}, {Empty, 4}, {Mixed, 1}, {Empty, 61}, {Full, 1},
369          {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 42}, {Mixed, 2},
370          {Empty, 68}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 24757},
371          {Mixed, 1}, {Full, 3}, {Empty, 4}, {Full, 7}, {Mixed, 1},
372          {Empty, 6128}},
373         {0xffffc1ff, 0x80000000, 0xffffffdf, 0x0fff7fff, 0x0000fff8,
374          0x000003f8, 0xfffe0000, 0xbfffffff, 0x000000b6, 0x17ff0000,
375          0xfffff800, 0x00010000, 0x9fc00000, 0x00003d9f, 0x00020000,
376          0xffff0000, 0x000007ff, 0x0001ffc0, 0x000ff800, 0xfbc00000,
377          0x00003eef, 0x0e000000, 0xfff00000, 0xfffffffb, 0x0000000f,
378          0xdc000000, 0x00feffff, 0x0000000c, 0x0000000e, 0xd0000000,
379          0x0080399f, 0x0000000c, 0x0000000e, 0xd0000000, 0x00023987,
380          0x00230000, 0x0000000e, 0xd0000000, 0x00003bbf, 0x0000000c,
381          0x0000000e, 0xd0000000, 0x00c0399f, 0x0000000c, 0x00000004,
382          0xc0000000, 0x00803dc7, 0x0000000f, 0xc0000000, 0x00603ddf,
383          0x0000000c, 0x0000000e, 0xd0000000, 0x00603ddf, 0x0000000c,
384          0x0000000e, 0xc0000000, 0x00803ddf, 0x0000000c, 0x0000000c,
385          0xff5f8400, 0x000c0000, 0x03000000, 0xc2a00000, 0x7ffe0000,
386          0xfeffe0df, 0x1fffffff, 0x00000040, 0xe0000000, 0x001c0000,
387          0x001c0000, 0x000c0000, 0x000c0000, 0x00003800, 0x00000060,
388          0x00000200, 0x0fff0fff, 0x0f800000, 0x80000000, 0x7fff0000,
389          0x0000001f, 0xfff00000, 0x0000001f, 0x000ff800, 0x00000007,
390          0x00003ffe, 0x000fffc0, 0x00fffff0, 0xfff70000, 0x031c21ff,
391          0xf83fffff, 0x0000d000, 0x00007c00, 0x0000ffc0, 0xffff0000,
392          0x0001ffff, 0x00038000, 0x80000000, 0x0020fc00, 0x06000000,
393          0x3ff78000, 0xc0000000, 0x00030000, 0x00000844, 0x000000f8,
394          0x00000003, 0xfff00000, 0x0000003f, 0x0003ffff, 0x00003fc0,
395          0x000fff80, 0x0000000f, 0xfff80000, 0x00000001, 0x007ffe00,
396          0x00003008, 0x0060f800, 0x000037f8, 0x40000000, 0x0000ffff,
397          0x0000ffff, 0x0e000000, 0x20000000, 0x00000001, 0x07c00000,
398          0x0000f06e, 0x87000000, 0x00000060, 0x00000007, 0xff000000,
399          0x0000007f, 0x80000000, 0x00000007, 0x07ff0000, 0x00000007,
400          0x001fff80, 0x00080000, 0x00000007, 0xfff80000, 0x00001c01,
401          0x40fff000, 0x80000000, 0x000007ff, 0x0000000f, 0xd0000000,
402          0x0080399f, 0x001f1fcc, 0xffe00000, 0x0000007f, 0xffff0000,
403          0x0000000f, 0xff3f8000, 0x30000001, 0xffff0000, 0x00000001,
404          0x00fff800, 0xff7f8000, 0xfffc0000, 0x007ffeff, 0x001f0000,
405          0x007f0000, 0xfffe0000, 0x7fffffff, 0x00078000, 0x60000000,
406          0x0000000f, 0xffffe3e0, 0x00000fe7, 0x00003c00, 0x0000001c,
407          0xf87fffff, 0x00201fff, 0xf8000010, 0x0000fffe, 0xf9ffff7f,
408          0x000007db, 0x007f0000, 0x000007f0, 0x00000002, 0x0000ffff}};
409    /** Code Point Ranges for BA
410    [0009, 0009], [007c, 007c], [00ad, 00ad], [058a, 058a], [05be, 05be],
411    [0964, 0965], [0e5a, 0e5b], [0f0b, 0f0b], [0f34, 0f34], [0f7f, 0f7f],
412    [0f85, 0f85], [0fbe, 0fbf], [0fd2, 0fd2], [104a, 104b], [1361, 1361],
413    [1400, 1400], [1680, 1680], [16eb, 16ed], [1735, 1736], [17d4, 17d5],
414    [17d8, 17d8], [17da, 17da], [1804, 1805], [1b5a, 1b5b], [1b5d, 1b60],
415    [1c3b, 1c3f], [1c7e, 1c7f], [2000, 2006], [2008, 200a], [2010, 2010],
416    [2012, 2013], [2027, 2027], [2056, 2056], [2058, 205b], [205d, 205f],
417    [2cfa, 2cfc], [2cff, 2cff], [2d70, 2d70], [2e0e, 2e15], [2e17, 2e17],
418    [2e19, 2e19], [2e2a, 2e2d], [2e30, 2e31], [2e33, 2e34], [2e3c, 2e3e],
419    [2e40, 2e41], [2e43, 2e44], [3000, 3000], [a4fe, a4ff], [a60d, a60d],
420    [a60f, a60f], [a6f3, a6f7], [a8ce, a8cf], [a92e, a92f], [a9c7, a9c9],
421    [aa5d, aa5f], [aaf0, aaf1], [abeb, abeb], [10100, 10102],
422    [1039f, 1039f], [103d0, 103d0], [10857, 10857], [1091f, 1091f],
423    [10a50, 10a57], [10af0, 10af5], [10b39, 10b3f], [11047, 11048],
424    [110be, 110c1], [11140, 11143], [111c5, 111c6], [111c8, 111c8],
425    [111dd, 111df], [11238, 11239], [1123b, 1123c], [112a9, 112a9],
426    [1144b, 1144e], [1145b, 1145b], [115c2, 115c3], [115c9, 115d7],
427    [11641, 11642], [1173c, 1173e], [11c41, 11c45], [12470, 12474],
428    [16a6e, 16a6f], [16af5, 16af5], [16b37, 16b39], [16b44, 16b44],
429    [1bc9f, 1bc9f], [1da87, 1da8a]**/
430    const UnicodeSet ba_Set
431        {{{Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
432          {Empty, 38}, {Mixed, 2}, {Empty, 29}, {Mixed, 1}, {Empty, 38},
433          {Mixed, 1}, {Empty, 5}, {Mixed, 2}, {Empty, 1}, {Mixed, 4},
434          {Empty, 3}, {Mixed, 1}, {Empty, 24}, {Mixed, 1}, {Empty, 4},
435          {Mixed, 1}, {Empty, 19}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
436          {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1},
437          {Mixed, 1}, {Empty, 25}, {Mixed, 2}, {Empty, 5}, {Mixed, 1},
438          {Empty, 1}, {Mixed, 1}, {Empty, 28}, {Mixed, 3}, {Empty, 100},
439          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 4}, {Mixed, 3},
440          {Empty, 13}, {Mixed, 1}, {Empty, 934}, {Mixed, 1}, {Empty, 8},
441          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 14}, {Mixed, 1},
442          {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 3},
443          {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
444          {Empty, 680}, {Mixed, 1}, {Empty, 19}, {Mixed, 1}, {Empty, 1},
445          {Mixed, 1}, {Empty, 35}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
446          {Empty, 9}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1},
447          {Mixed, 1}, {Empty, 40}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
448          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
449          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
450          {Empty, 11}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 6},
451          {Mixed, 1}, {Empty, 40}, {Mixed, 1}, {Empty, 64}, {Mixed, 1},
452          {Empty, 559}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
453          {Mixed, 2}, {Empty, 649}, {Mixed, 1}, {Empty, 239}, {Mixed, 1},
454          {Empty, 31019}},
455         {0x00000200, 0x10000000, 0x00002000, 0x00000400, 0x40000000,
456          0x00000030, 0x0c000000, 0x00000800, 0x00100000, 0x80000000,
457          0x00000020, 0xc0000000, 0x00040000, 0x00000c00, 0x00000002,
458          0x00000001, 0x00000001, 0x00003800, 0x00600000, 0x05300000,
459          0x00000030, 0xec000000, 0x00000001, 0xf8000000, 0xc0000000,
460          0x000d077f, 0x00000080, 0xef400000, 0x9c000000, 0x00010000,
461          0x02bfc000, 0x701b3c00, 0x0000001b, 0x00000001, 0xc0000000,
462          0x0000a000, 0x00f80000, 0x0000c000, 0x0000c000, 0x00000380,
463          0xe0000000, 0x00030000, 0x00000800, 0x00000007, 0x80000000,
464          0x00010000, 0x00800000, 0x80000000, 0x00ff0000, 0x003f0000,
465          0xfe000000, 0x00000180, 0xc0000000, 0x00000003, 0x0000000f,
466          0xe0000160, 0x1b000000, 0x00000200, 0x08007800, 0x00fffe0c,
467          0x00000006, 0x70000000, 0x0000003e, 0x001f0000, 0x0000c000,
468          0x00200000, 0x03800000, 0x00000010, 0x80000000, 0x00000780}};
469    /** Code Point Ranges for LF
470    [000a, 000a]**/
471    const UnicodeSet lf_Set
472        {{{Mixed, 1}, {Empty, 34815}},
473         {0x00000400}};
474    /** Code Point Ranges for BK
475    [000b, 000c], [2028, 2029]**/
476    const UnicodeSet bk_Set
477        {{{Mixed, 1}, {Empty, 256}, {Mixed, 1}, {Empty, 34558}},
478         {0x00001800, 0x00000300}};
479    /** Code Point Ranges for CR
480    [000d, 000d]**/
481    const UnicodeSet cr_Set
482        {{{Mixed, 1}, {Empty, 34815}},
483         {0x00002000}};
484    /** Code Point Ranges for SP
485    [0020, 0020]**/
486    const UnicodeSet sp_Set
487        {{{Empty, 1}, {Mixed, 1}, {Empty, 34814}},
488         {0x00000001}};
489    /** Code Point Ranges for EX
490    [0021, 0021], [003f, 003f], [05c6, 05c6], [061b, 061b], [061e, 061f],
491    [06d4, 06d4], [07f9, 07f9], [0f0d, 0f11], [0f14, 0f14], [1802, 1803],
492    [1808, 1809], [1944, 1945], [2762, 2763], [2cf9, 2cf9], [2cfe, 2cfe],
493    [2e2e, 2e2e], [a60e, a60e], [a876, a877], [fe15, fe16], [fe56, fe57],
494    [ff01, ff01], [ff1f, ff1f], [115c4, 115c5], [11c71, 11c71]**/
495    const UnicodeSet ex_Set
496        {{{Empty, 1}, {Mixed, 1}, {Empty, 44}, {Mixed, 1}, {Empty, 1},
497          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
498          {Empty, 56}, {Mixed, 1}, {Empty, 71}, {Mixed, 1}, {Empty, 9},
499          {Mixed, 1}, {Empty, 112}, {Mixed, 1}, {Empty, 43}, {Mixed, 1},
500          {Empty, 9}, {Mixed, 1}, {Empty, 958}, {Mixed, 1}, {Empty, 18},
501          {Mixed, 1}, {Empty, 684}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
502          {Empty, 5}, {Mixed, 1}, {Empty, 181}, {Mixed, 1}, {Empty, 52},
503          {Mixed, 1}, {Empty, 32540}},
504         {0x80000002, 0x00000040, 0xc8000000, 0x00100000, 0x02000000,
505          0x0013e000, 0x0000030c, 0x00000030, 0x0000000c, 0x42000000,
506          0x00004000, 0x00004000, 0x00c00000, 0x00600000, 0x00c00000,
507          0x80000002, 0x00000030, 0x00020000}};
508    /** Code Point Ranges for QU
509    [0022, 0022], [0027, 0027], [00ab, 00ab], [00bb, 00bb], [2018, 2019],
510    [201b, 201d], [201f, 201f], [2039, 203a], [275b, 2760], [2e00, 2e0d],
511    [2e1c, 2e1d], [2e20, 2e21], [1f676, 1f678]**/
512    const UnicodeSet qu_Set
513        {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 250},
514          {Mixed, 2}, {Empty, 56}, {Mixed, 2}, {Empty, 52}, {Mixed, 2},
515          {Empty, 3649}, {Mixed, 1}, {Empty, 30796}},
516         {0x00000084, 0x08000800, 0xbb000000, 0x06000000, 0xf8000000,
517          0x00000001, 0x30003fff, 0x00000003, 0x01c00000}};
518    /** Code Point Ranges for AL
519    [0023, 0023], [0026, 0026], [002a, 002a], [003c, 003e], [0040, 005a],
520    [005e, 007a], [007e, 007e], [00a6, 00a6], [00a9, 00a9], [00ac, 00ac],
521    [00ae, 00af], [00b5, 00b5], [00c0, 00d6], [00d8, 00f6], [00f8, 02c6],
522    [02ce, 02cf], [02d1, 02d7], [02dc, 02dc], [02de, 02de], [02e0, 02ff],
523    [0370, 0377], [037a, 037d], [037f, 037f], [0384, 038a], [038c, 038c],
524    [038e, 03a1], [03a3, 0482], [048a, 052f], [0531, 0556], [0559, 055f],
525    [0561, 0587], [058d, 058e], [05c0, 05c0], [05c3, 05c3], [05f3, 05f4],
526    [0600, 0608], [060e, 060f], [0620, 064a], [066d, 066f], [0671, 06d3],
527    [06d5, 06d5], [06dd, 06de], [06e5, 06e6], [06e9, 06e9], [06ee, 06ef],
528    [06fa, 070d], [070f, 0710], [0712, 072f], [074d, 07a5], [07b1, 07b1],
529    [07ca, 07ea], [07f4, 07f7], [07fa, 07fa], [0800, 0815], [081a, 081a],
530    [0824, 0824], [0828, 0828], [0830, 083e], [0840, 0858], [085e, 085e],
531    [08a0, 08b4], [08b6, 08bd], [08e2, 08e2], [0904, 0939], [093d, 093d],
532    [0950, 0950], [0958, 0961], [0970, 0980], [0985, 098c], [098f, 0990],
533    [0993, 09a8], [09aa, 09b0], [09b2, 09b2], [09b6, 09b9], [09bd, 09bd],
534    [09ce, 09ce], [09dc, 09dd], [09df, 09e1], [09f0, 09f1], [09f4, 09f8],
535    [09fa, 09fa], [0a05, 0a0a], [0a0f, 0a10], [0a13, 0a28], [0a2a, 0a30],
536    [0a32, 0a33], [0a35, 0a36], [0a38, 0a39], [0a59, 0a5c], [0a5e, 0a5e],
537    [0a72, 0a74], [0a85, 0a8d], [0a8f, 0a91], [0a93, 0aa8], [0aaa, 0ab0],
538    [0ab2, 0ab3], [0ab5, 0ab9], [0abd, 0abd], [0ad0, 0ad0], [0ae0, 0ae1],
539    [0af0, 0af0], [0af9, 0af9], [0b05, 0b0c], [0b0f, 0b10], [0b13, 0b28],
540    [0b2a, 0b30], [0b32, 0b33], [0b35, 0b39], [0b3d, 0b3d], [0b5c, 0b5d],
541    [0b5f, 0b61], [0b70, 0b77], [0b83, 0b83], [0b85, 0b8a], [0b8e, 0b90],
542    [0b92, 0b95], [0b99, 0b9a], [0b9c, 0b9c], [0b9e, 0b9f], [0ba3, 0ba4],
543    [0ba8, 0baa], [0bae, 0bb9], [0bd0, 0bd0], [0bf0, 0bf8], [0bfa, 0bfa],
544    [0c05, 0c0c], [0c0e, 0c10], [0c12, 0c28], [0c2a, 0c39], [0c3d, 0c3d],
545    [0c58, 0c5a], [0c60, 0c61], [0c78, 0c80], [0c85, 0c8c], [0c8e, 0c90],
546    [0c92, 0ca8], [0caa, 0cb3], [0cb5, 0cb9], [0cbd, 0cbd], [0cde, 0cde],
547    [0ce0, 0ce1], [0cf1, 0cf2], [0d05, 0d0c], [0d0e, 0d10], [0d12, 0d3a],
548    [0d3d, 0d3d], [0d4e, 0d4f], [0d54, 0d56], [0d58, 0d61], [0d70, 0d78],
549    [0d7a, 0d7f], [0d85, 0d96], [0d9a, 0db1], [0db3, 0dbb], [0dbd, 0dbd],
550    [0dc0, 0dc6], [0df4, 0df4], [0e4f, 0e4f], [0f00, 0f00], [0f05, 0f05],
551    [0f13, 0f13], [0f15, 0f17], [0f1a, 0f1f], [0f2a, 0f33], [0f36, 0f36],
552    [0f38, 0f38], [0f40, 0f47], [0f49, 0f6c], [0f88, 0f8c], [0fc0, 0fc5],
553    [0fc7, 0fcc], [0fce, 0fcf], [0fd4, 0fd8], [104c, 104f], [10a0, 10c5],
554    [10c7, 10c7], [10cd, 10cd], [10d0, 10ff], [1200, 1248], [124a, 124d],
555    [1250, 1256], [1258, 1258], [125a, 125d], [1260, 1288], [128a, 128d],
556    [1290, 12b0], [12b2, 12b5], [12b8, 12be], [12c0, 12c0], [12c2, 12c5],
557    [12c8, 12d6], [12d8, 1310], [1312, 1315], [1318, 135a], [1360, 1360],
558    [1362, 137c], [1380, 1399], [13a0, 13f5], [13f8, 13fd], [1401, 167f],
559    [1681, 169a], [16a0, 16ea], [16ee, 16f8], [1700, 170c], [170e, 1711],
560    [1720, 1731], [1740, 1751], [1760, 176c], [176e, 1770], [17d9, 17d9],
561    [17f0, 17f9], [1800, 1801], [1807, 1807], [180a, 180a], [1820, 1877],
562    [1880, 1884], [1887, 18a8], [18aa, 18aa], [18b0, 18f5], [1900, 191e],
563    [1940, 1940], [19e0, 1a16], [1a1e, 1a1f], [1b05, 1b33], [1b45, 1b4b],
564    [1b5c, 1b5c], [1b61, 1b6a], [1b74, 1b7c], [1b83, 1ba0], [1bae, 1baf],
565    [1bba, 1be5], [1bfc, 1c23], [1c4d, 1c4f], [1c5a, 1c7d], [1c80, 1c88],
566    [1cc0, 1cc7], [1cd3, 1cd3], [1ce9, 1cec], [1cee, 1cf1], [1cf5, 1cf6],
567    [1d00, 1dbf], [1e00, 1f15], [1f18, 1f1d], [1f20, 1f45], [1f48, 1f4d],
568    [1f50, 1f57], [1f59, 1f59], [1f5b, 1f5b], [1f5d, 1f5d], [1f5f, 1f7d],
569    [1f80, 1fb4], [1fb6, 1fc4], [1fc6, 1fd3], [1fd6, 1fdb], [1fdd, 1fef],
570    [1ff2, 1ff4], [1ff6, 1ffc], [1ffe, 1ffe], [2017, 2017], [2022, 2023],
571    [2038, 2038], [203e, 2043], [204a, 2055], [2057, 2057], [205c, 205c],
572    [2061, 2064], [2070, 2071], [2075, 207c], [2080, 2080], [2085, 208c],
573    [2090, 209c], [2100, 2102], [2104, 2104], [2106, 2108], [210a, 2112],
574    [2114, 2115], [2117, 2120], [2123, 212a], [212c, 2153], [2156, 215a],
575    [215c, 215d], [215f, 215f], [216c, 216f], [217a, 2188], [218a, 218b],
576    [219a, 21d1], [21d3, 21d3], [21d5, 21ff], [2201, 2201], [2204, 2206],
577    [2209, 220a], [220c, 220e], [2210, 2210], [2214, 2214], [2216, 2219],
578    [221b, 221c], [2221, 2222], [2224, 2224], [2226, 2226], [222d, 222d],
579    [222f, 2233], [2238, 223b], [223e, 2247], [2249, 224b], [224d, 2251],
580    [2253, 225f], [2262, 2263], [2268, 2269], [226c, 226d], [2270, 2281],
581    [2284, 2285], [2288, 2294], [2296, 2298], [229a, 22a4], [22a6, 22be],
582    [22c0, 22ee], [22f0, 2307], [230c, 2311], [2313, 2319], [231c, 2328],
583    [232b, 23ef], [23f4, 23fe], [2400, 2426], [2440, 244a], [24ff, 24ff],
584    [254c, 254f], [2575, 257f], [2590, 2591], [2596, 259f], [25a2, 25a2],
585    [25aa, 25b1], [25b4, 25b5], [25b8, 25bb], [25be, 25bf], [25c2, 25c5],
586    [25c9, 25ca], [25cc, 25cd], [25d2, 25e1], [25e6, 25ee], [25f0, 25ff],
587    [2604, 2604], [2607, 2608], [260a, 260d], [2610, 2613], [2619, 2619],
588    [2620, 2638], [263c, 263f], [2641, 2641], [2643, 265f], [2662, 2662],
589    [2666, 2666], [266b, 266b], [266e, 266e], [2670, 267e], [2680, 269d],
590    [26a0, 26bc], [26ce, 26ce], [26e2, 26e2], [26e4, 26e7], [2705, 2707],
591    [270e, 2756], [2758, 275a], [2761, 2761], [2765, 2767], [2794, 27c4],
592    [27c7, 27e5], [27f0, 2982], [2999, 29d7], [29dc, 29fb], [29fe, 2b54],
593    [2b5a, 2b73], [2b76, 2b95], [2b98, 2bb9], [2bbd, 2bc8], [2bca, 2bd1],
594    [2bec, 2bef], [2c00, 2c2e], [2c30, 2c5e], [2c60, 2cee], [2cf2, 2cf3],
595    [2cfd, 2cfd], [2d00, 2d25], [2d27, 2d27], [2d2d, 2d2d], [2d30, 2d67],
596    [2d6f, 2d6f], [2d80, 2d96], [2da0, 2da6], [2da8, 2dae], [2db0, 2db6],
597    [2db8, 2dbe], [2dc0, 2dc6], [2dc8, 2dce], [2dd0, 2dd6], [2dd8, 2dde],
598    [2e16, 2e16], [2e1a, 2e1b], [2e1e, 2e1f], [2e2f, 2e2f], [2e32, 2e32],
599    [2e35, 2e39], [2e3f, 2e3f], [4dc0, 4dff], [a4d0, a4fd], [a500, a60c],
600    [a610, a61f], [a62a, a62b], [a640, a66e], [a673, a673], [a67e, a69d],
601    [a6a0, a6ef], [a6f2, a6f2], [a700, a7ae], [a7b0, a7b7], [a7f7, a801],
602    [a803, a805], [a807, a80a], [a80c, a822], [a828, a82b], [a830, a837],
603    [a839, a839], [a840, a873], [a882, a8b3], [a8f2, a8fb], [a8fd, a8fd],
604    [a90a, a925], [a930, a946], [a95f, a95f], [a984, a9b2], [a9c1, a9c6],
605    [a9ca, a9cd], [a9cf, a9cf], [a9de, a9df], [aa00, aa28], [aa40, aa42],
606    [aa44, aa4b], [aa5c, aa5c], [aae0, aaea], [aaf2, aaf4], [ab01, ab06],
607    [ab09, ab0e], [ab11, ab16], [ab20, ab26], [ab28, ab2e], [ab30, ab65],
608    [ab70, abe2], [fb00, fb06], [fb13, fb17], [fb29, fb29], [fb50, fbc1],
609    [fbd3, fd3d], [fd50, fd8f], [fd92, fdc7], [fdf0, fdfb], [fdfd, fdfd],
610    [fe70, fe74], [fe76, fefc], [ffe8, ffee], [10000, 1000b],
611    [1000d, 10026], [10028, 1003a], [1003c, 1003d], [1003f, 1004d],
612    [10050, 1005d], [10080, 100fa], [10107, 10133], [10137, 1018e],
613    [10190, 1019b], [101a0, 101a0], [101d0, 101fc], [10280, 1029c],
614    [102a0, 102d0], [102e1, 102fb], [10300, 10323], [10330, 1034a],
615    [10350, 10375], [10380, 1039d], [103a0, 103c3], [103c8, 103cf],
616    [103d1, 103d5], [10400, 1049d], [104b0, 104d3], [104d8, 104fb],
617    [10500, 10527], [10530, 10563], [1056f, 1056f], [10600, 10736],
618    [10740, 10755], [10760, 10767], [10800, 10805], [10808, 10808],
619    [1080a, 10835], [10837, 10838], [1083c, 1083c], [1083f, 10855],
620    [10858, 1089e], [108a7, 108af], [108e0, 108f2], [108f4, 108f5],
621    [108fb, 1091b], [10920, 10939], [1093f, 1093f], [10980, 109b7],
622    [109bc, 109cf], [109d2, 10a00], [10a10, 10a13], [10a15, 10a17],
623    [10a19, 10a33], [10a40, 10a47], [10a58, 10a58], [10a60, 10a9f],
624    [10ac0, 10ae4], [10aeb, 10aef], [10b00, 10b35], [10b40, 10b55],
625    [10b58, 10b72], [10b78, 10b91], [10b99, 10b9c], [10ba9, 10baf],
626    [10c00, 10c48], [10c80, 10cb2], [10cc0, 10cf2], [10cfa, 10cff],
627    [10e60, 10e7e], [11003, 11037], [11049, 1104d], [11052, 11065],
628    [11083, 110af], [110bb, 110bd], [110d0, 110e8], [11103, 11126],
629    [11150, 11172], [11174, 11174], [11176, 11176], [11183, 111b2],
630    [111c1, 111c4], [111c7, 111c7], [111c9, 111c9], [111cd, 111cd],
631    [111da, 111da], [111dc, 111dc], [111e1, 111f4], [11200, 11211],
632    [11213, 1122b], [1123a, 1123a], [1123d, 1123d], [11280, 11286],
633    [11288, 11288], [1128a, 1128d], [1128f, 1129d], [1129f, 112a8],
634    [112b0, 112de], [11305, 1130c], [1130f, 11310], [11313, 11328],
635    [1132a, 11330], [11332, 11333], [11335, 11339], [1133d, 1133d],
636    [11350, 11350], [1135d, 11361], [11400, 11434], [11447, 1144a],
637    [1144f, 1144f], [1145d, 1145d], [11480, 114af], [114c4, 114c7],
638    [11580, 115ae], [115c6, 115c8], [115d8, 115db], [11600, 1162f],
639    [11643, 11644], [11680, 116aa], [118a0, 118df], [118ea, 118f2],
640    [118ff, 118ff], [11ac0, 11af8], [11c00, 11c08], [11c0a, 11c2e],
641    [11c40, 11c40], [11c5a, 11c6c], [11c72, 11c8f], [12000, 12399],
642    [12400, 1246e], [12480, 12543], [13000, 13257], [1325e, 13281],
643    [13283, 13285], [1328a, 13378], [1337c, 1342e], [14400, 145cd],
644    [145d0, 14646], [16800, 16a38], [16a40, 16a5e], [16ad0, 16aed],
645    [16b00, 16b2f], [16b3a, 16b43], [16b45, 16b45], [16b5b, 16b61],
646    [16b63, 16b77], [16b7d, 16b8f], [16f00, 16f44], [16f50, 16f50],
647    [16f93, 16f9f], [1bc00, 1bc6a], [1bc70, 1bc7c], [1bc80, 1bc88],
648    [1bc90, 1bc99], [1bc9c, 1bc9c], [1d000, 1d0f5], [1d100, 1d126],
649    [1d129, 1d164], [1d16a, 1d16c], [1d183, 1d184], [1d18c, 1d1a9],
650    [1d1ae, 1d1e8], [1d200, 1d241], [1d245, 1d245], [1d300, 1d356],
651    [1d360, 1d371], [1d400, 1d454], [1d456, 1d49c], [1d49e, 1d49f],
652    [1d4a2, 1d4a2], [1d4a5, 1d4a6], [1d4a9, 1d4ac], [1d4ae, 1d4b9],
653    [1d4bb, 1d4bb], [1d4bd, 1d4c3], [1d4c5, 1d505], [1d507, 1d50a],
654    [1d50d, 1d514], [1d516, 1d51c], [1d51e, 1d539], [1d53b, 1d53e],
655    [1d540, 1d544], [1d546, 1d546], [1d54a, 1d550], [1d552, 1d6a5],
656    [1d6a8, 1d7cb], [1d800, 1d9ff], [1da37, 1da3a], [1da6d, 1da74],
657    [1da76, 1da83], [1da85, 1da86], [1da8b, 1da8b], [1e800, 1e8c4],
658    [1e8c7, 1e8cf], [1e900, 1e943], [1ee00, 1ee03], [1ee05, 1ee1f],
659    [1ee21, 1ee22], [1ee24, 1ee24], [1ee27, 1ee27], [1ee29, 1ee32],
660    [1ee34, 1ee37], [1ee39, 1ee39], [1ee3b, 1ee3b], [1ee42, 1ee42],
661    [1ee47, 1ee47], [1ee49, 1ee49], [1ee4b, 1ee4b], [1ee4d, 1ee4f],
662    [1ee51, 1ee52], [1ee54, 1ee54], [1ee57, 1ee57], [1ee59, 1ee59],
663    [1ee5b, 1ee5b], [1ee5d, 1ee5d], [1ee5f, 1ee5f], [1ee61, 1ee62],
664    [1ee64, 1ee64], [1ee67, 1ee6a], [1ee6c, 1ee72], [1ee74, 1ee77],
665    [1ee79, 1ee7c], [1ee7e, 1ee7e], [1ee80, 1ee89], [1ee8b, 1ee9b],
666    [1eea1, 1eea3], [1eea5, 1eea9], [1eeab, 1eebb], [1eef0, 1eef1],
667    [1f12e, 1f12e], [1f16a, 1f16b], [1f39c, 1f39d], [1f3b5, 1f3b6],
668    [1f3bc, 1f3bc], [1f4a0, 1f4a0], [1f4a2, 1f4a2], [1f4a4, 1f4a4],
669    [1f4af, 1f4af], [1f4b1, 1f4b2], [1f500, 1f506], [1f517, 1f524],
670    [1f532, 1f549], [1f5d4, 1f5db], [1f5f4, 1f5f9], [1f650, 1f675],
671    [1f67c, 1f67f], [1f700, 1f773], [1f780, 1f7d4], [1f800, 1f80b],
672    [1f810, 1f847], [1f850, 1f859], [1f860, 1f887], [1f890, 1f8ad]**/
673    const UnicodeSet al_Set
674        {{{Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Full, 14},
675          {Mixed, 1}, {Full, 1}, {Empty, 3}, {Mixed, 3}, {Full, 6},
676          {Mixed, 1}, {Full, 4}, {Mixed, 4}, {Empty, 1}, {Mixed, 3},
677          {Full, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 5}, {Full, 2},
678          {Mixed, 6}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 41},
679          {Empty, 2}, {Mixed, 1}, {Empty, 5}, {Mixed, 5}, {Empty, 1},
680          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Full, 1},
681          {Mixed, 1}, {Full, 1}, {Empty, 8}, {Full, 2}, {Mixed, 1},
682          {Full, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Full, 1},
683          {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Full, 19}, {Mixed, 1},
684          {Full, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 3}, {Full, 2},
685          {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
686          {Empty, 4}, {Full, 1}, {Mixed, 1}, {Empty, 7}, {Mixed, 6},
687          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 4}, {Empty, 1},
688          {Mixed, 2}, {Full, 6}, {Empty, 2}, {Full, 8}, {Mixed, 1},
689          {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 8}, {Empty, 3},
690          {Mixed, 5}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 6},
691          {Full, 1}, {Mixed, 3}, {Full, 5}, {Mixed, 1}, {Full, 1},
692          {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 2}, {Mixed, 15},
693          {Full, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Full, 12},
694          {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 10}, {Mixed, 6},
695          {Full, 1}, {Mixed, 2}, {Full, 4}, {Mixed, 1}, {Full, 1},
696          {Mixed, 1}, {Full, 1}, {Mixed, 4}, {Empty, 1}, {Mixed, 2},
697          {Empty, 252}, {Full, 2}, {Empty, 694}, {Mixed, 2}, {Full, 8},
698          {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 1},
699          {Full, 5}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Full, 1},
700          {Mixed, 3}, {Empty, 1}, {Mixed, 4}, {Empty, 1}, {Mixed, 3},
701          {Empty, 1}, {Full, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 3},
702          {Full, 1}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Empty, 632},
703          {Mixed, 3}, {Full, 3}, {Mixed, 1}, {Full, 10}, {Mixed, 2},
704          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 3},
705          {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Empty, 7}, {Mixed, 4},
706          {Empty, 1}, {Full, 3}, {Mixed, 3}, {Full, 2}, {Mixed, 4},
707          {Empty, 4}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 1},
708          {Mixed, 4}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Full, 4},
709          {Mixed, 4}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
710          {Empty, 4}, {Full, 9}, {Mixed, 3}, {Empty, 4}, {Mixed, 3},
711          {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2},
712          {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Full, 2},
713          {Empty, 1}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 5},
714          {Empty, 2}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Full, 1},
715          {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
716          {Empty, 12}, {Mixed, 18}, {Empty, 2}, {Mixed, 3}, {Empty, 1},
717          {Mixed, 4}, {Empty, 4}, {Full, 1}, {Mixed, 2}, {Empty, 1},
718          {Full, 1}, {Mixed, 2}, {Empty, 5}, {Full, 1}, {Mixed, 2},
719          {Empty, 1}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Full, 1},
720          {Mixed, 1}, {Empty, 15}, {Full, 2}, {Mixed, 1}, {Empty, 14},
721          {Full, 1}, {Mixed, 1}, {Empty, 8}, {Mixed, 5}, {Empty, 27},
722          {Full, 28}, {Mixed, 1}, {Empty, 3}, {Full, 3}, {Mixed, 1},
723          {Full, 6}, {Mixed, 1}, {Empty, 85}, {Full, 18}, {Mixed, 1},
724          {Full, 1}, {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Full, 5},
725          {Mixed, 1}, {Empty, 126}, {Full, 14}, {Mixed, 1}, {Full, 3},
726          {Mixed, 1}, {Empty, 269}, {Full, 17}, {Mixed, 2}, {Empty, 3},
727          {Mixed, 2}, {Full, 1}, {Mixed, 4}, {Empty, 27}, {Full, 2},
728          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 611}, {Full, 3},
729          {Mixed, 2}, {Empty, 155}, {Full, 7}, {Mixed, 1}, {Full, 1},
730          {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 1},
731          {Full, 2}, {Mixed, 1}, {Empty, 5}, {Full, 2}, {Mixed, 2},
732          {Empty, 4}, {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
733          {Full, 1}, {Mixed, 3}, {Full, 10}, {Mixed, 1}, {Full, 8},
734          {Mixed, 1}, {Empty, 1}, {Full, 16}, {Empty, 1}, {Mixed, 1},
735          {Empty, 1}, {Mixed, 2}, {Empty, 107}, {Full, 6}, {Mixed, 1},
736          {Empty, 1}, {Full, 2}, {Mixed, 1}, {Empty, 37}, {Mixed, 6},
737          {Empty, 1}, {Mixed, 1}, {Empty, 17}, {Mixed, 1}, {Empty, 1},
738          {Mixed, 1}, {Empty, 16}, {Mixed, 2}, {Empty, 7}, {Mixed, 1},
739          {Empty, 2}, {Mixed, 3}, {Empty, 3}, {Mixed, 2}, {Empty, 2},
740          {Mixed, 2}, {Empty, 4}, {Full, 3}, {Mixed, 1}, {Full, 2},
741          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
742          {Full, 1}, {Mixed, 2}, {Empty, 30778}},
743         {0x70000448, 0xc7ffffff, 0x47ffffff, 0x0020d240, 0xff7fffff,
744          0xff7fffff, 0x50fec07f, 0xbcff0000, 0xffffd7f0, 0xfffffffb,
745          0xfffffc07, 0xfffeffff, 0xfe7fffff, 0xfffffffe, 0x000060ff,
746          0x00000009, 0x00180000, 0x0000c1ff, 0x000007ff, 0xfffee000,
747          0x602fffff, 0xfc00c260, 0xfffdbfff, 0x0000ffff, 0xffffe000,
748          0x0002003f, 0xfffffc00, 0x04f007ff, 0x043fffff, 0x7fff0110,
749          0x41ffffff, 0x3fdfffff, 0x00000004, 0xfffffff0, 0x23ffffff,
750          0xff010000, 0xffff0003, 0xfff99fe1, 0x23c5fdff, 0xb0004000,
751          0x05f30003, 0xfff987e0, 0x036dfdff, 0x5e000000, 0x001c0000,
752          0xfffbbfe0, 0x23edfdff, 0x00010000, 0x02010003, 0xfff99fe0,
753          0x23edfdff, 0xb0000000, 0x00ff0003, 0xd63dc7e8, 0x03ffc718,
754          0x00010000, 0x05ff0000, 0xfffddfe0, 0x23fffdff, 0x07000000,
755          0xff000003, 0xfffddfe1, 0x23effdff, 0x40000000, 0x00060003,
756          0xfffddfe0, 0x27ffffff, 0xff70c000, 0xfdff0003, 0xfc7fffe0,
757          0x2ffbffff, 0x0000007f, 0x00100000, 0x00008000, 0xfce80021,
758          0x014ffc00, 0xfffffeff, 0x00001fff, 0x00001f00, 0x01f0dfbf,
759          0x0000f000, 0xffff20bf, 0x3d7f3dff, 0xffff3dff, 0x7f3dffff,
760          0xff7fff3d, 0xff3dffff, 0x07ffffff, 0x1ffffffd, 0x03ffffff,
761          0x3f3fffff, 0xfffffffe, 0x07fffffe, 0x01ffc7ff, 0x0003dfff,
762          0x0003ffff, 0x0003ffff, 0x0001dfff, 0x02000000, 0x03ff0000,
763          0x00000483, 0x00ffffff, 0xffffff9f, 0xffff05ff, 0x003fffff,
764          0x7fffffff, 0x00000001, 0xc07fffff, 0xffffffe0, 0x000fffff,
765          0x10000fe0, 0x1ff007fe, 0xfffffff8, 0xfc00c001, 0xf000003f,
766          0x0000000f, 0xfc00e000, 0x3fffffff, 0x000001ff, 0x000800ff,
767          0x0063de00, 0x3f3fffff, 0xaaff3f3f, 0x3fffffff, 0xffdfffff,
768          0xefcfffdf, 0x5fdcffff, 0x00800000, 0xc100000c, 0x10bffc0f,
769          0x1fe3001e, 0x1fff1fe1, 0xffb7fdd7, 0xfffff7f9, 0xb7cfffff,
770          0xfc00f000, 0xfc000dff, 0xffebffff, 0x1bd17672, 0xcf0fa056,
771          0xfffbeeff, 0xffff330c, 0xfddfff33, 0x7fffffdf, 0xffff7fff,
772          0xf3fbf0ff, 0xfffff9ff, 0x7ff0ffff, 0x0000007f, 0x000007ff,
773          0x80000000, 0x0000f000, 0xffe00000, 0xffc30000, 0xcf33fc04,
774          0xfffc363c, 0xffff7fc3, 0x020f3d90, 0xf1ffffff, 0xfffffffa,
775          0x7fff4844, 0x3fffffff, 0x1fffffff, 0x00004000, 0x000000f4,
776          0xffffc0e0, 0x077fffff, 0x000000e2, 0xfff00000, 0xffffff9f,
777          0xffff003f, 0xfe000007, 0xf0ffffff, 0xcfffffff, 0xfc1fffff,
778          0xffcfffff, 0xff3fffff, 0xe3ffffff, 0x0003fdff, 0x0000f000,
779          0xffff7fff, 0x7fffffff, 0x200c7fff, 0xffff20bf, 0x000080ff,
780          0x007fffff, 0x7f7f7f7f, 0x7f7f7f7f, 0xcc400000, 0x83e48000,
781          0xffff0000, 0x3fffffff, 0xffff1fff, 0x00000c00, 0xc0087fff,
782          0x3fffffff, 0x0004ffff, 0x00ff7fff, 0xff800000, 0xfffff7bb,
783          0x02ff0f07, 0x000fffff, 0xfffffffc, 0x000fffff, 0x2ffc0000,
784          0xfffffc00, 0xffff003f, 0x8000007f, 0xfffffff0, 0x0007ffff,
785          0xc000bc7e, 0x000001ff, 0x10000ff7, 0x001c07ff, 0x007e7e7e,
786          0xffff7f7f, 0xffff003f, 0x00000007, 0x00f8007f, 0x00000200,
787          0xffff0000, 0xfff80003, 0x3fffffff, 0xffff0000, 0xfffcffff,
788          0x000000ff, 0x2fff0000, 0xffdf0000, 0x1fffffff, 0x00007f00,
789          0xffffefff, 0xb7ffff7f, 0x3fff3fff, 0x07ffffff, 0xffffff80,
790          0xff8fffff, 0x0fff7fff, 0x00000001, 0xffff0000, 0x1fffffff,
791          0x1fffffff, 0x0001ffff, 0x0ffffffe, 0xffff000f, 0xffff07ff,
792          0x003fffff, 0x3fffffff, 0x003eff0f, 0x3fffffff, 0xffff0000,
793          0xff0fffff, 0x0fffffff, 0xffff00ff, 0x0000800f, 0x007fffff,
794          0x003fffff, 0x000000ff, 0xfffffd3f, 0x91bfffff, 0xff3fffff,
795          0x7fffffff, 0x0000ff80, 0xf837ffff, 0x0fffffff, 0x83ffffff,
796          0xf0ffffff, 0xfffcffff, 0xfeef0001, 0x000fffff, 0x010000ff,
797          0x0000f81f, 0x003fffff, 0xff3fffff, 0xff07ffff, 0x1e03ffff,
798          0x0000fe00, 0x000001ff, 0x0007ffff, 0xfc07ffff, 0x7fffffff,
799          0xfffffff8, 0x00ffffff, 0xfffc3e00, 0x0000003f, 0xfffffff8,
800          0x3800ffff, 0xffff0000, 0x000001ff, 0xfffffff8, 0x0000007f,
801          0xffff0000, 0x0057ffff, 0xfffffff8, 0x0007ffff, 0x1400229e,
802          0x001ffffe, 0xfffbffff, 0x24000fff, 0xbfffbd7f, 0xffff01ff,
803          0x7fffffff, 0xfff99fe0, 0x23edfdff, 0xe0010000, 0x00000003,
804          0x001fffff, 0x20008780, 0x0000ffff, 0x000000f0, 0x00007fff,
805          0x0f0001c0, 0x0000ffff, 0x00000018, 0x000007ff, 0x8007fc00,
806          0x01ffffff, 0xfffffdff, 0x00007fff, 0xfc000001, 0xfffc1fff,
807          0x0000ffff, 0x03ffffff, 0x00007fff, 0x0000000f, 0xc0ffffff,
808          0xfffffc3b, 0xf1ffffff, 0x00007fff, 0xffff3fff, 0x0000007f,
809          0x01ffffff, 0x7fffffff, 0xffff0000, 0x00003fff, 0xfc00ffff,
810          0xf800002f, 0xe0fffffb, 0x0000ffff, 0x0001001f, 0xfff80000,
811          0x1fff07ff, 0x13ff01ff, 0x003fffff, 0xfffffe7f, 0x00001c1f,
812          0xfffff018, 0xffffc3ff, 0x000001ff, 0x00000023, 0x007fffff,
813          0x0003ffff, 0xffdfffff, 0xdfffffff, 0xebffde64, 0xffffffef,
814          0xdfdfe7bf, 0x7bffffff, 0xfffdfc5f, 0xffffff3f, 0x00000fff,
815          0x07800000, 0xffdfe000, 0x0000086f, 0x0000ff9f, 0x0000000f,
816          0xffffffef, 0x0af7fe96, 0xaa96ea84, 0x5ef7f796, 0x0ffffbff,
817          0x0ffffbee, 0x00030000, 0x00004000, 0x00000c00, 0x30000000,
818          0x10600000, 0x00068015, 0xff80007f, 0xfffc001f, 0x000003ff,
819          0x0ff00000, 0x03f00000, 0xffff0000, 0xf03fffff, 0x000fffff,
820          0x001fffff, 0xffff0fff, 0x03ff00ff, 0xffff00ff, 0x00003fff}};
821    /** Code Point Ranges for PR
822    [0024, 0024], [002b, 002b], [005c, 005c], [00a3, 00a5], [00b1, 00b1],
823    [058f, 058f], [09fb, 09fb], [0af1, 0af1], [0bf9, 0bf9], [0e3f, 0e3f],
824    [17db, 17db], [20a0, 20a6], [20a8, 20b5], [20b7, 20ba], [20bc, 20bd],
825    [20bf, 20cf], [2116, 2116], [2212, 2213], [fe69, fe69], [ff04, ff04],
826    [ffe1, ffe1], [ffe5, ffe6]**/
827    const UnicodeSet pr_Set
828        {{{Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 38},
829          {Mixed, 1}, {Empty, 34}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
830          {Empty, 7}, {Mixed, 1}, {Empty, 17}, {Mixed, 1}, {Empty, 76},
831          {Mixed, 1}, {Empty, 70}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
832          {Empty, 7}, {Mixed, 1}, {Empty, 1762}, {Mixed, 1}, {Empty, 4},
833          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 32768}},
834         {0x00000810, 0x10000000, 0x00020038, 0x00008000, 0x08000000,
835          0x00020000, 0x02000000, 0x80000000, 0x08000000, 0xb7bfff7f,
836          0x0000ffff, 0x00400000, 0x000c0000, 0x00000200, 0x00000010,
837          0x00000062}};
838    /** Code Point Ranges for PO
839    [0025, 0025], [00a2, 00a2], [00b0, 00b0], [0609, 060b], [066a, 066a],
840    [09f2, 09f3], [09f9, 09f9], [0d79, 0d79], [2030, 2037], [20a7, 20a7],
841    [20b6, 20b6], [20bb, 20bb], [20be, 20be], [2103, 2103], [2109, 2109],
842    [a838, a838], [fdfc, fdfc], [fe6a, fe6a], [ff05, ff05], [ffe0, ffe0]**/
843    const UnicodeSet po_Set
844        {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 42},
845          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 27}, {Mixed, 1},
846          {Empty, 27}, {Mixed, 1}, {Empty, 149}, {Mixed, 1}, {Empty, 3},
847          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1080}, {Mixed, 1},
848          {Empty, 685}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 4},
849          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 32768}},
850         {0x00000020, 0x00010004, 0x00000e00, 0x00000400, 0x020c0000,
851          0x02000000, 0x00ff0000, 0x48400080, 0x00000208, 0x01000000,
852          0x10000000, 0x00000400, 0x00000020, 0x00000001}};
853    /** Code Point Ranges for OP
854    [0028, 0028], [005b, 005b], [007b, 007b], [00a1, 00a1], [00bf, 00bf],
855    [0f3a, 0f3a], [0f3c, 0f3c], [169b, 169b], [201a, 201a], [201e, 201e],
856    [2045, 2045], [207d, 207d], [208d, 208d], [2308, 2308], [230a, 230a],
857    [2329, 2329], [2768, 2768], [276a, 276a], [276c, 276c], [276e, 276e],
858    [2770, 2770], [2772, 2772], [2774, 2774], [27c5, 27c5], [27e6, 27e6],
859    [27e8, 27e8], [27ea, 27ea], [27ec, 27ec], [27ee, 27ee], [2983, 2983],
860    [2985, 2985], [2987, 2987], [2989, 2989], [298b, 298b], [298d, 298d],
861    [298f, 298f], [2991, 2991], [2993, 2993], [2995, 2995], [2997, 2997],
862    [29d8, 29d8], [29da, 29da], [29fc, 29fc], [2e18, 2e18], [2e22, 2e22],
863    [2e24, 2e24], [2e26, 2e26], [2e28, 2e28], [2e42, 2e42], [3008, 3008],
864    [300a, 300a], [300c, 300c], [300e, 300e], [3010, 3010], [3014, 3014],
865    [3016, 3016], [3018, 3018], [301a, 301a], [301d, 301d], [fd3f, fd3f],
866    [fe17, fe17], [fe35, fe35], [fe37, fe37], [fe39, fe39], [fe3b, fe3b],
867    [fe3d, fe3d], [fe3f, fe3f], [fe41, fe41], [fe43, fe43], [fe47, fe47],
868    [fe59, fe59], [fe5b, fe5b], [fe5d, fe5d], [ff08, ff08], [ff3b, ff3b],
869    [ff5b, ff5b], [ff5f, ff5f], [ff62, ff62], [13258, 1325a],
870    [13286, 13286], [13288, 13288], [13379, 13379], [145ce, 145ce],
871    [1e95e, 1e95f]**/
872    const UnicodeSet op_Set
873        {{{Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 115},
874          {Mixed, 1}, {Empty, 58}, {Mixed, 1}, {Empty, 75}, {Mixed, 1},
875          {Empty, 1}, {Mixed, 3}, {Empty, 19}, {Mixed, 2}, {Empty, 33},
876          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 12}, {Mixed, 1},
877          {Empty, 1}, {Mixed, 2}, {Empty, 32}, {Mixed, 3}, {Empty, 13},
878          {Mixed, 1}, {Empty, 1640}, {Mixed, 1}, {Empty, 6}, {Mixed, 3},
879          {Empty, 5}, {Mixed, 4}, {Empty, 406}, {Mixed, 1}, {Empty, 1},
880          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 146}, {Mixed, 1},
881          {Empty, 1307}, {Mixed, 1}, {Empty, 30901}},
882         {0x00000100, 0x08000000, 0x08000000, 0x80000002, 0x14000000,
883          0x08000000, 0x44000000, 0x00000020, 0x20000000, 0x00002000,
884          0x00000500, 0x00000200, 0x00155500, 0x00000020, 0x00005540,
885          0x00aaaaa8, 0x05000000, 0x10000000, 0x01000000, 0x00000154,
886          0x00000004, 0x25515500, 0x80000000, 0x00800000, 0xaaa00000,
887          0x2a00008a, 0x00000100, 0x08000000, 0x88000000, 0x00000004,
888          0x07000000, 0x00000140, 0x02000000, 0x00004000, 0xc0000000}};
889    /** Code Point Ranges for CP
890    [0029, 0029], [005d, 005d]**/
891    const UnicodeSet cp_Set
892        {{{Empty, 1}, {Mixed, 2}, {Empty, 34813}},
893         {0x00000200, 0x20000000}};
894    /** Code Point Ranges for IS
895    [002c, 002c], [002e, 002e], [003a, 003b], [037e, 037e], [0589, 0589],
896    [060c, 060d], [07f8, 07f8], [2044, 2044], [fe10, fe10], [fe13, fe14]**/
897    const UnicodeSet is_Set
898        {{{Empty, 1}, {Mixed, 1}, {Empty, 25}, {Mixed, 1}, {Empty, 16},
899          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 14}, {Mixed, 1},
900          {Empty, 194}, {Mixed, 1}, {Empty, 1773}, {Mixed, 1},
901          {Empty, 32783}},
902         {0x0c005000, 0x40000000, 0x00000200, 0x00003000, 0x01000000,
903          0x00000010, 0x00190000}};
904    /** Code Point Ranges for HY
905    [002d, 002d]**/
906    const UnicodeSet hy_Set
907        {{{Empty, 1}, {Mixed, 1}, {Empty, 34814}},
908         {0x00002000}};
909    /** Code Point Ranges for SY
910    [002f, 002f]**/
911    const UnicodeSet sy_Set
912        {{{Empty, 1}, {Mixed, 1}, {Empty, 34814}},
913         {0x00008000}};
914    /** Code Point Ranges for NU
915    [0030, 0039], [0660, 0669], [066b, 066c], [06f0, 06f9], [07c0, 07c9],
916    [0966, 096f], [09e6, 09ef], [0a66, 0a6f], [0ae6, 0aef], [0b66, 0b6f],
917    [0be6, 0bef], [0c66, 0c6f], [0ce6, 0cef], [0d66, 0d6f], [0de6, 0def],
918    [0e50, 0e59], [0ed0, 0ed9], [0f20, 0f29], [1040, 1049], [1090, 1099],
919    [17e0, 17e9], [1810, 1819], [1946, 194f], [19d0, 19d9], [1a80, 1a89],
920    [1a90, 1a99], [1b50, 1b59], [1bb0, 1bb9], [1c40, 1c49], [1c50, 1c59],
921    [a620, a629], [a8d0, a8d9], [a900, a909], [a9d0, a9d9], [a9f0, a9f9],
922    [aa50, aa59], [abf0, abf9], [104a0, 104a9], [11066, 1106f],
923    [110f0, 110f9], [11136, 1113f], [111d0, 111d9], [112f0, 112f9],
924    [11450, 11459], [114d0, 114d9], [11650, 11659], [116c0, 116c9],
925    [11730, 11739], [118e0, 118e9], [11c50, 11c59], [16a60, 16a69],
926    [16b50, 16b59], [1d7ce, 1d7ff], [1e950, 1e959]**/
927    const UnicodeSet nu_Set
928        {{{Empty, 1}, {Mixed, 1}, {Empty, 49}, {Mixed, 1}, {Empty, 3},
929          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
930          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
931          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
932          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
933          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
934          {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 8},
935          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 58}, {Mixed, 2},
936          {Empty, 9}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 5},
937          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
938          {Empty, 4}, {Mixed, 1}, {Empty, 1102}, {Mixed, 1}, {Empty, 20},
939          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 2},
940          {Empty, 2}, {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 709},
941          {Mixed, 1}, {Empty, 93}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
942          {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 8},
943          {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
944          {Empty, 11}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
945          {Mixed, 1}, {Empty, 13}, {Mixed, 1}, {Empty, 26}, {Mixed, 1},
946          {Empty, 624}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 867},
947          {Mixed, 1}, {Full, 1}, {Empty, 138}, {Mixed, 1}, {Empty, 30901}},
948         {0x03ff0000, 0x00001bff, 0x03ff0000, 0x000003ff, 0x0000ffc0,
949          0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0,
950          0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x03ff0000,
951          0x03ff0000, 0x000003ff, 0x000003ff, 0x03ff0000, 0x000003ff,
952          0x03ff0000, 0x0000ffc0, 0x03ff0000, 0x03ff03ff, 0x03ff0000,
953          0x03ff0000, 0x03ff03ff, 0x000003ff, 0x03ff0000, 0x000003ff,
954          0x03ff0000, 0x03ff0000, 0x03ff0000, 0x03ff0000, 0x000003ff,
955          0x0000ffc0, 0x03ff0000, 0xffc00000, 0x03ff0000, 0x03ff0000,
956          0x03ff0000, 0x03ff0000, 0x03ff0000, 0x000003ff, 0x03ff0000,
957          0x000003ff, 0x03ff0000, 0x000003ff, 0x03ff0000, 0xffffc000,
958          0x03ff0000}};
959    /** Code Point Ranges for CL
960    [007d, 007d], [0f3b, 0f3b], [0f3d, 0f3d], [169c, 169c], [2046, 2046],
961    [207e, 207e], [208e, 208e], [2309, 2309], [230b, 230b], [232a, 232a],
962    [2769, 2769], [276b, 276b], [276d, 276d], [276f, 276f], [2771, 2771],
963    [2773, 2773], [2775, 2775], [27c6, 27c6], [27e7, 27e7], [27e9, 27e9],
964    [27eb, 27eb], [27ed, 27ed], [27ef, 27ef], [2984, 2984], [2986, 2986],
965    [2988, 2988], [298a, 298a], [298c, 298c], [298e, 298e], [2990, 2990],
966    [2992, 2992], [2994, 2994], [2996, 2996], [2998, 2998], [29d9, 29d9],
967    [29db, 29db], [29fd, 29fd], [2e23, 2e23], [2e25, 2e25], [2e27, 2e27],
968    [2e29, 2e29], [3001, 3002], [3009, 3009], [300b, 300b], [300d, 300d],
969    [300f, 300f], [3011, 3011], [3015, 3015], [3017, 3017], [3019, 3019],
970    [301b, 301b], [301e, 301f], [fd3e, fd3e], [fe11, fe12], [fe18, fe18],
971    [fe36, fe36], [fe38, fe38], [fe3a, fe3a], [fe3c, fe3c], [fe3e, fe3e],
972    [fe40, fe40], [fe42, fe42], [fe44, fe44], [fe48, fe48], [fe50, fe50],
973    [fe52, fe52], [fe5a, fe5a], [fe5c, fe5c], [fe5e, fe5e], [ff09, ff09],
974    [ff0c, ff0c], [ff0e, ff0e], [ff3d, ff3d], [ff5d, ff5d], [ff60, ff61],
975    [ff63, ff64], [1325b, 1325d], [13282, 13282], [13287, 13287],
976    [13289, 13289], [1337a, 1337b], [145cf, 145cf]**/
977    const UnicodeSet cl_Set
978        {{{Empty, 3}, {Mixed, 1}, {Empty, 117}, {Mixed, 1}, {Empty, 58},
979          {Mixed, 1}, {Empty, 77}, {Mixed, 3}, {Empty, 19}, {Mixed, 2},
980          {Empty, 33}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 12},
981          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 33}, {Mixed, 1},
982          {Empty, 14}, {Mixed, 1}, {Empty, 1640}, {Mixed, 1}, {Empty, 6},
983          {Mixed, 3}, {Empty, 5}, {Mixed, 4}, {Empty, 406}, {Mixed, 1},
984          {Empty, 1}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 146},
985          {Mixed, 1}, {Empty, 32209}},
986         {0x20000000, 0x28000000, 0x10000000, 0x00000040, 0x40000000,
987          0x00004000, 0x00000a00, 0x00000400, 0x002aaa00, 0x00000040,
988          0x0000aa80, 0x01555550, 0x0a000000, 0x20000000, 0x000002a8,
989          0xcaa2aa06, 0x40000000, 0x01060000, 0x55400000, 0x54050115,
990          0x00005200, 0x20000000, 0x20000000, 0x0000001b, 0x38000000,
991          0x00000284, 0x0c000000, 0x00008000}};
992    /** Code Point Ranges for NL
993    [0085, 0085]**/
994    const UnicodeSet nl_Set
995        {{{Empty, 4}, {Mixed, 1}, {Empty, 34811}},
996         {0x00000020}};
997    /** Code Point Ranges for GL
998    [00a0, 00a0], [034f, 034f], [035c, 0362], [0f08, 0f08], [0f0c, 0f0c],
999    [0f12, 0f12], [0fd9, 0fda], [180e, 180e], [2007, 2007], [2011, 2011],
1000    [202f, 202f]**/
1001    const UnicodeSet gl_Set
1002        {{{Empty, 5}, {Mixed, 1}, {Empty, 20}, {Mixed, 2}, {Empty, 92},
1003          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 65}, {Mixed, 1},
1004          {Empty, 63}, {Mixed, 2}, {Empty, 34558}},
1005         {0x00000001, 0xf0008000, 0x00000007, 0x00041100, 0x06000000,
1006          0x00004000, 0x00020080, 0x00008000}};
1007    /** Code Point Ranges for AI
1008    [00a7, 00a8], [00aa, 00aa], [00b2, 00b3], [00b6, 00ba], [00bc, 00be],
1009    [00d7, 00d7], [00f7, 00f7], [02c7, 02c7], [02c9, 02cb], [02cd, 02cd],
1010    [02d0, 02d0], [02d8, 02db], [02dd, 02dd], [2015, 2016], [2020, 2021],
1011    [203b, 203b], [2074, 2074], [207f, 207f], [2081, 2084], [2105, 2105],
1012    [2113, 2113], [2121, 2122], [212b, 212b], [2154, 2155], [215b, 215b],
1013    [215e, 215e], [2160, 216b], [2170, 2179], [2189, 2189], [2190, 2199],
1014    [21d2, 21d2], [21d4, 21d4], [2200, 2200], [2202, 2203], [2207, 2208],
1015    [220b, 220b], [220f, 220f], [2211, 2211], [2215, 2215], [221a, 221a],
1016    [221d, 2220], [2223, 2223], [2225, 2225], [2227, 222c], [222e, 222e],
1017    [2234, 2237], [223c, 223d], [2248, 2248], [224c, 224c], [2252, 2252],
1018    [2260, 2261], [2264, 2267], [226a, 226b], [226e, 226f], [2282, 2283],
1019    [2286, 2287], [2295, 2295], [2299, 2299], [22a5, 22a5], [22bf, 22bf],
1020    [2312, 2312], [2460, 24fe], [2500, 254b], [2550, 2574], [2580, 258f],
1021    [2592, 2595], [25a0, 25a1], [25a3, 25a9], [25b2, 25b3], [25b6, 25b7],
1022    [25bc, 25bd], [25c0, 25c1], [25c6, 25c8], [25cb, 25cb], [25ce, 25d1],
1023    [25e2, 25e5], [25ef, 25ef], [2605, 2606], [2609, 2609], [260e, 260f],
1024    [2616, 2617], [2640, 2640], [2642, 2642], [2660, 2661], [2663, 2665],
1025    [2667, 2667], [2669, 266a], [266c, 266d], [266f, 266f], [269e, 269f],
1026    [26c9, 26cc], [26d2, 26d2], [26d5, 26d7], [26da, 26db], [26dd, 26de],
1027    [26e3, 26e3], [26e8, 26e9], [26eb, 26f0], [26f6, 26f6], [26fb, 26fc],
1028    [2757, 2757], [2776, 2793], [2b55, 2b59], [3248, 324f], [fffd, fffd],
1029    [1f100, 1f10c], [1f110, 1f12d], [1f130, 1f169], [1f170, 1f1ac]**/
1030    const UnicodeSet ai_Set
1031        {{{Empty, 5}, {Mixed, 3}, {Empty, 14}, {Mixed, 1}, {Empty, 233},
1032          {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 5},
1033          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 6}, {Empty, 2},
1034          {Mixed, 1}, {Empty, 10}, {Full, 4}, {Mixed, 1}, {Full, 2},
1035          {Mixed, 7}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 2},
1036          {Empty, 2}, {Mixed, 3}, {Empty, 29}, {Mixed, 1}, {Empty, 55},
1037          {Mixed, 1}, {Empty, 1644}, {Mixed, 1}, {Empty, 1928}, {Mixed, 2},
1038          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 30834}},
1039         {0x77cc0580, 0x00800000, 0x00800000, 0x2f012e80, 0x00600000,
1040          0x08000003, 0x80100000, 0x0000001e, 0x00080020, 0x00000806,
1041          0x48300000, 0x03ff0fff, 0x03ff0200, 0x00140000, 0xe422898d,
1042          0x30f05fa9, 0x00041100, 0x0000ccf3, 0x022000cc, 0x80000020,
1043          0x00040000, 0x7fffffff, 0xffff0fff, 0x001fffff, 0x003cffff,
1044          0x30cc03fb, 0x0003c9c3, 0x0000803c, 0x00c0c260, 0x00000005,
1045          0x0000b6bb, 0xc0000000, 0x6ce41e00, 0x1841fb08, 0x00800000,
1046          0xffc00000, 0x000fffff, 0x03e00000, 0x0000ff00, 0x20000000,
1047          0xffff1fff, 0xffff3fff, 0xffff03ff, 0x00001fff}};
1048    /** Code Point Ranges for BB
1049    [00b4, 00b4], [02c8, 02c8], [02cc, 02cc], [02df, 02df], [0f01, 0f04],
1050    [0f06, 0f07], [0f09, 0f0a], [0fd0, 0fd1], [0fd3, 0fd3], [1806, 1806],
1051    [1ffd, 1ffd], [a874, a875], [a8fc, a8fc], [11175, 11175],
1052    [111db, 111db], [115c1, 115c1], [11660, 1166c], [11c70, 11c70]**/
1053    const UnicodeSet bb_Set
1054        {{{Empty, 5}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 97},
1055          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 65}, {Mixed, 1},
1056          {Empty, 62}, {Mixed, 1}, {Empty, 1091}, {Mixed, 1}, {Empty, 3},
1057          {Mixed, 1}, {Empty, 835}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
1058          {Empty, 31}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 47},
1059          {Mixed, 1}, {Empty, 32540}},
1060         {0x00100000, 0x80001100, 0x000006de, 0x000b0000, 0x00000040,
1061          0x20000000, 0x00300000, 0x10000000, 0x00200000, 0x08000000,
1062          0x00000002, 0x00001fff, 0x00010000}};
1063    /** Code Point Ranges for HL
1064    [05d0, 05ea], [05f0, 05f2], [fb1d, fb1d], [fb1f, fb28], [fb2a, fb36],
1065    [fb38, fb3c], [fb3e, fb3e], [fb40, fb41], [fb43, fb44], [fb46, fb4f]**/
1066    const UnicodeSet hl_Set
1067        {{{Empty, 46}, {Mixed, 2}, {Empty, 1960}, {Mixed, 3},
1068          {Empty, 32805}},
1069         {0xffff0000, 0x000707ff, 0xa0000000, 0x5f7ffdff, 0x0000ffdb}};
1070    /** Code Point Ranges for SA
1071    [0e01, 0e3a], [0e40, 0e4e], [0e81, 0e82], [0e84, 0e84], [0e87, 0e88],
1072    [0e8a, 0e8a], [0e8d, 0e8d], [0e94, 0e97], [0e99, 0e9f], [0ea1, 0ea3],
1073    [0ea5, 0ea5], [0ea7, 0ea7], [0eaa, 0eab], [0ead, 0eb9], [0ebb, 0ebd],
1074    [0ec0, 0ec4], [0ec6, 0ec6], [0ec8, 0ecd], [0edc, 0edf], [1000, 103f],
1075    [1050, 108f], [109a, 109f], [1780, 17d3], [17d7, 17d7], [17dc, 17dd],
1076    [1950, 196d], [1970, 1974], [1980, 19ab], [19b0, 19c9], [19da, 19da],
1077    [19de, 19df], [1a20, 1a5e], [1a60, 1a7c], [1aa0, 1aad], [a9e0, a9ef],
1078    [a9fa, a9fe], [aa60, aac2], [aadb, aadf], [11700, 11719],
1079    [1171d, 1172b], [1173a, 1173b], [1173f, 1173f]**/
1080    const UnicodeSet sa_Set
1081        {{{Empty, 112}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 9},
1082          {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 55},
1083          {Full, 2}, {Mixed, 1}, {Empty, 11}, {Mixed, 2}, {Full, 1},
1084          {Mixed, 2}, {Empty, 2}, {Full, 1}, {Mixed, 2}, {Empty, 1},
1085          {Mixed, 1}, {Empty, 1145}, {Mixed, 1}, {Empty, 3}, {Full, 3},
1086          {Mixed, 1}, {Empty, 865}, {Mixed, 2}, {Empty, 32582}},
1087         {0xfffffffe, 0x07ffffff, 0x00007fff, 0xfef02596, 0x3bffecae,
1088          0xf0003f5f, 0xffff0000, 0xfc00ffff, 0x308fffff, 0xffff0000,
1089          0x001f3fff, 0xffff0fff, 0xc40003ff, 0x7fffffff, 0x1fffffff,
1090          0x00003fff, 0x7c00ffff, 0xf8000007, 0xe3ffffff, 0x8c000fff}};
1091    /** Code Point Ranges for JL
1092    [1100, 115f], [a960, a97c]**/
1093    const UnicodeSet jl_Set
1094        {{{Empty, 136}, {Full, 3}, {Empty, 1216}, {Mixed, 1},
1095          {Empty, 33460}},
1096         {0x1fffffff}};
1097    /** Code Point Ranges for JV
1098    [1160, 11a7], [d7b0, d7c6]**/
1099    const UnicodeSet jv_Set
1100        {{{Empty, 139}, {Full, 2}, {Mixed, 1}, {Empty, 1583}, {Mixed, 2},
1101          {Empty, 33089}},
1102         {0x000000ff, 0xffff0000, 0x0000007f}};
1103    /** Code Point Ranges for JT
1104    [11a8, 11ff], [d7cb, d7fb]**/
1105    const UnicodeSet jt_Set
1106        {{{Empty, 141}, {Mixed, 1}, {Full, 2}, {Empty, 1582}, {Mixed, 2},
1107          {Empty, 33088}},
1108         {0xffffff00, 0xfffff800, 0x0fffffff}};
1109    /** Code Point Ranges for NS
1110    [17d6, 17d6], [203c, 203d], [2047, 2049], [3005, 3005], [301c, 301c],
1111    [303b, 303c], [309b, 309e], [30a0, 30a0], [30fb, 30fb], [30fd, 30fe],
1112    [a015, a015], [fe54, fe55], [ff1a, ff1b], [ff65, ff65], [ff9e, ff9f],
1113    [16fe0, 16fe0], [1f679, 1f67b]**/
1114    const UnicodeSet ns_Set
1115        {{{Empty, 190}, {Mixed, 1}, {Empty, 66}, {Mixed, 2}, {Empty, 125},
1116          {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
1117          {Empty, 888}, {Mixed, 1}, {Empty, 753}, {Mixed, 1}, {Empty, 5},
1118          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 898}, {Mixed, 1},
1119          {Empty, 1075}, {Mixed, 1}, {Empty, 30796}},
1120         {0x00400000, 0x30000000, 0x00000380, 0x10000020, 0x18000000,
1121          0x78000000, 0x00000001, 0x68000000, 0x00200000, 0x00300000,
1122          0x0c000000, 0x00000020, 0xc0000000, 0x00000001, 0x0e000000}};
1123    /** Code Point Ranges for ZW
1124    [200b, 200b]**/
1125    const UnicodeSet zw_Set
1126        {{{Empty, 256}, {Mixed, 1}, {Empty, 34559}},
1127         {0x00000800}};
1128    /** Code Point Ranges for ZWJ
1129    [200d, 200d]**/
1130    const UnicodeSet zwj_Set
1131        {{{Empty, 256}, {Mixed, 1}, {Empty, 34559}},
1132         {0x00002000}};
1133    /** Code Point Ranges for B2
1134    [2014, 2014], [2e3a, 2e3b]**/
1135    const UnicodeSet b2_Set
1136        {{{Empty, 256}, {Mixed, 1}, {Empty, 112}, {Mixed, 1},
1137          {Empty, 34446}},
1138         {0x00100000, 0x0c000000}};
1139    /** Code Point Ranges for IN
1140    [2024, 2026], [22ef, 22ef], [fe19, fe19], [10af6, 10af6]**/
1141    const UnicodeSet in_Set
1142        {{{Empty, 257}, {Mixed, 1}, {Empty, 21}, {Mixed, 1}, {Empty, 1752},
1143          {Mixed, 1}, {Empty, 102}, {Mixed, 1}, {Empty, 32680}},
1144         {0x00000070, 0x00008000, 0x02000000, 0x00400000}};
1145    /** Code Point Ranges for WJ
1146    [2060, 2060], [feff, feff]**/
1147    const UnicodeSet wj_Set
1148        {{{Empty, 259}, {Mixed, 1}, {Empty, 1779}, {Mixed, 1},
1149          {Empty, 32776}},
1150         {0x00000001, 0x80000000}};
1151    /** Code Point Ranges for ID
1152    [231a, 231b], [23f0, 23f3], [2600, 2603], [2614, 2615], [2618, 2618],
1153    [261a, 261c], [261e, 261f], [2639, 263b], [2668, 2668], [267f, 267f],
1154    [26bd, 26c8], [26cd, 26cd], [26cf, 26d1], [26d3, 26d4], [26d8, 26d9],
1155    [26dc, 26dc], [26df, 26e1], [26ea, 26ea], [26f1, 26f5], [26f7, 26f8],
1156    [26fa, 26fa], [26fd, 2704], [2708, 2709], [2764, 2764], [2e80, 2e99],
1157    [2e9b, 2ef3], [2f00, 2fd5], [2ff0, 2ffb], [3003, 3004], [3006, 3007],
1158    [3012, 3013], [3020, 3029], [3030, 3034], [3036, 303a], [303d, 303f],
1159    [3042, 3042], [3044, 3044], [3046, 3046], [3048, 3048], [304a, 3062],
1160    [3064, 3082], [3084, 3084], [3086, 3086], [3088, 308d], [308f, 3094],
1161    [309f, 309f], [30a2, 30a2], [30a4, 30a4], [30a6, 30a6], [30a8, 30a8],
1162    [30aa, 30c2], [30c4, 30e2], [30e4, 30e4], [30e6, 30e6], [30e8, 30ed],
1163    [30ef, 30f4], [30f7, 30fa], [30ff, 30ff], [3105, 312d], [3131, 318e],
1164    [3190, 31ba], [31c0, 31e3], [3200, 321e], [3220, 3247], [3250, 32fe],
1165    [3300, 4dbf], [4e00, a014], [a016, a48c], [a490, a4c6], [f900, faff],
1166    [fe30, fe34], [fe45, fe46], [fe49, fe4f], [fe51, fe51], [fe58, fe58],
1167    [fe5f, fe66], [fe68, fe68], [fe6b, fe6b], [ff02, ff03], [ff06, ff07],
1168    [ff0a, ff0b], [ff0d, ff0d], [ff0f, ff19], [ff1c, ff1e], [ff20, ff3a],
1169    [ff3c, ff3c], [ff3e, ff5a], [ff5c, ff5c], [ff5e, ff5e], [ff66, ff66],
1170    [ff71, ff9d], [ffa0, ffbe], [ffc2, ffc7], [ffca, ffcf], [ffd2, ffd7],
1171    [ffda, ffdc], [ffe2, ffe4], [17000, 187ec], [18800, 18af2],
1172    [1b000, 1b001], [1f000, 1f0ff], [1f10d, 1f10f], [1f12f, 1f12f],
1173    [1f16c, 1f16f], [1f1ad, 1f1e5], [1f200, 1f384], [1f386, 1f39b],
1174    [1f39e, 1f3b4], [1f3b7, 1f3bb], [1f3bd, 1f3c2], [1f3c5, 1f3c9],
1175    [1f3cc, 1f3fa], [1f400, 1f441], [1f444, 1f445], [1f451, 1f465],
1176    [1f46a, 1f46d], [1f46f, 1f46f], [1f479, 1f47b], [1f47d, 1f480],
1177    [1f484, 1f484], [1f488, 1f49f], [1f4a1, 1f4a1], [1f4a3, 1f4a3],
1178    [1f4a5, 1f4a9], [1f4ab, 1f4ae], [1f4b0, 1f4b0], [1f4b3, 1f4ff],
1179    [1f507, 1f516], [1f525, 1f531], [1f54a, 1f574], [1f576, 1f579],
1180    [1f57b, 1f58f], [1f591, 1f594], [1f597, 1f5d3], [1f5dc, 1f5f3],
1181    [1f5fa, 1f644], [1f648, 1f64a], [1f680, 1f6a2], [1f6a4, 1f6b3],
1182    [1f6b7, 1f6bf], [1f6c1, 1f6ff], [1f774, 1f77f], [1f7d5, 1f7ff],
1183    [1f80c, 1f80f], [1f848, 1f84f], [1f85a, 1f85f], [1f888, 1f88f],
1184    [1f8ae, 1f917], [1f91f, 1f925], [1f927, 1f92f], [1f931, 1f932],
1185    [1f93a, 1f93b], [1f93f, 1fffd], [20000, 2fffd], [30000, 3fffd]**/
1186    const UnicodeSet id_Set
1187        {{{Empty, 280}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 16},
1188          {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 4},
1189          {Empty, 2}, {Mixed, 1}, {Empty, 56}, {Mixed, 1}, {Full, 2},
1190          {Mixed, 1}, {Full, 6}, {Mixed, 12}, {Full, 2}, {Mixed, 2},
1191          {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 4},
1192          {Mixed, 1}, {Full, 214}, {Empty, 2}, {Full, 656}, {Mixed, 1},
1193          {Full, 35}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 673},
1194          {Full, 16}, {Empty, 25}, {Mixed, 3}, {Empty, 4}, {Mixed, 8},
1195          {Empty, 896}, {Full, 191}, {Mixed, 1}, {Full, 23}, {Mixed, 1},
1196          {Empty, 296}, {Mixed, 1}, {Empty, 511}, {Full, 8}, {Mixed, 2},
1197          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1},
1198          {Mixed, 1}, {Full, 12}, {Mixed, 4}, {Full, 2}, {Mixed, 4},
1199          {Full, 2}, {Mixed, 5}, {Full, 1}, {Mixed, 2}, {Full, 2},
1200          {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 2}, {Full, 1},
1201          {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1},
1202          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
1203          {Full, 2}, {Mixed, 2}, {Full, 53}, {Mixed, 1}, {Full, 2047},
1204          {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Empty, 26624}},
1205         {0x0c000000, 0x000f0000, 0xdd30000f, 0x0e000000, 0x80000100,
1206          0xe0000000, 0x931ba1ff, 0xe5be0403, 0x0000031f, 0x00000010,
1207          0xfbffffff, 0x000fffff, 0x003fffff, 0x0fff0000, 0x000c00d8,
1208          0xe7df03ff, 0xfffffd54, 0xfffffff7, 0x801fbf57, 0xfffffd54,
1209          0xfffffff7, 0x879fbf57, 0xffffffe0, 0xfffe3fff, 0xffff7fff,
1210          0x07ffffff, 0x0000000f, 0x7fffffff, 0xffff00ff, 0x7fffffff,
1211          0xffdfffff, 0xffff1fff, 0x0000007f, 0x001f0000, 0x8102fe60,
1212          0x0000097f, 0x73ffaccc, 0xd7ffffff, 0x57ffffff, 0xfffe0040,
1213          0x3fffffff, 0x7fffffff, 0x1cfcfcfc, 0x0000001c, 0x00001fff,
1214          0x0007ffff, 0x00000003, 0x0000e000, 0x00008000, 0x0000f000,
1215          0xffffe000, 0x0000003f, 0xcfffffdf, 0xef9fffff, 0xfffff3e7,
1216          0x07ffffff, 0xfffe0033, 0xee00bc3f, 0xffffff11, 0xfff97bea,
1217          0x007fff80, 0x0003ffe0, 0xfffffc00, 0xfbdfffff, 0xff9effff,
1218          0xf00fffff, 0xfc0fffff, 0x0000071f, 0xff8ffff7, 0xfffffffe,
1219          0xfff00000, 0xffe00000, 0x0000f000, 0xfc00ff00, 0x0000ff00,
1220          0xffffc000, 0x80ffffff, 0x8c06ffbf, 0x3fffffff, 0x3fffffff,
1221          0x3fffffff}};
1222    /** Code Point Ranges for EB
1223    [261d, 261d], [26f9, 26f9], [270a, 270d], [1f385, 1f385],
1224    [1f3c3, 1f3c4], [1f3ca, 1f3cb], [1f442, 1f443], [1f446, 1f450],
1225    [1f466, 1f469], [1f46e, 1f46e], [1f470, 1f478], [1f47c, 1f47c],
1226    [1f481, 1f483], [1f485, 1f487], [1f4aa, 1f4aa], [1f575, 1f575],
1227    [1f57a, 1f57a], [1f590, 1f590], [1f595, 1f596], [1f645, 1f647],
1228    [1f64b, 1f64f], [1f6a3, 1f6a3], [1f6b4, 1f6b6], [1f6c0, 1f6c0],
1229    [1f918, 1f91e], [1f926, 1f926], [1f930, 1f930], [1f933, 1f939],
1230    [1f93c, 1f93e]**/
1231    const UnicodeSet eb_Set
1232        {{{Empty, 304}, {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 3683},
1233          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 4},
1234          {Empty, 5}, {Mixed, 2}, {Empty, 5}, {Mixed, 1}, {Empty, 2},
1235          {Mixed, 2}, {Empty, 17}, {Mixed, 2}, {Empty, 30774}},
1236         {0x20000000, 0x02000000, 0x00003c00, 0x00000020, 0x00000c18,
1237          0x0001ffcc, 0x11ff43c0, 0x000000ee, 0x00000400, 0x04200000,
1238          0x00610000, 0x0000f8e0, 0x00700008, 0x00000001, 0x7f000000,
1239          0x73f90040}};
1240    /** Code Point Ranges for CJ
1241    [3041, 3041], [3043, 3043], [3045, 3045], [3047, 3047], [3049, 3049],
1242    [3063, 3063], [3083, 3083], [3085, 3085], [3087, 3087], [308e, 308e],
1243    [3095, 3096], [30a1, 30a1], [30a3, 30a3], [30a5, 30a5], [30a7, 30a7],
1244    [30a9, 30a9], [30c3, 30c3], [30e3, 30e3], [30e5, 30e5], [30e7, 30e7],
1245    [30ee, 30ee], [30f5, 30f6], [30fc, 30fc], [31f0, 31ff], [ff67, ff70]**/
1246    const UnicodeSet cj_Set
1247        {{{Empty, 386}, {Mixed, 6}, {Empty, 7}, {Mixed, 1}, {Empty, 1643},
1248          {Mixed, 1}, {Empty, 32772}},
1249         {0x000002aa, 0x00000008, 0x006040a8, 0x000002aa, 0x00000008,
1250          0x106040a8, 0xffff0000, 0x0001ff80}};
1251    /** Code Point Ranges for H2
1252    [ac00, ac00], [ac1c, ac1c], [ac38, ac38], [ac54, ac54], [ac70, ac70],
1253    [ac8c, ac8c], [aca8, aca8], [acc4, acc4], [ace0, ace0], [acfc, acfc],
1254    [ad18, ad18], [ad34, ad34], [ad50, ad50], [ad6c, ad6c], [ad88, ad88],
1255    [ada4, ada4], [adc0, adc0], [addc, addc], [adf8, adf8], [ae14, ae14],
1256    [ae30, ae30], [ae4c, ae4c], [ae68, ae68], [ae84, ae84], [aea0, aea0],
1257    [aebc, aebc], [aed8, aed8], [aef4, aef4], [af10, af10], [af2c, af2c],
1258    [af48, af48], [af64, af64], [af80, af80], [af9c, af9c], [afb8, afb8],
1259    [afd4, afd4], [aff0, aff0], [b00c, b00c], [b028, b028], [b044, b044],
1260    [b060, b060], [b07c, b07c], [b098, b098], [b0b4, b0b4], [b0d0, b0d0],
1261    [b0ec, b0ec], [b108, b108], [b124, b124], [b140, b140], [b15c, b15c],
1262    [b178, b178], [b194, b194], [b1b0, b1b0], [b1cc, b1cc], [b1e8, b1e8],
1263    [b204, b204], [b220, b220], [b23c, b23c], [b258, b258], [b274, b274],
1264    [b290, b290], [b2ac, b2ac], [b2c8, b2c8], [b2e4, b2e4], [b300, b300],
1265    [b31c, b31c], [b338, b338], [b354, b354], [b370, b370], [b38c, b38c],
1266    [b3a8, b3a8], [b3c4, b3c4], [b3e0, b3e0], [b3fc, b3fc], [b418, b418],
1267    [b434, b434], [b450, b450], [b46c, b46c], [b488, b488], [b4a4, b4a4],
1268    [b4c0, b4c0], [b4dc, b4dc], [b4f8, b4f8], [b514, b514], [b530, b530],
1269    [b54c, b54c], [b568, b568], [b584, b584], [b5a0, b5a0], [b5bc, b5bc],
1270    [b5d8, b5d8], [b5f4, b5f4], [b610, b610], [b62c, b62c], [b648, b648],
1271    [b664, b664], [b680, b680], [b69c, b69c], [b6b8, b6b8], [b6d4, b6d4],
1272    [b6f0, b6f0], [b70c, b70c], [b728, b728], [b744, b744], [b760, b760],
1273    [b77c, b77c], [b798, b798], [b7b4, b7b4], [b7d0, b7d0], [b7ec, b7ec],
1274    [b808, b808], [b824, b824], [b840, b840], [b85c, b85c], [b878, b878],
1275    [b894, b894], [b8b0, b8b0], [b8cc, b8cc], [b8e8, b8e8], [b904, b904],
1276    [b920, b920], [b93c, b93c], [b958, b958], [b974, b974], [b990, b990],
1277    [b9ac, b9ac], [b9c8, b9c8], [b9e4, b9e4], [ba00, ba00], [ba1c, ba1c],
1278    [ba38, ba38], [ba54, ba54], [ba70, ba70], [ba8c, ba8c], [baa8, baa8],
1279    [bac4, bac4], [bae0, bae0], [bafc, bafc], [bb18, bb18], [bb34, bb34],
1280    [bb50, bb50], [bb6c, bb6c], [bb88, bb88], [bba4, bba4], [bbc0, bbc0],
1281    [bbdc, bbdc], [bbf8, bbf8], [bc14, bc14], [bc30, bc30], [bc4c, bc4c],
1282    [bc68, bc68], [bc84, bc84], [bca0, bca0], [bcbc, bcbc], [bcd8, bcd8],
1283    [bcf4, bcf4], [bd10, bd10], [bd2c, bd2c], [bd48, bd48], [bd64, bd64],
1284    [bd80, bd80], [bd9c, bd9c], [bdb8, bdb8], [bdd4, bdd4], [bdf0, bdf0],
1285    [be0c, be0c], [be28, be28], [be44, be44], [be60, be60], [be7c, be7c],
1286    [be98, be98], [beb4, beb4], [bed0, bed0], [beec, beec], [bf08, bf08],
1287    [bf24, bf24], [bf40, bf40], [bf5c, bf5c], [bf78, bf78], [bf94, bf94],
1288    [bfb0, bfb0], [bfcc, bfcc], [bfe8, bfe8], [c004, c004], [c020, c020],
1289    [c03c, c03c], [c058, c058], [c074, c074], [c090, c090], [c0ac, c0ac],
1290    [c0c8, c0c8], [c0e4, c0e4], [c100, c100], [c11c, c11c], [c138, c138],
1291    [c154, c154], [c170, c170], [c18c, c18c], [c1a8, c1a8], [c1c4, c1c4],
1292    [c1e0, c1e0], [c1fc, c1fc], [c218, c218], [c234, c234], [c250, c250],
1293    [c26c, c26c], [c288, c288], [c2a4, c2a4], [c2c0, c2c0], [c2dc, c2dc],
1294    [c2f8, c2f8], [c314, c314], [c330, c330], [c34c, c34c], [c368, c368],
1295    [c384, c384], [c3a0, c3a0], [c3bc, c3bc], [c3d8, c3d8], [c3f4, c3f4],
1296    [c410, c410], [c42c, c42c], [c448, c448], [c464, c464], [c480, c480],
1297    [c49c, c49c], [c4b8, c4b8], [c4d4, c4d4], [c4f0, c4f0], [c50c, c50c],
1298    [c528, c528], [c544, c544], [c560, c560], [c57c, c57c], [c598, c598],
1299    [c5b4, c5b4], [c5d0, c5d0], [c5ec, c5ec], [c608, c608], [c624, c624],
1300    [c640, c640], [c65c, c65c], [c678, c678], [c694, c694], [c6b0, c6b0],
1301    [c6cc, c6cc], [c6e8, c6e8], [c704, c704], [c720, c720], [c73c, c73c],
1302    [c758, c758], [c774, c774], [c790, c790], [c7ac, c7ac], [c7c8, c7c8],
1303    [c7e4, c7e4], [c800, c800], [c81c, c81c], [c838, c838], [c854, c854],
1304    [c870, c870], [c88c, c88c], [c8a8, c8a8], [c8c4, c8c4], [c8e0, c8e0],
1305    [c8fc, c8fc], [c918, c918], [c934, c934], [c950, c950], [c96c, c96c],
1306    [c988, c988], [c9a4, c9a4], [c9c0, c9c0], [c9dc, c9dc], [c9f8, c9f8],
1307    [ca14, ca14], [ca30, ca30], [ca4c, ca4c], [ca68, ca68], [ca84, ca84],
1308    [caa0, caa0], [cabc, cabc], [cad8, cad8], [caf4, caf4], [cb10, cb10],
1309    [cb2c, cb2c], [cb48, cb48], [cb64, cb64], [cb80, cb80], [cb9c, cb9c],
1310    [cbb8, cbb8], [cbd4, cbd4], [cbf0, cbf0], [cc0c, cc0c], [cc28, cc28],
1311    [cc44, cc44], [cc60, cc60], [cc7c, cc7c], [cc98, cc98], [ccb4, ccb4],
1312    [ccd0, ccd0], [ccec, ccec], [cd08, cd08], [cd24, cd24], [cd40, cd40],
1313    [cd5c, cd5c], [cd78, cd78], [cd94, cd94], [cdb0, cdb0], [cdcc, cdcc],
1314    [cde8, cde8], [ce04, ce04], [ce20, ce20], [ce3c, ce3c], [ce58, ce58],
1315    [ce74, ce74], [ce90, ce90], [ceac, ceac], [cec8, cec8], [cee4, cee4],
1316    [cf00, cf00], [cf1c, cf1c], [cf38, cf38], [cf54, cf54], [cf70, cf70],
1317    [cf8c, cf8c], [cfa8, cfa8], [cfc4, cfc4], [cfe0, cfe0], [cffc, cffc],
1318    [d018, d018], [d034, d034], [d050, d050], [d06c, d06c], [d088, d088],
1319    [d0a4, d0a4], [d0c0, d0c0], [d0dc, d0dc], [d0f8, d0f8], [d114, d114],
1320    [d130, d130], [d14c, d14c], [d168, d168], [d184, d184], [d1a0, d1a0],
1321    [d1bc, d1bc], [d1d8, d1d8], [d1f4, d1f4], [d210, d210], [d22c, d22c],
1322    [d248, d248], [d264, d264], [d280, d280], [d29c, d29c], [d2b8, d2b8],
1323    [d2d4, d2d4], [d2f0, d2f0], [d30c, d30c], [d328, d328], [d344, d344],
1324    [d360, d360], [d37c, d37c], [d398, d398], [d3b4, d3b4], [d3d0, d3d0],
1325    [d3ec, d3ec], [d408, d408], [d424, d424], [d440, d440], [d45c, d45c],
1326    [d478, d478], [d494, d494], [d4b0, d4b0], [d4cc, d4cc], [d4e8, d4e8],
1327    [d504, d504], [d520, d520], [d53c, d53c], [d558, d558], [d574, d574],
1328    [d590, d590], [d5ac, d5ac], [d5c8, d5c8], [d5e4, d5e4], [d600, d600],
1329    [d61c, d61c], [d638, d638], [d654, d654], [d670, d670], [d68c, d68c],
1330    [d6a8, d6a8], [d6c4, d6c4], [d6e0, d6e0], [d6fc, d6fc], [d718, d718],
1331    [d734, d734], [d750, d750], [d76c, d76c], [d788, d788]**/
1332    const UnicodeSet h2_Set
1333        {{{Empty, 1376}, {Mixed, 349}, {Empty, 33091}},
1334         {0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
1335          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
1336          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
1337          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
1338          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
1339          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
1340          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
1341          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
1342          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
1343          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
1344          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
1345          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
1346          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
1347          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
1348          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
1349          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
1350          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
1351          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
1352          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
1353          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
1354          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
1355          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
1356          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
1357          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
1358          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
1359          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
1360          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
1361          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
1362          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
1363          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
1364          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
1365          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
1366          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
1367          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
1368          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
1369          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
1370          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
1371          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
1372          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
1373          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
1374          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
1375          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
1376          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
1377          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
1378          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
1379          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
1380          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
1381          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
1382          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
1383          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
1384          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
1385          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
1386          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
1387          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
1388          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
1389          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
1390          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
1391          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
1392          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
1393          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
1394          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
1395          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
1396          0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
1397          0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
1398          0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
1399          0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
1400          0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
1401          0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
1402          0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
1403          0x00100000, 0x00010000, 0x00001000, 0x00000100}};
1404    /** Code Point Ranges for H3
1405    [ac01, ac1b], [ac1d, ac37], [ac39, ac53], [ac55, ac6f], [ac71, ac8b],
1406    [ac8d, aca7], [aca9, acc3], [acc5, acdf], [ace1, acfb], [acfd, ad17],
1407    [ad19, ad33], [ad35, ad4f], [ad51, ad6b], [ad6d, ad87], [ad89, ada3],
1408    [ada5, adbf], [adc1, addb], [addd, adf7], [adf9, ae13], [ae15, ae2f],
1409    [ae31, ae4b], [ae4d, ae67], [ae69, ae83], [ae85, ae9f], [aea1, aebb],
1410    [aebd, aed7], [aed9, aef3], [aef5, af0f], [af11, af2b], [af2d, af47],
1411    [af49, af63], [af65, af7f], [af81, af9b], [af9d, afb7], [afb9, afd3],
1412    [afd5, afef], [aff1, b00b], [b00d, b027], [b029, b043], [b045, b05f],
1413    [b061, b07b], [b07d, b097], [b099, b0b3], [b0b5, b0cf], [b0d1, b0eb],
1414    [b0ed, b107], [b109, b123], [b125, b13f], [b141, b15b], [b15d, b177],
1415    [b179, b193], [b195, b1af], [b1b1, b1cb], [b1cd, b1e7], [b1e9, b203],
1416    [b205, b21f], [b221, b23b], [b23d, b257], [b259, b273], [b275, b28f],
1417    [b291, b2ab], [b2ad, b2c7], [b2c9, b2e3], [b2e5, b2ff], [b301, b31b],
1418    [b31d, b337], [b339, b353], [b355, b36f], [b371, b38b], [b38d, b3a7],
1419    [b3a9, b3c3], [b3c5, b3df], [b3e1, b3fb], [b3fd, b417], [b419, b433],
1420    [b435, b44f], [b451, b46b], [b46d, b487], [b489, b4a3], [b4a5, b4bf],
1421    [b4c1, b4db], [b4dd, b4f7], [b4f9, b513], [b515, b52f], [b531, b54b],
1422    [b54d, b567], [b569, b583], [b585, b59f], [b5a1, b5bb], [b5bd, b5d7],
1423    [b5d9, b5f3], [b5f5, b60f], [b611, b62b], [b62d, b647], [b649, b663],
1424    [b665, b67f], [b681, b69b], [b69d, b6b7], [b6b9, b6d3], [b6d5, b6ef],
1425    [b6f1, b70b], [b70d, b727], [b729, b743], [b745, b75f], [b761, b77b],
1426    [b77d, b797], [b799, b7b3], [b7b5, b7cf], [b7d1, b7eb], [b7ed, b807],
1427    [b809, b823], [b825, b83f], [b841, b85b], [b85d, b877], [b879, b893],
1428    [b895, b8af], [b8b1, b8cb], [b8cd, b8e7], [b8e9, b903], [b905, b91f],
1429    [b921, b93b], [b93d, b957], [b959, b973], [b975, b98f], [b991, b9ab],
1430    [b9ad, b9c7], [b9c9, b9e3], [b9e5, b9ff], [ba01, ba1b], [ba1d, ba37],
1431    [ba39, ba53], [ba55, ba6f], [ba71, ba8b], [ba8d, baa7], [baa9, bac3],
1432    [bac5, badf], [bae1, bafb], [bafd, bb17], [bb19, bb33], [bb35, bb4f],
1433    [bb51, bb6b], [bb6d, bb87], [bb89, bba3], [bba5, bbbf], [bbc1, bbdb],
1434    [bbdd, bbf7], [bbf9, bc13], [bc15, bc2f], [bc31, bc4b], [bc4d, bc67],
1435    [bc69, bc83], [bc85, bc9f], [bca1, bcbb], [bcbd, bcd7], [bcd9, bcf3],
1436    [bcf5, bd0f], [bd11, bd2b], [bd2d, bd47], [bd49, bd63], [bd65, bd7f],
1437    [bd81, bd9b], [bd9d, bdb7], [bdb9, bdd3], [bdd5, bdef], [bdf1, be0b],
1438    [be0d, be27], [be29, be43], [be45, be5f], [be61, be7b], [be7d, be97],
1439    [be99, beb3], [beb5, becf], [bed1, beeb], [beed, bf07], [bf09, bf23],
1440    [bf25, bf3f], [bf41, bf5b], [bf5d, bf77], [bf79, bf93], [bf95, bfaf],
1441    [bfb1, bfcb], [bfcd, bfe7], [bfe9, c003], [c005, c01f], [c021, c03b],
1442    [c03d, c057], [c059, c073], [c075, c08f], [c091, c0ab], [c0ad, c0c7],
1443    [c0c9, c0e3], [c0e5, c0ff], [c101, c11b], [c11d, c137], [c139, c153],
1444    [c155, c16f], [c171, c18b], [c18d, c1a7], [c1a9, c1c3], [c1c5, c1df],
1445    [c1e1, c1fb], [c1fd, c217], [c219, c233], [c235, c24f], [c251, c26b],
1446    [c26d, c287], [c289, c2a3], [c2a5, c2bf], [c2c1, c2db], [c2dd, c2f7],
1447    [c2f9, c313], [c315, c32f], [c331, c34b], [c34d, c367], [c369, c383],
1448    [c385, c39f], [c3a1, c3bb], [c3bd, c3d7], [c3d9, c3f3], [c3f5, c40f],
1449    [c411, c42b], [c42d, c447], [c449, c463], [c465, c47f], [c481, c49b],
1450    [c49d, c4b7], [c4b9, c4d3], [c4d5, c4ef], [c4f1, c50b], [c50d, c527],
1451    [c529, c543], [c545, c55f], [c561, c57b], [c57d, c597], [c599, c5b3],
1452    [c5b5, c5cf], [c5d1, c5eb], [c5ed, c607], [c609, c623], [c625, c63f],
1453    [c641, c65b], [c65d, c677], [c679, c693], [c695, c6af], [c6b1, c6cb],
1454    [c6cd, c6e7], [c6e9, c703], [c705, c71f], [c721, c73b], [c73d, c757],
1455    [c759, c773], [c775, c78f], [c791, c7ab], [c7ad, c7c7], [c7c9, c7e3],
1456    [c7e5, c7ff], [c801, c81b], [c81d, c837], [c839, c853], [c855, c86f],
1457    [c871, c88b], [c88d, c8a7], [c8a9, c8c3], [c8c5, c8df], [c8e1, c8fb],
1458    [c8fd, c917], [c919, c933], [c935, c94f], [c951, c96b], [c96d, c987],
1459    [c989, c9a3], [c9a5, c9bf], [c9c1, c9db], [c9dd, c9f7], [c9f9, ca13],
1460    [ca15, ca2f], [ca31, ca4b], [ca4d, ca67], [ca69, ca83], [ca85, ca9f],
1461    [caa1, cabb], [cabd, cad7], [cad9, caf3], [caf5, cb0f], [cb11, cb2b],
1462    [cb2d, cb47], [cb49, cb63], [cb65, cb7f], [cb81, cb9b], [cb9d, cbb7],
1463    [cbb9, cbd3], [cbd5, cbef], [cbf1, cc0b], [cc0d, cc27], [cc29, cc43],
1464    [cc45, cc5f], [cc61, cc7b], [cc7d, cc97], [cc99, ccb3], [ccb5, cccf],
1465    [ccd1, cceb], [cced, cd07], [cd09, cd23], [cd25, cd3f], [cd41, cd5b],
1466    [cd5d, cd77], [cd79, cd93], [cd95, cdaf], [cdb1, cdcb], [cdcd, cde7],
1467    [cde9, ce03], [ce05, ce1f], [ce21, ce3b], [ce3d, ce57], [ce59, ce73],
1468    [ce75, ce8f], [ce91, ceab], [cead, cec7], [cec9, cee3], [cee5, ceff],
1469    [cf01, cf1b], [cf1d, cf37], [cf39, cf53], [cf55, cf6f], [cf71, cf8b],
1470    [cf8d, cfa7], [cfa9, cfc3], [cfc5, cfdf], [cfe1, cffb], [cffd, d017],
1471    [d019, d033], [d035, d04f], [d051, d06b], [d06d, d087], [d089, d0a3],
1472    [d0a5, d0bf], [d0c1, d0db], [d0dd, d0f7], [d0f9, d113], [d115, d12f],
1473    [d131, d14b], [d14d, d167], [d169, d183], [d185, d19f], [d1a1, d1bb],
1474    [d1bd, d1d7], [d1d9, d1f3], [d1f5, d20f], [d211, d22b], [d22d, d247],
1475    [d249, d263], [d265, d27f], [d281, d29b], [d29d, d2b7], [d2b9, d2d3],
1476    [d2d5, d2ef], [d2f1, d30b], [d30d, d327], [d329, d343], [d345, d35f],
1477    [d361, d37b], [d37d, d397], [d399, d3b3], [d3b5, d3cf], [d3d1, d3eb],
1478    [d3ed, d407], [d409, d423], [d425, d43f], [d441, d45b], [d45d, d477],
1479    [d479, d493], [d495, d4af], [d4b1, d4cb], [d4cd, d4e7], [d4e9, d503],
1480    [d505, d51f], [d521, d53b], [d53d, d557], [d559, d573], [d575, d58f],
1481    [d591, d5ab], [d5ad, d5c7], [d5c9, d5e3], [d5e5, d5ff], [d601, d61b],
1482    [d61d, d637], [d639, d653], [d655, d66f], [d671, d68b], [d68d, d6a7],
1483    [d6a9, d6c3], [d6c5, d6df], [d6e1, d6fb], [d6fd, d717], [d719, d733],
1484    [d735, d74f], [d751, d76b], [d76d, d787], [d789, d7a3]**/
1485    const UnicodeSet h3_Set
1486        {{{Empty, 1376}, {Mixed, 350}, {Empty, 33090}},
1487         {0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
1488          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
1489          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
1490          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
1491          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
1492          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
1493          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
1494          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
1495          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
1496          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
1497          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
1498          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
1499          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
1500          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
1501          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
1502          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
1503          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
1504          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
1505          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
1506          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
1507          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
1508          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
1509          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
1510          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
1511          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
1512          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
1513          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
1514          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
1515          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
1516          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
1517          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
1518          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
1519          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
1520          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
1521          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
1522          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
1523          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
1524          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
1525          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
1526          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
1527          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
1528          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
1529          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
1530          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
1531          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
1532          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
1533          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
1534          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
1535          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
1536          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
1537          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
1538          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
1539          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
1540          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
1541          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
1542          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
1543          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
1544          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
1545          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
1546          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
1547          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
1548          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
1549          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
1550          0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
1551          0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
1552          0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
1553          0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
1554          0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
1555          0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
1556          0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0x0000000f}};
1557    /** Code Point Ranges for SG
1558    [d800, dfff]**/
1559    const UnicodeSet sg_Set
1560        {{{Empty, 1728}, {Full, 64}, {Empty, 33024}},
1561         {}};
1562    /** Code Point Ranges for CB
1563    [fffc, fffc]**/
1564    const UnicodeSet cb_Set
1565        {{{Empty, 2047}, {Mixed, 1}, {Empty, 32768}},
1566         {0x10000000}};
1567    /** Code Point Ranges for RI
1568    [1f1e6, 1f1ff]**/
1569    const UnicodeSet ri_Set
1570        {{{Empty, 3983}, {Mixed, 1}, {Empty, 30832}},
1571         {0xffffffc0}};
1572    /** Code Point Ranges for EM
1573    [1f3fb, 1f3ff]**/
1574    const UnicodeSet em_Set
1575        {{{Empty, 3999}, {Mixed, 1}, {Empty, 30816}},
1576         {0xf8000000}};
1577    static EnumeratedPropertyObject property_object
1578        {lb,
1579         LB_ns::independent_prop_values,
1580         LB_ns::enum_names,
1581         LB_ns::value_names,
1582         LB_ns::aliases_only_map,
1583         {&xx_Set, &cm_Set, &ba_Set, &lf_Set, &bk_Set, &cr_Set, &sp_Set,
1584        &ex_Set, &qu_Set, &al_Set, &pr_Set, &po_Set, &op_Set, &cp_Set,
1585        &is_Set, &hy_Set, &sy_Set, &nu_Set, &cl_Set, &nl_Set, &gl_Set,
1586        &ai_Set, &bb_Set, &hl_Set, &sa_Set, &jl_Set, &jv_Set, &jt_Set,
1587        &ns_Set, &zw_Set, &zwj_Set, &b2_Set, &in_Set, &wj_Set, &id_Set,
1588        &eb_Set, &cj_Set, &h2_Set, &h3_Set, &sg_Set, &cb_Set, &ri_Set,
1589        &em_Set
1590         }};
1591    }
1592}
1593
1594#endif
Note: See TracBrowser for help on using the repository browser.