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

Last change on this file since 5656 was 5656, checked in by cameron, 21 months ago

UCD_Config.h, add Indic and CompositionExclusion? properties

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