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

Last change on this file since 6161 was 5751, checked in by cameron, 19 months ago

LLVM_ALIGNAS placement, eliminate std::move of temp objects to allow copy elision

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