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

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

UCD_Config.h, add Indic and CompositionExclusion? properties

File size: 66.9 KB
Line 
1#ifndef SCRIPTS_H
2#define SCRIPTS_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 SC_ns {
17    const unsigned independent_prop_values = 138;
18    /** Code Point Ranges for Zzzz
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], [20bf, 20cf], [20f1, 20ff],
71    [218c, 218f], [23ff, 23ff], [2427, 243f], [244b, 245f], [2b74, 2b75],
72    [2b96, 2b97], [2bba, 2bbc], [2bc9, 2bc9], [2bd2, 2beb], [2bf0, 2bff],
73    [2c2f, 2c2f], [2c5f, 2c5f], [2cf4, 2cf8], [2d26, 2d26], [2d28, 2d2c],
74    [2d2e, 2d2f], [2d68, 2d6e], [2d71, 2d7e], [2d97, 2d9f], [2da7, 2da7],
75    [2daf, 2daf], [2db7, 2db7], [2dbf, 2dbf], [2dc7, 2dc7], [2dcf, 2dcf],
76    [2dd7, 2dd7], [2ddf, 2ddf], [2e45, 2e7f], [2e9a, 2e9a], [2ef4, 2eff],
77    [2fd6, 2fef], [2ffc, 2fff], [3040, 3040], [3097, 3098], [3100, 3104],
78    [312e, 3130], [318f, 318f], [31bb, 31bf], [31e4, 31ef], [321f, 321f],
79    [32ff, 32ff], [4db6, 4dbf], [9fd6, 9fff], [a48d, a48f], [a4c7, a4cf],
80    [a62c, a63f], [a6f8, a6ff], [a7af, a7af], [a7b8, a7f6], [a82c, a82f],
81    [a83a, a83f], [a878, a87f], [a8c6, a8cd], [a8da, a8df], [a8fe, a8ff],
82    [a954, a95e], [a97d, a97f], [a9ce, a9ce], [a9da, a9dd], [a9ff, a9ff],
83    [aa37, aa3f], [aa4e, aa4f], [aa5a, aa5b], [aac3, aada], [aaf7, ab00],
84    [ab07, ab08], [ab0f, ab10], [ab17, ab1f], [ab27, ab27], [ab2f, ab2f],
85    [ab66, ab6f], [abee, abef], [abfa, abff], [d7a4, d7af], [d7c7, d7ca],
86    [d7fc, f8ff], [fa6e, fa6f], [fada, faff], [fb07, fb12], [fb18, fb1c],
87    [fb37, fb37], [fb3d, fb3d], [fb3f, fb3f], [fb42, fb42], [fb45, fb45],
88    [fbc2, fbd2], [fd40, fd4f], [fd90, fd91], [fdc8, fdef], [fdfe, fdff],
89    [fe1a, fe1f], [fe53, fe53], [fe67, fe67], [fe6c, fe6f], [fe75, fe75],
90    [fefd, fefe], [ff00, ff00], [ffbf, ffc1], [ffc8, ffc9], [ffd0, ffd1],
91    [ffd8, ffd9], [ffdd, ffdf], [ffe7, ffe7], [ffef, fff8], [fffe, ffff],
92    [1000c, 1000c], [10027, 10027], [1003b, 1003b], [1003e, 1003e],
93    [1004e, 1004f], [1005e, 1007f], [100fb, 100ff], [10103, 10106],
94    [10134, 10136], [1018f, 1018f], [1019c, 1019f], [101a1, 101cf],
95    [101fe, 1027f], [1029d, 1029f], [102d1, 102df], [102fc, 102ff],
96    [10324, 1032f], [1034b, 1034f], [1037b, 1037f], [1039e, 1039e],
97    [103c4, 103c7], [103d6, 103ff], [1049e, 1049f], [104aa, 104af],
98    [104d4, 104d7], [104fc, 104ff], [10528, 1052f], [10564, 1056e],
99    [10570, 105ff], [10737, 1073f], [10756, 1075f], [10768, 107ff],
100    [10806, 10807], [10809, 10809], [10836, 10836], [10839, 1083b],
101    [1083d, 1083e], [10856, 10856], [1089f, 108a6], [108b0, 108df],
102    [108f3, 108f3], [108f6, 108fa], [1091c, 1091e], [1093a, 1093e],
103    [10940, 1097f], [109b8, 109bb], [109d0, 109d1], [10a04, 10a04],
104    [10a07, 10a0b], [10a14, 10a14], [10a18, 10a18], [10a34, 10a37],
105    [10a3b, 10a3e], [10a48, 10a4f], [10a59, 10a5f], [10aa0, 10abf],
106    [10ae7, 10aea], [10af7, 10aff], [10b36, 10b38], [10b56, 10b57],
107    [10b73, 10b77], [10b92, 10b98], [10b9d, 10ba8], [10bb0, 10bff],
108    [10c49, 10c7f], [10cb3, 10cbf], [10cf3, 10cf9], [10d00, 10e5f],
109    [10e7f, 10fff], [1104e, 11051], [11070, 1107e], [110c2, 110cf],
110    [110e9, 110ef], [110fa, 110ff], [11135, 11135], [11144, 1114f],
111    [11177, 1117f], [111ce, 111cf], [111e0, 111e0], [111f5, 111ff],
112    [11212, 11212], [1123f, 1127f], [11287, 11287], [11289, 11289],
113    [1128e, 1128e], [1129e, 1129e], [112aa, 112af], [112eb, 112ef],
114    [112fa, 112ff], [11304, 11304], [1130d, 1130e], [11311, 11312],
115    [11329, 11329], [11331, 11331], [11334, 11334], [1133a, 1133b],
116    [11345, 11346], [11349, 1134a], [1134e, 1134f], [11351, 11356],
117    [11358, 1135c], [11364, 11365], [1136d, 1136f], [11375, 113ff],
118    [1145a, 1145a], [1145c, 1145c], [1145e, 1147f], [114c8, 114cf],
119    [114da, 1157f], [115b6, 115b7], [115de, 115ff], [11645, 1164f],
120    [1165a, 1165f], [1166d, 1167f], [116b8, 116bf], [116ca, 116ff],
121    [1171a, 1171c], [1172c, 1172f], [11740, 1189f], [118f3, 118fe],
122    [11900, 11abf], [11af9, 11bff], [11c09, 11c09], [11c37, 11c37],
123    [11c46, 11c4f], [11c6d, 11c6f], [11c90, 11c91], [11ca8, 11ca8],
124    [11cb7, 11fff], [1239a, 123ff], [1246f, 1246f], [12475, 1247f],
125    [12544, 12fff], [1342f, 143ff], [14647, 167ff], [16a39, 16a3f],
126    [16a5f, 16a5f], [16a6a, 16a6d], [16a70, 16acf], [16aee, 16aef],
127    [16af6, 16aff], [16b46, 16b4f], [16b5a, 16b5a], [16b62, 16b62],
128    [16b78, 16b7c], [16b90, 16eff], [16f45, 16f4f], [16f7f, 16f8e],
129    [16fa0, 16fdf], [16fe1, 16fff], [187ed, 187ff], [18af3, 1afff],
130    [1b002, 1bbff], [1bc6b, 1bc6f], [1bc7d, 1bc7f], [1bc89, 1bc8f],
131    [1bc9a, 1bc9b], [1bca4, 1cfff], [1d0f6, 1d0ff], [1d127, 1d128],
132    [1d1e9, 1d1ff], [1d246, 1d2ff], [1d357, 1d35f], [1d372, 1d3ff],
133    [1d455, 1d455], [1d49d, 1d49d], [1d4a0, 1d4a1], [1d4a3, 1d4a4],
134    [1d4a7, 1d4a8], [1d4ad, 1d4ad], [1d4ba, 1d4ba], [1d4bc, 1d4bc],
135    [1d4c4, 1d4c4], [1d506, 1d506], [1d50b, 1d50c], [1d515, 1d515],
136    [1d51d, 1d51d], [1d53a, 1d53a], [1d53f, 1d53f], [1d545, 1d545],
137    [1d547, 1d549], [1d551, 1d551], [1d6a6, 1d6a7], [1d7cc, 1d7cd],
138    [1da8c, 1da9a], [1daa0, 1daa0], [1dab0, 1dfff], [1e007, 1e007],
139    [1e019, 1e01a], [1e022, 1e022], [1e025, 1e025], [1e02b, 1e7ff],
140    [1e8c5, 1e8c6], [1e8d7, 1e8ff], [1e94b, 1e94f], [1e95a, 1e95d],
141    [1e960, 1edff], [1ee04, 1ee04], [1ee20, 1ee20], [1ee23, 1ee23],
142    [1ee25, 1ee26], [1ee28, 1ee28], [1ee33, 1ee33], [1ee38, 1ee38],
143    [1ee3a, 1ee3a], [1ee3c, 1ee41], [1ee43, 1ee46], [1ee48, 1ee48],
144    [1ee4a, 1ee4a], [1ee4c, 1ee4c], [1ee50, 1ee50], [1ee53, 1ee53],
145    [1ee55, 1ee56], [1ee58, 1ee58], [1ee5a, 1ee5a], [1ee5c, 1ee5c],
146    [1ee5e, 1ee5e], [1ee60, 1ee60], [1ee63, 1ee63], [1ee65, 1ee66],
147    [1ee6b, 1ee6b], [1ee73, 1ee73], [1ee78, 1ee78], [1ee7d, 1ee7d],
148    [1ee7f, 1ee7f], [1ee8a, 1ee8a], [1ee9c, 1eea0], [1eea4, 1eea4],
149    [1eeaa, 1eeaa], [1eebc, 1eeef], [1eef2, 1efff], [1f02c, 1f02f],
150    [1f094, 1f09f], [1f0af, 1f0b0], [1f0c0, 1f0c0], [1f0d0, 1f0d0],
151    [1f0f6, 1f0ff], [1f10d, 1f10f], [1f12f, 1f12f], [1f16c, 1f16f],
152    [1f1ad, 1f1e5], [1f203, 1f20f], [1f23c, 1f23f], [1f249, 1f24f],
153    [1f252, 1f2ff], [1f6d3, 1f6df], [1f6ed, 1f6ef], [1f6f7, 1f6ff],
154    [1f774, 1f77f], [1f7d5, 1f7ff], [1f80c, 1f80f], [1f848, 1f84f],
155    [1f85a, 1f85f], [1f888, 1f88f], [1f8ae, 1f90f], [1f91f, 1f91f],
156    [1f928, 1f92f], [1f931, 1f932], [1f93f, 1f93f], [1f94c, 1f94f],
157    [1f95f, 1f97f], [1f992, 1f9bf], [1f9c1, 1ffff], [2a6d7, 2a6ff],
158    [2b735, 2b73f], [2b81e, 2b81f], [2cea2, 2f7ff], [2fa1e, e0000],
159    [e0002, e001f], [e0080, e00ff], [e01f0, 10ffff]**/
160    const UnicodeSet zzzz_Set
161        {{{Empty, 27}, {Mixed, 3}, {Empty, 11}, {Mixed, 4}, {Empty, 1},
162          {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
163          {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
164          {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Empty, 5}, {Mixed, 39},
165          {Full, 1}, {Mixed, 3}, {Full, 1}, {Empty, 2}, {Mixed, 5},
166          {Full, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
167          {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
168          {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 20}, {Mixed, 1},
169          {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 3}, {Empty, 2},
170          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
171          {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
172          {Mixed, 4}, {Full, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 3},
173          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
174          {Full, 1}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 8},
175          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
176          {Empty, 3}, {Mixed, 5}, {Empty, 4}, {Mixed, 1}, {Empty, 18},
177          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 56}, {Mixed, 5},
178          {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 1},
179          {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 3}, {Mixed, 1},
180          {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 6},
181          {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
182          {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
183          {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 213}, {Mixed, 1},
184          {Empty, 656}, {Mixed, 1}, {Full, 1}, {Empty, 36}, {Mixed, 1},
185          {Empty, 1}, {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 5},
186          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
187          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
188          {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
189          {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 4}, {Empty, 1},
190          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 349}, {Mixed, 3},
191          {Full, 264}, {Empty, 11}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
192          {Full, 1}, {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 11},
193          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
194          {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 4},
195          {Mixed, 6}, {Full, 1}, {Empty, 3}, {Mixed, 3}, {Empty, 2},
196          {Mixed, 4}, {Full, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
197          {Empty, 1}, {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Full, 1},
198          {Empty, 4}, {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
199          {Mixed, 1}, {Full, 4}, {Empty, 9}, {Mixed, 3}, {Full, 4},
200          {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3},
201          {Full, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
202          {Empty, 2}, {Full, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
203          {Mixed, 5}, {Full, 2}, {Empty, 2}, {Mixed, 1}, {Full, 1},
204          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 11},
205          {Mixed, 1}, {Full, 12}, {Empty, 2}, {Mixed, 2}, {Empty, 2},
206          {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 4},
207          {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 5}, {Full, 4},
208          {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1},
209          {Full, 5}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Empty, 2},
210          {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2},
211          {Full, 11}, {Empty, 2}, {Mixed, 1}, {Full, 14}, {Empty, 1},
212          {Mixed, 1}, {Full, 8}, {Mixed, 6}, {Full, 26}, {Empty, 28},
213          {Mixed, 1}, {Full, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 6},
214          {Mixed, 1}, {Full, 85}, {Empty, 33}, {Mixed, 1}, {Full, 126},
215          {Empty, 18}, {Mixed, 1}, {Full, 269}, {Empty, 17}, {Mixed, 3},
216          {Full, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Full, 27},
217          {Empty, 2}, {Mixed, 3}, {Full, 2}, {Mixed, 1}, {Empty, 191},
218          {Mixed, 1}, {Empty, 23}, {Mixed, 1}, {Full, 296}, {Mixed, 1},
219          {Full, 95}, {Empty, 3}, {Mixed, 3}, {Full, 154}, {Empty, 7},
220          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
221          {Empty, 2}, {Mixed, 1}, {Full, 5}, {Empty, 2}, {Mixed, 2},
222          {Full, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
223          {Empty, 1}, {Mixed, 3}, {Empty, 10}, {Mixed, 1}, {Empty, 8},
224          {Mixed, 1}, {Empty, 21}, {Mixed, 2}, {Full, 42}, {Mixed, 2},
225          {Full, 62}, {Empty, 6}, {Mixed, 1}, {Full, 1}, {Empty, 2},
226          {Mixed, 1}, {Full, 37}, {Mixed, 6}, {Full, 1}, {Mixed, 1},
227          {Full, 8}, {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 6},
228          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1},
229          {Mixed, 4}, {Full, 5}, {Empty, 30}, {Mixed, 2}, {Empty, 3},
230          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
231          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 2},
232          {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
233          {Full, 49}, {Empty, 1334}, {Mixed, 1}, {Full, 1}, {Empty, 129},
234          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 180}, {Mixed, 1},
235          {Full, 330}, {Empty, 16}, {Mixed, 1}, {Full, 22575}, {Mixed, 1},
236          {Empty, 3}, {Full, 4}, {Empty, 7}, {Mixed, 1}, {Full, 6128}},
237         {0x03000000, 0x0000280f, 0x00000004, 0x00010000, 0x01800000,
238          0x00000001, 0x00011900, 0x0000ff00, 0xffe0f800, 0x20000000,
239          0x00004000, 0x00001800, 0xfffc0000, 0xf8000000, 0x8000c000,
240          0xb0000000, 0xc0200000, 0x000fffff, 0x00066010, 0x0c3a0200,
241          0x4f7f8660, 0xf0000030, 0x00067811, 0x2c920200, 0xa1fdc678,
242          0xffc0003f, 0x00044011, 0x0c120200, 0xfffec440, 0xfdfc0030,
243          0x00066011, 0x0c120200, 0x4f3fc660, 0xff000030, 0x29c23813,
244          0x3c0038e7, 0xff7ec238, 0xf800003f, 0x00022010, 0x1c000200,
245          0xf89fc220, 0x00ff0030, 0x00022010, 0x0c100200, 0xbf9fc220,
246          0xfff90030, 0x00022011, 0x18000000, 0x000f0220, 0x00000030,
247          0x03800013, 0xd0040000, 0x00a07b80, 0xffe3003f, 0x00000001,
248          0x78000000, 0xf0000000, 0x010fda69, 0xc4001351, 0x0c00c0a0,
249          0x00000100, 0x0001e000, 0x01000000, 0x20000000, 0xf8002000,
250          0x0000df40, 0xc280c200, 0x0000c200, 0x80c20000, 0x008000c2,
251          0x00c20000, 0x18000000, 0xe0000000, 0xfc000000, 0xc0c00000,
252          0xe0000000, 0xfe000000, 0xffe02000, 0xff800000, 0xfff00000,
253          0xfff22000, 0xc0000000, 0xfc00fc00, 0xfc008000, 0xff000000,
254          0x0000f800, 0xffc00000, 0x80000000, 0xf000f000, 0x0000000e,
255          0xffe0c000, 0x0000f000, 0x3800fc00, 0x30000000, 0x80000000,
256          0x60000000, 0xfc00fc00, 0x8000c000, 0x0000f000, 0xe0000000,
257          0x0ff00000, 0x07000000, 0x00001c00, 0xfffffe00, 0x0000ff00,
258          0xfc800000, 0x07c00000, 0xc0c00000, 0x5500c0c0, 0xc0000000,
259          0x00200000, 0x10300020, 0x80230000, 0x000c0020, 0xe0008000,
260          0x80000000, 0x0000ffff, 0xfffe0000, 0x0000f000, 0x80000000,
261          0xffffff80, 0xfffff800, 0x00300000, 0x00c00000, 0x1c000000,
262          0xfffc0200, 0xffff0fff, 0x00008000, 0x80000000, 0x01f00000,
263          0x0000df40, 0x7ffe7f00, 0xff800000, 0x80808080, 0x80808080,
264          0xffffffe0, 0x04000000, 0xfff00000, 0xffc00000, 0xf000ffff,
265          0x00000001, 0x01800000, 0x0000001f, 0x0001c000, 0x00008000,
266          0xf8000000, 0x0000fff0, 0x80000000, 0x80000000, 0xffc00000,
267          0xffc00000, 0x0000e000, 0x0000ff80, 0xfffff000, 0xff000000,
268          0xff008000, 0x007fffff, 0xfc00f000, 0xff000000, 0xfc003fc0,
269          0xc0000000, 0x7ff00000, 0xe0000000, 0x3c004000, 0x80000000,
270          0xff800000, 0x0c00c000, 0x07fffff8, 0xff800000, 0xff818181,
271          0x00008080, 0x0000ffc0, 0xfc00c000, 0x0000fff0, 0x00000780,
272          0xf0000000, 0x0000c000, 0xfc000000, 0x1f07ff80, 0xa0800000,
273          0x00000024, 0x0007fffc, 0x0000ffff, 0x00030000, 0xffffff00,
274          0xc000ffff, 0xfc000000, 0x00080000, 0x0020f080, 0x60000000,
275          0x00000001, 0x80000000, 0xe3030303, 0xc1ff8080, 0x00001000,
276          0x48000080, 0xc000c000, 0xf8000000, 0x00000078, 0x00700000,
277          0xf0008000, 0xfffffffe, 0x0000ffff, 0xc0000000, 0xe0000000,
278          0xfffe0000, 0xf0000000, 0x0000fff0, 0x0000f800, 0xf8000000,
279          0x40000000, 0xffc000f0, 0xc0000000, 0x0000fc00, 0x00f00000,
280          0xf0000000, 0x0000ff00, 0xffff7ff0, 0xff800000, 0xffc00000,
281          0xffffff00, 0x000002c0, 0x6e400000, 0x00400000, 0x80000000,
282          0xffff007f, 0x07c80000, 0x70000000, 0x7c000000, 0x0f000000,
283          0x00030000, 0x01100f90, 0x78f00000, 0xfe00ff00, 0xff800780,
284          0x01c00000, 0x00c00000, 0x00f80000, 0xe1fc0000, 0xffff01ff,
285          0xfffffe00, 0xfff80000, 0x03f80000, 0x80000000, 0x0003c000,
286          0x7fff0000, 0x0000fffc, 0xfc00fe00, 0x00200000, 0x0000fff0,
287          0xff800000, 0x0000c000, 0xffe00001, 0x00040000, 0x80000000,
288          0x40004280, 0x0000fc00, 0xfc00f800, 0x00066010, 0x0c120200,
289          0x1f7ec660, 0xffe0e030, 0xd4000000, 0xfc00ff00, 0x00c00000,
290          0xc0000000, 0xfc00ffe0, 0xffffe000, 0xff000000, 0xfffffc00,
291          0x1c000000, 0x0000f000, 0x7ff80000, 0xfe000000, 0x00000200,
292          0x00800000, 0x0000ffc0, 0x0000e000, 0x00030000, 0xff800100,
293          0xfc000000, 0xffe08000, 0xfffffff0, 0xffff8000, 0xffffff80,
294          0xfe000000, 0x80000000, 0xffff3c00, 0x0000ffff, 0xffc0c000,
295          0x0400ffc0, 0x1f000004, 0xffff0000, 0x0000ffe0, 0x80000000,
296          0x00007fff, 0xfffffffe, 0xffffe000, 0xfff80000, 0xfffffffc,
297          0xe000f800, 0x0c00fe00, 0xfffffff0, 0xffc00000, 0x00000180,
298          0xfffffe00, 0xffffffc0, 0xff800000, 0xfffc0000, 0x00200000,
299          0x20000000, 0x1400219b, 0x00000010, 0x20201840, 0x84000000,
300          0x000203a0, 0x000000c0, 0x00003000, 0x07fff000, 0xffff0001,
301          0x06000080, 0xfffff824, 0xff800060, 0x3c00f800, 0x00000010,
302          0xf5080169, 0x5569157b, 0xa1080869, 0xf0000400, 0xf0000411,
303          0xfffcffff, 0x0000f000, 0xfff00000, 0x00018000, 0x00010001,
304          0xffc00000, 0x0000e000, 0x00008000, 0x0000f000, 0xffffe000,
305          0x0000003f, 0x0000fff8, 0xf0000000, 0xfffcfe00, 0xfff80000,
306          0xff80e000, 0xfff00000, 0xffe00000, 0x0000f000, 0xfc00ff00,
307          0x0000ff00, 0xffffc000, 0x8000ffff, 0x8006ff00, 0x8000f000,
308          0xfffc0000, 0xfffffffe, 0xff800000, 0xffe00000, 0xc0000000,
309          0xfffffffc, 0xc0000000, 0xfffffffd, 0xffff0000}};
310    /** Code Point Ranges for Zyyy
311    [0000, 0040], [005b, 0060], [007b, 00a9], [00ab, 00b9], [00bb, 00bf],
312    [00d7, 00d7], [00f7, 00f7], [02b9, 02df], [02e5, 02e9], [02ec, 02ff],
313    [0374, 0374], [037e, 037e], [0385, 0385], [0387, 0387], [0589, 0589],
314    [0605, 0605], [060c, 060c], [061b, 061c], [061f, 061f], [0640, 0640],
315    [06dd, 06dd], [08e2, 08e2], [0964, 0965], [0e3f, 0e3f], [0fd5, 0fd8],
316    [10fb, 10fb], [16eb, 16ed], [1735, 1736], [1802, 1803], [1805, 1805],
317    [1cd3, 1cd3], [1ce1, 1ce1], [1ce9, 1cec], [1cee, 1cf3], [1cf5, 1cf6],
318    [2000, 200b], [200e, 2064], [2066, 2070], [2074, 207e], [2080, 208e],
319    [20a0, 20be], [2100, 2125], [2127, 2129], [212c, 2131], [2133, 214d],
320    [214f, 215f], [2189, 218b], [2190, 23fe], [2400, 2426], [2440, 244a],
321    [2460, 27ff], [2900, 2b73], [2b76, 2b95], [2b98, 2bb9], [2bbd, 2bc8],
322    [2bca, 2bd1], [2bec, 2bef], [2e00, 2e44], [2ff0, 2ffb], [3000, 3004],
323    [3006, 3006], [3008, 3020], [3030, 3037], [303c, 303f], [309b, 309c],
324    [30a0, 30a0], [30fb, 30fc], [3190, 319f], [31c0, 31e3], [3220, 325f],
325    [327f, 32cf], [3358, 33ff], [4dc0, 4dff], [a700, a721], [a788, a78a],
326    [a830, a839], [a92e, a92e], [a9cf, a9cf], [ab5b, ab5b], [fd3e, fd3f],
327    [fe10, fe19], [fe30, fe52], [fe54, fe66], [fe68, fe6b], [feff, feff],
328    [ff01, ff20], [ff3b, ff40], [ff5b, ff65], [ff70, ff70], [ff9e, ff9f],
329    [ffe0, ffe6], [ffe8, ffee], [fff9, fffd], [10100, 10102],
330    [10107, 10133], [10137, 1013f], [10190, 1019b], [101d0, 101fc],
331    [102e1, 102fb], [1bca0, 1bca3], [1d000, 1d0f5], [1d100, 1d126],
332    [1d129, 1d166], [1d16a, 1d17a], [1d183, 1d184], [1d18c, 1d1a9],
333    [1d1ae, 1d1e8], [1d300, 1d356], [1d360, 1d371], [1d400, 1d454],
334    [1d456, 1d49c], [1d49e, 1d49f], [1d4a2, 1d4a2], [1d4a5, 1d4a6],
335    [1d4a9, 1d4ac], [1d4ae, 1d4b9], [1d4bb, 1d4bb], [1d4bd, 1d4c3],
336    [1d4c5, 1d505], [1d507, 1d50a], [1d50d, 1d514], [1d516, 1d51c],
337    [1d51e, 1d539], [1d53b, 1d53e], [1d540, 1d544], [1d546, 1d546],
338    [1d54a, 1d550], [1d552, 1d6a5], [1d6a8, 1d7cb], [1d7ce, 1d7ff],
339    [1f000, 1f02b], [1f030, 1f093], [1f0a0, 1f0ae], [1f0b1, 1f0bf],
340    [1f0c1, 1f0cf], [1f0d1, 1f0f5], [1f100, 1f10c], [1f110, 1f12e],
341    [1f130, 1f16b], [1f170, 1f1ac], [1f1e6, 1f1ff], [1f201, 1f202],
342    [1f210, 1f23b], [1f240, 1f248], [1f250, 1f251], [1f300, 1f6d2],
343    [1f6e0, 1f6ec], [1f6f0, 1f6f6], [1f700, 1f773], [1f780, 1f7d4],
344    [1f800, 1f80b], [1f810, 1f847], [1f850, 1f859], [1f860, 1f887],
345    [1f890, 1f8ad], [1f910, 1f91e], [1f920, 1f927], [1f930, 1f930],
346    [1f933, 1f93e], [1f940, 1f94b], [1f950, 1f95e], [1f980, 1f991],
347    [1f9c0, 1f9c0], [e0001, e0001], [e0020, e007f]**/
348    const UnicodeSet zyyy_Set
349        {{{Full, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Empty, 13},
350          {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
351          {Empty, 15}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
352          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 16}, {Mixed, 1},
353          {Empty, 3}, {Mixed, 1}, {Empty, 37}, {Mixed, 1}, {Empty, 12},
354          {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 47}, {Mixed, 1},
355          {Empty, 1}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 37},
356          {Mixed, 2}, {Empty, 24}, {Mixed, 1}, {Full, 2}, {Mixed, 3},
357          {Empty, 2}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
358          {Full, 18}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 29},
359          {Empty, 8}, {Full, 19}, {Mixed, 5}, {Empty, 16}, {Full, 2},
360          {Mixed, 1}, {Empty, 12}, {Mixed, 3}, {Empty, 2}, {Mixed, 2},
361          {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1},
362          {Full, 1}, {Mixed, 1}, {Empty, 1}, {Full, 2}, {Mixed, 1},
363          {Full, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 5},
364          {Empty, 206}, {Full, 2}, {Empty, 712}, {Full, 1}, {Mixed, 1},
365          {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 7},
366          {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
367          {Empty, 654}, {Mixed, 1}, {Empty, 6}, {Mixed, 4}, {Empty, 3},
368          {Mixed, 6}, {Empty, 2}, {Mixed, 1}, {Empty, 8}, {Mixed, 2},
369          {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 7},
370          {Mixed, 1}, {Empty, 1485}, {Mixed, 1}, {Empty, 154}, {Full, 7},
371          {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
372          {Full, 1}, {Mixed, 1}, {Empty, 8}, {Full, 2}, {Mixed, 2},
373          {Empty, 4}, {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
374          {Full, 1}, {Mixed, 3}, {Full, 10}, {Mixed, 1}, {Full, 8},
375          {Mixed, 1}, {Full, 1}, {Empty, 192}, {Full, 1}, {Mixed, 1},
376          {Full, 2}, {Mixed, 6}, {Full, 1}, {Mixed, 1}, {Full, 1},
377          {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 5}, {Full, 30},
378          {Mixed, 2}, {Full, 3}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
379          {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1},
380          {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 1},
381          {Empty, 1}, {Mixed, 1}, {Empty, 24625}, {Mixed, 1}, {Full, 3},
382          {Empty, 6140}},
383         {0xf8000001, 0xf8000001, 0xfbfffbff, 0x00800000, 0x00800000,
384          0xfe000000, 0xfffff3e0, 0x40100000, 0x000000a0, 0x00000200,
385          0x98001020, 0x00000001, 0x20000000, 0x00000004, 0x00000030,
386          0x80000000, 0x01e00000, 0x08000000, 0x00003800, 0x00600000,
387          0x0000002c, 0x00080000, 0x006fde02, 0xffffcfff, 0x7ff1ffdf,
388          0x00007fff, 0x7fffffff, 0xfffbf3bf, 0xffffbfff, 0xffff0e00,
389          0x7fffffff, 0x0000007f, 0x000007ff, 0xffcfffff, 0xff3fffff,
390          0xe3ffffff, 0x0003fdff, 0x0000f000, 0x0000001f, 0x0fff0000,
391          0xffffff5f, 0xf0ff0001, 0x18000000, 0x00000001, 0x18000000,
392          0xffff0000, 0x0000000f, 0x80000000, 0x0000ffff, 0xff000000,
393          0x00000003, 0x00000700, 0x03ff0000, 0x00004000, 0x00008000,
394          0x08000000, 0xc0000000, 0x03ff0000, 0xffff0000, 0xfff7ffff,
395          0x00000f7f, 0x80000000, 0xfffffffe, 0xf8000001, 0xf8000001,
396          0x0001003f, 0xc0000000, 0x3e007f7f, 0xffffff87, 0xff8fffff,
397          0x0fff0000, 0xffff0000, 0x1fffffff, 0x0ffffffe, 0x0000000f,
398          0x003fffff, 0xfffffe7f, 0x07fffc7f, 0xfffff018, 0xffffc3ff,
399          0x000001ff, 0x007fffff, 0x0003ffff, 0xffdfffff, 0xdfffffff,
400          0xebffde64, 0xffffffef, 0xdfdfe7bf, 0x7bffffff, 0xfffdfc5f,
401          0xffffff3f, 0xffffcfff, 0xffff0fff, 0x000fffff, 0xfffe7fff,
402          0xfffefffe, 0x003fffff, 0xffff1fff, 0xffff7fff, 0xffff0fff,
403          0x00001fff, 0xffffffc0, 0xffff0006, 0x0fffffff, 0x000301ff,
404          0x0007ffff, 0x007f1fff, 0x000fffff, 0x001fffff, 0xffff0fff,
405          0x03ff00ff, 0xffff00ff, 0x00003fff, 0x7fff0000, 0x7ff900ff,
406          0x7fff0fff, 0x0003ffff, 0x00000001, 0x00000002}};
407    /** Code Point Ranges for Latn
408    [0041, 005a], [0061, 007a], [00aa, 00aa], [00ba, 00ba], [00c0, 00d6],
409    [00d8, 00f6], [00f8, 02b8], [02e0, 02e4], [1d00, 1d25], [1d2c, 1d5c],
410    [1d62, 1d65], [1d6b, 1d77], [1d79, 1dbe], [1e00, 1eff], [2071, 2071],
411    [207f, 207f], [2090, 209c], [212a, 212b], [2132, 2132], [214e, 214e],
412    [2160, 2188], [2c60, 2c7f], [a722, a787], [a78b, a7ae], [a7b0, a7b7],
413    [a7f7, a7ff], [ab30, ab5a], [ab5c, ab64], [fb00, fb06], [ff21, ff3a],
414    [ff41, ff5a]**/
415    const UnicodeSet latn_Set
416        {{{Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 13},
417          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 208}, {Full, 1},
418          {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Empty, 2}, {Full, 8},
419          {Empty, 11}, {Mixed, 2}, {Empty, 4}, {Mixed, 2}, {Full, 1},
420          {Mixed, 1}, {Empty, 86}, {Full, 1}, {Empty, 981}, {Mixed, 1},
421          {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 25},
422          {Mixed, 3}, {Empty, 636}, {Mixed, 1}, {Empty, 32}, {Mixed, 2},
423          {Empty, 32773}},
424         {0x07fffffe, 0x07fffffe, 0x04000400, 0xff7fffff, 0xff7fffff,
425          0x01ffffff, 0x0000001f, 0xfffff03f, 0x1fffffff, 0xfefff83c,
426          0x7fffffff, 0x80020000, 0x1fff0000, 0x00040c00, 0x00004000,
427          0x000001ff, 0xfffffffc, 0xfffff8ff, 0x00ff7fff, 0xff800000,
428          0xffff0000, 0xf7ffffff, 0x0000001f, 0x0000007f, 0x07fffffe,
429          0x07fffffe}};
430    /** Code Point Ranges for Grek
431    [0370, 0373], [0375, 0377], [037a, 037d], [037f, 037f], [0384, 0384],
432    [0386, 0386], [0388, 038a], [038c, 038c], [038e, 03a1], [03a3, 03e1],
433    [03f0, 03ff], [1d26, 1d2a], [1d5d, 1d61], [1d66, 1d6a], [1dbf, 1dbf],
434    [1f00, 1f15], [1f18, 1f1d], [1f20, 1f45], [1f48, 1f4d], [1f50, 1f57],
435    [1f59, 1f59], [1f5b, 1f5b], [1f5d, 1f5d], [1f5f, 1f7d], [1f80, 1fb4],
436    [1fb6, 1fc4], [1fc6, 1fd3], [1fd6, 1fdb], [1fdd, 1fef], [1ff2, 1ff4],
437    [1ff6, 1ffe], [2126, 2126], [ab65, ab65], [10140, 1018e],
438    [101a0, 101a0], [1d200, 1d245]**/
439    const UnicodeSet grek_Set
440        {{{Empty, 27}, {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Empty, 201},
441          {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 10}, {Mixed, 1},
442          {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Empty, 9},
443          {Mixed, 1}, {Empty, 1105}, {Mixed, 1}, {Empty, 686}, {Full, 2},
444          {Mixed, 2}, {Empty, 1666}, {Full, 2}, {Mixed, 1}, {Empty, 31085}},
445         {0xbcef0000, 0xffffd750, 0xfffffffb, 0xffff0003, 0x000007c0,
446          0xe0000000, 0x000007c3, 0x80000000, 0x3f3fffff, 0xaaff3f3f,
447          0x3fffffff, 0xffdfffff, 0xefcfffdf, 0x7fdcffff, 0x00000040,
448          0x00000020, 0x00007fff, 0x00000001, 0x0000003f}};
449    /** Code Point Ranges for Cyrl
450    [0400, 0484], [0487, 052f], [1c80, 1c88], [1d2b, 1d2b], [1d78, 1d78],
451    [2de0, 2dff], [a640, a69f], [fe2e, fe2f]**/
452    const UnicodeSet cyrl_Set
453        {{{Empty, 32}, {Full, 4}, {Mixed, 1}, {Full, 4}, {Mixed, 1},
454          {Empty, 186}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1},
455          {Mixed, 1}, {Empty, 131}, {Full, 1}, {Empty, 962}, {Full, 3},
456          {Empty, 700}, {Mixed, 1}, {Empty, 32782}},
457         {0xffffff9f, 0x0000ffff, 0x000001ff, 0x00000800, 0x01000000,
458          0x0000c000}};
459    /** Code Point Ranges for Armn
460    [0531, 0556], [0559, 055f], [0561, 0587], [058a, 058a], [058d, 058f],
461    [fb13, fb17]**/
462    const UnicodeSet armn_Set
463        {{{Empty, 41}, {Mixed, 4}, {Empty, 1963}, {Mixed, 1},
464          {Empty, 32807}},
465         {0xfffe0000, 0xfe7fffff, 0xfffffffe, 0x0000e4ff, 0x00f80000}};
466    /** Code Point Ranges for Hebr
467    [0591, 05c7], [05d0, 05ea], [05f0, 05f4], [fb1d, fb36], [fb38, fb3c],
468    [fb3e, fb3e], [fb40, fb41], [fb43, fb44], [fb46, fb4f]**/
469    const UnicodeSet hebr_Set
470        {{{Empty, 44}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 1960},
471          {Mixed, 3}, {Empty, 32805}},
472         {0xfffe0000, 0xffff00ff, 0x001f07ff, 0xe0000000, 0x5f7fffff,
473          0x0000ffdb}};
474    /** Code Point Ranges for Arab
475    [0600, 0604], [0606, 060b], [060d, 061a], [061e, 061e], [0620, 063f],
476    [0641, 064a], [0656, 066f], [0671, 06dc], [06de, 06ff], [0750, 077f],
477    [08a0, 08b4], [08b6, 08bd], [08d4, 08e1], [08e3, 08ff], [fb50, fbc1],
478    [fbd3, fd3d], [fd50, fd8f], [fd92, fdc7], [fdf0, fdfd], [fe70, fe74],
479    [fe76, fefc], [10e60, 10e7e], [1ee00, 1ee03], [1ee05, 1ee1f],
480    [1ee21, 1ee22], [1ee24, 1ee24], [1ee27, 1ee27], [1ee29, 1ee32],
481    [1ee34, 1ee37], [1ee39, 1ee39], [1ee3b, 1ee3b], [1ee42, 1ee42],
482    [1ee47, 1ee47], [1ee49, 1ee49], [1ee4b, 1ee4b], [1ee4d, 1ee4f],
483    [1ee51, 1ee52], [1ee54, 1ee54], [1ee57, 1ee57], [1ee59, 1ee59],
484    [1ee5b, 1ee5b], [1ee5d, 1ee5d], [1ee5f, 1ee5f], [1ee61, 1ee62],
485    [1ee64, 1ee64], [1ee67, 1ee6a], [1ee6c, 1ee72], [1ee74, 1ee77],
486    [1ee79, 1ee7c], [1ee7e, 1ee7e], [1ee80, 1ee89], [1ee8b, 1ee9b],
487    [1eea1, 1eea3], [1eea5, 1eea9], [1eeab, 1eebb], [1eef0, 1eef1]**/
488    const UnicodeSet arab_Set
489        {{{Empty, 48}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 2},
490          {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1},
491          {Empty, 9}, {Mixed, 3}, {Empty, 1938}, {Mixed, 1}, {Full, 3},
492          {Mixed, 1}, {Full, 10}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
493          {Full, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Full, 3},
494          {Mixed, 1}, {Empty, 123}, {Mixed, 1}, {Empty, 1788}, {Mixed, 6},
495          {Empty, 1}, {Mixed, 1}, {Empty, 30856}},
496         {0x47ffefdf, 0xffc007fe, 0xfffeffff, 0xdfffffff, 0xffff0000,
497          0x3fdfffff, 0xfff00000, 0xfffffffb, 0xffff0000, 0xfff80003,
498          0x3fffffff, 0xffff0000, 0xfffcffff, 0x000000ff, 0x3fff0000,
499          0xffdf0000, 0x1fffffff, 0x7fffffff, 0xffffffef, 0x0af7fe96,
500          0xaa96ea84, 0x5ef7f796, 0x0ffffbff, 0x0ffffbee, 0x00030000}};
501    /** Code Point Ranges for Syrc
502    [0700, 070d], [070f, 074a], [074d, 074f]**/
503    const UnicodeSet syrc_Set
504        {{{Empty, 56}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 34757}},
505         {0xffffbfff, 0x0000e7ff}};
506    /** Code Point Ranges for Thaa
507    [0780, 07b1]**/
508    const UnicodeSet thaa_Set
509        {{{Empty, 60}, {Full, 1}, {Mixed, 1}, {Empty, 34754}},
510         {0x0003ffff}};
511    /** Code Point Ranges for Deva
512    [0900, 0950], [0953, 0963], [0966, 097f], [a8e0, a8fd]**/
513    const UnicodeSet deva_Set
514        {{{Empty, 72}, {Full, 2}, {Mixed, 2}, {Empty, 1275}, {Mixed, 1},
515          {Empty, 33464}},
516         {0xfff9ffff, 0xffffffcf, 0x3fffffff}};
517    /** Code Point Ranges for Beng
518    [0980, 0983], [0985, 098c], [098f, 0990], [0993, 09a8], [09aa, 09b0],
519    [09b2, 09b2], [09b6, 09b9], [09bc, 09c4], [09c7, 09c8], [09cb, 09ce],
520    [09d7, 09d7], [09dc, 09dd], [09df, 09e3], [09e6, 09fb]**/
521    const UnicodeSet beng_Set
522        {{{Empty, 76}, {Mixed, 4}, {Empty, 34736}},
523         {0xfff99fef, 0xf3c5fdff, 0xb080799f, 0x0fffffcf}};
524    /** Code Point Ranges for Guru
525    [0a01, 0a03], [0a05, 0a0a], [0a0f, 0a10], [0a13, 0a28], [0a2a, 0a30],
526    [0a32, 0a33], [0a35, 0a36], [0a38, 0a39], [0a3c, 0a3c], [0a3e, 0a42],
527    [0a47, 0a48], [0a4b, 0a4d], [0a51, 0a51], [0a59, 0a5c], [0a5e, 0a5e],
528    [0a66, 0a75]**/
529    const UnicodeSet guru_Set
530        {{{Empty, 80}, {Mixed, 4}, {Empty, 34732}},
531         {0xfff987ee, 0xd36dfdff, 0x5e023987, 0x003fffc0}};
532    /** Code Point Ranges for Gujr
533    [0a81, 0a83], [0a85, 0a8d], [0a8f, 0a91], [0a93, 0aa8], [0aaa, 0ab0],
534    [0ab2, 0ab3], [0ab5, 0ab9], [0abc, 0ac5], [0ac7, 0ac9], [0acb, 0acd],
535    [0ad0, 0ad0], [0ae0, 0ae3], [0ae6, 0af1], [0af9, 0af9]**/
536    const UnicodeSet gujr_Set
537        {{{Empty, 84}, {Mixed, 4}, {Empty, 34728}},
538         {0xfffbbfee, 0xf3edfdff, 0x00013bbf, 0x0203ffcf}};
539    /** Code Point Ranges for Orya
540    [0b01, 0b03], [0b05, 0b0c], [0b0f, 0b10], [0b13, 0b28], [0b2a, 0b30],
541    [0b32, 0b33], [0b35, 0b39], [0b3c, 0b44], [0b47, 0b48], [0b4b, 0b4d],
542    [0b56, 0b57], [0b5c, 0b5d], [0b5f, 0b63], [0b66, 0b77]**/
543    const UnicodeSet orya_Set
544        {{{Empty, 88}, {Mixed, 4}, {Empty, 34724}},
545         {0xfff99fee, 0xf3edfdff, 0xb0c0399f, 0x00ffffcf}};
546    /** Code Point Ranges for Taml
547    [0b82, 0b83], [0b85, 0b8a], [0b8e, 0b90], [0b92, 0b95], [0b99, 0b9a],
548    [0b9c, 0b9c], [0b9e, 0b9f], [0ba3, 0ba4], [0ba8, 0baa], [0bae, 0bb9],
549    [0bbe, 0bc2], [0bc6, 0bc8], [0bca, 0bcd], [0bd0, 0bd0], [0bd7, 0bd7],
550    [0be6, 0bfa]**/
551    const UnicodeSet taml_Set
552        {{{Empty, 92}, {Mixed, 4}, {Empty, 34720}},
553         {0xd63dc7ec, 0xc3ffc718, 0x00813dc7, 0x07ffffc0}};
554    /** Code Point Ranges for Telu
555    [0c00, 0c03], [0c05, 0c0c], [0c0e, 0c10], [0c12, 0c28], [0c2a, 0c39],
556    [0c3d, 0c44], [0c46, 0c48], [0c4a, 0c4d], [0c55, 0c56], [0c58, 0c5a],
557    [0c60, 0c63], [0c66, 0c6f], [0c78, 0c7f]**/
558    const UnicodeSet telu_Set
559        {{{Empty, 96}, {Mixed, 4}, {Empty, 34716}},
560         {0xfffddfef, 0xe3fffdff, 0x07603ddf, 0xff00ffcf}};
561    /** Code Point Ranges for Knda
562    [0c80, 0c83], [0c85, 0c8c], [0c8e, 0c90], [0c92, 0ca8], [0caa, 0cb3],
563    [0cb5, 0cb9], [0cbc, 0cc4], [0cc6, 0cc8], [0cca, 0ccd], [0cd5, 0cd6],
564    [0cde, 0cde], [0ce0, 0ce3], [0ce6, 0cef], [0cf1, 0cf2]**/
565    const UnicodeSet knda_Set
566        {{{Empty, 100}, {Mixed, 4}, {Empty, 34712}},
567         {0xfffddfef, 0xf3effdff, 0x40603ddf, 0x0006ffcf}};
568    /** Code Point Ranges for Mlym
569    [0d01, 0d03], [0d05, 0d0c], [0d0e, 0d10], [0d12, 0d3a], [0d3d, 0d44],
570    [0d46, 0d48], [0d4a, 0d4f], [0d54, 0d63], [0d66, 0d7f]**/
571    const UnicodeSet mlym_Set
572        {{{Empty, 104}, {Mixed, 4}, {Empty, 34708}},
573         {0xfffddfee, 0xe7ffffff, 0xfff0fddf, 0xffffffcf}};
574    /** Code Point Ranges for Sinh
575    [0d82, 0d83], [0d85, 0d96], [0d9a, 0db1], [0db3, 0dbb], [0dbd, 0dbd],
576    [0dc0, 0dc6], [0dca, 0dca], [0dcf, 0dd4], [0dd6, 0dd6], [0dd8, 0ddf],
577    [0de6, 0def], [0df2, 0df4], [111e1, 111f4]**/
578    const UnicodeSet sinh_Set
579        {{{Empty, 108}, {Mixed, 4}, {Empty, 2079}, {Mixed, 1},
580          {Empty, 32624}},
581         {0xfc7fffec, 0x2ffbffff, 0xff5f847f, 0x001cffc0, 0x001ffffe}};
582    /** Code Point Ranges for Thai
583    [0e01, 0e3a], [0e40, 0e5b]**/
584    const UnicodeSet thai_Set
585        {{{Empty, 112}, {Mixed, 3}, {Empty, 34701}},
586         {0xfffffffe, 0x07ffffff, 0x0fffffff}};
587    /** Code Point Ranges for Laoo
588    [0e81, 0e82], [0e84, 0e84], [0e87, 0e88], [0e8a, 0e8a], [0e8d, 0e8d],
589    [0e94, 0e97], [0e99, 0e9f], [0ea1, 0ea3], [0ea5, 0ea5], [0ea7, 0ea7],
590    [0eaa, 0eab], [0ead, 0eb9], [0ebb, 0ebd], [0ec0, 0ec4], [0ec6, 0ec6],
591    [0ec8, 0ecd], [0ed0, 0ed9], [0edc, 0edf]**/
592    const UnicodeSet laoo_Set
593        {{{Empty, 116}, {Mixed, 3}, {Empty, 34697}},
594         {0xfef02596, 0x3bffecae, 0xf3ff3f5f}};
595    /** Code Point Ranges for Tibt
596    [0f00, 0f47], [0f49, 0f6c], [0f71, 0f97], [0f99, 0fbc], [0fbe, 0fcc],
597    [0fce, 0fd4], [0fd9, 0fda]**/
598    const UnicodeSet tibt_Set
599        {{{Empty, 120}, {Full, 2}, {Mixed, 5}, {Empty, 34689}},
600         {0xfffffeff, 0xfffe1fff, 0xfeffffff, 0xdfffffff, 0x061fdfff}};
601    /** Code Point Ranges for Mymr
602    [1000, 109f], [a9e0, a9fe], [aa60, aa7f]**/
603    const UnicodeSet mymr_Set
604        {{{Empty, 128}, {Full, 5}, {Empty, 1226}, {Mixed, 1}, {Empty, 3},
605          {Full, 1}, {Empty, 33452}},
606         {0x7fffffff}};
607    /** Code Point Ranges for Geor
608    [10a0, 10c5], [10c7, 10c7], [10cd, 10cd], [10d0, 10fa], [10fc, 10ff],
609    [2d00, 2d25], [2d27, 2d27], [2d2d, 2d2d]**/
610    const UnicodeSet geor_Set
611        {{{Empty, 133}, {Full, 1}, {Mixed, 2}, {Empty, 224}, {Full, 1},
612          {Mixed, 1}, {Empty, 34454}},
613         {0xffff20bf, 0xf7ffffff, 0x000020bf}};
614    /** Code Point Ranges for Hang
615    [1100, 11ff], [302e, 302f], [3131, 318e], [3200, 321e], [3260, 327e],
616    [a960, a97c], [ac00, d7a3], [d7b0, d7c6], [d7cb, d7fb], [ffa0, ffbe],
617    [ffc2, ffc7], [ffca, ffcf], [ffd2, ffd7], [ffda, ffdc]**/
618    const UnicodeSet hang_Set
619        {{{Empty, 136}, {Full, 8}, {Empty, 241}, {Mixed, 1}, {Empty, 7},
620          {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
621          {Empty, 2}, {Mixed, 1}, {Empty, 951}, {Mixed, 1}, {Empty, 20},
622          {Full, 349}, {Mixed, 3}, {Empty, 317}, {Mixed, 2}, {Empty, 32769}},
623         {0x0000c000, 0xfffe0000, 0x00007fff, 0x7fffffff, 0x7fffffff,
624          0x1fffffff, 0xffff000f, 0xfffff87f, 0x0fffffff, 0x7fffffff,
625          0x1cfcfcfc}};
626    /** Code Point Ranges for Ethi
627    [1200, 1248], [124a, 124d], [1250, 1256], [1258, 1258], [125a, 125d],
628    [1260, 1288], [128a, 128d], [1290, 12b0], [12b2, 12b5], [12b8, 12be],
629    [12c0, 12c0], [12c2, 12c5], [12c8, 12d6], [12d8, 1310], [1312, 1315],
630    [1318, 135a], [135d, 137c], [1380, 1399], [2d80, 2d96], [2da0, 2da6],
631    [2da8, 2dae], [2db0, 2db6], [2db8, 2dbe], [2dc0, 2dc6], [2dc8, 2dce],
632    [2dd0, 2dd6], [2dd8, 2dde], [ab01, ab06], [ab09, ab0e], [ab11, ab16],
633    [ab20, ab26], [ab28, ab2e]**/
634    const UnicodeSet ethi_Set
635        {{{Empty, 144}, {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
636          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 207},
637          {Mixed, 3}, {Empty, 1001}, {Mixed, 2}, {Empty, 33446}},
638         {0x3d7f3dff, 0xffff3dff, 0x7f3dffff, 0xff7fff3d, 0xff3dffff,
639          0xe7ffffff, 0x1fffffff, 0x03ffffff, 0x007fffff, 0x7f7f7f7f,
640          0x7f7f7f7f, 0x007e7e7e, 0x00007f7f}};
641    /** Code Point Ranges for Cher
642    [13a0, 13f5], [13f8, 13fd], [ab70, abbf]**/
643    const UnicodeSet cher_Set
644        {{{Empty, 157}, {Full, 2}, {Mixed, 1}, {Empty, 1211}, {Mixed, 1},
645          {Full, 2}, {Empty, 33442}},
646         {0x3f3fffff, 0xffff0000}};
647    /** Code Point Ranges for Cans
648    [1400, 167f], [18b0, 18f5]**/
649    const UnicodeSet cans_Set
650        {{{Empty, 160}, {Full, 20}, {Empty, 17}, {Mixed, 1}, {Full, 1},
651          {Mixed, 1}, {Empty, 34616}},
652         {0xffff0000, 0x003fffff}};
653    /** Code Point Ranges for Ogam
654    [1680, 169c]**/
655    const UnicodeSet ogam_Set
656        {{{Empty, 180}, {Mixed, 1}, {Empty, 34635}},
657         {0x1fffffff}};
658    /** Code Point Ranges for Runr
659    [16a0, 16ea], [16ee, 16f8]**/
660    const UnicodeSet runr_Set
661        {{{Empty, 181}, {Full, 2}, {Mixed, 1}, {Empty, 34632}},
662         {0x01ffc7ff}};
663    /** Code Point Ranges for Khmr
664    [1780, 17dd], [17e0, 17e9], [17f0, 17f9], [19e0, 19ff]**/
665    const UnicodeSet khmr_Set
666        {{{Empty, 188}, {Full, 2}, {Mixed, 2}, {Empty, 15}, {Full, 1},
667          {Empty, 34608}},
668         {0x3fffffff, 0x03ff03ff}};
669    /** Code Point Ranges for Mong
670    [1800, 1801], [1804, 1804], [1806, 180e], [1810, 1819], [1820, 1877],
671    [1880, 18aa], [11660, 1166c]**/
672    const UnicodeSet mong_Set
673        {{{Empty, 192}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 1},
674          {Mixed, 1}, {Empty, 2029}, {Mixed, 1}, {Empty, 32588}},
675         {0x03ff7fd3, 0x00ffffff, 0x000007ff, 0x00001fff}};
676    /** Code Point Ranges for Hira
677    [3041, 3096], [309d, 309f], [1b001, 1b001], [1f200, 1f200]**/
678    const UnicodeSet hira_Set
679        {{{Empty, 386}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 3067},
680          {Mixed, 1}, {Empty, 527}, {Mixed, 1}, {Empty, 30831}},
681         {0xfffffffe, 0xe07fffff, 0x00000002, 0x00000001}};
682    /** Code Point Ranges for Kana
683    [30a1, 30fa], [30fd, 30ff], [31f0, 31ff], [32d0, 32fe], [3300, 3357],
684    [ff66, ff6f], [ff71, ff9d], [1b000, 1b000]**/
685    const UnicodeSet kana_Set
686        {{{Empty, 389}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 7},
687          {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Full, 2}, {Mixed, 1},
688          {Empty, 1632}, {Mixed, 2}, {Empty, 1411}, {Mixed, 1},
689          {Empty, 31359}},
690         {0xfffffffe, 0xe7ffffff, 0xffff0000, 0xffff0000, 0x7fffffff,
691          0x00ffffff, 0xfffeffc0, 0x3fffffff, 0x00000001}};
692    /** Code Point Ranges for Bopo
693    [02ea, 02eb], [3105, 312d], [31a0, 31ba]**/
694    const UnicodeSet bopo_Set
695        {{{Empty, 23}, {Mixed, 1}, {Empty, 368}, {Mixed, 2}, {Empty, 3},
696          {Mixed, 1}, {Empty, 34418}},
697         {0x00000c00, 0xffffffe0, 0x00003fff, 0x07ffffff}};
698    /** Code Point Ranges for Hani
699    [2e80, 2e99], [2e9b, 2ef3], [2f00, 2fd5], [3005, 3005], [3007, 3007],
700    [3021, 3029], [3038, 303b], [3400, 4db5], [4e00, 9fd5], [f900, fa6d],
701    [fa70, fad9], [20000, 2a6d6], [2a700, 2b734], [2b740, 2b81d],
702    [2b820, 2cea1], [2f800, 2fa1d]**/
703    const UnicodeSet hani_Set
704        {{{Empty, 372}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 6},
705          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 30}, {Full, 205},
706          {Mixed, 1}, {Empty, 2}, {Full, 654}, {Mixed, 1}, {Empty, 713},
707          {Full, 11}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 2089},
708          {Full, 1334}, {Mixed, 1}, {Empty, 1}, {Full, 129}, {Mixed, 1},
709          {Full, 6}, {Mixed, 1}, {Full, 180}, {Mixed, 1}, {Empty, 330},
710          {Full, 16}, {Mixed, 1}, {Empty, 28719}},
711         {0xfbffffff, 0x000fffff, 0x003fffff, 0x000000a0, 0x0f0003fe,
712          0x003fffff, 0x003fffff, 0xffff3fff, 0x03ffffff, 0x007fffff,
713          0x001fffff, 0x3fffffff, 0x00000003, 0x3fffffff}};
714    /** Code Point Ranges for Yiii
715    [a000, a48c], [a490, a4c6]**/
716    const UnicodeSet yiii_Set
717        {{{Empty, 1280}, {Full, 36}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
718          {Empty, 33497}},
719         {0xffff1fff, 0x0000007f}};
720    /** Code Point Ranges for Ital
721    [10300, 10323]**/
722    const UnicodeSet ital_Set
723        {{{Empty, 2072}, {Full, 1}, {Mixed, 1}, {Empty, 32742}},
724         {0x0000000f}};
725    /** Code Point Ranges for Goth
726    [10330, 1034a]**/
727    const UnicodeSet goth_Set
728        {{{Empty, 2073}, {Mixed, 2}, {Empty, 32741}},
729         {0xffff0000, 0x000007ff}};
730    /** Code Point Ranges for Dsrt
731    [10400, 1044f]**/
732    const UnicodeSet dsrt_Set
733        {{{Empty, 2080}, {Full, 2}, {Mixed, 1}, {Empty, 32733}},
734         {0x0000ffff}};
735    /** Code Point Ranges for Zinh
736    [0300, 036f], [0485, 0486], [064b, 0655], [0670, 0670], [0951, 0952],
737    [1ab0, 1abe], [1cd0, 1cd2], [1cd4, 1ce0], [1ce2, 1ce8], [1ced, 1ced],
738    [1cf4, 1cf4], [1cf8, 1cf9], [1dc0, 1df5], [1dfb, 1dff], [200c, 200d],
739    [20d0, 20f0], [302a, 302d], [3099, 309a], [fe00, fe0f], [fe20, fe2d],
740    [101fd, 101fd], [102e0, 102e0], [1d167, 1d169], [1d17b, 1d182],
741    [1d185, 1d18b], [1d1aa, 1d1ad], [e0100, e01ef]**/
742    const UnicodeSet zinh_Set
743        {{{Empty, 24}, {Full, 3}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
744          {Empty, 13}, {Mixed, 2}, {Empty, 22}, {Mixed, 1}, {Empty, 138},
745          {Mixed, 1}, {Empty, 16}, {Mixed, 2}, {Empty, 6}, {Full, 1},
746          {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 5}, {Mixed, 2},
747          {Empty, 121}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1643},
748          {Mixed, 2}, {Empty, 29}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
749          {Empty, 1651}, {Mixed, 3}, {Empty, 24954}, {Full, 7}, {Mixed, 1},
750          {Empty, 6128}},
751         {0x0000ffff, 0x00000060, 0x003ff800, 0x00010000, 0x00060000,
752          0x7fff0000, 0xfff70000, 0x031021fd, 0xf83fffff, 0x00003000,
753          0xffff0000, 0x0001ffff, 0x00003c00, 0x06000000, 0x0000ffff,
754          0x00003fff, 0x20000000, 0x00000001, 0xf8000380, 0x00000fe7,
755          0x00003c00, 0x0000ffff}};
756    /** Code Point Ranges for Tglg
757    [1700, 170c], [170e, 1714]**/
758    const UnicodeSet tglg_Set
759        {{{Empty, 184}, {Mixed, 1}, {Empty, 34631}},
760         {0x001fdfff}};
761    /** Code Point Ranges for Hano
762    [1720, 1734]**/
763    const UnicodeSet hano_Set
764        {{{Empty, 185}, {Mixed, 1}, {Empty, 34630}},
765         {0x001fffff}};
766    /** Code Point Ranges for Buhd
767    [1740, 1753]**/
768    const UnicodeSet buhd_Set
769        {{{Empty, 186}, {Mixed, 1}, {Empty, 34629}},
770         {0x000fffff}};
771    /** Code Point Ranges for Tagb
772    [1760, 176c], [176e, 1770], [1772, 1773]**/
773    const UnicodeSet tagb_Set
774        {{{Empty, 187}, {Mixed, 1}, {Empty, 34628}},
775         {0x000ddfff}};
776    /** Code Point Ranges for Limb
777    [1900, 191e], [1920, 192b], [1930, 193b], [1940, 1940], [1944, 194f]**/
778    const UnicodeSet limb_Set
779        {{{Empty, 200}, {Mixed, 3}, {Empty, 34613}},
780         {0x7fffffff, 0x0fff0fff, 0x0000fff1}};
781    /** Code Point Ranges for Tale
782    [1950, 196d], [1970, 1974]**/
783    const UnicodeSet tale_Set
784        {{{Empty, 202}, {Mixed, 2}, {Empty, 34612}},
785         {0xffff0000, 0x001f3fff}};
786    /** Code Point Ranges for Linb
787    [10000, 1000b], [1000d, 10026], [10028, 1003a], [1003c, 1003d],
788    [1003f, 1004d], [10050, 1005d], [10080, 100fa]**/
789    const UnicodeSet linb_Set
790        {{{Empty, 2048}, {Mixed, 3}, {Empty, 1}, {Full, 3}, {Mixed, 1},
791          {Empty, 32760}},
792         {0xffffefff, 0xb7ffff7f, 0x3fff3fff, 0x07ffffff}};
793    /** Code Point Ranges for Ugar
794    [10380, 1039d], [1039f, 1039f]**/
795    const UnicodeSet ugar_Set
796        {{{Empty, 2076}, {Mixed, 1}, {Empty, 32739}},
797         {0xbfffffff}};
798    /** Code Point Ranges for Shaw
799    [10450, 1047f]**/
800    const UnicodeSet shaw_Set
801        {{{Empty, 2082}, {Mixed, 1}, {Full, 1}, {Empty, 32732}},
802         {0xffff0000}};
803    /** Code Point Ranges for Osma
804    [10480, 1049d], [104a0, 104a9]**/
805    const UnicodeSet osma_Set
806        {{{Empty, 2084}, {Mixed, 2}, {Empty, 32730}},
807         {0x3fffffff, 0x000003ff}};
808    /** Code Point Ranges for Cprt
809    [10800, 10805], [10808, 10808], [1080a, 10835], [10837, 10838],
810    [1083c, 1083c], [1083f, 1083f]**/
811    const UnicodeSet cprt_Set
812        {{{Empty, 2112}, {Mixed, 2}, {Empty, 32702}},
813         {0xfffffd3f, 0x91bfffff}};
814    /** Code Point Ranges for Brai
815    [2800, 28ff]**/
816    const UnicodeSet brai_Set
817        {{{Empty, 320}, {Full, 8}, {Empty, 34488}},
818         {}};
819    /** Code Point Ranges for Bugi
820    [1a00, 1a1b], [1a1e, 1a1f]**/
821    const UnicodeSet bugi_Set
822        {{{Empty, 208}, {Mixed, 1}, {Empty, 34607}},
823         {0xcfffffff}};
824    /** Code Point Ranges for Copt
825    [03e2, 03ef], [2c80, 2cf3], [2cf9, 2cff]**/
826    const UnicodeSet copt_Set
827        {{{Empty, 31}, {Mixed, 1}, {Empty, 324}, {Full, 3}, {Mixed, 1},
828          {Empty, 34456}},
829         {0x0000fffc, 0xfe0fffff}};
830    /** Code Point Ranges for Talu
831    [1980, 19ab], [19b0, 19c9], [19d0, 19da], [19de, 19df]**/
832    const UnicodeSet talu_Set
833        {{{Empty, 204}, {Full, 1}, {Mixed, 2}, {Empty, 34609}},
834         {0xffff0fff, 0xc7ff03ff}};
835    /** Code Point Ranges for Glag
836    [2c00, 2c2e], [2c30, 2c5e], [1e000, 1e006], [1e008, 1e018],
837    [1e01b, 1e021], [1e023, 1e024], [1e026, 1e02a]**/
838    const UnicodeSet glag_Set
839        {{{Empty, 352}, {Full, 1}, {Mixed, 2}, {Empty, 3485}, {Mixed, 2},
840          {Empty, 30974}},
841         {0xffff7fff, 0x7fffffff, 0xf9ffff7f, 0x000007db}};
842    /** Code Point Ranges for Tfng
843    [2d30, 2d67], [2d6f, 2d70], [2d7f, 2d7f]**/
844    const UnicodeSet tfng_Set
845        {{{Empty, 361}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 34452}},
846         {0xffff0000, 0x800180ff}};
847    /** Code Point Ranges for Sylo
848    [a800, a82b]**/
849    const UnicodeSet sylo_Set
850        {{{Empty, 1344}, {Full, 1}, {Mixed, 1}, {Empty, 33470}},
851         {0x00000fff}};
852    /** Code Point Ranges for Xpeo
853    [103a0, 103c3], [103c8, 103d5]**/
854    const UnicodeSet xpeo_Set
855        {{{Empty, 2077}, {Full, 1}, {Mixed, 1}, {Empty, 32737}},
856         {0x003fff0f}};
857    /** Code Point Ranges for Khar
858    [10a00, 10a03], [10a05, 10a06], [10a0c, 10a13], [10a15, 10a17],
859    [10a19, 10a33], [10a38, 10a3a], [10a3f, 10a47], [10a50, 10a58]**/
860    const UnicodeSet khar_Set
861        {{{Empty, 2128}, {Mixed, 3}, {Empty, 32685}},
862         {0xfeeff06f, 0x870fffff, 0x01ff00ff}};
863    /** Code Point Ranges for Bali
864    [1b00, 1b4b], [1b50, 1b7c]**/
865    const UnicodeSet bali_Set
866        {{{Empty, 216}, {Full, 2}, {Mixed, 2}, {Empty, 34596}},
867         {0xffff0fff, 0x1fffffff}};
868    /** Code Point Ranges for Xsux
869    [12000, 12399], [12400, 1246e], [12470, 12474], [12480, 12543]**/
870    const UnicodeSet xsux_Set
871        {{{Empty, 2304}, {Full, 28}, {Mixed, 1}, {Empty, 3}, {Full, 3},
872          {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Empty, 32469}},
873         {0x03ffffff, 0x001f7fff, 0x0000000f}};
874    /** Code Point Ranges for Phnx
875    [10900, 1091b], [1091f, 1091f]**/
876    const UnicodeSet phnx_Set
877        {{{Empty, 2120}, {Mixed, 1}, {Empty, 32695}},
878         {0x8fffffff}};
879    /** Code Point Ranges for Phag
880    [a840, a877]**/
881    const UnicodeSet phag_Set
882        {{{Empty, 1346}, {Full, 1}, {Mixed, 1}, {Empty, 33468}},
883         {0x00ffffff}};
884    /** Code Point Ranges for Nkoo
885    [07c0, 07fa]**/
886    const UnicodeSet nkoo_Set
887        {{{Empty, 62}, {Full, 1}, {Mixed, 1}, {Empty, 34752}},
888         {0x07ffffff}};
889    /** Code Point Ranges for Sund
890    [1b80, 1bbf], [1cc0, 1cc7]**/
891    const UnicodeSet sund_Set
892        {{{Empty, 220}, {Full, 2}, {Empty, 8}, {Mixed, 1}, {Empty, 34585}},
893         {0x000000ff}};
894    /** Code Point Ranges for Lepc
895    [1c00, 1c37], [1c3b, 1c49], [1c4d, 1c4f]**/
896    const UnicodeSet lepc_Set
897        {{{Empty, 224}, {Full, 1}, {Mixed, 2}, {Empty, 34589}},
898         {0xf8ffffff, 0x0000e3ff}};
899    /** Code Point Ranges for Olck
900    [1c50, 1c7f]**/
901    const UnicodeSet olck_Set
902        {{{Empty, 226}, {Mixed, 1}, {Full, 1}, {Empty, 34588}},
903         {0xffff0000}};
904    /** Code Point Ranges for Vaii
905    [a500, a62b]**/
906    const UnicodeSet vaii_Set
907        {{{Empty, 1320}, {Full, 9}, {Mixed, 1}, {Empty, 33486}},
908         {0x00000fff}};
909    /** Code Point Ranges for Saur
910    [a880, a8c5], [a8ce, a8d9]**/
911    const UnicodeSet saur_Set
912        {{{Empty, 1348}, {Full, 2}, {Mixed, 1}, {Empty, 33465}},
913         {0x03ffc03f}};
914    /** Code Point Ranges for Kali
915    [a900, a92d], [a92f, a92f]**/
916    const UnicodeSet kali_Set
917        {{{Empty, 1352}, {Full, 1}, {Mixed, 1}, {Empty, 33462}},
918         {0x0000bfff}};
919    /** Code Point Ranges for Rjng
920    [a930, a953], [a95f, a95f]**/
921    const UnicodeSet rjng_Set
922        {{{Empty, 1353}, {Mixed, 2}, {Empty, 33461}},
923         {0xffff0000, 0x800fffff}};
924    /** Code Point Ranges for Lyci
925    [10280, 1029c]**/
926    const UnicodeSet lyci_Set
927        {{{Empty, 2068}, {Mixed, 1}, {Empty, 32747}},
928         {0x1fffffff}};
929    /** Code Point Ranges for Cari
930    [102a0, 102d0]**/
931    const UnicodeSet cari_Set
932        {{{Empty, 2069}, {Full, 1}, {Mixed, 1}, {Empty, 32745}},
933         {0x0001ffff}};
934    /** Code Point Ranges for Lydi
935    [10920, 10939], [1093f, 1093f]**/
936    const UnicodeSet lydi_Set
937        {{{Empty, 2121}, {Mixed, 1}, {Empty, 32694}},
938         {0x83ffffff}};
939    /** Code Point Ranges for Cham
940    [aa00, aa36], [aa40, aa4d], [aa50, aa59], [aa5c, aa5f]**/
941    const UnicodeSet cham_Set
942        {{{Empty, 1360}, {Full, 1}, {Mixed, 2}, {Empty, 33453}},
943         {0x007fffff, 0xf3ff3fff}};
944    /** Code Point Ranges for Lana
945    [1a20, 1a5e], [1a60, 1a7c], [1a7f, 1a89], [1a90, 1a99], [1aa0, 1aad]**/
946    const UnicodeSet lana_Set
947        {{{Empty, 209}, {Full, 1}, {Mixed, 4}, {Empty, 34602}},
948         {0x7fffffff, 0x9fffffff, 0x03ff03ff, 0x00003fff}};
949    /** Code Point Ranges for Tavt
950    [aa80, aac2], [aadb, aadf]**/
951    const UnicodeSet tavt_Set
952        {{{Empty, 1364}, {Full, 2}, {Mixed, 1}, {Empty, 33449}},
953         {0xf8000007}};
954    /** Code Point Ranges for Avst
955    [10b00, 10b35], [10b39, 10b3f]**/
956    const UnicodeSet avst_Set
957        {{{Empty, 2136}, {Full, 1}, {Mixed, 1}, {Empty, 32678}},
958         {0xfe3fffff}};
959    /** Code Point Ranges for Egyp
960    [13000, 1342e]**/
961    const UnicodeSet egyp_Set
962        {{{Empty, 2432}, {Full, 33}, {Mixed, 1}, {Empty, 32350}},
963         {0x00007fff}};
964    /** Code Point Ranges for Samr
965    [0800, 082d], [0830, 083e]**/
966    const UnicodeSet samr_Set
967        {{{Empty, 64}, {Full, 1}, {Mixed, 1}, {Empty, 34750}},
968         {0x7fff3fff}};
969    /** Code Point Ranges for Lisu
970    [a4d0, a4ff]**/
971    const UnicodeSet lisu_Set
972        {{{Empty, 1318}, {Mixed, 1}, {Full, 1}, {Empty, 33496}},
973         {0xffff0000}};
974    /** Code Point Ranges for Bamu
975    [a6a0, a6f7], [16800, 16a38]**/
976    const UnicodeSet bamu_Set
977        {{{Empty, 1333}, {Full, 2}, {Mixed, 1}, {Empty, 1544}, {Full, 17},
978          {Mixed, 1}, {Empty, 31918}},
979         {0x00ffffff, 0x01ffffff}};
980    /** Code Point Ranges for Java
981    [a980, a9cd], [a9d0, a9d9], [a9de, a9df]**/
982    const UnicodeSet java_Set
983        {{{Empty, 1356}, {Full, 2}, {Mixed, 1}, {Empty, 33457}},
984         {0xc3ff3fff}};
985    /** Code Point Ranges for Mtei
986    [aae0, aaf6], [abc0, abed], [abf0, abf9]**/
987    const UnicodeSet mtei_Set
988        {{{Empty, 1367}, {Mixed, 1}, {Empty, 6}, {Full, 1}, {Mixed, 1},
989          {Empty, 33440}},
990         {0x007fffff, 0x03ff3fff}};
991    /** Code Point Ranges for Armi
992    [10840, 10855], [10857, 1085f]**/
993    const UnicodeSet armi_Set
994        {{{Empty, 2114}, {Mixed, 1}, {Empty, 32701}},
995         {0xffbfffff}};
996    /** Code Point Ranges for Sarb
997    [10a60, 10a7f]**/
998    const UnicodeSet sarb_Set
999        {{{Empty, 2131}, {Full, 1}, {Empty, 32684}},
1000         {}};
1001    /** Code Point Ranges for Prti
1002    [10b40, 10b55], [10b58, 10b5f]**/
1003    const UnicodeSet prti_Set
1004        {{{Empty, 2138}, {Mixed, 1}, {Empty, 32677}},
1005         {0xff3fffff}};
1006    /** Code Point Ranges for Phli
1007    [10b60, 10b72], [10b78, 10b7f]**/
1008    const UnicodeSet phli_Set
1009        {{{Empty, 2139}, {Mixed, 1}, {Empty, 32676}},
1010         {0xff07ffff}};
1011    /** Code Point Ranges for Orkh
1012    [10c00, 10c48]**/
1013    const UnicodeSet orkh_Set
1014        {{{Empty, 2144}, {Full, 2}, {Mixed, 1}, {Empty, 32669}},
1015         {0x000001ff}};
1016    /** Code Point Ranges for Kthi
1017    [11080, 110c1]**/
1018    const UnicodeSet kthi_Set
1019        {{{Empty, 2180}, {Full, 2}, {Mixed, 1}, {Empty, 32633}},
1020         {0x00000003}};
1021    /** Code Point Ranges for Batk
1022    [1bc0, 1bf3], [1bfc, 1bff]**/
1023    const UnicodeSet batk_Set
1024        {{{Empty, 222}, {Full, 1}, {Mixed, 1}, {Empty, 34592}},
1025         {0xf00fffff}};
1026    /** Code Point Ranges for Brah
1027    [11000, 1104d], [11052, 1106f], [1107f, 1107f]**/
1028    const UnicodeSet brah_Set
1029        {{{Empty, 2176}, {Full, 2}, {Mixed, 2}, {Empty, 32636}},
1030         {0xfffc3fff, 0x8000ffff}};
1031    /** Code Point Ranges for Mand
1032    [0840, 085b], [085e, 085e]**/
1033    const UnicodeSet mand_Set
1034        {{{Empty, 66}, {Mixed, 1}, {Empty, 34749}},
1035         {0x4fffffff}};
1036    /** Code Point Ranges for Cakm
1037    [11100, 11134], [11136, 11143]**/
1038    const UnicodeSet cakm_Set
1039        {{{Empty, 2184}, {Full, 1}, {Mixed, 2}, {Empty, 32629}},
1040         {0xffdfffff, 0x0000000f}};
1041    /** Code Point Ranges for Merc
1042    [109a0, 109b7], [109bc, 109cf], [109d2, 109ff]**/
1043    const UnicodeSet merc_Set
1044        {{{Empty, 2125}, {Mixed, 2}, {Full, 1}, {Empty, 32688}},
1045         {0xf0ffffff, 0xfffcffff}};
1046    /** Code Point Ranges for Mero
1047    [10980, 1099f]**/
1048    const UnicodeSet mero_Set
1049        {{{Empty, 2124}, {Full, 1}, {Empty, 32691}},
1050         {}};
1051    /** Code Point Ranges for Plrd
1052    [16f00, 16f44], [16f50, 16f7e], [16f8f, 16f9f]**/
1053    const UnicodeSet plrd_Set
1054        {{{Empty, 2936}, {Full, 2}, {Mixed, 3}, {Empty, 31875}},
1055         {0xffff001f, 0x7fffffff, 0xffff8000}};
1056    /** Code Point Ranges for Shrd
1057    [11180, 111cd], [111d0, 111df]**/
1058    const UnicodeSet shrd_Set
1059        {{{Empty, 2188}, {Full, 2}, {Mixed, 1}, {Empty, 32625}},
1060         {0xffff3fff}};
1061    /** Code Point Ranges for Sora
1062    [110d0, 110e8], [110f0, 110f9]**/
1063    const UnicodeSet sora_Set
1064        {{{Empty, 2182}, {Mixed, 2}, {Empty, 32632}},
1065         {0xffff0000, 0x03ff01ff}};
1066    /** Code Point Ranges for Takr
1067    [11680, 116b7], [116c0, 116c9]**/
1068    const UnicodeSet takr_Set
1069        {{{Empty, 2228}, {Full, 1}, {Mixed, 2}, {Empty, 32585}},
1070         {0x00ffffff, 0x000003ff}};
1071    /** Code Point Ranges for Aghb
1072    [10530, 10563], [1056f, 1056f]**/
1073    const UnicodeSet aghb_Set
1074        {{{Empty, 2089}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 32724}},
1075         {0xffff0000, 0x0000800f}};
1076    /** Code Point Ranges for Bass
1077    [16ad0, 16aed], [16af0, 16af5]**/
1078    const UnicodeSet bass_Set
1079        {{{Empty, 2902}, {Mixed, 2}, {Empty, 31912}},
1080         {0xffff0000, 0x003f3fff}};
1081    /** Code Point Ranges for Dupl
1082    [1bc00, 1bc6a], [1bc70, 1bc7c], [1bc80, 1bc88], [1bc90, 1bc99],
1083    [1bc9c, 1bc9f]**/
1084    const UnicodeSet dupl_Set
1085        {{{Empty, 3552}, {Full, 3}, {Mixed, 2}, {Empty, 31259}},
1086         {0x1fff07ff, 0xf3ff01ff}};
1087    /** Code Point Ranges for Elba
1088    [10500, 10527]**/
1089    const UnicodeSet elba_Set
1090        {{{Empty, 2088}, {Full, 1}, {Mixed, 1}, {Empty, 32726}},
1091         {0x000000ff}};
1092    /** Code Point Ranges for Gran
1093    [11300, 11303], [11305, 1130c], [1130f, 11310], [11313, 11328],
1094    [1132a, 11330], [11332, 11333], [11335, 11339], [1133c, 11344],
1095    [11347, 11348], [1134b, 1134d], [11350, 11350], [11357, 11357],
1096    [1135d, 11363], [11366, 1136c], [11370, 11374]**/
1097    const UnicodeSet gran_Set
1098        {{{Empty, 2200}, {Mixed, 4}, {Empty, 32612}},
1099         {0xfff99fef, 0xf3edfdff, 0xe081399f, 0x001f1fcf}};
1100    /** Code Point Ranges for Hmng
1101    [16b00, 16b45], [16b50, 16b59], [16b5b, 16b61], [16b63, 16b77],
1102    [16b7d, 16b8f]**/
1103    const UnicodeSet hmng_Set
1104        {{{Empty, 2904}, {Full, 2}, {Mixed, 3}, {Empty, 31907}},
1105         {0xfbff003f, 0xe0fffffb, 0x0000ffff}};
1106    /** Code Point Ranges for Khoj
1107    [11200, 11211], [11213, 1123e]**/
1108    const UnicodeSet khoj_Set
1109        {{{Empty, 2192}, {Mixed, 2}, {Empty, 32622}},
1110         {0xfffbffff, 0x7fffffff}};
1111    /** Code Point Ranges for Lina
1112    [10600, 10736], [10740, 10755], [10760, 10767]**/
1113    const UnicodeSet lina_Set
1114        {{{Empty, 2096}, {Full, 9}, {Mixed, 3}, {Empty, 32708}},
1115         {0x007fffff, 0x003fffff, 0x000000ff}};
1116    /** Code Point Ranges for Mahj
1117    [11150, 11176]**/
1118    const UnicodeSet mahj_Set
1119        {{{Empty, 2186}, {Mixed, 2}, {Empty, 32628}},
1120         {0xffff0000, 0x007fffff}};
1121    /** Code Point Ranges for Mani
1122    [10ac0, 10ae6], [10aeb, 10af6]**/
1123    const UnicodeSet mani_Set
1124        {{{Empty, 2134}, {Full, 1}, {Mixed, 1}, {Empty, 32680}},
1125         {0x007ff87f}};
1126    /** Code Point Ranges for Mend
1127    [1e800, 1e8c4], [1e8c7, 1e8d6]**/
1128    const UnicodeSet mend_Set
1129        {{{Empty, 3904}, {Full, 6}, {Mixed, 1}, {Empty, 30905}},
1130         {0x007fff9f}};
1131    /** Code Point Ranges for Modi
1132    [11600, 11644], [11650, 11659]**/
1133    const UnicodeSet modi_Set
1134        {{{Empty, 2224}, {Full, 2}, {Mixed, 1}, {Empty, 32589}},
1135         {0x03ff001f}};
1136    /** Code Point Ranges for Mroo
1137    [16a40, 16a5e], [16a60, 16a69], [16a6e, 16a6f]**/
1138    const UnicodeSet mroo_Set
1139        {{{Empty, 2898}, {Mixed, 2}, {Empty, 31916}},
1140         {0x7fffffff, 0x0000c3ff}};
1141    /** Code Point Ranges for Narb
1142    [10a80, 10a9f]**/
1143    const UnicodeSet narb_Set
1144        {{{Empty, 2132}, {Full, 1}, {Empty, 32683}},
1145         {}};
1146    /** Code Point Ranges for Nbat
1147    [10880, 1089e], [108a7, 108af]**/
1148    const UnicodeSet nbat_Set
1149        {{{Empty, 2116}, {Mixed, 2}, {Empty, 32698}},
1150         {0x7fffffff, 0x0000ff80}};
1151    /** Code Point Ranges for Palm
1152    [10860, 1087f]**/
1153    const UnicodeSet palm_Set
1154        {{{Empty, 2115}, {Full, 1}, {Empty, 32700}},
1155         {}};
1156    /** Code Point Ranges for Pauc
1157    [11ac0, 11af8]**/
1158    const UnicodeSet pauc_Set
1159        {{{Empty, 2262}, {Full, 1}, {Mixed, 1}, {Empty, 32552}},
1160         {0x01ffffff}};
1161    /** Code Point Ranges for Perm
1162    [10350, 1037a]**/
1163    const UnicodeSet perm_Set
1164        {{{Empty, 2074}, {Mixed, 2}, {Empty, 32740}},
1165         {0xffff0000, 0x07ffffff}};
1166    /** Code Point Ranges for Phlp
1167    [10b80, 10b91], [10b99, 10b9c], [10ba9, 10baf]**/
1168    const UnicodeSet phlp_Set
1169        {{{Empty, 2140}, {Mixed, 2}, {Empty, 32674}},
1170         {0x1e03ffff, 0x0000fe00}};
1171    /** Code Point Ranges for Sidd
1172    [11580, 115b5], [115b8, 115dd]**/
1173    const UnicodeSet sidd_Set
1174        {{{Empty, 2220}, {Full, 1}, {Mixed, 2}, {Empty, 32593}},
1175         {0xff3fffff, 0x3fffffff}};
1176    /** Code Point Ranges for Sind
1177    [112b0, 112ea], [112f0, 112f9]**/
1178    const UnicodeSet sind_Set
1179        {{{Empty, 2197}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 32616}},
1180         {0xffff0000, 0x03ff07ff}};
1181    /** Code Point Ranges for Tirh
1182    [11480, 114c7], [114d0, 114d9]**/
1183    const UnicodeSet tirh_Set
1184        {{{Empty, 2212}, {Full, 2}, {Mixed, 1}, {Empty, 32601}},
1185         {0x03ff00ff}};
1186    /** Code Point Ranges for Wara
1187    [118a0, 118f2], [118ff, 118ff]**/
1188    const UnicodeSet wara_Set
1189        {{{Empty, 2245}, {Full, 2}, {Mixed, 1}, {Empty, 32568}},
1190         {0x8007ffff}};
1191    /** Code Point Ranges for Ahom
1192    [11700, 11719], [1171d, 1172b], [11730, 1173f]**/
1193    const UnicodeSet ahom_Set
1194        {{{Empty, 2232}, {Mixed, 2}, {Empty, 32582}},
1195         {0xe3ffffff, 0xffff0fff}};
1196    /** Code Point Ranges for Hluw
1197    [14400, 14646]**/
1198    const UnicodeSet hluw_Set
1199        {{{Empty, 2592}, {Full, 18}, {Mixed, 1}, {Empty, 32205}},
1200         {0x0000007f}};
1201    /** Code Point Ranges for Hatr
1202    [108e0, 108f2], [108f4, 108f5], [108fb, 108ff]**/
1203    const UnicodeSet hatr_Set
1204        {{{Empty, 2119}, {Mixed, 1}, {Empty, 32696}},
1205         {0xf837ffff}};
1206    /** Code Point Ranges for Mult
1207    [11280, 11286], [11288, 11288], [1128a, 1128d], [1128f, 1129d],
1208    [1129f, 112a9]**/
1209    const UnicodeSet mult_Set
1210        {{{Empty, 2196}, {Mixed, 2}, {Empty, 32618}},
1211         {0xbfffbd7f, 0x000003ff}};
1212    /** Code Point Ranges for Hung
1213    [10c80, 10cb2], [10cc0, 10cf2], [10cfa, 10cff]**/
1214    const UnicodeSet hung_Set
1215        {{{Empty, 2148}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
1216          {Empty, 32664}},
1217         {0x0007ffff, 0xfc07ffff}};
1218    /** Code Point Ranges for Sgnw
1219    [1d800, 1da8b], [1da9b, 1da9f], [1daa1, 1daaf]**/
1220    const UnicodeSet sgnw_Set
1221        {{{Empty, 3776}, {Full, 20}, {Mixed, 2}, {Empty, 31018}},
1222         {0xf8000fff, 0x0000fffe}};
1223    /** Code Point Ranges for Adlm
1224    [1e900, 1e94a], [1e950, 1e959], [1e95e, 1e95f]**/
1225    const UnicodeSet adlm_Set
1226        {{{Empty, 3912}, {Full, 2}, {Mixed, 1}, {Empty, 30901}},
1227         {0xc3ff07ff}};
1228    /** Code Point Ranges for Bhks
1229    [11c00, 11c08], [11c0a, 11c36], [11c38, 11c45], [11c50, 11c6c]**/
1230    const UnicodeSet bhks_Set
1231        {{{Empty, 2272}, {Mixed, 4}, {Empty, 32540}},
1232         {0xfffffdff, 0xff7fffff, 0xffff003f, 0x00001fff}};
1233    /** Code Point Ranges for Marc
1234    [11c70, 11c8f], [11c92, 11ca7], [11ca9, 11cb6]**/
1235    const UnicodeSet marc_Set
1236        {{{Empty, 2275}, {Mixed, 3}, {Empty, 32538}},
1237         {0xffff0000, 0xfffcffff, 0x007ffeff}};
1238    /** Code Point Ranges for Newa
1239    [11400, 11459], [1145b, 1145b], [1145d, 1145d]**/
1240    const UnicodeSet newa_Set
1241        {{{Empty, 2208}, {Full, 2}, {Mixed, 1}, {Empty, 32605}},
1242         {0x2bffffff}};
1243    /** Code Point Ranges for Osge
1244    [104b0, 104d3], [104d8, 104fb]**/
1245    const UnicodeSet osge_Set
1246        {{{Empty, 2085}, {Mixed, 3}, {Empty, 32728}},
1247         {0xffff0000, 0xff0fffff, 0x0fffffff}};
1248    /** Code Point Ranges for Tang
1249    [16fe0, 16fe0], [17000, 187ec], [18800, 18af2]**/
1250    const UnicodeSet tang_Set
1251        {{{Empty, 2943}, {Mixed, 1}, {Full, 191}, {Mixed, 1}, {Full, 23},
1252          {Mixed, 1}, {Empty, 31656}},
1253         {0x00000001, 0x00001fff, 0x0007ffff}};
1254    /** Code Point Ranges for Hrkt
1255    **/
1256    const UnicodeSet hrkt_Set
1257        {{{Empty, 34816}},
1258         {}};
1259    static EnumeratedPropertyObject property_object
1260        {sc,
1261         SC_ns::independent_prop_values,
1262         SC_ns::enum_names,
1263         SC_ns::value_names,
1264         SC_ns::aliases_only_map,
1265         {&zzzz_Set, &zyyy_Set, &latn_Set, &grek_Set, &cyrl_Set, &armn_Set,
1266        &hebr_Set, &arab_Set, &syrc_Set, &thaa_Set, &deva_Set, &beng_Set,
1267        &guru_Set, &gujr_Set, &orya_Set, &taml_Set, &telu_Set, &knda_Set,
1268        &mlym_Set, &sinh_Set, &thai_Set, &laoo_Set, &tibt_Set, &mymr_Set,
1269        &geor_Set, &hang_Set, &ethi_Set, &cher_Set, &cans_Set, &ogam_Set,
1270        &runr_Set, &khmr_Set, &mong_Set, &hira_Set, &kana_Set, &bopo_Set,
1271        &hani_Set, &yiii_Set, &ital_Set, &goth_Set, &dsrt_Set, &zinh_Set,
1272        &tglg_Set, &hano_Set, &buhd_Set, &tagb_Set, &limb_Set, &tale_Set,
1273        &linb_Set, &ugar_Set, &shaw_Set, &osma_Set, &cprt_Set, &brai_Set,
1274        &bugi_Set, &copt_Set, &talu_Set, &glag_Set, &tfng_Set, &sylo_Set,
1275        &xpeo_Set, &khar_Set, &bali_Set, &xsux_Set, &phnx_Set, &phag_Set,
1276        &nkoo_Set, &sund_Set, &lepc_Set, &olck_Set, &vaii_Set, &saur_Set,
1277        &kali_Set, &rjng_Set, &lyci_Set, &cari_Set, &lydi_Set, &cham_Set,
1278        &lana_Set, &tavt_Set, &avst_Set, &egyp_Set, &samr_Set, &lisu_Set,
1279        &bamu_Set, &java_Set, &mtei_Set, &armi_Set, &sarb_Set, &prti_Set,
1280        &phli_Set, &orkh_Set, &kthi_Set, &batk_Set, &brah_Set, &mand_Set,
1281        &cakm_Set, &merc_Set, &mero_Set, &plrd_Set, &shrd_Set, &sora_Set,
1282        &takr_Set, &aghb_Set, &bass_Set, &dupl_Set, &elba_Set, &gran_Set,
1283        &hmng_Set, &khoj_Set, &lina_Set, &mahj_Set, &mani_Set, &mend_Set,
1284        &modi_Set, &mroo_Set, &narb_Set, &nbat_Set, &palm_Set, &pauc_Set,
1285        &perm_Set, &phlp_Set, &sidd_Set, &sind_Set, &tirh_Set, &wara_Set,
1286        &ahom_Set, &hluw_Set, &hatr_Set, &mult_Set, &hung_Set, &sgnw_Set,
1287        &adlm_Set, &bhks_Set, &marc_Set, &newa_Set, &osge_Set, &tang_Set,
1288        &hrkt_Set
1289         }};
1290    }
1291}
1292
1293#endif
Note: See TracBrowser for help on using the repository browser.