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

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

UCD corrections and additional properties

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