source: icGREP/icgrep-devel/icgrep/UCD/IndicSyllabicCategory.h

Last change on this file was 6192, checked in by cameron, 9 months ago

Updates for Unicode 11.0 plus Emoji properties

File size: 54.9 KB
Line 
1#ifndef INDICSYLLABICCATEGORY_H
2#define INDICSYLLABICCATEGORY_H
3/*
4 *  Copyright (c) 2018 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 INSC_ns {
18    const unsigned independent_prop_values = 36;
19    /** Code Point Ranges for Other
20    [0000, 002c], [002e, 002f], [003a, 009f], [00a1, 00b1], [00b4, 00d6],
21    [00d8, 08ff], [0950, 0950], [0953, 0954], [0964, 0965], [0970, 0971],
22    [0984, 0984], [098d, 098e], [0991, 0992], [09a9, 09a9], [09b1, 09b1],
23    [09b3, 09b5], [09ba, 09bb], [09c5, 09c6], [09c9, 09ca], [09cf, 09d6],
24    [09d8, 09db], [09de, 09de], [09e4, 09e5], [09f2, 09fb], [09fd, 09fd],
25    [09ff, 0a00], [0a04, 0a04], [0a0b, 0a0e], [0a11, 0a12], [0a29, 0a29],
26    [0a31, 0a31], [0a34, 0a34], [0a37, 0a37], [0a3a, 0a3b], [0a3d, 0a3d],
27    [0a43, 0a46], [0a49, 0a4a], [0a4e, 0a50], [0a52, 0a58], [0a5d, 0a5d],
28    [0a5f, 0a65], [0a74, 0a74], [0a76, 0a80], [0a84, 0a84], [0a8e, 0a8e],
29    [0a92, 0a92], [0aa9, 0aa9], [0ab1, 0ab1], [0ab4, 0ab4], [0aba, 0abb],
30    [0ac6, 0ac6], [0aca, 0aca], [0ace, 0adf], [0ae4, 0ae5], [0af0, 0af8],
31    [0b00, 0b00], [0b04, 0b04], [0b0d, 0b0e], [0b11, 0b12], [0b29, 0b29],
32    [0b31, 0b31], [0b34, 0b34], [0b3a, 0b3b], [0b45, 0b46], [0b49, 0b4a],
33    [0b4e, 0b55], [0b58, 0b5b], [0b5e, 0b5e], [0b64, 0b65], [0b70, 0b70],
34    [0b72, 0b81], [0b84, 0b84], [0b8b, 0b8d], [0b91, 0b91], [0b96, 0b98],
35    [0b9b, 0b9b], [0b9d, 0b9d], [0ba0, 0ba2], [0ba5, 0ba7], [0bab, 0bad],
36    [0bba, 0bbd], [0bc3, 0bc5], [0bc9, 0bc9], [0bce, 0bd6], [0bd8, 0be5],
37    [0bf0, 0bff], [0c0d, 0c0d], [0c11, 0c11], [0c29, 0c29], [0c3a, 0c3c],
38    [0c45, 0c45], [0c49, 0c49], [0c4e, 0c54], [0c57, 0c57], [0c5b, 0c5f],
39    [0c64, 0c65], [0c70, 0c80], [0c84, 0c84], [0c8d, 0c8d], [0c91, 0c91],
40    [0ca9, 0ca9], [0cb4, 0cb4], [0cba, 0cbb], [0cc5, 0cc5], [0cc9, 0cc9],
41    [0cce, 0cd4], [0cd7, 0cdd], [0cdf, 0cdf], [0ce4, 0ce5], [0cf0, 0cf0],
42    [0cf3, 0cff], [0d04, 0d04], [0d0d, 0d0d], [0d11, 0d11], [0d45, 0d45],
43    [0d49, 0d49], [0d4f, 0d53], [0d58, 0d5e], [0d64, 0d65], [0d70, 0d79],
44    [0d80, 0d81], [0d84, 0d84], [0d97, 0d99], [0db2, 0db2], [0dbc, 0dbc],
45    [0dbe, 0dbf], [0dc7, 0dc9], [0dcb, 0dce], [0dd5, 0dd5], [0dd7, 0dd7],
46    [0de0, 0de5], [0df0, 0df1], [0df4, 0e00], [0e2f, 0e2f], [0e3b, 0e3f],
47    [0e46, 0e46], [0e4f, 0e4f], [0e5a, 0e80], [0e83, 0e83], [0e85, 0e86],
48    [0e89, 0e89], [0e8b, 0e8c], [0e8e, 0e93], [0e98, 0e98], [0ea0, 0ea0],
49    [0ea4, 0ea4], [0ea6, 0ea6], [0ea8, 0ea9], [0eac, 0eac], [0eaf, 0eaf],
50    [0eba, 0eba], [0ebe, 0ebf], [0ec5, 0ec7], [0ecc, 0ecc], [0ece, 0ecf],
51    [0eda, 0edb], [0ee0, 0f1f], [0f34, 0f34], [0f36, 0f36], [0f38, 0f38],
52    [0f3a, 0f3f], [0f48, 0f48], [0f6d, 0f70], [0f86, 0f87], [0f98, 0f98],
53    [0fbd, 0fc5], [0fc7, 0fff], [104a, 104a], [104c, 104d], [104f, 104f],
54    [109e, 16ff], [170d, 170d], [1715, 171f], [1735, 173f], [1754, 175f],
55    [176d, 176d], [1771, 1771], [1774, 177f], [17b4, 17b5], [17d4, 17db],
56    [17de, 17df], [17ea, 18ff], [191f, 191f], [192c, 192f], [193c, 1945],
57    [196e, 196f], [1975, 197f], [19ac, 19af], [19ca, 19cf], [19da, 19ff],
58    [1a1c, 1a1f], [1a5f, 1a5f], [1a7d, 1a7e], [1a8a, 1a8f], [1a9a, 1aff],
59    [1b4c, 1b4f], [1b5a, 1b7f], [1bf4, 1bff], [1c38, 1c3f], [1c4a, 1c4c],
60    [1c50, 1ccf], [1cd3, 1cd3], [1ce2, 1cf1], [1cfa, 1dfa], [1dfc, 200b],
61    [200e, 200f], [2015, 2073], [2075, 2081], [2085, 25cb], [25cd, a7ff],
62    [a802, a802], [a828, a83f], [a874, a87f], [a8c6, a8cf], [a8da, a8df],
63    [a8f4, a8fd], [a92e, a92f], [a954, a97f], [a9c1, a9cf], [a9da, a9df],
64    [a9e6, a9e6], [a9ff, a9ff], [aa37, aa3f], [aa4e, aa4f], [aa5a, aa5f],
65    [aa70, aa70], [aa77, aa79], [aac3, aadf], [aaf0, aaf4], [aaf7, abbf],
66    [abeb, abeb], [abee, abef], [abfa, 109ff], [10a04, 10a04],
67    [10a07, 10a0b], [10a14, 10a14], [10a18, 10a18], [10a36, 10a37],
68    [10a3b, 10a3e], [10a49, 10fff], [11047, 11051], [11070, 1107e],
69    [110bb, 110ff], [11135, 11135], [11140, 11143], [11147, 1114f],
70    [11174, 1117f], [111c4, 111c8], [111cd, 111cf], [111da, 111e0],
71    [111f5, 111ff], [11212, 11212], [11238, 1123d], [1123f, 1127f],
72    [11287, 11287], [11289, 11289], [1128e, 1128e], [1129e, 1129e],
73    [112a9, 112af], [112eb, 112ef], [112fa, 112ff], [11304, 11304],
74    [1130d, 1130e], [11311, 11312], [11329, 11329], [11331, 11331],
75    [11334, 11334], [1133a, 1133a], [11345, 11346], [11349, 1134a],
76    [1134e, 11356], [11358, 1135d], [11364, 11365], [1136d, 1136f],
77    [11375, 113ff], [11448, 1144f], [1145a, 1145d], [1145f, 11480],
78    [114c5, 114cf], [114da, 1157f], [115b6, 115b7], [115c1, 115d7],
79    [115de, 115ff], [11641, 1164f], [1165a, 1167f], [116b8, 116bf],
80    [116ca, 116ff], [1171b, 1171c], [1172c, 1172f], [1173c, 117ff],
81    [1183b, 119ff], [11a40, 11a44], [11a46, 11a46], [11a48, 11a4f],
82    [11a84, 11a85], [11a9a, 11a9c], [11a9e, 11bff], [11c09, 11c09],
83    [11c37, 11c37], [11c41, 11c4f], [11c6d, 11c71], [11c90, 11c91],
84    [11ca8, 11ca8], [11cb7, 11cff], [11d07, 11d07], [11d0a, 11d0a],
85    [11d37, 11d39], [11d3b, 11d3b], [11d3e, 11d3e], [11d48, 11d4f],
86    [11d5a, 11d5f], [11d66, 11d66], [11d69, 11d69], [11d8f, 11d8f],
87    [11d92, 11d92], [11d98, 11d9f], [11daa, 11edf], [11ef7, 10ffff]**/
88
89
90    namespace {
91    const static UnicodeSet::run_t __other_Set_runs[] = {
92    {Full, 1}, {Mixed, 1}, {Full, 3}, {Mixed, 2}, {Full, 65}, {Empty, 2},
93    {Mixed, 31}, {Empty, 1}, {Mixed, 9}, {Full, 1}, {Mixed, 3}, {Full, 2},
94    {Mixed, 6}, {Full, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
95    {Full, 51}, {Mixed, 4}, {Empty, 1}, {Mixed, 3}, {Full, 8}, {Mixed, 4},
96    {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
97    {Full, 3}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 3}, {Mixed, 1},
98    {Empty, 1}, {Mixed, 2}, {Full, 3}, {Mixed, 2}, {Full, 7}, {Mixed, 1},
99    {Full, 16}, {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 41}, {Mixed, 1},
100    {Full, 1041}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
101    {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Empty, 2}, {Mixed, 2},
102    {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 2}, {Full, 6}, {Empty, 1},
103    {Mixed, 1}, {Full, 752}, {Mixed, 3}, {Full, 45}, {Empty, 2}, {Mixed, 2},
104    {Empty, 1}, {Mixed, 1}, {Full, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2},
105    {Mixed, 4}, {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 5}, {Full, 4},
106    {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
107    {Full, 5}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Empty, 2}, {Mixed, 1},
108    {Full, 1}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 6},
109    {Empty, 1}, {Mixed, 1}, {Full, 14}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
110    {Mixed, 1}, {Full, 11}, {Mixed, 6}, {Full, 2}, {Mixed, 6}, {Full, 9},
111    {Mixed, 1}, {Full, 32520}};
112    const static UnicodeSet::bitquad_t  __other_Set_quads[] = {
113    0xfc00dfff, 0xfff3fffe, 0xff7fffff, 0x00190000, 0x00030030, 0x00066010,
114    0x0c3a0200, 0x4f7f8660, 0xaffc0030, 0x00067811, 0x2c920200, 0xa1fdc678,
115    0xffd0003f, 0x00044011, 0x0c120200, 0xffffc440, 0x01ff0030, 0x00066011,
116    0x0c120200, 0x4f3fc660, 0xfffd0030, 0x29c23813, 0x3c0038e7, 0xff7fc238,
117    0xffff003f, 0x00022000, 0x1c000200, 0xf89fc220, 0xffff0030, 0x00022011,
118    0x0c100200, 0xbf9fc220, 0xfff90030, 0x00022010, 0x7f0f8220, 0x03ff0030,
119    0x03800013, 0xd0040000, 0x00a07b80, 0xfff3003f, 0x00000001, 0xf8008000,
120    0xfc008040, 0x010fda69, 0xc4009351, 0x0c00d0e0, 0xfd500000, 0x00000100,
121    0x0001e000, 0x010000c0, 0xe0000000, 0xffffffbf, 0x0000b400, 0xc0000000,
122    0xffe02000, 0xffe00000, 0xfff00000, 0xfff22000, 0x00300000, 0xcff00000,
123    0xfffffc00, 0x80000000, 0xf000f000, 0x0000003f, 0xffe0c000, 0x0000f000,
124    0xfc00fc00, 0xf0000000, 0x80000000, 0x60000000, 0xfc00fc00, 0xfc00f000,
125    0xfff00000, 0xff000000, 0xffff1c00, 0x0008ffff, 0xfc03fffc, 0xf7ffffff,
126    0xffe0cfff, 0xffefffff, 0xffffffe3, 0xffffefff, 0x00000004, 0xffffff00,
127    0xfff00000, 0xfc00ffc0, 0x3ff00000, 0x0000c000, 0xfff00000, 0xfc00fffe,
128    0x80000040, 0xff800000, 0xfc00c000, 0x03810000, 0xfffffff8, 0xff9f0000,
129    0xfc00c800, 0x01100f90, 0x78c00000, 0xfffffe00, 0x0003ff80, 0x7fff0000,
130    0xf8000000, 0x00200000, 0x0000ff8f, 0xfff00000, 0xfc00e1f0, 0xffe00001,
131    0x00040000, 0xbf000000, 0x40004280, 0x0000fe00, 0xfc00f800, 0x00066010,
132    0x04120200, 0x3f7fc660, 0xffe0e030, 0xbc00ff00, 0x00000001, 0xfc00ffe0,
133    0x00c00000, 0xc0fffffe, 0xfc00fffe, 0xff000000, 0xfffffc00, 0x18000000,
134    0xf000f000, 0xf8000000, 0x0000ff5f, 0xdc000030, 0x00000200, 0x00800000,
135    0x0000fffe, 0x0003e000, 0x00030000, 0xff800100, 0x00000480, 0x4b800000,
136    0xfc00ff00, 0x00000240, 0xff048000, 0xfffffc00, 0xff800000};
137    }
138
139    const static UnicodeSet other_Set{const_cast<UnicodeSet::run_t *>(__other_Set_runs), 115, 0, const_cast<UnicodeSet::bitquad_t *>(__other_Set_quads), 143, 0};
140
141    /** Code Point Ranges for Bindu
142    [0900, 0902], [0981, 0982], [09fc, 09fc], [0a01, 0a02], [0a70, 0a70],
143    [0a81, 0a82], [0b01, 0b02], [0b82, 0b82], [0c00, 0c02], [0c04, 0c04],
144    [0c81, 0c82], [0d00, 0d02], [0d82, 0d82], [0e4d, 0e4d], [0ecd, 0ecd],
145    [0f7e, 0f7e], [0f82, 0f83], [1036, 1036], [17c6, 17c6], [1932, 1932],
146    [1a74, 1a74], [1b00, 1b02], [1b80, 1b80], [1c34, 1c35], [a80b, a80b],
147    [a873, a873], [a880, a880], [a8c5, a8c5], [a8f2, a8f3], [a980, a981],
148    [10a0e, 10a0e], [11000, 11001], [11080, 11081], [11100, 11101],
149    [11180, 11181], [11234, 11234], [112df, 112df], [11300, 11302],
150    [1135e, 1135f], [11443, 11444], [114bf, 114c0], [115bc, 115bd],
151    [1163d, 1163d], [116ab, 116ab], [11837, 11837], [11a35, 11a38],
152    [11a96, 11a96], [11c3c, 11c3d], [11cb5, 11cb6], [11d40, 11d40],
153    [11d95, 11d95]**/
154
155
156    namespace {
157    const static UnicodeSet::run_t __bindu_Set_runs[] = {
158    {Empty, 72}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
159    {Empty, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
160    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
161    {Empty, 3}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
162    {Empty, 4}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 60}, {Mixed, 1},
163    {Empty, 10}, {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
164    {Empty, 3}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1118},
165    {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 4},
166    {Mixed, 1}, {Empty, 771}, {Mixed, 1}, {Empty, 47}, {Mixed, 1},
167    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
168    {Empty, 4}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
169    {Empty, 1}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
170    {Empty, 6}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
171    {Empty, 11}, {Mixed, 1}, {Empty, 15}, {Mixed, 1}, {Empty, 2},
172    {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 4},
173    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 32531}};
174    const static UnicodeSet::bitquad_t  __bindu_Set_quads[] = {
175    0x00000007, 0x00000006, 0x10000000, 0x00000006, 0x00010000, 0x00000006,
176    0x00000006, 0x00000004, 0x00000017, 0x00000006, 0x00000007, 0x00000004,
177    0x00002000, 0x00002000, 0x40000000, 0x0000000c, 0x00400000, 0x00000040,
178    0x00040000, 0x00100000, 0x00000007, 0x00000001, 0x00300000, 0x00000800,
179    0x00080000, 0x00000001, 0x00000020, 0x000c0000, 0x00000003, 0x00004000,
180    0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00100000, 0x80000000,
181    0x00000007, 0xc0000000, 0x00000018, 0x80000000, 0x00000001, 0x30000000,
182    0x20000000, 0x00000800, 0x00800000, 0x01e00000, 0x00400000, 0x30000000,
183    0x00600000, 0x00000001, 0x00200000};
184    }
185
186    const static UnicodeSet bindu_Set{const_cast<UnicodeSet::run_t *>(__bindu_Set_runs), 91, 0, const_cast<UnicodeSet::bitquad_t *>(__bindu_Set_quads), 51, 0};
187
188    /** Code Point Ranges for Visarga
189    [0903, 0903], [0983, 0983], [0a03, 0a03], [0a83, 0a83], [0b03, 0b03],
190    [0c03, 0c03], [0c83, 0c83], [0d03, 0d03], [0d83, 0d83], [0f7f, 0f7f],
191    [1038, 1038], [17c7, 17c7], [1b04, 1b04], [1b82, 1b82], [1cf2, 1cf3],
192    [a881, a881], [a983, a983], [aaf5, aaf5], [10a0f, 10a0f],
193    [11002, 11002], [11082, 11082], [11102, 11102], [11182, 11182],
194    [11303, 11303], [11445, 11445], [114c1, 114c1], [115be, 115be],
195    [1163e, 1163e], [116ac, 116ac], [11838, 11838], [11a39, 11a39],
196    [11a97, 11a97], [11c3e, 11c3e], [11d41, 11d41], [11d96, 11d96]**/
197
198
199    namespace {
200    const static UnicodeSet::run_t __visarga_Set_runs[] = {
201    {Empty, 72}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
202    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
203    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
204    {Empty, 14}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 60},
205    {Mixed, 1}, {Empty, 25}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
206    {Empty, 10}, {Mixed, 1}, {Empty, 1116}, {Mixed, 1}, {Empty, 7},
207    {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 760}, {Mixed, 1},
208    {Empty, 47}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
209    {Empty, 3}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 9}, {Mixed, 1},
210    {Empty, 3}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
211    {Empty, 3}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 15},
212    {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 8},
213    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 32531}};
214    const static UnicodeSet::bitquad_t  __visarga_Set_quads[] = {
215    0x00000008, 0x00000008, 0x00000008, 0x00000008, 0x00000008, 0x00000008,
216    0x00000008, 0x00000008, 0x00000008, 0x80000000, 0x01000000, 0x00000080,
217    0x00000010, 0x00000004, 0x000c0000, 0x00000002, 0x00000008, 0x00200000,
218    0x00008000, 0x00000004, 0x00000004, 0x00000004, 0x00000004, 0x00000008,
219    0x00000020, 0x00000002, 0x40000000, 0x40000000, 0x00001000, 0x01000000,
220    0x02000000, 0x00800000, 0x40000000, 0x00000002, 0x00400000};
221    }
222
223    const static UnicodeSet visarga_Set{const_cast<UnicodeSet::run_t *>(__visarga_Set_runs), 71, 0, const_cast<UnicodeSet::bitquad_t *>(__visarga_Set_quads), 35, 0};
224
225    /** Code Point Ranges for Avagraha
226    [093d, 093d], [09bd, 09bd], [0abd, 0abd], [0b3d, 0b3d], [0c3d, 0c3d],
227    [0cbd, 0cbd], [0d3d, 0d3d], [0f85, 0f85], [17dc, 17dc], [1bba, 1bba],
228    [111c1, 111c1], [1133d, 1133d], [11447, 11447], [114c4, 114c4],
229    [11a9d, 11a9d], [11c40, 11c40]**/
230
231
232    namespace {
233    const static UnicodeSet::run_t __avagraha_Set_runs[] = {
234    {Empty, 73}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
235    {Empty, 3}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
236    {Empty, 3}, {Mixed, 1}, {Empty, 18}, {Mixed, 1}, {Empty, 65},
237    {Mixed, 1}, {Empty, 30}, {Mixed, 1}, {Empty, 1968}, {Mixed, 1},
238    {Empty, 10}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
239    {Empty, 45}, {Mixed, 1}, {Empty, 13}, {Mixed, 1}, {Empty, 32541}};
240    const static UnicodeSet::bitquad_t  __avagraha_Set_quads[] = {
241    0x20000000, 0x20000000, 0x20000000, 0x20000000, 0x20000000, 0x20000000,
242    0x20000000, 0x00000020, 0x10000000, 0x04000000, 0x00000002, 0x20000000,
243    0x00000080, 0x00000010, 0x20000000, 0x00000001};
244    }
245
246    const static UnicodeSet avagraha_Set{const_cast<UnicodeSet::run_t *>(__avagraha_Set_runs), 33, 0, const_cast<UnicodeSet::bitquad_t *>(__avagraha_Set_quads), 16, 0};
247
248    /** Code Point Ranges for Nukta
249    [093c, 093c], [09bc, 09bc], [0a3c, 0a3c], [0abc, 0abc], [0afd, 0aff],
250    [0b3c, 0b3c], [0cbc, 0cbc], [0f39, 0f39], [1b34, 1b34], [1be6, 1be6],
251    [1c37, 1c37], [a9b3, a9b3], [10a38, 10a3a], [110ba, 110ba],
252    [11173, 11173], [111ca, 111ca], [11236, 11236], [112e9, 112e9],
253    [1133b, 1133c], [11446, 11446], [114c3, 114c3], [115c0, 115c0],
254    [116b7, 116b7], [1183a, 1183a], [11d42, 11d42]**/
255
256
257    namespace {
258    const static UnicodeSet::run_t __nukta_Set_runs[] = {
259    {Empty, 73}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
260    {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
261    {Empty, 11}, {Mixed, 1}, {Empty, 19}, {Mixed, 1}, {Empty, 95},
262    {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
263    {Empty, 1131}, {Mixed, 1}, {Empty, 771}, {Mixed, 1}, {Empty, 51},
264    {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 2},
265    {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 8},
266    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 6},
267    {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 40}, {Mixed, 1},
268    {Empty, 32533}};
269    const static UnicodeSet::bitquad_t  __nukta_Set_quads[] = {
270    0x10000000, 0x10000000, 0x10000000, 0x10000000, 0xe0000000, 0x10000000,
271    0x10000000, 0x02000000, 0x00100000, 0x00000040, 0x00800000, 0x00080000,
272    0x07000000, 0x04000000, 0x00080000, 0x00000400, 0x00400000, 0x00000200,
273    0x18000000, 0x00000040, 0x00000008, 0x00000001, 0x00800000, 0x04000000,
274    0x00000004};
275    }
276
277    const static UnicodeSet nukta_Set{const_cast<UnicodeSet::run_t *>(__nukta_Set_runs), 51, 0, const_cast<UnicodeSet::bitquad_t *>(__nukta_Set_quads), 25, 0};
278
279    /** Code Point Ranges for Virama
280    [094d, 094d], [09cd, 09cd], [0a4d, 0a4d], [0acd, 0acd], [0b4d, 0b4d],
281    [0bcd, 0bcd], [0c4d, 0c4d], [0ccd, 0ccd], [0d4d, 0d4d], [0dca, 0dca],
282    [1b44, 1b44], [a8c4, a8c4], [a9c0, a9c0], [11046, 11046],
283    [110b9, 110b9], [111c0, 111c0], [11235, 11235], [1134d, 1134d],
284    [11442, 11442], [114c2, 114c2], [115bf, 115bf], [1163f, 1163f],
285    [116b6, 116b6], [11839, 11839], [11c3f, 11c3f]**/
286
287
288    namespace {
289    const static UnicodeSet::run_t __virama_Set_runs[] = {
290    {Empty, 74}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
291    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
292    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
293    {Empty, 3}, {Mixed, 1}, {Empty, 107}, {Mixed, 1}, {Empty, 1131},
294    {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 819}, {Mixed, 1},
295    {Empty, 2}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
296    {Empty, 8}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
297    {Empty, 6}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
298    {Empty, 11}, {Mixed, 1}, {Empty, 31}, {Mixed, 1}, {Empty, 32542}};
299    const static UnicodeSet::bitquad_t  __virama_Set_quads[] = {
300    0x00002000, 0x00002000, 0x00002000, 0x00002000, 0x00002000, 0x00002000,
301    0x00002000, 0x00002000, 0x00002000, 0x00000400, 0x00000010, 0x00000010,
302    0x00000001, 0x00000040, 0x02000000, 0x00000001, 0x00200000, 0x00002000,
303    0x00000004, 0x00000004, 0x80000000, 0x80000000, 0x00400000, 0x02000000,
304    0x80000000};
305    }
306
307    const static UnicodeSet virama_Set{const_cast<UnicodeSet::run_t *>(__virama_Set_runs), 51, 0, const_cast<UnicodeSet::bitquad_t *>(__virama_Set_quads), 25, 0};
308
309    /** Code Point Ranges for Pure_Killer
310    [0d3b, 0d3c], [0e3a, 0e3a], [0e4e, 0e4e], [0f84, 0f84], [103a, 103a],
311    [1714, 1714], [1734, 1734], [17d1, 17d1], [1a7a, 1a7a], [1baa, 1baa],
312    [1bf2, 1bf3], [a806, a806], [a953, a953], [abed, abed], [11134, 11134],
313    [112ea, 112ea], [1172b, 1172b], [11a34, 11a34], [11d44, 11d44]**/
314
315
316    namespace {
317    const static UnicodeSet::run_t __pure_killer_Set_runs[] = {
318    {Empty, 105}, {Mixed, 1}, {Empty, 7}, {Mixed, 2}, {Empty, 9},
319    {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 54}, {Mixed, 2}, {Empty, 4},
320    {Mixed, 1}, {Empty, 20}, {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 1},
321    {Mixed, 1}, {Empty, 1120}, {Mixed, 1}, {Empty, 9}, {Mixed, 1},
322    {Empty, 20}, {Mixed, 1}, {Empty, 809}, {Mixed, 1}, {Empty, 13},
323    {Mixed, 1}, {Empty, 33}, {Mixed, 1}, {Empty, 23}, {Mixed, 1},
324    {Empty, 24}, {Mixed, 1}, {Empty, 32533}};
325    const static UnicodeSet::bitquad_t  __pure_killer_Set_quads[] = {
326    0x18000000, 0x04000000, 0x00004000, 0x00000010, 0x04000000, 0x00100000,
327    0x00100000, 0x00020000, 0x04000000, 0x00000400, 0x000c0000, 0x00000040,
328    0x00080000, 0x00002000, 0x00100000, 0x00000400, 0x00000800, 0x00100000,
329    0x00000010};
330    }
331
332    const static UnicodeSet pure_killer_Set{const_cast<UnicodeSet::run_t *>(__pure_killer_Set_runs), 35, 0, const_cast<UnicodeSet::bitquad_t *>(__pure_killer_Set_quads), 19, 0};
333
334    /** Code Point Ranges for Invisible_Stacker
335    [1039, 1039], [17d2, 17d2], [1a60, 1a60], [1bab, 1bab], [aaf6, aaf6],
336    [10a3f, 10a3f], [11133, 11133], [11a47, 11a47], [11a99, 11a99],
337    [11d45, 11d45], [11d97, 11d97]**/
338
339
340    namespace {
341    const static UnicodeSet::run_t __invisible_stacker_Set_runs[] = {
342    {Empty, 129}, {Mixed, 1}, {Empty, 60}, {Mixed, 1}, {Empty, 20},
343    {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 1145}, {Mixed, 1},
344    {Empty, 761}, {Mixed, 1}, {Empty, 55}, {Mixed, 1}, {Empty, 72},
345    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 21}, {Mixed, 1}, {Empty, 1},
346    {Mixed, 1}, {Empty, 32531}};
347    const static UnicodeSet::bitquad_t  __invisible_stacker_Set_quads[] = {
348    0x02000000, 0x00040000, 0x00000001, 0x00000800, 0x00400000, 0x80000000,
349    0x00080000, 0x00000080, 0x02000000, 0x00000020, 0x00800000};
350    }
351
352    const static UnicodeSet invisible_stacker_Set{const_cast<UnicodeSet::run_t *>(__invisible_stacker_Set_runs), 23, 0, const_cast<UnicodeSet::bitquad_t *>(__invisible_stacker_Set_quads), 11, 0};
353
354    /** Code Point Ranges for Vowel_Independent
355    [0904, 0914], [0960, 0961], [0972, 0977], [0985, 098c], [098f, 0990],
356    [0993, 0994], [09e0, 09e1], [0a05, 0a0a], [0a0f, 0a10], [0a13, 0a14],
357    [0a85, 0a8d], [0a8f, 0a91], [0a93, 0a94], [0ae0, 0ae1], [0b05, 0b0c],
358    [0b0f, 0b10], [0b13, 0b14], [0b60, 0b61], [0b85, 0b8a], [0b8e, 0b90],
359    [0b92, 0b94], [0c05, 0c0c], [0c0e, 0c10], [0c12, 0c14], [0c60, 0c61],
360    [0c85, 0c8c], [0c8e, 0c90], [0c92, 0c94], [0ce0, 0ce1], [0d05, 0d0c],
361    [0d0e, 0d10], [0d12, 0d14], [0d5f, 0d61], [0d85, 0d96], [1021, 102a],
362    [1052, 1055], [1700, 1702], [1720, 1722], [1740, 1742], [1760, 1762],
363    [17a3, 17b3], [1a4d, 1a52], [1b05, 1b12], [1b83, 1b89], [1be4, 1be5],
364    [a800, a801], [a803, a805], [a882, a891], [a8fe, a8fe], [a984, a988],
365    [a98c, a98e], [aa00, aa05], [aae0, aae1], [abce, abcf], [abd1, abd1],
366    [11005, 11012], [11083, 1108c], [11103, 11106], [11183, 11190],
367    [11200, 11207], [11280, 11283], [112b0, 112b9], [11305, 1130c],
368    [1130f, 11310], [11313, 11314], [11360, 11361], [11400, 1140d],
369    [11481, 1148e], [11580, 1158d], [115d8, 115db], [11600, 1160d],
370    [11680, 11689], [11800, 11809], [11a00, 11a00], [11a50, 11a50],
371    [11c00, 11c08], [11c0a, 11c0d], [11d00, 11d06], [11d08, 11d09],
372    [11d0b, 11d0b], [11d60, 11d65], [11d67, 11d68], [11d6a, 11d6b]**/
373
374
375    namespace {
376    const static UnicodeSet::run_t __vowel_independent_Set_runs[] = {
377    {Empty, 72}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
378    {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
379    {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
380    {Empty, 1}, {Mixed, 3}, {Empty, 20}, {Mixed, 2}, {Empty, 53},
381    {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 20}, {Mixed, 1}, {Empty, 5},
382    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
383    {Empty, 1120}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
384    {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 6},
385    {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 801}, {Mixed, 1},
386    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
387    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
388    {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
389    {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
390    {Empty, 3}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 15},
391    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 13}, {Mixed, 1}, {Empty, 7},
392    {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 32532}};
393    const static UnicodeSet::bitquad_t  __vowel_independent_Set_quads[] = {
394    0x001ffff0, 0x00fc0003, 0x00199fe0, 0x00000003, 0x001987e0, 0x001bbfe0,
395    0x00000003, 0x00199fe0, 0x00000003, 0x001dc7e0, 0x001ddfe0, 0x00000003,
396    0x001ddfe0, 0x00000003, 0x001ddfe0, 0x80000000, 0x00000003, 0x007fffe0,
397    0x000007fe, 0x003c0000, 0x00000007, 0x00000007, 0x00000007, 0x00000007,
398    0x000ffff8, 0x0007e000, 0x0007ffe0, 0x000003f8, 0x00000030, 0x0000003b,
399    0x0003fffc, 0x40000000, 0x000071f0, 0x0000003f, 0x00000003, 0x0002c000,
400    0x0007ffe0, 0x00001ff8, 0x00000078, 0x0001fff8, 0x000000ff, 0x0000000f,
401    0x03ff0000, 0x00199fe0, 0x00000003, 0x00003fff, 0x00007ffe, 0x00003fff,
402    0x0f000000, 0x00003fff, 0x000003ff, 0x000003ff, 0x00000001, 0x00010000,
403    0x00003dff, 0x00000b7f, 0x00000dbf};
404    }
405
406    const static UnicodeSet vowel_independent_Set{const_cast<UnicodeSet::run_t *>(__vowel_independent_Set_runs), 89, 0, const_cast<UnicodeSet::bitquad_t *>(__vowel_independent_Set_quads), 57, 0};
407
408    /** Code Point Ranges for Vowel_Dependent
409    [093a, 093b], [093e, 094c], [094e, 094f], [0955, 0957], [0962, 0963],
410    [09be, 09c4], [09c7, 09c8], [09cb, 09cc], [09d7, 09d7], [09e2, 09e3],
411    [0a3e, 0a42], [0a47, 0a48], [0a4b, 0a4c], [0abe, 0ac5], [0ac7, 0ac9],
412    [0acb, 0acc], [0ae2, 0ae3], [0b3e, 0b44], [0b47, 0b48], [0b4b, 0b4c],
413    [0b56, 0b57], [0b62, 0b63], [0bbe, 0bc2], [0bc6, 0bc8], [0bca, 0bcc],
414    [0bd7, 0bd7], [0c3e, 0c44], [0c46, 0c48], [0c4a, 0c4c], [0c55, 0c56],
415    [0c62, 0c63], [0cbe, 0cc4], [0cc6, 0cc8], [0cca, 0ccc], [0cd5, 0cd6],
416    [0ce2, 0ce3], [0d3e, 0d44], [0d46, 0d48], [0d4a, 0d4c], [0d57, 0d57],
417    [0d62, 0d63], [0dcf, 0dd4], [0dd6, 0dd6], [0dd8, 0ddf], [0df2, 0df3],
418    [0e30, 0e39], [0e40, 0e45], [0e47, 0e47], [0eb0, 0eb9], [0ebb, 0ebb],
419    [0ec0, 0ec4], [0f71, 0f7d], [0f80, 0f81], [102b, 1035], [1056, 1059],
420    [1062, 1062], [1067, 1068], [1071, 1074], [1083, 1086], [109c, 109d],
421    [1712, 1713], [1732, 1733], [1752, 1753], [1772, 1773], [17b6, 17c5],
422    [17c8, 17c8], [1920, 1928], [193a, 193a], [19b0, 19c0], [1a17, 1a1b],
423    [1a61, 1a73], [1b35, 1b43], [1ba4, 1ba9], [1be7, 1bef], [1c26, 1c2c],
424    [a823, a827], [a8b5, a8c3], [a8ff, a8ff], [a947, a94e], [a9b4, a9bc],
425    [a9e5, a9e5], [aa29, aa32], [aab0, aabe], [aaeb, aaef], [abe3, abea],
426    [10a01, 10a03], [10a05, 10a06], [10a0c, 10a0d], [11038, 11045],
427    [110b0, 110b8], [11127, 11132], [11145, 11146], [111b3, 111bf],
428    [111cb, 111cc], [1122c, 11233], [112e0, 112e8], [1133e, 11344],
429    [11347, 11348], [1134b, 1134c], [11357, 11357], [11362, 11363],
430    [11435, 11441], [114b0, 114be], [115af, 115b5], [115b8, 115bb],
431    [115dc, 115dd], [11630, 1163c], [11640, 11640], [116ad, 116b5],
432    [11720, 1172a], [1182c, 11836], [11a01, 11a0a], [11a51, 11a5b],
433    [11c2f, 11c36], [11c38, 11c3b], [11cb0, 11cb4], [11d31, 11d36],
434    [11d3a, 11d3a], [11d3c, 11d3d], [11d3f, 11d3f], [11d43, 11d43],
435    [11d8a, 11d8e], [11d90, 11d91], [11d93, 11d94], [11ef3, 11ef6]**/
436
437
438    namespace {
439    const static UnicodeSet::run_t __vowel_dependent_Set_runs[] = {
440    {Empty, 73}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 2},
441    {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 2},
442    {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3},
443    {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
444    {Empty, 4}, {Mixed, 2}, {Empty, 4}, {Mixed, 4}, {Empty, 51}, {Mixed, 4},
445    {Empty, 1}, {Mixed, 2}, {Empty, 10}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
446    {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 5}, {Mixed, 2},
447    {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
448    {Empty, 1119}, {Mixed, 1}, {Empty, 3}, {Mixed, 3}, {Empty, 2},
449    {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
450    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 7},
451    {Mixed, 1}, {Empty, 752}, {Mixed, 1}, {Empty, 48}, {Mixed, 2},
452    {Empty, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
453    {Empty, 2}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
454    {Empty, 5}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 7}, {Mixed, 2},
455    {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
456    {Empty, 7}, {Mixed, 1}, {Empty, 14}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
457    {Empty, 14}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
458    {Empty, 1}, {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 32520}};
459    const static UnicodeSet::bitquad_t  __vowel_dependent_Set_quads[] = {
460    0xcc000000, 0x00e0dfff, 0x0000000c, 0xc0000000, 0x0080199f, 0x0000000c,
461    0xc0000000, 0x00001987, 0xc0000000, 0x00001bbf, 0x0000000c, 0xc0000000,
462    0x00c0199f, 0x0000000c, 0xc0000000, 0x00801dc7, 0xc0000000, 0x00601ddf,
463    0x0000000c, 0xc0000000, 0x00601ddf, 0x0000000c, 0xc0000000, 0x00801ddf,
464    0x0000000c, 0xff5f8000, 0x000c0000, 0x03ff0000, 0x000000bf, 0x0bff0000,
465    0x0000001f, 0x3ffe0000, 0x00000003, 0x003ff800, 0x03c00000, 0x001e0184,
466    0x30000078, 0x000c0000, 0x000c0000, 0x000c0000, 0x000c0000, 0xffc00000,
467    0x0000013f, 0x040001ff, 0xffff0000, 0x00000001, 0x0f800000, 0x000ffffe,
468    0xffe00000, 0x0000000f, 0x000003f0, 0x0000ff80, 0x00001fc0, 0x000000f8,
469    0xffe00000, 0x0000000f, 0x80000000, 0x00007f80, 0x1ff00000, 0x00000020,
470    0x0007fe00, 0x7fff0000, 0x0000f800, 0x000007f8, 0x0000306e, 0xff000000,
471    0x0000003f, 0x01ff0000, 0x0007ff80, 0x00000060, 0xfff80000, 0x00001800,
472    0x000ff000, 0x000001ff, 0xc0000000, 0x0080199f, 0x0000000c, 0xffe00000,
473    0x00000003, 0x7fff0000, 0x0f3f8000, 0x30000000, 0x1fff0000, 0x00000001,
474    0x003fe000, 0x000007ff, 0x007ff000, 0x000007fe, 0x0ffe0000, 0x0f7f8000,
475    0x001f0000, 0xb47e0000, 0x00000008, 0x001b7c00, 0x00780000};
476    }
477
478    const static UnicodeSet vowel_dependent_Set{const_cast<UnicodeSet::run_t *>(__vowel_dependent_Set_runs), 111, 0, const_cast<UnicodeSet::bitquad_t *>(__vowel_dependent_Set_quads), 95, 0};
479
480    /** Code Point Ranges for Vowel
481    [1963, 196d], [a85e, a861], [a866, a866], [a922, a92a], [11150, 11154]**/
482
483
484    namespace {
485    const static UnicodeSet::run_t __vowel_Set_runs[] = {
486    {Empty, 203}, {Mixed, 1}, {Empty, 1142}, {Mixed, 2}, {Empty, 5},
487    {Mixed, 1}, {Empty, 832}, {Mixed, 1}, {Empty, 32629}};
488    const static UnicodeSet::bitquad_t  __vowel_Set_quads[] = {
489    0x00003ff8, 0xc0000000, 0x00000043, 0x000007fc, 0x001f0000};
490    }
491
492    const static UnicodeSet vowel_Set{const_cast<UnicodeSet::run_t *>(__vowel_Set_runs), 9, 0, const_cast<UnicodeSet::bitquad_t *>(__vowel_Set_quads), 5, 0};
493
494    /** Code Point Ranges for Consonant_Placeholder
495    [002d, 002d], [00a0, 00a0], [00d7, 00d7], [0980, 0980], [0a72, 0a73],
496    [104b, 104b], [104e, 104e], [1900, 1900], [2010, 2014], [25cc, 25cc],
497    [aa74, aa76], [11a3f, 11a3f], [11a45, 11a45], [11ef2, 11ef2]**/
498
499
500    namespace {
501    const static UnicodeSet::run_t __consonant_placeholder_Set_runs[] = {
502    {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 69}, {Mixed, 1},
503    {Empty, 6}, {Mixed, 1}, {Empty, 46}, {Mixed, 1}, {Empty, 69},
504    {Mixed, 1}, {Empty, 55}, {Mixed, 1}, {Empty, 45}, {Mixed, 1},
505    {Empty, 1060}, {Mixed, 1}, {Empty, 893}, {Mixed, 2}, {Empty, 36},
506    {Mixed, 1}, {Empty, 32520}};
507    const static UnicodeSet::bitquad_t  __consonant_placeholder_Set_quads[] = {
508    0x00002000, 0x00000001, 0x00800000, 0x00000001, 0x000c0000, 0x00004800,
509    0x00000001, 0x001f0000, 0x00001000, 0x00700000, 0x80000000, 0x00000020,
510    0x00040000};
511    }
512
513    const static UnicodeSet consonant_placeholder_Set{const_cast<UnicodeSet::run_t *>(__consonant_placeholder_Set_runs), 23, 0, const_cast<UnicodeSet::bitquad_t *>(__consonant_placeholder_Set_quads), 13, 0};
514
515    /** Code Point Ranges for Consonant
516    [0915, 0939], [0958, 095f], [0978, 097f], [0995, 09a8], [09aa, 09b0],
517    [09b2, 09b2], [09b6, 09b9], [09dc, 09dd], [09df, 09df], [09f0, 09f1],
518    [0a15, 0a28], [0a2a, 0a30], [0a32, 0a33], [0a35, 0a36], [0a38, 0a39],
519    [0a59, 0a5c], [0a5e, 0a5e], [0a95, 0aa8], [0aaa, 0ab0], [0ab2, 0ab3],
520    [0ab5, 0ab9], [0af9, 0af9], [0b15, 0b28], [0b2a, 0b30], [0b32, 0b33],
521    [0b35, 0b39], [0b5c, 0b5d], [0b5f, 0b5f], [0b71, 0b71], [0b95, 0b95],
522    [0b99, 0b9a], [0b9c, 0b9c], [0b9e, 0b9f], [0ba3, 0ba4], [0ba8, 0baa],
523    [0bae, 0bb9], [0c15, 0c28], [0c2a, 0c39], [0c58, 0c5a], [0c95, 0ca8],
524    [0caa, 0cb3], [0cb5, 0cb9], [0cde, 0cde], [0d15, 0d3a], [0d9a, 0db1],
525    [0db3, 0dbb], [0dbd, 0dbd], [0dc0, 0dc6], [0e01, 0e2e], [0e81, 0e82],
526    [0e84, 0e84], [0e87, 0e88], [0e8a, 0e8a], [0e8d, 0e8d], [0e94, 0e97],
527    [0e99, 0e9f], [0ea1, 0ea3], [0ea5, 0ea5], [0ea7, 0ea7], [0eaa, 0eab],
528    [0ead, 0eae], [0edc, 0edf], [0f40, 0f47], [0f49, 0f6c], [1000, 1020],
529    [103f, 103f], [1050, 1051], [105a, 105d], [1061, 1061], [1065, 1066],
530    [106e, 1070], [1075, 1081], [108e, 108e], [1703, 170c], [170e, 1711],
531    [1723, 1731], [1743, 1751], [1763, 176c], [176e, 1770], [1780, 17a2],
532    [1901, 191e], [1950, 1962], [1980, 19ab], [1a00, 1a16], [1a20, 1a4c],
533    [1a53, 1a54], [1b13, 1b33], [1b45, 1b4b], [1b8a, 1ba0], [1bae, 1baf],
534    [1bbb, 1bbd], [1bc0, 1be3], [1c00, 1c23], [1c4d, 1c4f], [a807, a80a],
535    [a80c, a822], [a840, a85d], [a862, a865], [a869, a870], [a872, a872],
536    [a892, a8b3], [a90a, a921], [a930, a946], [a989, a98b], [a98f, a9b2],
537    [a9e0, a9e4], [a9e7, a9ef], [a9fa, a9fe], [aa06, aa28], [aa60, aa6f],
538    [aa71, aa73], [aa7a, aa7a], [aa7e, aaaf], [aae2, aaea], [abc0, abcd],
539    [abd0, abd0], [abd2, abda], [10a00, 10a00], [10a10, 10a13],
540    [10a15, 10a17], [10a19, 10a35], [11013, 11037], [1108d, 110af],
541    [11107, 11126], [11144, 11144], [11155, 11172], [11191, 111b2],
542    [11208, 11211], [11213, 1122b], [11284, 11286], [11288, 11288],
543    [1128a, 1128d], [1128f, 1129d], [1129f, 112a8], [112ba, 112de],
544    [11315, 11328], [1132a, 11330], [11332, 11333], [11335, 11339],
545    [1140e, 11434], [1148f, 114af], [1158e, 115ae], [1160e, 1162f],
546    [1168a, 116aa], [11700, 1171a], [1180a, 1182b], [11a0b, 11a32],
547    [11a5c, 11a83], [11c0e, 11c2e], [11c72, 11c8f], [11d0c, 11d30],
548    [11d6c, 11d89], [11ee0, 11ef1]**/
549
550
551    namespace {
552    const static UnicodeSet::run_t __consonant_Set_runs[] = {
553    {Empty, 72}, {Mixed, 11}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
554    {Mixed, 7}, {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
555    {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Empty, 2},
556    {Mixed, 3}, {Empty, 3}, {Mixed, 2}, {Empty, 4}, {Full, 1}, {Mixed, 4},
557    {Empty, 51}, {Mixed, 4}, {Full, 1}, {Mixed, 1}, {Empty, 10}, {Mixed, 1},
558    {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
559    {Full, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 3}, {Empty, 1}, {Mixed, 2},
560    {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 1117}, {Mixed, 6},
561    {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
562    {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
563    {Empty, 6}, {Mixed, 1}, {Empty, 753}, {Mixed, 2}, {Empty, 46},
564    {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 6}, {Empty, 2},
565    {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Empty, 6},
566    {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 6}, {Mixed, 2}, {Empty, 2},
567    {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 7},
568    {Mixed, 2}, {Empty, 14}, {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Empty, 11},
569    {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 1},
570    {Mixed, 2}, {Empty, 10}, {Mixed, 1}, {Empty, 32520}};
571    const static UnicodeSet::bitquad_t  __consonant_Set_quads[] = {
572    0xffe00000, 0x03ffffff, 0xff000000, 0xff000000, 0xffe00000, 0x03c5fdff,
573    0xb0000000, 0x00030000, 0xffe00000, 0x036dfdff, 0x5e000000, 0xffe00000,
574    0x03edfdff, 0x02000000, 0xffe00000, 0x03edfdff, 0xb0000000, 0x00020000,
575    0xd6200000, 0x03ffc718, 0xffe00000, 0x03fffdff, 0x07000000, 0xffe00000,
576    0x03effdff, 0x40000000, 0xffe00000, 0x07ffffff, 0xfc000000, 0x2ffbffff,
577    0x0000007f, 0xfffffffe, 0x00007fff, 0xfef02596, 0x00006cae, 0xf0000000,
578    0xfffffeff, 0x00001fff, 0x80000001, 0x3c030000, 0xffe1c062, 0x00004003,
579    0x0003dff8, 0x0003fff8, 0x0003fff8, 0x0001dff8, 0x00000007, 0x7ffffffe,
580    0xffff0000, 0x00000007, 0x00000fff, 0x007fffff, 0x00181fff, 0xfff80000,
581    0x000fffff, 0x00000fe0, 0xfffffc00, 0x3800c001, 0x0000000f, 0x0000000f,
582    0x0000e000, 0xfffff780, 0x00000007, 0x3fffffff, 0x0005fe3c, 0xfffc0000,
583    0x000fffff, 0xfffffc00, 0xffff0003, 0x0000007f, 0xffff8e00, 0x0007ffff,
584    0x7c00ff9f, 0xffffffc0, 0x000001ff, 0xc40effff, 0x0000ffff, 0x000007fc,
585    0x07fd3fff, 0xfeef0001, 0x003fffff, 0xfff80000, 0x00ffffff, 0xffffe000,
586    0x0000ffff, 0xffffff80, 0x0000007f, 0xffe00010, 0x0007ffff, 0xfffe0000,
587    0x0007ffff, 0xfffbff00, 0x00000fff, 0xbfffbd70, 0xfc0001ff, 0x7fffffff,
588    0xffe00000, 0x03edfdff, 0xffffc000, 0x001fffff, 0xffff8000, 0x0000ffff,
589    0xffffc000, 0x00007fff, 0xffffc000, 0x0000ffff, 0xfffffc00, 0x000007ff,
590    0x07ffffff, 0xfffffc00, 0x00000fff, 0xfffff800, 0x0007ffff, 0xf0000000,
591    0x0000000f, 0xffffc000, 0x00007fff, 0xfffc0000, 0x0000ffff, 0xfffff000,
592    0x0001ffff, 0xfffff000, 0x000003ff, 0x0003ffff};
593    }
594
595    const static UnicodeSet consonant_Set{const_cast<UnicodeSet::run_t *>(__consonant_Set_runs), 104, 0, const_cast<UnicodeSet::bitquad_t *>(__consonant_Set_quads), 124, 0};
596
597    /** Code Point Ranges for Consonant_Dead
598    [09ce, 09ce], [0d54, 0d56], [0d7a, 0d7f]**/
599
600
601    namespace {
602    const static UnicodeSet::run_t __consonant_dead_Set_runs[] = {
603    {Empty, 78}, {Mixed, 1}, {Empty, 27}, {Mixed, 2}, {Empty, 34708}};
604    const static UnicodeSet::bitquad_t  __consonant_dead_Set_quads[] = {
605    0x00004000, 0x00700000, 0xfc000000};
606    }
607
608    const static UnicodeSet consonant_dead_Set{const_cast<UnicodeSet::run_t *>(__consonant_dead_Set_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__consonant_dead_Set_quads), 3, 0};
609
610    /** Code Point Ranges for Consonant_With_Stacker
611    [0cf1, 0cf2], [1cf5, 1cf6], [11003, 11004]**/
612
613
614    namespace {
615    const static UnicodeSet::run_t __consonant_with_stacker_Set_runs[] = {
616    {Empty, 103}, {Mixed, 1}, {Empty, 127}, {Mixed, 1}, {Empty, 1944},
617    {Mixed, 1}, {Empty, 32639}};
618    const static UnicodeSet::bitquad_t  __consonant_with_stacker_Set_quads[] = {
619    0x00060000, 0x00600000, 0x00000018};
620    }
621
622    const static UnicodeSet consonant_with_stacker_Set{const_cast<UnicodeSet::run_t *>(__consonant_with_stacker_Set_runs), 7, 0, const_cast<UnicodeSet::bitquad_t *>(__consonant_with_stacker_Set_quads), 3, 0};
623
624    /** Code Point Ranges for Consonant_Prefixed
625    [111c2, 111c3], [11a3a, 11a3a], [11a86, 11a89]**/
626
627
628    namespace {
629    const static UnicodeSet::run_t __consonant_prefixed_Set_runs[] = {
630    {Empty, 2190}, {Mixed, 1}, {Empty, 66}, {Mixed, 1}, {Empty, 2},
631    {Mixed, 1}, {Empty, 32555}};
632    const static UnicodeSet::bitquad_t  __consonant_prefixed_Set_quads[] = {
633    0x0000000c, 0x04000000, 0x000003c0};
634    }
635
636    const static UnicodeSet consonant_prefixed_Set{const_cast<UnicodeSet::run_t *>(__consonant_prefixed_Set_runs), 7, 0, const_cast<UnicodeSet::bitquad_t *>(__consonant_prefixed_Set_quads), 3, 0};
637
638    /** Code Point Ranges for Consonant_Preceding_Repha
639    [0d4e, 0d4e], [11d46, 11d46]**/
640
641
642    namespace {
643    const static UnicodeSet::run_t __consonant_preceding_repha_Set_runs[] = {
644    {Empty, 106}, {Mixed, 1}, {Empty, 2175}, {Mixed, 1}, {Empty, 32533}};
645    const static UnicodeSet::bitquad_t  __consonant_preceding_repha_Set_quads[] = {
646    0x00004000, 0x00000040};
647    }
648
649    const static UnicodeSet consonant_preceding_repha_Set{const_cast<UnicodeSet::run_t *>(__consonant_preceding_repha_Set_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__consonant_preceding_repha_Set_quads), 2, 0};
650
651    /** Code Point Ranges for Consonant_Initial_Postfixed
652    [1a5a, 1a5a]**/
653
654
655    namespace {
656    const static UnicodeSet::run_t __consonant_initial_postfixed_Set_runs[] = {
657    {Empty, 210}, {Mixed, 1}, {Empty, 34605}};
658    const static UnicodeSet::bitquad_t  __consonant_initial_postfixed_Set_quads[] = {
659    0x04000000};
660    }
661
662    const static UnicodeSet consonant_initial_postfixed_Set{const_cast<UnicodeSet::run_t *>(__consonant_initial_postfixed_Set_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__consonant_initial_postfixed_Set_quads), 1, 0};
663
664    /** Code Point Ranges for Consonant_Succeeding_Repha
665    [17cc, 17cc], [1b03, 1b03], [1b81, 1b81], [a982, a982]**/
666
667
668    namespace {
669    const static UnicodeSet::run_t __consonant_succeeding_repha_Set_runs[] = {
670    {Empty, 190}, {Mixed, 1}, {Empty, 25}, {Mixed, 1}, {Empty, 3},
671    {Mixed, 1}, {Empty, 1135}, {Mixed, 1}, {Empty, 33459}};
672    const static UnicodeSet::bitquad_t  __consonant_succeeding_repha_Set_quads[] = {
673    0x00001000, 0x00000008, 0x00000002, 0x00000004};
674    }
675
676    const static UnicodeSet consonant_succeeding_repha_Set{const_cast<UnicodeSet::run_t *>(__consonant_succeeding_repha_Set_runs), 9, 0, const_cast<UnicodeSet::bitquad_t *>(__consonant_succeeding_repha_Set_quads), 4, 0};
677
678    /** Code Point Ranges for Consonant_Subjoined
679    [0f8d, 0f97], [0f99, 0fbc], [1929, 192b], [1a57, 1a57], [1a5b, 1a5e],
680    [1ba1, 1ba3], [1bac, 1bad], [1c24, 1c25], [a867, a868], [a871, a871],
681    [a9bd, a9bd], [11c92, 11ca7], [11ca9, 11caf]**/
682
683
684    namespace {
685    const static UnicodeSet::run_t __consonant_subjoined_Set_runs[] = {
686    {Empty, 124}, {Mixed, 2}, {Empty, 75}, {Mixed, 1}, {Empty, 8},
687    {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
688    {Empty, 1121}, {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 918},
689    {Mixed, 2}, {Empty, 32538}};
690    const static UnicodeSet::bitquad_t  __consonant_subjoined_Set_quads[] = {
691    0xfeffe000, 0x1fffffff, 0x00000e00, 0x78800000, 0x0000300e, 0x00000030,
692    0x00020180, 0x20000000, 0xfffc0000, 0x0000feff};
693    }
694
695    const static UnicodeSet consonant_subjoined_Set{const_cast<UnicodeSet::run_t *>(__consonant_subjoined_Set_runs), 17, 0, const_cast<UnicodeSet::bitquad_t *>(__consonant_subjoined_Set_quads), 10, 0};
696
697    /** Code Point Ranges for Consonant_Medial
698    [0a75, 0a75], [0ebc, 0ebd], [103b, 103e], [105e, 1060], [1082, 1082],
699    [1a55, 1a56], [a8b4, a8b4], [a9be, a9bf], [aa33, aa36], [1171d, 1171f],
700    [11a3b, 11a3e], [11d47, 11d47]**/
701
702
703    namespace {
704    const static UnicodeSet::run_t __consonant_medial_Set_runs[] = {
705    {Empty, 83}, {Mixed, 1}, {Empty, 33}, {Mixed, 1}, {Empty, 11},
706    {Mixed, 4}, {Empty, 77}, {Mixed, 1}, {Empty, 1138}, {Mixed, 1},
707    {Empty, 7}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 870},
708    {Mixed, 1}, {Empty, 24}, {Mixed, 1}, {Empty, 24}, {Mixed, 1},
709    {Empty, 32533}};
710    const static UnicodeSet::bitquad_t  __consonant_medial_Set_quads[] = {
711    0x00200000, 0x30000000, 0x78000000, 0xc0000000, 0x00000001, 0x00000004,
712    0x00600000, 0x00100000, 0xc0000000, 0x00780000, 0xe0000000, 0x78000000,
713    0x00000080};
714    }
715
716    const static UnicodeSet consonant_medial_Set{const_cast<UnicodeSet::run_t *>(__consonant_medial_Set_runs), 21, 0, const_cast<UnicodeSet::bitquad_t *>(__consonant_medial_Set_quads), 13, 0};
717
718    /** Code Point Ranges for Consonant_Final
719    [1930, 1931], [1933, 1939], [19c1, 19c7], [1a58, 1a59], [1bbe, 1bbf],
720    [1bf0, 1bf1], [1c2d, 1c33], [a94f, a952], [aa40, aa4d], [abdb, abe2],
721    [11a8a, 11a95]**/
722
723
724    namespace {
725    const static UnicodeSet::run_t __consonant_final_Set_runs[] = {
726    {Empty, 201}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 3},
727    {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
728    {Mixed, 1}, {Empty, 1128}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
729    {Empty, 11}, {Mixed, 2}, {Empty, 884}, {Mixed, 1}, {Empty, 32555}};
730    const static UnicodeSet::bitquad_t  __consonant_final_Set_quads[] = {
731    0x03fb0000, 0x000000fe, 0x03000000, 0xc0000000, 0x00030000, 0x000fe000,
732    0x00078000, 0x00003fff, 0xf8000000, 0x00000007, 0x003ffc00};
733    }
734
735    const static UnicodeSet consonant_final_Set{const_cast<UnicodeSet::run_t *>(__consonant_final_Set_runs), 21, 0, const_cast<UnicodeSet::bitquad_t *>(__consonant_final_Set_quads), 11, 0};
736
737    /** Code Point Ranges for Consonant_Head_Letter
738    [0f88, 0f8c]**/
739
740
741    namespace {
742    const static UnicodeSet::run_t __consonant_head_letter_Set_runs[] = {
743    {Empty, 124}, {Mixed, 1}, {Empty, 34691}};
744    const static UnicodeSet::bitquad_t  __consonant_head_letter_Set_quads[] = {
745    0x00001f00};
746    }
747
748    const static UnicodeSet consonant_head_letter_Set{const_cast<UnicodeSet::run_t *>(__consonant_head_letter_Set_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__consonant_head_letter_Set_quads), 1, 0};
749
750    /** Code Point Ranges for Modifying_Letter
751    [0b83, 0b83]**/
752
753
754    namespace {
755    const static UnicodeSet::run_t __modifying_letter_Set_runs[] = {
756    {Empty, 92}, {Mixed, 1}, {Empty, 34723}};
757    const static UnicodeSet::bitquad_t  __modifying_letter_Set_quads[] = {
758    0x00000008};
759    }
760
761    const static UnicodeSet modifying_letter_Set{const_cast<UnicodeSet::run_t *>(__modifying_letter_Set_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__modifying_letter_Set_quads), 1, 0};
762
763    /** Code Point Ranges for Tone_Letter
764    [1970, 1974], [aac0, aac0], [aac2, aac2]**/
765
766
767    namespace {
768    const static UnicodeSet::run_t __tone_letter_Set_runs[] = {
769    {Empty, 203}, {Mixed, 1}, {Empty, 1162}, {Mixed, 1}, {Empty, 33449}};
770    const static UnicodeSet::bitquad_t  __tone_letter_Set_quads[] = {
771    0x001f0000, 0x00000005};
772    }
773
774    const static UnicodeSet tone_letter_Set{const_cast<UnicodeSet::run_t *>(__tone_letter_Set_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__tone_letter_Set_quads), 2, 0};
775
776    /** Code Point Ranges for Tone_Mark
777    [0e48, 0e4b], [0ec8, 0ecb], [1037, 1037], [1063, 1064], [1069, 106d],
778    [1087, 108d], [108f, 108f], [109a, 109b], [19c8, 19c9], [1a75, 1a79],
779    [a92b, a92d], [aa7b, aa7d], [aabf, aabf], [aac1, aac1], [abec, abec]**/
780
781
782    namespace {
783    const static UnicodeSet::run_t __tone_mark_Set_runs[] = {
784    {Empty, 114}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 10},
785    {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 73}, {Mixed, 1}, {Empty, 4},
786    {Mixed, 1}, {Empty, 1141}, {Mixed, 1}, {Empty, 9}, {Mixed, 1},
787    {Empty, 1}, {Mixed, 2}, {Empty, 8}, {Mixed, 1}, {Empty, 33440}};
788    const static UnicodeSet::bitquad_t  __tone_mark_Set_quads[] = {
789    0x00000f00, 0x00000f00, 0x00800000, 0x00003e18, 0x0c00bf80, 0x00000300,
790    0x03e00000, 0x00003800, 0x38000000, 0x80000000, 0x00000002, 0x00001000};
791    }
792
793    const static UnicodeSet tone_mark_Set{const_cast<UnicodeSet::run_t *>(__tone_mark_Set_runs), 21, 0, const_cast<UnicodeSet::bitquad_t *>(__tone_mark_Set_quads), 12, 0};
794
795    /** Code Point Ranges for Gemination_Mark
796    [0a71, 0a71], [11237, 11237], [11a98, 11a98]**/
797
798
799    namespace {
800    const static UnicodeSet::run_t __gemination_mark_Set_runs[] = {
801    {Empty, 83}, {Mixed, 1}, {Empty, 2109}, {Mixed, 1}, {Empty, 66},
802    {Mixed, 1}, {Empty, 32555}};
803    const static UnicodeSet::bitquad_t  __gemination_mark_Set_quads[] = {
804    0x00020000, 0x00800000, 0x01000000};
805    }
806
807    const static UnicodeSet gemination_mark_Set{const_cast<UnicodeSet::run_t *>(__gemination_mark_Set_runs), 7, 0, const_cast<UnicodeSet::bitquad_t *>(__gemination_mark_Set_quads), 3, 0};
808
809    /** Code Point Ranges for Cantillation_Mark
810    [0951, 0952], [0a51, 0a51], [0afa, 0afc], [1cd0, 1cd2], [1cd4, 1ce1],
811    [1cf4, 1cf4], [1cf7, 1cf9], [a8e0, a8f1], [1123e, 1123e],
812    [11366, 1136c], [11370, 11374]**/
813
814
815    namespace {
816    const static UnicodeSet::run_t __cantillation_mark_Set_runs[] = {
817    {Empty, 74}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
818    {Empty, 142}, {Mixed, 2}, {Empty, 1119}, {Mixed, 1}, {Empty, 841},
819    {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 32612}};
820    const static UnicodeSet::bitquad_t  __cantillation_mark_Set_quads[] = {
821    0x00060000, 0x00020000, 0x1c000000, 0xfff70000, 0x03900003, 0x0003ffff,
822    0x40000000, 0x001f1fc0};
823    }
824
825    const static UnicodeSet cantillation_mark_Set{const_cast<UnicodeSet::run_t *>(__cantillation_mark_Set_runs), 15, 0, const_cast<UnicodeSet::bitquad_t *>(__cantillation_mark_Set_quads), 8, 0};
826
827    /** Code Point Ranges for Register_Shifter
828    [17c9, 17ca]**/
829
830
831    namespace {
832    const static UnicodeSet::run_t __register_shifter_Set_runs[] = {
833    {Empty, 190}, {Mixed, 1}, {Empty, 34625}};
834    const static UnicodeSet::bitquad_t  __register_shifter_Set_quads[] = {
835    0x00000600};
836    }
837
838    const static UnicodeSet register_shifter_Set{const_cast<UnicodeSet::run_t *>(__register_shifter_Set_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__register_shifter_Set_quads), 1, 0};
839
840    /** Code Point Ranges for Syllable_Modifier
841    [00b2, 00b3], [09fe, 09fe], [0f35, 0f35], [0f37, 0f37], [0fc6, 0fc6],
842    [17cb, 17cb], [17ce, 17d0], [17d3, 17d3], [17dd, 17dd], [193b, 193b],
843    [1a7b, 1a7c], [1a7f, 1a7f], [1c36, 1c36], [1dfb, 1dfb], [2074, 2074],
844    [2082, 2084], [111c9, 111c9], [1145e, 1145e], [11a33, 11a33]**/
845
846
847    namespace {
848    const static UnicodeSet::run_t __syllable_modifier_Set_runs[] = {
849    {Empty, 5}, {Mixed, 1}, {Empty, 73}, {Mixed, 1}, {Empty, 41},
850    {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 63}, {Mixed, 1},
851    {Empty, 10}, {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 13},
852    {Mixed, 1}, {Empty, 13}, {Mixed, 1}, {Empty, 19}, {Mixed, 2},
853    {Empty, 1929}, {Mixed, 1}, {Empty, 19}, {Mixed, 1}, {Empty, 46},
854    {Mixed, 1}, {Empty, 32558}};
855    const static UnicodeSet::bitquad_t  __syllable_modifier_Set_quads[] = {
856    0x000c0000, 0x40000000, 0x00a00000, 0x00000040, 0x2009c800, 0x08000000,
857    0x98000000, 0x00400000, 0x08000000, 0x00100000, 0x0000001c, 0x00000200,
858    0x40000000, 0x00080000};
859    }
860
861    const static UnicodeSet syllable_modifier_Set{const_cast<UnicodeSet::run_t *>(__syllable_modifier_Set_runs), 27, 0, const_cast<UnicodeSet::bitquad_t *>(__syllable_modifier_Set_quads), 14, 0};
862
863    /** Code Point Ranges for Consonant_Killer
864    [0e4c, 0e4c], [17cd, 17cd]**/
865
866
867    namespace {
868    const static UnicodeSet::run_t __consonant_killer_Set_runs[] = {
869    {Empty, 114}, {Mixed, 1}, {Empty, 75}, {Mixed, 1}, {Empty, 34625}};
870    const static UnicodeSet::bitquad_t  __consonant_killer_Set_quads[] = {
871    0x00001000, 0x00002000};
872    }
873
874    const static UnicodeSet consonant_killer_Set{const_cast<UnicodeSet::run_t *>(__consonant_killer_Set_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__consonant_killer_Set_quads), 2, 0};
875
876    /** Code Point Ranges for Non_Joiner
877    [200c, 200c]**/
878
879
880    namespace {
881    const static UnicodeSet::run_t __non_joiner_Set_runs[] = {
882    {Empty, 256}, {Mixed, 1}, {Empty, 34559}};
883    const static UnicodeSet::bitquad_t  __non_joiner_Set_quads[] = {
884    0x00001000};
885    }
886
887    const static UnicodeSet non_joiner_Set{const_cast<UnicodeSet::run_t *>(__non_joiner_Set_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__non_joiner_Set_quads), 1, 0};
888
889    /** Code Point Ranges for Joiner
890    [200d, 200d]**/
891
892
893    namespace {
894    const static UnicodeSet::run_t __joiner_Set_runs[] = {
895    {Empty, 256}, {Mixed, 1}, {Empty, 34559}};
896    const static UnicodeSet::bitquad_t  __joiner_Set_quads[] = {
897    0x00002000};
898    }
899
900    const static UnicodeSet joiner_Set{const_cast<UnicodeSet::run_t *>(__joiner_Set_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__joiner_Set_quads), 1, 0};
901
902    /** Code Point Ranges for Number_Joiner
903    [1107f, 1107f]**/
904
905
906    namespace {
907    const static UnicodeSet::run_t __number_joiner_Set_runs[] = {
908    {Empty, 2179}, {Mixed, 1}, {Empty, 32636}};
909    const static UnicodeSet::bitquad_t  __number_joiner_Set_quads[] = {
910    0x80000000};
911    }
912
913    const static UnicodeSet number_joiner_Set{const_cast<UnicodeSet::run_t *>(__number_joiner_Set_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__number_joiner_Set_quads), 1, 0};
914
915    /** Code Point Ranges for Number
916    [0030, 0039], [0966, 096f], [09e6, 09ef], [0a66, 0a6f], [0ae6, 0aef],
917    [0b66, 0b6f], [0be6, 0bef], [0c66, 0c6f], [0ce6, 0cef], [0d66, 0d6f],
918    [0de6, 0def], [0e50, 0e59], [0ed0, 0ed9], [0f20, 0f33], [1040, 1049],
919    [1090, 1099], [17e0, 17e9], [1946, 194f], [19d0, 19d9], [1a80, 1a89],
920    [1a90, 1a99], [1b50, 1b59], [1bb0, 1bb9], [1c40, 1c49], [a8d0, a8d9],
921    [a900, a909], [a9d0, a9d9], [a9f0, a9f9], [aa50, aa59], [abf0, abf9],
922    [10a40, 10a48], [11066, 1106f], [11136, 1113f], [111d0, 111d9],
923    [111e1, 111f4], [112f0, 112f9], [11450, 11459], [114d0, 114d9],
924    [11650, 11659], [116c0, 116c9], [11730, 1173b], [11c50, 11c6c],
925    [11d50, 11d59], [11da0, 11da9]**/
926
927
928    namespace {
929    const static UnicodeSet::run_t __number_Set_runs[] = {
930    {Empty, 1}, {Mixed, 1}, {Empty, 73}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
931    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
932    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
933    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
934    {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
935    {Empty, 1}, {Mixed, 1}, {Empty, 58}, {Mixed, 1}, {Empty, 10},
936    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 5},
937    {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
938    {Empty, 1123}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5},
939    {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
940    {Empty, 754}, {Mixed, 1}, {Empty, 48}, {Mixed, 1}, {Empty, 5},
941    {Mixed, 1}, {Empty, 4}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 10},
942    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 3},
943    {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 40}, {Mixed, 2}, {Empty, 6},
944    {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 32530}};
945    const static UnicodeSet::bitquad_t  __number_Set_quads[] = {
946    0x03ff0000, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0,
947    0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x03ff0000,
948    0x03ff0000, 0x000fffff, 0x000003ff, 0x03ff0000, 0x000003ff, 0x0000ffc0,
949    0x03ff0000, 0x03ff03ff, 0x03ff0000, 0x03ff0000, 0x000003ff, 0x03ff0000,
950    0x000003ff, 0x03ff0000, 0x03ff0000, 0x03ff0000, 0x03ff0000, 0x000001ff,
951    0x0000ffc0, 0xffc00000, 0x03ff0000, 0x001ffffe, 0x03ff0000, 0x03ff0000,
952    0x03ff0000, 0x03ff0000, 0x000003ff, 0x0fff0000, 0xffff0000, 0x00001fff,
953    0x03ff0000, 0x000003ff};
954    }
955
956    const static UnicodeSet number_Set{const_cast<UnicodeSet::run_t *>(__number_Set_runs), 83, 0, const_cast<UnicodeSet::bitquad_t *>(__number_Set_quads), 44, 0};
957
958    /** Code Point Ranges for Brahmi_Joining_Number
959    [11052, 11065]**/
960
961
962    namespace {
963    const static UnicodeSet::run_t __brahmi_joining_number_Set_runs[] = {
964    {Empty, 2178}, {Mixed, 2}, {Empty, 32636}};
965    const static UnicodeSet::bitquad_t  __brahmi_joining_number_Set_quads[] = {
966    0xfffc0000, 0x0000003f};
967    }
968
969    const static UnicodeSet brahmi_joining_number_Set{const_cast<UnicodeSet::run_t *>(__brahmi_joining_number_Set_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__brahmi_joining_number_Set_quads), 2, 0};
970
971    static EnumeratedPropertyObject property_object
972        {InSC,
973        INSC_ns::independent_prop_values,
974        std::move(INSC_ns::enum_names),
975        std::move(INSC_ns::value_names),
976        std::move(INSC_ns::aliases_only_map),{
977        &other_Set, &bindu_Set, &visarga_Set, &avagraha_Set, &nukta_Set,
978        &virama_Set, &pure_killer_Set, &invisible_stacker_Set,
979        &vowel_independent_Set, &vowel_dependent_Set, &vowel_Set,
980        &consonant_placeholder_Set, &consonant_Set, &consonant_dead_Set,
981        &consonant_with_stacker_Set, &consonant_prefixed_Set,
982        &consonant_preceding_repha_Set, &consonant_initial_postfixed_Set,
983        &consonant_succeeding_repha_Set, &consonant_subjoined_Set,
984        &consonant_medial_Set, &consonant_final_Set,
985        &consonant_head_letter_Set, &modifying_letter_Set, &tone_letter_Set,
986        &tone_mark_Set, &gemination_mark_Set, &cantillation_mark_Set,
987        &register_shifter_Set, &syllable_modifier_Set,
988        &consonant_killer_Set, &non_joiner_Set, &joiner_Set,
989        &number_joiner_Set, &number_Set, &brahmi_joining_number_Set
990        }};
991    }
992}
993
994#endif
Note: See TracBrowser for help on using the repository browser.