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

Last change on this file since 5686 was 5686, checked in by cameron, 20 months ago

Update to UCD 10.0.0

File size: 44.3 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    const UnicodeSet other_Set
87        {{{Full, 1}, {Mixed, 1}, {Full, 3}, {Mixed, 2}, {Full, 65},
88          {Empty, 2}, {Mixed, 31}, {Empty, 1}, {Mixed, 9}, {Full, 1},
89          {Mixed, 3}, {Full, 2}, {Mixed, 6}, {Full, 1}, {Empty, 2},
90          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 51}, {Mixed, 4},
91          {Empty, 1}, {Mixed, 3}, {Full, 8}, {Mixed, 4}, {Empty, 1},
92          {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
93          {Full, 3}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 3},
94          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 3}, {Mixed, 2},
95          {Full, 7}, {Mixed, 1}, {Full, 16}, {Mixed, 1}, {Full, 2},
96          {Mixed, 2}, {Full, 41}, {Mixed, 1}, {Full, 1041}, {Mixed, 2},
97          {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
98          {Mixed, 2}, {Full, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
99          {Mixed, 3}, {Empty, 2}, {Mixed, 2}, {Full, 6}, {Empty, 1},
100          {Mixed, 1}, {Full, 752}, {Mixed, 3}, {Full, 45}, {Empty, 2},
101          {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Full, 2}, {Empty, 1},
102          {Mixed, 3}, {Empty, 2}, {Mixed, 4}, {Full, 2}, {Mixed, 2},
103          {Empty, 1}, {Mixed, 5}, {Full, 4}, {Empty, 2}, {Mixed, 1},
104          {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 5},
105          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Empty, 2}, {Mixed, 1},
106          {Full, 1}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2},
107          {Full, 22}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
108          {Full, 11}, {Mixed, 6}, {Full, 2}, {Mixed, 3}, {Full, 32533}},
109         {0xfc00dfff, 0xfff3fffe, 0xff7fffff, 0x00190000, 0x00030030,
110          0x00066011, 0x0c3a0200, 0x4f7f8660, 0xeffc0030, 0x00067811,
111          0x2c920200, 0xa1ffc678, 0xffd0003f, 0x00044011, 0x0c120200,
112          0xffffc440, 0x01ff0030, 0x00066011, 0x0c120200, 0x4f3fc660,
113          0xfffd0030, 0x29c23813, 0x3c0038e7, 0xff7fc238, 0xffff003f,
114          0x00022010, 0x1c000200, 0xf89fc220, 0xffff0030, 0x00022011,
115          0x0c100200, 0xbf9fc220, 0xfff90030, 0x00022010, 0x7f0f8220,
116          0x03ff0030, 0x03800013, 0xd0040000, 0x00a07b80, 0xfff3003f,
117          0x00000001, 0xf8008000, 0xfc008040, 0x010fda69, 0xc4009351,
118          0x0c00d0e0, 0xfd500000, 0x00000100, 0x0001e000, 0x010000c0,
119          0xe0000000, 0xffffffbf, 0x0000bc00, 0xc0000000, 0xffe02000,
120          0xffe00000, 0xfff00000, 0xfff22000, 0x00300000, 0xcff00000,
121          0xfffffc00, 0x80000000, 0xf000f000, 0x0000003f, 0xffe0c000,
122          0x0000f000, 0xfc00fc00, 0xf0000000, 0x80000000, 0x60000000,
123          0xfc00fc00, 0xfc00f000, 0xfff00000, 0xff000000, 0xffff1c00,
124          0x0008ffff, 0xfc63fffc, 0xf7ffffff, 0xffe0cfff, 0xffefffff,
125          0xffffffe3, 0xffffefff, 0x00000004, 0xffffff00, 0xfff00000,
126          0xfc00ffc0, 0xfff00000, 0x0000c000, 0xfff00000, 0xfc00fffe,
127          0x80000040, 0xff800000, 0xfc00c000, 0x03810000, 0xfffffff8,
128          0xff9f0000, 0xfc00c800, 0x01100f90, 0x78f00000, 0xffffff00,
129          0x0003ff80, 0x7fff0000, 0xf8000000, 0x00200000, 0x0000ffff,
130          0xfff00000, 0xfc00e3f0, 0xffe00001, 0x00040000, 0xbf000000,
131          0x40004280, 0x0000fe00, 0xfc00f800, 0x00066010, 0x0c120200,
132          0x3f7fc660, 0xffe0e030, 0xfc00ff00, 0x00000001, 0xfc00ffe0,
133          0x00c00000, 0xc0fffffe, 0xfc00fffe, 0xff000000, 0xfffffc00,
134          0x1c000000, 0xf000f000, 0x0000ff5f, 0xfc000030, 0x00000200,
135          0x00800000, 0x0000fffe, 0x0003e000, 0x00030000, 0xff800100,
136          0x00000480, 0x4b800000, 0xfc00ff00}};
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    const UnicodeSet bindu_Set
150        {{{Empty, 72}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
151          {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
152          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
153          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
154          {Empty, 5}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 4},
155          {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 60}, {Mixed, 1},
156          {Empty, 10}, {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 4},
157          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
158          {Empty, 1118}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
159          {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 771}, {Mixed, 1},
160          {Empty, 47}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
161          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
162          {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
163          {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
164          {Empty, 6}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
165          {Mixed, 1}, {Empty, 27}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
166          {Empty, 12}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 4},
167          {Mixed, 1}, {Empty, 32533}},
168         {0x00000007, 0x00000006, 0x10000000, 0x00000006, 0x00010000,
169          0x00000006, 0x00000006, 0x00000004, 0x00000007, 0x00000006,
170          0x00000007, 0x00000004, 0x00002000, 0x00002000, 0x40000000,
171          0x0000000c, 0x00400000, 0x00000040, 0x00040000, 0x00100000,
172          0x00000007, 0x00000001, 0x00300000, 0x00000800, 0x00080000,
173          0x00000001, 0x00000020, 0x000c0000, 0x00000003, 0x00004000,
174          0x00000003, 0x00000003, 0x00000003, 0x00000003, 0x00100000,
175          0x80000000, 0x00000007, 0xc0000000, 0x00000018, 0x80000000,
176          0x00000001, 0x30000000, 0x20000000, 0x00000800, 0x01e00000,
177          0x00400000, 0x30000000, 0x00600000, 0x00000001}};
178    /** Code Point Ranges for Visarga
179    [0903, 0903], [0983, 0983], [0a03, 0a03], [0a83, 0a83], [0b03, 0b03],
180    [0c03, 0c03], [0c83, 0c83], [0d03, 0d03], [0d83, 0d83], [0f7f, 0f7f],
181    [1038, 1038], [17c7, 17c7], [1b04, 1b04], [1b82, 1b82], [1cf2, 1cf3],
182    [a881, a881], [a983, a983], [aaf5, aaf5], [10a0f, 10a0f],
183    [11002, 11002], [11082, 11082], [11102, 11102], [11182, 11182],
184    [11303, 11303], [11445, 11445], [114c1, 114c1], [115be, 115be],
185    [1163e, 1163e], [116ac, 116ac], [11a39, 11a39], [11a97, 11a97],
186    [11c3e, 11c3e], [11d41, 11d41]**/
187    const UnicodeSet visarga_Set
188        {{{Empty, 72}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
189          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
190          {Empty, 7}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
191          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 14}, {Mixed, 1},
192          {Empty, 5}, {Mixed, 1}, {Empty, 60}, {Mixed, 1}, {Empty, 25},
193          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 10}, {Mixed, 1},
194          {Empty, 1116}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 10},
195          {Mixed, 1}, {Empty, 760}, {Mixed, 1}, {Empty, 47}, {Mixed, 1},
196          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
197          {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 9}, {Mixed, 1},
198          {Empty, 3}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 3},
199          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 27}, {Mixed, 1},
200          {Empty, 2}, {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 8},
201          {Mixed, 1}, {Empty, 32533}},
202         {0x00000008, 0x00000008, 0x00000008, 0x00000008, 0x00000008,
203          0x00000008, 0x00000008, 0x00000008, 0x00000008, 0x80000000,
204          0x01000000, 0x00000080, 0x00000010, 0x00000004, 0x000c0000,
205          0x00000002, 0x00000008, 0x00200000, 0x00008000, 0x00000004,
206          0x00000004, 0x00000004, 0x00000004, 0x00000008, 0x00000020,
207          0x00000002, 0x40000000, 0x40000000, 0x00001000, 0x02000000,
208          0x00800000, 0x40000000, 0x00000002}};
209    /** Code Point Ranges for Avagraha
210    [093d, 093d], [09bd, 09bd], [0abd, 0abd], [0b3d, 0b3d], [0c3d, 0c3d],
211    [0cbd, 0cbd], [0d3d, 0d3d], [0f85, 0f85], [17dc, 17dc], [1bba, 1bba],
212    [111c1, 111c1], [1133d, 1133d], [11447, 11447], [114c4, 114c4],
213    [11c40, 11c40]**/
214    const UnicodeSet avagraha_Set
215        {{{Empty, 73}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 7},
216          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
217          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 18},
218          {Mixed, 1}, {Empty, 65}, {Mixed, 1}, {Empty, 30}, {Mixed, 1},
219          {Empty, 1968}, {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 8},
220          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 59}, {Mixed, 1},
221          {Empty, 32541}},
222         {0x20000000, 0x20000000, 0x20000000, 0x20000000, 0x20000000,
223          0x20000000, 0x20000000, 0x00000020, 0x10000000, 0x04000000,
224          0x00000002, 0x20000000, 0x00000080, 0x00000010, 0x00000001}};
225    /** Code Point Ranges for Nukta
226    [093c, 093c], [09bc, 09bc], [0a3c, 0a3c], [0abc, 0abc], [0afd, 0aff],
227    [0b3c, 0b3c], [0cbc, 0cbc], [0f39, 0f39], [1b34, 1b34], [1be6, 1be6],
228    [1c37, 1c37], [a9b3, a9b3], [10a38, 10a3a], [110ba, 110ba],
229    [11173, 11173], [111ca, 111ca], [11236, 11236], [112e9, 112e9],
230    [1133c, 1133c], [11446, 11446], [114c3, 114c3], [115c0, 115c0],
231    [116b7, 116b7], [11d42, 11d42]**/
232    const UnicodeSet nukta_Set
233        {{{Empty, 73}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
234          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
235          {Empty, 1}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 19},
236          {Mixed, 1}, {Empty, 95}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
237          {Empty, 1}, {Mixed, 1}, {Empty, 1131}, {Mixed, 1}, {Empty, 771},
238          {Mixed, 1}, {Empty, 51}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
239          {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 5},
240          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
241          {Empty, 3}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 6},
242          {Mixed, 1}, {Empty, 52}, {Mixed, 1}, {Empty, 32533}},
243         {0x10000000, 0x10000000, 0x10000000, 0x10000000, 0xe0000000,
244          0x10000000, 0x10000000, 0x02000000, 0x00100000, 0x00000040,
245          0x00800000, 0x00080000, 0x07000000, 0x04000000, 0x00080000,
246          0x00000400, 0x00400000, 0x00000200, 0x10000000, 0x00000040,
247          0x00000008, 0x00000001, 0x00800000, 0x00000004}};
248    /** Code Point Ranges for Virama
249    [094d, 094d], [09cd, 09cd], [0a4d, 0a4d], [0acd, 0acd], [0b4d, 0b4d],
250    [0bcd, 0bcd], [0c4d, 0c4d], [0ccd, 0ccd], [0d4d, 0d4d], [0dca, 0dca],
251    [1b44, 1b44], [a8c4, a8c4], [a9c0, a9c0], [11046, 11046],
252    [110b9, 110b9], [111c0, 111c0], [11235, 11235], [1134d, 1134d],
253    [11442, 11442], [114c2, 114c2], [115bf, 115bf], [1163f, 1163f],
254    [116b6, 116b6], [11c3f, 11c3f]**/
255    const UnicodeSet virama_Set
256        {{{Empty, 74}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
257          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
258          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
259          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
260          {Empty, 107}, {Mixed, 1}, {Empty, 1131}, {Mixed, 1}, {Empty, 7},
261          {Mixed, 1}, {Empty, 819}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
262          {Empty, 8}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 8},
263          {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
264          {Empty, 6}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
265          {Mixed, 1}, {Empty, 43}, {Mixed, 1}, {Empty, 32542}},
266         {0x00002000, 0x00002000, 0x00002000, 0x00002000, 0x00002000,
267          0x00002000, 0x00002000, 0x00002000, 0x00002000, 0x00000400,
268          0x00000010, 0x00000010, 0x00000001, 0x00000040, 0x02000000,
269          0x00000001, 0x00200000, 0x00002000, 0x00000004, 0x00000004,
270          0x80000000, 0x80000000, 0x00400000, 0x80000000}};
271    /** Code Point Ranges for Pure_Killer
272    [0d3b, 0d3c], [0e3a, 0e3a], [0e4e, 0e4e], [0f84, 0f84], [103a, 103a],
273    [1714, 1714], [1734, 1734], [17d1, 17d1], [1a7a, 1a7a], [1baa, 1baa],
274    [1bf2, 1bf3], [a806, a806], [a953, a953], [abed, abed], [11134, 11134],
275    [112ea, 112ea], [1172b, 1172b], [11a34, 11a34], [11d44, 11d44]**/
276    const UnicodeSet pure_killer_Set
277        {{{Empty, 105}, {Mixed, 1}, {Empty, 7}, {Mixed, 2}, {Empty, 9},
278          {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 54}, {Mixed, 2},
279          {Empty, 4}, {Mixed, 1}, {Empty, 20}, {Mixed, 1}, {Empty, 9},
280          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1120}, {Mixed, 1},
281          {Empty, 9}, {Mixed, 1}, {Empty, 20}, {Mixed, 1}, {Empty, 809},
282          {Mixed, 1}, {Empty, 13}, {Mixed, 1}, {Empty, 33}, {Mixed, 1},
283          {Empty, 23}, {Mixed, 1}, {Empty, 24}, {Mixed, 1}, {Empty, 32533}},
284         {0x18000000, 0x04000000, 0x00004000, 0x00000010, 0x04000000,
285          0x00100000, 0x00100000, 0x00020000, 0x04000000, 0x00000400,
286          0x000c0000, 0x00000040, 0x00080000, 0x00002000, 0x00100000,
287          0x00000400, 0x00000800, 0x00100000, 0x00000010}};
288    /** Code Point Ranges for Invisible_Stacker
289    [1039, 1039], [17d2, 17d2], [1a60, 1a60], [1bab, 1bab], [aaf6, aaf6],
290    [10a3f, 10a3f], [11133, 11133], [11a47, 11a47], [11a99, 11a99],
291    [11d45, 11d45]**/
292    const UnicodeSet invisible_stacker_Set
293        {{{Empty, 129}, {Mixed, 1}, {Empty, 60}, {Mixed, 1}, {Empty, 20},
294          {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 1145}, {Mixed, 1},
295          {Empty, 761}, {Mixed, 1}, {Empty, 55}, {Mixed, 1}, {Empty, 72},
296          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 21}, {Mixed, 1},
297          {Empty, 32533}},
298         {0x02000000, 0x00040000, 0x00000001, 0x00000800, 0x00400000,
299          0x80000000, 0x00080000, 0x00000080, 0x02000000, 0x00000020}};
300    /** Code Point Ranges for Vowel_Independent
301    [0904, 0914], [0960, 0961], [0972, 0977], [0985, 098c], [098f, 0990],
302    [0993, 0994], [09e0, 09e1], [0a05, 0a0a], [0a0f, 0a10], [0a13, 0a14],
303    [0a85, 0a8d], [0a8f, 0a91], [0a93, 0a94], [0ae0, 0ae1], [0b05, 0b0c],
304    [0b0f, 0b10], [0b13, 0b14], [0b60, 0b61], [0b85, 0b8a], [0b8e, 0b90],
305    [0b92, 0b94], [0c05, 0c0c], [0c0e, 0c10], [0c12, 0c14], [0c60, 0c61],
306    [0c85, 0c8c], [0c8e, 0c90], [0c92, 0c94], [0ce0, 0ce1], [0d05, 0d0c],
307    [0d0e, 0d10], [0d12, 0d14], [0d5f, 0d61], [0d85, 0d96], [1021, 102a],
308    [1052, 1055], [1700, 1702], [1720, 1722], [1740, 1742], [1760, 1762],
309    [17a3, 17b3], [1a4d, 1a52], [1b05, 1b12], [1b83, 1b89], [1be4, 1be5],
310    [a800, a801], [a803, a805], [a882, a891], [a984, a988], [a98c, a98e],
311    [aa00, aa05], [aae0, aae1], [abce, abcf], [abd1, abd1], [11005, 11012],
312    [11083, 1108c], [11103, 11106], [11183, 11190], [11200, 11207],
313    [11280, 11283], [112b0, 112b9], [11305, 1130c], [1130f, 11310],
314    [11313, 11314], [11360, 11361], [11400, 1140d], [11481, 1148e],
315    [11580, 1158d], [115d8, 115db], [11600, 1160d], [11680, 11689],
316    [11a00, 11a00], [11a50, 11a50], [11c00, 11c08], [11c0a, 11c0d],
317    [11d00, 11d06], [11d08, 11d09], [11d0b, 11d0b]**/
318    const UnicodeSet vowel_independent_Set
319        {{{Empty, 72}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 2},
320          {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
321          {Empty, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
322          {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
323          {Empty, 20}, {Mixed, 2}, {Empty, 53}, {Mixed, 4}, {Empty, 1},
324          {Mixed, 1}, {Empty, 20}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
325          {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1120},
326          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
327          {Empty, 3}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 6},
328          {Mixed, 1}, {Empty, 801}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
329          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
330          {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
331          {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 3},
332          {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
333          {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 27},
334          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 13}, {Mixed, 1},
335          {Empty, 7}, {Mixed, 1}, {Empty, 32535}},
336         {0x001ffff0, 0x00fc0003, 0x00199fe0, 0x00000003, 0x001987e0,
337          0x001bbfe0, 0x00000003, 0x00199fe0, 0x00000003, 0x001dc7e0,
338          0x001ddfe0, 0x00000003, 0x001ddfe0, 0x00000003, 0x001ddfe0,
339          0x80000000, 0x00000003, 0x007fffe0, 0x000007fe, 0x003c0000,
340          0x00000007, 0x00000007, 0x00000007, 0x00000007, 0x000ffff8,
341          0x0007e000, 0x0007ffe0, 0x000003f8, 0x00000030, 0x0000003b,
342          0x0003fffc, 0x000071f0, 0x0000003f, 0x00000003, 0x0002c000,
343          0x0007ffe0, 0x00001ff8, 0x00000078, 0x0001fff8, 0x000000ff,
344          0x0000000f, 0x03ff0000, 0x00199fe0, 0x00000003, 0x00003fff,
345          0x00007ffe, 0x00003fff, 0x0f000000, 0x00003fff, 0x000003ff,
346          0x00000001, 0x00010000, 0x00003dff, 0x00000b7f}};
347    /** Code Point Ranges for Vowel_Dependent
348    [093a, 093b], [093e, 094c], [094e, 094f], [0955, 0957], [0962, 0963],
349    [09be, 09c4], [09c7, 09c8], [09cb, 09cc], [09d7, 09d7], [09e2, 09e3],
350    [0a3e, 0a42], [0a47, 0a48], [0a4b, 0a4c], [0abe, 0ac5], [0ac7, 0ac9],
351    [0acb, 0acc], [0ae2, 0ae3], [0b3e, 0b44], [0b47, 0b48], [0b4b, 0b4c],
352    [0b56, 0b57], [0b62, 0b63], [0bbe, 0bc2], [0bc6, 0bc8], [0bca, 0bcc],
353    [0bd7, 0bd7], [0c3e, 0c44], [0c46, 0c48], [0c4a, 0c4c], [0c55, 0c56],
354    [0c62, 0c63], [0cbe, 0cc4], [0cc6, 0cc8], [0cca, 0ccc], [0cd5, 0cd6],
355    [0ce2, 0ce3], [0d3e, 0d44], [0d46, 0d48], [0d4a, 0d4c], [0d57, 0d57],
356    [0d62, 0d63], [0dcf, 0dd4], [0dd6, 0dd6], [0dd8, 0ddf], [0df2, 0df3],
357    [0e30, 0e39], [0e40, 0e45], [0e47, 0e47], [0eb0, 0eb9], [0ebb, 0ebb],
358    [0ec0, 0ec4], [0f71, 0f7d], [0f80, 0f81], [102b, 1035], [1056, 1059],
359    [1062, 1062], [1067, 1068], [1071, 1074], [1083, 1086], [109c, 109d],
360    [1712, 1713], [1732, 1733], [1752, 1753], [1772, 1773], [17b6, 17c5],
361    [17c8, 17c8], [1920, 1928], [193a, 193a], [19b0, 19c0], [1a17, 1a1b],
362    [1a61, 1a73], [1b35, 1b43], [1ba4, 1ba9], [1be7, 1bef], [1c26, 1c2c],
363    [a823, a827], [a8b5, a8c3], [a947, a94e], [a9b4, a9bc], [a9e5, a9e5],
364    [aa29, aa32], [aab0, aabe], [aaeb, aaef], [abe3, abea], [10a01, 10a03],
365    [10a05, 10a06], [10a0c, 10a0d], [11038, 11045], [110b0, 110b8],
366    [11127, 11132], [111b3, 111bf], [111cb, 111cc], [1122c, 11233],
367    [112e0, 112e8], [1133e, 11344], [11347, 11348], [1134b, 1134c],
368    [11357, 11357], [11362, 11363], [11435, 11441], [114b0, 114be],
369    [115af, 115b5], [115b8, 115bb], [115dc, 115dd], [11630, 1163c],
370    [11640, 11640], [116ad, 116b5], [11720, 1172a], [11a01, 11a0a],
371    [11a51, 11a5b], [11c2f, 11c36], [11c38, 11c3b], [11cb0, 11cb4],
372    [11d31, 11d36], [11d3a, 11d3a], [11d3c, 11d3d], [11d3f, 11d3f],
373    [11d43, 11d43]**/
374    const UnicodeSet vowel_dependent_Set
375        {{{Empty, 73}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
376          {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 3},
377          {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Empty, 1},
378          {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 2},
379          {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 4},
380          {Mixed, 2}, {Empty, 4}, {Mixed, 4}, {Empty, 51}, {Mixed, 4},
381          {Empty, 1}, {Mixed, 2}, {Empty, 10}, {Mixed, 1}, {Empty, 3},
382          {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
383          {Empty, 5}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
384          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1119}, {Mixed, 1},
385          {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
386          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
387          {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 7},
388          {Mixed, 1}, {Empty, 752}, {Mixed, 1}, {Empty, 48}, {Mixed, 2},
389          {Empty, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
390          {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
391          {Empty, 1}, {Mixed, 3}, {Empty, 5}, {Mixed, 2}, {Empty, 2},
392          {Mixed, 1}, {Empty, 7}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
393          {Empty, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 22},
394          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 14}, {Mixed, 1},
395          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 32533}},
396         {0xcc000000, 0x00e0dfff, 0x0000000c, 0xc0000000, 0x0080199f,
397          0x0000000c, 0xc0000000, 0x00001987, 0xc0000000, 0x00001bbf,
398          0x0000000c, 0xc0000000, 0x00c0199f, 0x0000000c, 0xc0000000,
399          0x00801dc7, 0xc0000000, 0x00601ddf, 0x0000000c, 0xc0000000,
400          0x00601ddf, 0x0000000c, 0xc0000000, 0x00801ddf, 0x0000000c,
401          0xff5f8000, 0x000c0000, 0x03ff0000, 0x000000bf, 0x0bff0000,
402          0x0000001f, 0x3ffe0000, 0x00000003, 0x003ff800, 0x03c00000,
403          0x001e0184, 0x30000078, 0x000c0000, 0x000c0000, 0x000c0000,
404          0x000c0000, 0xffc00000, 0x0000013f, 0x040001ff, 0xffff0000,
405          0x00000001, 0x0f800000, 0x000ffffe, 0xffe00000, 0x0000000f,
406          0x000003f0, 0x0000ff80, 0x00001fc0, 0x000000f8, 0xffe00000,
407          0x0000000f, 0x00007f80, 0x1ff00000, 0x00000020, 0x0007fe00,
408          0x7fff0000, 0x0000f800, 0x000007f8, 0x0000306e, 0xff000000,
409          0x0000003f, 0x01ff0000, 0x0007ff80, 0xfff80000, 0x00001800,
410          0x000ff000, 0x000001ff, 0xc0000000, 0x0080199f, 0x0000000c,
411          0xffe00000, 0x00000003, 0x7fff0000, 0x0f3f8000, 0x30000000,
412          0x1fff0000, 0x00000001, 0x003fe000, 0x000007ff, 0x000007fe,
413          0x0ffe0000, 0x0f7f8000, 0x001f0000, 0xb47e0000, 0x00000008}};
414    /** Code Point Ranges for Vowel
415    [1963, 196d], [a85e, a861], [a866, a866], [a922, a92a], [11150, 11154]**/
416    const UnicodeSet vowel_Set
417        {{{Empty, 203}, {Mixed, 1}, {Empty, 1142}, {Mixed, 2}, {Empty, 5},
418          {Mixed, 1}, {Empty, 832}, {Mixed, 1}, {Empty, 32629}},
419         {0x00003ff8, 0xc0000000, 0x00000043, 0x000007fc, 0x001f0000}};
420    /** Code Point Ranges for Consonant_Placeholder
421    [002d, 002d], [00a0, 00a0], [00d7, 00d7], [0a72, 0a73], [104e, 104e],
422    [1900, 1900], [2010, 2014], [25cc, 25cc], [aa74, aa76], [11a3f, 11a3f],
423    [11a45, 11a45]**/
424    const UnicodeSet consonant_placeholder_Set
425        {{{Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 76},
426          {Mixed, 1}, {Empty, 46}, {Mixed, 1}, {Empty, 69}, {Mixed, 1},
427          {Empty, 55}, {Mixed, 1}, {Empty, 45}, {Mixed, 1}, {Empty, 1060},
428          {Mixed, 1}, {Empty, 893}, {Mixed, 2}, {Empty, 32557}},
429         {0x00002000, 0x00000001, 0x00800000, 0x000c0000, 0x00004000,
430          0x00000001, 0x001f0000, 0x00001000, 0x00700000, 0x80000000,
431          0x00000020}};
432    /** Code Point Ranges for Consonant
433    [0915, 0939], [0958, 095f], [0978, 097f], [0995, 09a8], [09aa, 09b0],
434    [09b2, 09b2], [09b6, 09b9], [09dc, 09dd], [09df, 09df], [09f0, 09f1],
435    [0a15, 0a28], [0a2a, 0a30], [0a32, 0a33], [0a35, 0a36], [0a38, 0a39],
436    [0a59, 0a5c], [0a5e, 0a5e], [0a95, 0aa8], [0aaa, 0ab0], [0ab2, 0ab3],
437    [0ab5, 0ab9], [0af9, 0af9], [0b15, 0b28], [0b2a, 0b30], [0b32, 0b33],
438    [0b35, 0b39], [0b5c, 0b5d], [0b5f, 0b5f], [0b71, 0b71], [0b95, 0b95],
439    [0b99, 0b9a], [0b9c, 0b9c], [0b9e, 0b9f], [0ba3, 0ba4], [0ba8, 0baa],
440    [0bae, 0bb9], [0c15, 0c28], [0c2a, 0c39], [0c58, 0c5a], [0c95, 0ca8],
441    [0caa, 0cb3], [0cb5, 0cb9], [0cde, 0cde], [0d15, 0d3a], [0d9a, 0db1],
442    [0db3, 0dbb], [0dbd, 0dbd], [0dc0, 0dc6], [0e01, 0e2e], [0e81, 0e82],
443    [0e84, 0e84], [0e87, 0e88], [0e8a, 0e8a], [0e8d, 0e8d], [0e94, 0e97],
444    [0e99, 0e9f], [0ea1, 0ea3], [0ea5, 0ea5], [0ea7, 0ea7], [0eaa, 0eab],
445    [0ead, 0eae], [0edc, 0edf], [0f40, 0f47], [0f49, 0f6c], [1000, 1020],
446    [103f, 103f], [1050, 1051], [105a, 105d], [1061, 1061], [1065, 1066],
447    [106e, 1070], [1075, 1081], [108e, 108e], [1703, 170c], [170e, 1711],
448    [1723, 1731], [1743, 1751], [1763, 176c], [176e, 1770], [1780, 17a2],
449    [1901, 191e], [1950, 1962], [1980, 19ab], [1a00, 1a16], [1a20, 1a4c],
450    [1a53, 1a54], [1b13, 1b33], [1b45, 1b4b], [1b8a, 1ba0], [1bae, 1baf],
451    [1bbb, 1bbd], [1bc0, 1be3], [1c00, 1c23], [1c4d, 1c4f], [a807, a80a],
452    [a80c, a822], [a840, a85d], [a862, a865], [a869, a870], [a872, a872],
453    [a892, a8b3], [a90a, a921], [a930, a946], [a989, a98b], [a98f, a9b2],
454    [a9e0, a9e4], [a9e7, a9ef], [a9fa, a9fe], [aa06, aa28], [aa60, aa6f],
455    [aa71, aa73], [aa7a, aa7a], [aa7e, aaaf], [aae2, aaea], [abc0, abcd],
456    [abd0, abd0], [abd2, abda], [10a00, 10a00], [10a10, 10a13],
457    [10a15, 10a17], [10a19, 10a33], [11013, 11037], [1108d, 110af],
458    [11107, 11126], [11155, 11172], [11191, 111b2], [11208, 11211],
459    [11213, 1122b], [11284, 11286], [11288, 11288], [1128a, 1128d],
460    [1128f, 1129d], [1129f, 112a8], [112ba, 112de], [11315, 11328],
461    [1132a, 11330], [11332, 11333], [11335, 11339], [1140e, 11434],
462    [1148f, 114af], [1158e, 115ae], [1160e, 1162f], [1168a, 116aa],
463    [11700, 11719], [11a0b, 11a32], [11a5c, 11a83], [11c0e, 11c2e],
464    [11c72, 11c8f], [11d0c, 11d30]**/
465    const UnicodeSet consonant_Set
466        {{{Empty, 72}, {Mixed, 11}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
467          {Mixed, 7}, {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 3},
468          {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Empty, 1},
469          {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Empty, 3}, {Mixed, 2},
470          {Empty, 4}, {Full, 1}, {Mixed, 4}, {Empty, 51}, {Mixed, 4},
471          {Full, 1}, {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 1},
472          {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
473          {Full, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 3}, {Empty, 1},
474          {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
475          {Empty, 1117}, {Mixed, 6}, {Empty, 2}, {Mixed, 3}, {Empty, 1},
476          {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1},
477          {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 6},
478          {Mixed, 1}, {Empty, 753}, {Mixed, 2}, {Empty, 46}, {Mixed, 2},
479          {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 6}, {Empty, 2},
480          {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 2},
481          {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 6},
482          {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
483          {Empty, 2}, {Mixed, 1}, {Empty, 23}, {Mixed, 3}, {Full, 1},
484          {Mixed, 1}, {Empty, 11}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
485          {Empty, 3}, {Mixed, 2}, {Empty, 32534}},
486         {0xffe00000, 0x03ffffff, 0xff000000, 0xff000000, 0xffe00000,
487          0x03c5fdff, 0xb0000000, 0x00030000, 0xffe00000, 0x036dfdff,
488          0x5e000000, 0xffe00000, 0x03edfdff, 0x02000000, 0xffe00000,
489          0x03edfdff, 0xb0000000, 0x00020000, 0xd6200000, 0x03ffc718,
490          0xffe00000, 0x03fffdff, 0x07000000, 0xffe00000, 0x03effdff,
491          0x40000000, 0xffe00000, 0x07ffffff, 0xfc000000, 0x2ffbffff,
492          0x0000007f, 0xfffffffe, 0x00007fff, 0xfef02596, 0x00006cae,
493          0xf0000000, 0xfffffeff, 0x00001fff, 0x80000001, 0x3c030000,
494          0xffe1c062, 0x00004003, 0x0003dff8, 0x0003fff8, 0x0003fff8,
495          0x0001dff8, 0x00000007, 0x7ffffffe, 0xffff0000, 0x00000007,
496          0x00000fff, 0x007fffff, 0x00181fff, 0xfff80000, 0x000fffff,
497          0x00000fe0, 0xfffffc00, 0x3800c001, 0x0000000f, 0x0000000f,
498          0x0000e000, 0xfffff780, 0x00000007, 0x3fffffff, 0x0005fe3c,
499          0xfffc0000, 0x000fffff, 0xfffffc00, 0xffff0003, 0x0000007f,
500          0xffff8e00, 0x0007ffff, 0x7c00ff9f, 0xffffffc0, 0x000001ff,
501          0xc40effff, 0x0000ffff, 0x000007fc, 0x07fd3fff, 0xfeef0001,
502          0x000fffff, 0xfff80000, 0x00ffffff, 0xffffe000, 0x0000ffff,
503          0xffffff80, 0x0000007f, 0xffe00000, 0x0007ffff, 0xfffe0000,
504          0x0007ffff, 0xfffbff00, 0x00000fff, 0xbfffbd70, 0xfc0001ff,
505          0x7fffffff, 0xffe00000, 0x03edfdff, 0xffffc000, 0x001fffff,
506          0xffff8000, 0x0000ffff, 0xffffc000, 0x00007fff, 0xffffc000,
507          0x0000ffff, 0xfffffc00, 0x000007ff, 0x03ffffff, 0xfffff800,
508          0x0007ffff, 0xf0000000, 0x0000000f, 0xffffc000, 0x00007fff,
509          0xfffc0000, 0x0000ffff, 0xfffff000, 0x0001ffff}};
510    /** Code Point Ranges for Consonant_Dead
511    [09ce, 09ce], [0d54, 0d56], [0d7a, 0d7f]**/
512    const UnicodeSet consonant_dead_Set
513        {{{Empty, 78}, {Mixed, 1}, {Empty, 27}, {Mixed, 2}, {Empty, 34708}},
514         {0x00004000, 0x00700000, 0xfc000000}};
515    /** Code Point Ranges for Consonant_With_Stacker
516    [0cf1, 0cf2], [11003, 11004]**/
517    const UnicodeSet consonant_with_stacker_Set
518        {{{Empty, 103}, {Mixed, 1}, {Empty, 2072}, {Mixed, 1},
519          {Empty, 32639}},
520         {0x00060000, 0x00000018}};
521    /** Code Point Ranges for Consonant_Prefixed
522    [111c2, 111c3], [11a3a, 11a3a], [11a86, 11a89]**/
523    const UnicodeSet consonant_prefixed_Set
524        {{{Empty, 2190}, {Mixed, 1}, {Empty, 66}, {Mixed, 1}, {Empty, 2},
525          {Mixed, 1}, {Empty, 32555}},
526         {0x0000000c, 0x04000000, 0x000003c0}};
527    /** Code Point Ranges for Consonant_Preceding_Repha
528    [0d4e, 0d4e], [11d46, 11d46]**/
529    const UnicodeSet consonant_preceding_repha_Set
530        {{{Empty, 106}, {Mixed, 1}, {Empty, 2175}, {Mixed, 1},
531          {Empty, 32533}},
532         {0x00004000, 0x00000040}};
533    /** Code Point Ranges for Consonant_Succeeding_Repha
534    [17cc, 17cc], [1a5a, 1a5a], [1b03, 1b03], [1b81, 1b81], [a982, a982]**/
535    const UnicodeSet consonant_succeeding_repha_Set
536        {{{Empty, 190}, {Mixed, 1}, {Empty, 19}, {Mixed, 1}, {Empty, 5},
537          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1135}, {Mixed, 1},
538          {Empty, 33459}},
539         {0x00001000, 0x04000000, 0x00000008, 0x00000002, 0x00000004}};
540    /** Code Point Ranges for Consonant_Subjoined
541    [0f8d, 0f97], [0f99, 0fbc], [1929, 192b], [1a57, 1a57], [1a5b, 1a5e],
542    [1ba1, 1ba3], [1bac, 1bad], [1c24, 1c25], [a867, a868], [a871, a871],
543    [a9bd, a9bd], [11c92, 11ca7], [11ca9, 11caf]**/
544    const UnicodeSet consonant_subjoined_Set
545        {{{Empty, 124}, {Mixed, 2}, {Empty, 75}, {Mixed, 1}, {Empty, 8},
546          {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
547          {Empty, 1121}, {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 918},
548          {Mixed, 2}, {Empty, 32538}},
549         {0xfeffe000, 0x1fffffff, 0x00000e00, 0x78800000, 0x0000300e,
550          0x00000030, 0x00020180, 0x20000000, 0xfffc0000, 0x0000feff}};
551    /** Code Point Ranges for Consonant_Medial
552    [0a75, 0a75], [0ebc, 0ebd], [103b, 103e], [105e, 1060], [1082, 1082],
553    [1a55, 1a56], [a9be, a9bf], [aa33, aa36], [1171d, 1171f],
554    [11a3b, 11a3e], [11d47, 11d47]**/
555    const UnicodeSet consonant_medial_Set
556        {{{Empty, 83}, {Mixed, 1}, {Empty, 33}, {Mixed, 1}, {Empty, 11},
557          {Mixed, 4}, {Empty, 77}, {Mixed, 1}, {Empty, 1146}, {Mixed, 1},
558          {Empty, 3}, {Mixed, 1}, {Empty, 870}, {Mixed, 1}, {Empty, 24},
559          {Mixed, 1}, {Empty, 24}, {Mixed, 1}, {Empty, 32533}},
560         {0x00200000, 0x30000000, 0x78000000, 0xc0000000, 0x00000001,
561          0x00000004, 0x00600000, 0xc0000000, 0x00780000, 0xe0000000,
562          0x78000000, 0x00000080}};
563    /** Code Point Ranges for Consonant_Final
564    [1930, 1931], [1933, 1939], [19c1, 19c7], [1a58, 1a59], [1bbe, 1bbf],
565    [1bf0, 1bf1], [1c2d, 1c33], [a8b4, a8b4], [a94f, a952], [aa40, aa4d],
566    [abdb, abe2], [11a8a, 11a95]**/
567    const UnicodeSet consonant_final_Set
568        {{{Empty, 201}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 3},
569          {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
570          {Empty, 1}, {Mixed, 1}, {Empty, 1123}, {Mixed, 1}, {Empty, 4},
571          {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 11}, {Mixed, 2},
572          {Empty, 884}, {Mixed, 1}, {Empty, 32555}},
573         {0x03fb0000, 0x000000fe, 0x03000000, 0xc0000000, 0x00030000,
574          0x000fe000, 0x00100000, 0x00078000, 0x00003fff, 0xf8000000,
575          0x00000007, 0x003ffc00}};
576    /** Code Point Ranges for Consonant_Head_Letter
577    [0f88, 0f8c]**/
578    const UnicodeSet consonant_head_letter_Set
579        {{{Empty, 124}, {Mixed, 1}, {Empty, 34691}},
580         {0x00001f00}};
581    /** Code Point Ranges for Modifying_Letter
582    [0b83, 0b83]**/
583    const UnicodeSet modifying_letter_Set
584        {{{Empty, 92}, {Mixed, 1}, {Empty, 34723}},
585         {0x00000008}};
586    /** Code Point Ranges for Tone_Letter
587    [1970, 1974], [aac0, aac0], [aac2, aac2]**/
588    const UnicodeSet tone_letter_Set
589        {{{Empty, 203}, {Mixed, 1}, {Empty, 1162}, {Mixed, 1},
590          {Empty, 33449}},
591         {0x001f0000, 0x00000005}};
592    /** Code Point Ranges for Tone_Mark
593    [0e48, 0e4b], [0ec8, 0ecb], [1037, 1037], [1063, 1064], [1069, 106d],
594    [1087, 108d], [108f, 108f], [109a, 109b], [19c8, 19c9], [1a75, 1a79],
595    [a92b, a92d], [aa7b, aa7d], [aabf, aabf], [aac1, aac1], [abec, abec]**/
596    const UnicodeSet tone_mark_Set
597        {{{Empty, 114}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 10},
598          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 73}, {Mixed, 1},
599          {Empty, 4}, {Mixed, 1}, {Empty, 1141}, {Mixed, 1}, {Empty, 9},
600          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 8}, {Mixed, 1},
601          {Empty, 33440}},
602         {0x00000f00, 0x00000f00, 0x00800000, 0x00003e18, 0x0c00bf80,
603          0x00000300, 0x03e00000, 0x00003800, 0x38000000, 0x80000000,
604          0x00000002, 0x00001000}};
605    /** Code Point Ranges for Gemination_Mark
606    [0a71, 0a71], [11237, 11237], [11a98, 11a98]**/
607    const UnicodeSet gemination_mark_Set
608        {{{Empty, 83}, {Mixed, 1}, {Empty, 2109}, {Mixed, 1}, {Empty, 66},
609          {Mixed, 1}, {Empty, 32555}},
610         {0x00020000, 0x00800000, 0x01000000}};
611    /** Code Point Ranges for Cantillation_Mark
612    [0951, 0952], [0afa, 0afc], [1cd0, 1cd2], [1cd4, 1ce1], [1cf4, 1cf4],
613    [1cf7, 1cf9], [a8e0, a8f1], [1123e, 1123e], [11366, 1136c],
614    [11370, 11374]**/
615    const UnicodeSet cantillation_mark_Set
616        {{{Empty, 74}, {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 142},
617          {Mixed, 2}, {Empty, 1119}, {Mixed, 1}, {Empty, 841}, {Mixed, 1},
618          {Empty, 9}, {Mixed, 1}, {Empty, 32612}},
619         {0x00060000, 0x1c000000, 0xfff70000, 0x03900003, 0x0003ffff,
620          0x40000000, 0x001f1fc0}};
621    /** Code Point Ranges for Register_Shifter
622    [17c9, 17ca]**/
623    const UnicodeSet register_shifter_Set
624        {{{Empty, 190}, {Mixed, 1}, {Empty, 34625}},
625         {0x00000600}};
626    /** Code Point Ranges for Syllable_Modifier
627    [00b2, 00b3], [0f35, 0f35], [0f37, 0f37], [0fc6, 0fc6], [17cb, 17cb],
628    [17ce, 17d0], [17d3, 17d3], [17dd, 17dd], [193b, 193b], [1a7b, 1a7c],
629    [1a7f, 1a7f], [1c36, 1c36], [1dfb, 1dfb], [2074, 2074], [2082, 2084],
630    [11a33, 11a33]**/
631    const UnicodeSet syllable_modifier_Set
632        {{{Empty, 5}, {Mixed, 1}, {Empty, 115}, {Mixed, 1}, {Empty, 4},
633          {Mixed, 1}, {Empty, 63}, {Mixed, 1}, {Empty, 10}, {Mixed, 1},
634          {Empty, 9}, {Mixed, 1}, {Empty, 13}, {Mixed, 1}, {Empty, 13},
635          {Mixed, 1}, {Empty, 19}, {Mixed, 2}, {Empty, 1996}, {Mixed, 1},
636          {Empty, 32558}},
637         {0x000c0000, 0x00a00000, 0x00000040, 0x2009c800, 0x08000000,
638          0x98000000, 0x00400000, 0x08000000, 0x00100000, 0x0000001c,
639          0x00080000}};
640    /** Code Point Ranges for Consonant_Killer
641    [0e4c, 0e4c], [17cd, 17cd]**/
642    const UnicodeSet consonant_killer_Set
643        {{{Empty, 114}, {Mixed, 1}, {Empty, 75}, {Mixed, 1}, {Empty, 34625}},
644         {0x00001000, 0x00002000}};
645    /** Code Point Ranges for Non_Joiner
646    [200c, 200c]**/
647    const UnicodeSet non_joiner_Set
648        {{{Empty, 256}, {Mixed, 1}, {Empty, 34559}},
649         {0x00001000}};
650    /** Code Point Ranges for Joiner
651    [200d, 200d]**/
652    const UnicodeSet joiner_Set
653        {{{Empty, 256}, {Mixed, 1}, {Empty, 34559}},
654         {0x00002000}};
655    /** Code Point Ranges for Number_Joiner
656    [1107f, 1107f]**/
657    const UnicodeSet number_joiner_Set
658        {{{Empty, 2179}, {Mixed, 1}, {Empty, 32636}},
659         {0x80000000}};
660    /** Code Point Ranges for Number
661    [0030, 0039], [0966, 096f], [09e6, 09ef], [0a66, 0a6f], [0ae6, 0aef],
662    [0b66, 0b6f], [0be6, 0bef], [0c66, 0c6f], [0ce6, 0cef], [0d66, 0d6f],
663    [0de6, 0def], [0e50, 0e59], [0ed0, 0ed9], [0f20, 0f33], [1040, 1049],
664    [1090, 1099], [17e0, 17e9], [1946, 194f], [19d0, 19d9], [1a80, 1a89],
665    [1a90, 1a99], [1b50, 1b59], [1bb0, 1bb9], [1c40, 1c49], [a8d0, a8d9],
666    [a900, a909], [a9d0, a9d9], [a9f0, a9f9], [aa50, aa59], [abf0, abf9],
667    [10a40, 10a47], [11066, 1106f], [11136, 1113f], [111d0, 111d9],
668    [111e1, 111f4], [112f0, 112f9], [11450, 11459], [114d0, 114d9],
669    [11650, 11659], [116c0, 116c9], [11730, 1173b], [11c50, 11c6c],
670    [11d50, 11d59]**/
671    const UnicodeSet number_Set
672        {{{Empty, 1}, {Mixed, 1}, {Empty, 73}, {Mixed, 1}, {Empty, 3},
673          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
674          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
675          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
676          {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 3},
677          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
678          {Empty, 1}, {Mixed, 1}, {Empty, 58}, {Mixed, 1}, {Empty, 10},
679          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
680          {Empty, 5}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 4},
681          {Mixed, 1}, {Empty, 1123}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
682          {Empty, 5}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 12},
683          {Mixed, 1}, {Empty, 754}, {Mixed, 1}, {Empty, 48}, {Mixed, 1},
684          {Empty, 5}, {Mixed, 1}, {Empty, 4}, {Mixed, 2}, {Empty, 7},
685          {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
686          {Empty, 11}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
687          {Mixed, 1}, {Empty, 40}, {Mixed, 2}, {Empty, 6}, {Mixed, 1},
688          {Empty, 32533}},
689         {0x03ff0000, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0,
690          0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0,
691          0x0000ffc0, 0x03ff0000, 0x03ff0000, 0x000fffff, 0x000003ff,
692          0x03ff0000, 0x000003ff, 0x0000ffc0, 0x03ff0000, 0x03ff03ff,
693          0x03ff0000, 0x03ff0000, 0x000003ff, 0x03ff0000, 0x000003ff,
694          0x03ff0000, 0x03ff0000, 0x03ff0000, 0x03ff0000, 0x000000ff,
695          0x0000ffc0, 0xffc00000, 0x03ff0000, 0x001ffffe, 0x03ff0000,
696          0x03ff0000, 0x03ff0000, 0x03ff0000, 0x000003ff, 0x0fff0000,
697          0xffff0000, 0x00001fff, 0x03ff0000}};
698    /** Code Point Ranges for Brahmi_Joining_Number
699    [11052, 11065]**/
700    const UnicodeSet brahmi_joining_number_Set
701        {{{Empty, 2178}, {Mixed, 2}, {Empty, 32636}},
702         {0xfffc0000, 0x0000003f}};
703    static EnumeratedPropertyObject property_object
704        {InSC,
705         INSC_ns::independent_prop_values,
706         INSC_ns::enum_names,
707         INSC_ns::value_names,
708         INSC_ns::aliases_only_map,
709         {&other_Set, &bindu_Set, &visarga_Set, &avagraha_Set, &nukta_Set,
710        &virama_Set, &pure_killer_Set, &invisible_stacker_Set,
711        &vowel_independent_Set, &vowel_dependent_Set, &vowel_Set,
712        &consonant_placeholder_Set, &consonant_Set, &consonant_dead_Set,
713        &consonant_with_stacker_Set, &consonant_prefixed_Set,
714        &consonant_preceding_repha_Set, &consonant_succeeding_repha_Set,
715        &consonant_subjoined_Set, &consonant_medial_Set,
716        &consonant_final_Set, &consonant_head_letter_Set,
717        &modifying_letter_Set, &tone_letter_Set, &tone_mark_Set,
718        &gemination_mark_Set, &cantillation_mark_Set, &register_shifter_Set,
719        &syllable_modifier_Set, &consonant_killer_Set, &non_joiner_Set,
720        &joiner_Set, &number_joiner_Set, &number_Set,
721        &brahmi_joining_number_Set
722         }};
723    }
724}
725
726#endif
Note: See TracBrowser for help on using the repository browser.