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

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

UCD corrections and additional properties

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