+11
-20
src/api/richtext/intl.ts
+11
-20
src/api/richtext/intl.ts
···
1
-
var _graphemeLen: (text: string) => number;
1
+
const segmenter = new Intl.Segmenter();
2
2
3
3
export const textEncoder = new TextEncoder();
4
4
export const textDecoder = new TextDecoder();
5
5
6
-
export const graphemeLen = (text: string) => {
6
+
export const graphemeLen = (text: string): number => {
7
7
var length = asciiLen(text);
8
8
9
9
if (length === undefined) {
···
13
13
return length;
14
14
};
15
15
16
-
export const asciiLen = (str: string) => {
16
+
export const asciiLen = (str: string): number | undefined => {
17
17
for (var idx = 0, len = str.length; idx < len; idx++) {
18
18
const char = str.charCodeAt(idx);
19
19
···
29
29
return asciiLen(str) ?? textEncoder.encode(str).byteLength;
30
30
};
31
31
32
-
if (Intl.Segmenter) {
33
-
var segmenter = new Intl.Segmenter();
32
+
const _graphemeLen = (text: string): number => {
33
+
var iterator = segmenter.segment(text)[Symbol.iterator]();
34
+
var count = 0;
34
35
35
-
_graphemeLen = (text) => {
36
-
var iterator = segmenter.segment(text)[Symbol.iterator]();
37
-
var count = 0;
36
+
while (!iterator.next().done) {
37
+
count++;
38
+
}
38
39
39
-
while (!iterator.next().done) {
40
-
count++;
41
-
}
42
-
43
-
return count;
44
-
};
45
-
} else {
46
-
console.log('Intl.Segmenter API not available, falling back to polyfill...');
47
-
48
-
var { countGraphemes } = await import('./lib/unicode-segmenter.ts');
49
-
_graphemeLen = countGraphemes;
50
-
}
40
+
return count;
41
+
};
-1855
src/api/richtext/lib/unicode-segmenter.ts
-1855
src/api/richtext/lib/unicode-segmenter.ts
···
1
-
const enum GraphemeCategory {
2
-
Any = 0,
3
-
CR = 1,
4
-
Control = 2,
5
-
Extend = 3,
6
-
Extended_Pictographic = 4,
7
-
L = 5,
8
-
LF = 6,
9
-
LV = 7,
10
-
LVT = 8,
11
-
Prepend = 9,
12
-
Regional_Indicator = 10,
13
-
SpacingMark = 11,
14
-
T = 12,
15
-
V = 13,
16
-
ZWJ = 14,
17
-
}
18
-
19
-
type CategorizedUnicodeRange<T> = [from: number, to: number, category: T];
20
-
type GraphemeCategoryRange = CategorizedUnicodeRange<GraphemeCategory>;
21
-
22
-
const CONSONANT_TABLE: [l: number, h: number][] = [
23
-
[2325, 2361],
24
-
[2392, 2399],
25
-
[2424, 2431],
26
-
[2453, 2472],
27
-
[2474, 2480],
28
-
[2482, 2482],
29
-
[2486, 2489],
30
-
[2524, 2525],
31
-
[2527, 2527],
32
-
[2544, 2545],
33
-
[2709, 2728],
34
-
[2730, 2736],
35
-
[2738, 2739],
36
-
[2741, 2745],
37
-
[2809, 2809],
38
-
[2837, 2856],
39
-
[2858, 2864],
40
-
[2866, 2867],
41
-
[2869, 2873],
42
-
[2908, 2909],
43
-
[2911, 2911],
44
-
[2929, 2929],
45
-
[3093, 3112],
46
-
[3114, 3129],
47
-
[3160, 3162],
48
-
[3349, 3386],
49
-
];
50
-
51
-
const GRAPHEME_CATEGORY_LOOKUP: number[] = [
52
-
0, 5, 9, 9, 9, 9, 9, 10, 10, 10, 11, 11, 16, 21, 26, 29, 32, 37, 41, 53, 65, 75, 86, 97, 106, 116, 131, 143,
53
-
153, 157, 161, 168, 173, 183, 188, 189, 191, 191, 191, 192, 192, 192, 192, 192, 192, 192, 192, 198, 206,
54
-
209, 211, 219, 219, 232, 233, 242, 258, 262, 270, 270, 271, 271, 271, 271, 271, 279, 280, 282, 284, 284,
55
-
284, 286, 290, 290, 291, 291, 295, 297, 298, 313, 317, 317, 317, 318, 318, 318, 318, 322, 322, 322, 323,
56
-
324, 325, 325, 325, 325, 325, 328, 329, 329, 329, 329, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
57
-
331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
58
-
331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
59
-
331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
60
-
331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
61
-
331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
62
-
331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
63
-
331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
64
-
331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
65
-
331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
66
-
331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
67
-
331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 333, 335, 335, 335, 342, 347, 351, 360, 369, 379,
68
-
379, 386, 395, 405, 413, 423, 431, 441, 450, 459, 469, 477, 487, 495, 505, 514, 523, 533, 541, 551, 559,
69
-
569, 578, 587, 597, 605, 615, 623, 633, 642, 651, 661, 669, 679, 687, 697, 706, 715, 725, 733, 743, 751,
70
-
761, 770, 779, 789, 797, 807, 815, 825, 834, 843, 853, 861, 871, 879, 889, 898, 907, 917, 925, 935, 943,
71
-
953, 962, 971, 981, 989, 999, 1007, 1017, 1026, 1035, 1045, 1053, 1063, 1071, 1081, 1090, 1099, 1109, 1117,
72
-
1127, 1135, 1145, 1154, 1163, 1173, 1181, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186,
73
-
1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186,
74
-
1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186,
75
-
1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186,
76
-
1186, 1186, 1186, 1186, 1186, 1186, 1187, 1187, 1187, 1187, 1187, 1187, 1189, 1190, 1190, 1192, 1192, 1192,
77
-
1192, 1193, 1193, 1194, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
78
-
1200, 1201, 1201, 1201, 1201, 1201, 1202, 1202, 1202, 1204, 1205, 1206, 1212, 1221, 1227, 1236, 1244, 1247,
79
-
1260, 1260, 1267, 1278, 1278, 1286, 1292, 1299, 1303, 1303, 1307, 1307, 1318, 1324, 1333, 1337, 1337, 1337,
80
-
1342, 1349, 1355, 1361, 1361, 1363, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
81
-
1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372,
82
-
1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1375, 1375, 1375, 1375, 1375, 1375,
83
-
1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375,
84
-
1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375,
85
-
1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375,
86
-
1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375,
87
-
1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375,
88
-
1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1375, 1376, 1377, 1377, 1377, 1377,
89
-
1377, 1377, 1377, 1377, 1378, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
90
-
1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
91
-
1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
92
-
1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
93
-
1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
94
-
1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
95
-
1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
96
-
1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
97
-
1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1384, 1384, 1384,
98
-
1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384,
99
-
1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1386, 1386,
100
-
1386, 1386, 1392, 1395, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396,
101
-
1396, 1396, 1399, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1407, 1408, 1409, 1409,
102
-
1409, 1411, 1411, 1411, 1411, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1413, 1414, 1414, 1414, 1414,
103
-
1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1415, 1419, 1423, 1428, 1428, 1428, 1430,
104
-
1430, 1430, 1431, 1431, 1432, 1433, 1434, 1435, 1438, 1440, 1442, 1442, 1442, 1443, 1443, 1443, 1443, 1443,
105
-
1443, 1443, 1443, 1443, 1443,
106
-
];
107
-
108
-
const GRAPHEME_CATEGORY_TABLE: GraphemeCategoryRange[] = [
109
-
[0, 9, GraphemeCategory.Control],
110
-
[10, 10, GraphemeCategory.LF],
111
-
[11, 12, GraphemeCategory.Control],
112
-
[13, 13, GraphemeCategory.CR],
113
-
[14, 31, GraphemeCategory.Control],
114
-
[127, 159, GraphemeCategory.Control],
115
-
[169, 169, GraphemeCategory.Extended_Pictographic],
116
-
[173, 173, GraphemeCategory.Control],
117
-
[174, 174, GraphemeCategory.Extended_Pictographic],
118
-
[768, 879, GraphemeCategory.Extend],
119
-
[1155, 1161, GraphemeCategory.Extend],
120
-
[1425, 1469, GraphemeCategory.Extend],
121
-
[1471, 1471, GraphemeCategory.Extend],
122
-
[1473, 1474, GraphemeCategory.Extend],
123
-
[1476, 1477, GraphemeCategory.Extend],
124
-
[1479, 1479, GraphemeCategory.Extend],
125
-
[1536, 1541, GraphemeCategory.Prepend],
126
-
[1552, 1562, GraphemeCategory.Extend],
127
-
[1564, 1564, GraphemeCategory.Control],
128
-
[1611, 1631, GraphemeCategory.Extend],
129
-
[1648, 1648, GraphemeCategory.Extend],
130
-
[1750, 1756, GraphemeCategory.Extend],
131
-
[1757, 1757, GraphemeCategory.Prepend],
132
-
[1759, 1764, GraphemeCategory.Extend],
133
-
[1767, 1768, GraphemeCategory.Extend],
134
-
[1770, 1773, GraphemeCategory.Extend],
135
-
[1807, 1807, GraphemeCategory.Prepend],
136
-
[1809, 1809, GraphemeCategory.Extend],
137
-
[1840, 1866, GraphemeCategory.Extend],
138
-
[1958, 1968, GraphemeCategory.Extend],
139
-
[2027, 2035, GraphemeCategory.Extend],
140
-
[2045, 2045, GraphemeCategory.Extend],
141
-
[2070, 2073, GraphemeCategory.Extend],
142
-
[2075, 2083, GraphemeCategory.Extend],
143
-
[2085, 2087, GraphemeCategory.Extend],
144
-
[2089, 2093, GraphemeCategory.Extend],
145
-
[2137, 2139, GraphemeCategory.Extend],
146
-
[2192, 2193, GraphemeCategory.Prepend],
147
-
[2200, 2207, GraphemeCategory.Extend],
148
-
[2250, 2273, GraphemeCategory.Extend],
149
-
[2274, 2274, GraphemeCategory.Prepend],
150
-
[2275, 2306, GraphemeCategory.Extend],
151
-
[2307, 2307, GraphemeCategory.SpacingMark],
152
-
[2362, 2362, GraphemeCategory.Extend],
153
-
[2363, 2363, GraphemeCategory.SpacingMark],
154
-
[2364, 2364, GraphemeCategory.Extend],
155
-
[2366, 2368, GraphemeCategory.SpacingMark],
156
-
[2369, 2376, GraphemeCategory.Extend],
157
-
[2377, 2380, GraphemeCategory.SpacingMark],
158
-
[2381, 2381, GraphemeCategory.Extend],
159
-
[2382, 2383, GraphemeCategory.SpacingMark],
160
-
[2385, 2391, GraphemeCategory.Extend],
161
-
[2402, 2403, GraphemeCategory.Extend],
162
-
[2433, 2433, GraphemeCategory.Extend],
163
-
[2434, 2435, GraphemeCategory.SpacingMark],
164
-
[2492, 2492, GraphemeCategory.Extend],
165
-
[2494, 2494, GraphemeCategory.Extend],
166
-
[2495, 2496, GraphemeCategory.SpacingMark],
167
-
[2497, 2500, GraphemeCategory.Extend],
168
-
[2503, 2504, GraphemeCategory.SpacingMark],
169
-
[2507, 2508, GraphemeCategory.SpacingMark],
170
-
[2509, 2509, GraphemeCategory.Extend],
171
-
[2519, 2519, GraphemeCategory.Extend],
172
-
[2530, 2531, GraphemeCategory.Extend],
173
-
[2558, 2558, GraphemeCategory.Extend],
174
-
[2561, 2562, GraphemeCategory.Extend],
175
-
[2563, 2563, GraphemeCategory.SpacingMark],
176
-
[2620, 2620, GraphemeCategory.Extend],
177
-
[2622, 2624, GraphemeCategory.SpacingMark],
178
-
[2625, 2626, GraphemeCategory.Extend],
179
-
[2631, 2632, GraphemeCategory.Extend],
180
-
[2635, 2637, GraphemeCategory.Extend],
181
-
[2641, 2641, GraphemeCategory.Extend],
182
-
[2672, 2673, GraphemeCategory.Extend],
183
-
[2677, 2677, GraphemeCategory.Extend],
184
-
[2689, 2690, GraphemeCategory.Extend],
185
-
[2691, 2691, GraphemeCategory.SpacingMark],
186
-
[2748, 2748, GraphemeCategory.Extend],
187
-
[2750, 2752, GraphemeCategory.SpacingMark],
188
-
[2753, 2757, GraphemeCategory.Extend],
189
-
[2759, 2760, GraphemeCategory.Extend],
190
-
[2761, 2761, GraphemeCategory.SpacingMark],
191
-
[2763, 2764, GraphemeCategory.SpacingMark],
192
-
[2765, 2765, GraphemeCategory.Extend],
193
-
[2786, 2787, GraphemeCategory.Extend],
194
-
[2810, 2815, GraphemeCategory.Extend],
195
-
[2817, 2817, GraphemeCategory.Extend],
196
-
[2818, 2819, GraphemeCategory.SpacingMark],
197
-
[2876, 2876, GraphemeCategory.Extend],
198
-
[2878, 2879, GraphemeCategory.Extend],
199
-
[2880, 2880, GraphemeCategory.SpacingMark],
200
-
[2881, 2884, GraphemeCategory.Extend],
201
-
[2887, 2888, GraphemeCategory.SpacingMark],
202
-
[2891, 2892, GraphemeCategory.SpacingMark],
203
-
[2893, 2893, GraphemeCategory.Extend],
204
-
[2901, 2903, GraphemeCategory.Extend],
205
-
[2914, 2915, GraphemeCategory.Extend],
206
-
[2946, 2946, GraphemeCategory.Extend],
207
-
[3006, 3006, GraphemeCategory.Extend],
208
-
[3007, 3007, GraphemeCategory.SpacingMark],
209
-
[3008, 3008, GraphemeCategory.Extend],
210
-
[3009, 3010, GraphemeCategory.SpacingMark],
211
-
[3014, 3016, GraphemeCategory.SpacingMark],
212
-
[3018, 3020, GraphemeCategory.SpacingMark],
213
-
[3021, 3021, GraphemeCategory.Extend],
214
-
[3031, 3031, GraphemeCategory.Extend],
215
-
[3072, 3072, GraphemeCategory.Extend],
216
-
[3073, 3075, GraphemeCategory.SpacingMark],
217
-
[3076, 3076, GraphemeCategory.Extend],
218
-
[3132, 3132, GraphemeCategory.Extend],
219
-
[3134, 3136, GraphemeCategory.Extend],
220
-
[3137, 3140, GraphemeCategory.SpacingMark],
221
-
[3142, 3144, GraphemeCategory.Extend],
222
-
[3146, 3149, GraphemeCategory.Extend],
223
-
[3157, 3158, GraphemeCategory.Extend],
224
-
[3170, 3171, GraphemeCategory.Extend],
225
-
[3201, 3201, GraphemeCategory.Extend],
226
-
[3202, 3203, GraphemeCategory.SpacingMark],
227
-
[3260, 3260, GraphemeCategory.Extend],
228
-
[3262, 3262, GraphemeCategory.SpacingMark],
229
-
[3263, 3263, GraphemeCategory.Extend],
230
-
[3264, 3265, GraphemeCategory.SpacingMark],
231
-
[3266, 3266, GraphemeCategory.Extend],
232
-
[3267, 3268, GraphemeCategory.SpacingMark],
233
-
[3270, 3270, GraphemeCategory.Extend],
234
-
[3271, 3272, GraphemeCategory.SpacingMark],
235
-
[3274, 3275, GraphemeCategory.SpacingMark],
236
-
[3276, 3277, GraphemeCategory.Extend],
237
-
[3285, 3286, GraphemeCategory.Extend],
238
-
[3298, 3299, GraphemeCategory.Extend],
239
-
[3315, 3315, GraphemeCategory.SpacingMark],
240
-
[3328, 3329, GraphemeCategory.Extend],
241
-
[3330, 3331, GraphemeCategory.SpacingMark],
242
-
[3387, 3388, GraphemeCategory.Extend],
243
-
[3390, 3390, GraphemeCategory.Extend],
244
-
[3391, 3392, GraphemeCategory.SpacingMark],
245
-
[3393, 3396, GraphemeCategory.Extend],
246
-
[3398, 3400, GraphemeCategory.SpacingMark],
247
-
[3402, 3404, GraphemeCategory.SpacingMark],
248
-
[3405, 3405, GraphemeCategory.Extend],
249
-
[3406, 3406, GraphemeCategory.Prepend],
250
-
[3415, 3415, GraphemeCategory.Extend],
251
-
[3426, 3427, GraphemeCategory.Extend],
252
-
[3457, 3457, GraphemeCategory.Extend],
253
-
[3458, 3459, GraphemeCategory.SpacingMark],
254
-
[3530, 3530, GraphemeCategory.Extend],
255
-
[3535, 3535, GraphemeCategory.Extend],
256
-
[3536, 3537, GraphemeCategory.SpacingMark],
257
-
[3538, 3540, GraphemeCategory.Extend],
258
-
[3542, 3542, GraphemeCategory.Extend],
259
-
[3544, 3550, GraphemeCategory.SpacingMark],
260
-
[3551, 3551, GraphemeCategory.Extend],
261
-
[3570, 3571, GraphemeCategory.SpacingMark],
262
-
[3633, 3633, GraphemeCategory.Extend],
263
-
[3635, 3635, GraphemeCategory.SpacingMark],
264
-
[3636, 3642, GraphemeCategory.Extend],
265
-
[3655, 3662, GraphemeCategory.Extend],
266
-
[3761, 3761, GraphemeCategory.Extend],
267
-
[3763, 3763, GraphemeCategory.SpacingMark],
268
-
[3764, 3772, GraphemeCategory.Extend],
269
-
[3784, 3790, GraphemeCategory.Extend],
270
-
[3864, 3865, GraphemeCategory.Extend],
271
-
[3893, 3893, GraphemeCategory.Extend],
272
-
[3895, 3895, GraphemeCategory.Extend],
273
-
[3897, 3897, GraphemeCategory.Extend],
274
-
[3902, 3903, GraphemeCategory.SpacingMark],
275
-
[3953, 3966, GraphemeCategory.Extend],
276
-
[3967, 3967, GraphemeCategory.SpacingMark],
277
-
[3968, 3972, GraphemeCategory.Extend],
278
-
[3974, 3975, GraphemeCategory.Extend],
279
-
[3981, 3991, GraphemeCategory.Extend],
280
-
[3993, 4028, GraphemeCategory.Extend],
281
-
[4038, 4038, GraphemeCategory.Extend],
282
-
[4141, 4144, GraphemeCategory.Extend],
283
-
[4145, 4145, GraphemeCategory.SpacingMark],
284
-
[4146, 4151, GraphemeCategory.Extend],
285
-
[4153, 4154, GraphemeCategory.Extend],
286
-
[4155, 4156, GraphemeCategory.SpacingMark],
287
-
[4157, 4158, GraphemeCategory.Extend],
288
-
[4182, 4183, GraphemeCategory.SpacingMark],
289
-
[4184, 4185, GraphemeCategory.Extend],
290
-
[4190, 4192, GraphemeCategory.Extend],
291
-
[4209, 4212, GraphemeCategory.Extend],
292
-
[4226, 4226, GraphemeCategory.Extend],
293
-
[4228, 4228, GraphemeCategory.SpacingMark],
294
-
[4229, 4230, GraphemeCategory.Extend],
295
-
[4237, 4237, GraphemeCategory.Extend],
296
-
[4253, 4253, GraphemeCategory.Extend],
297
-
[4352, 4447, GraphemeCategory.L],
298
-
[4448, 4519, GraphemeCategory.V],
299
-
[4520, 4607, GraphemeCategory.T],
300
-
[4957, 4959, GraphemeCategory.Extend],
301
-
[5906, 5908, GraphemeCategory.Extend],
302
-
[5909, 5909, GraphemeCategory.SpacingMark],
303
-
[5938, 5939, GraphemeCategory.Extend],
304
-
[5940, 5940, GraphemeCategory.SpacingMark],
305
-
[5970, 5971, GraphemeCategory.Extend],
306
-
[6002, 6003, GraphemeCategory.Extend],
307
-
[6068, 6069, GraphemeCategory.Extend],
308
-
[6070, 6070, GraphemeCategory.SpacingMark],
309
-
[6071, 6077, GraphemeCategory.Extend],
310
-
[6078, 6085, GraphemeCategory.SpacingMark],
311
-
[6086, 6086, GraphemeCategory.Extend],
312
-
[6087, 6088, GraphemeCategory.SpacingMark],
313
-
[6089, 6099, GraphemeCategory.Extend],
314
-
[6109, 6109, GraphemeCategory.Extend],
315
-
[6155, 6157, GraphemeCategory.Extend],
316
-
[6158, 6158, GraphemeCategory.Control],
317
-
[6159, 6159, GraphemeCategory.Extend],
318
-
[6277, 6278, GraphemeCategory.Extend],
319
-
[6313, 6313, GraphemeCategory.Extend],
320
-
[6432, 6434, GraphemeCategory.Extend],
321
-
[6435, 6438, GraphemeCategory.SpacingMark],
322
-
[6439, 6440, GraphemeCategory.Extend],
323
-
[6441, 6443, GraphemeCategory.SpacingMark],
324
-
[6448, 6449, GraphemeCategory.SpacingMark],
325
-
[6450, 6450, GraphemeCategory.Extend],
326
-
[6451, 6456, GraphemeCategory.SpacingMark],
327
-
[6457, 6459, GraphemeCategory.Extend],
328
-
[6679, 6680, GraphemeCategory.Extend],
329
-
[6681, 6682, GraphemeCategory.SpacingMark],
330
-
[6683, 6683, GraphemeCategory.Extend],
331
-
[6741, 6741, GraphemeCategory.SpacingMark],
332
-
[6742, 6742, GraphemeCategory.Extend],
333
-
[6743, 6743, GraphemeCategory.SpacingMark],
334
-
[6744, 6750, GraphemeCategory.Extend],
335
-
[6752, 6752, GraphemeCategory.Extend],
336
-
[6754, 6754, GraphemeCategory.Extend],
337
-
[6757, 6764, GraphemeCategory.Extend],
338
-
[6765, 6770, GraphemeCategory.SpacingMark],
339
-
[6771, 6780, GraphemeCategory.Extend],
340
-
[6783, 6783, GraphemeCategory.Extend],
341
-
[6832, 6862, GraphemeCategory.Extend],
342
-
[6912, 6915, GraphemeCategory.Extend],
343
-
[6916, 6916, GraphemeCategory.SpacingMark],
344
-
[6964, 6970, GraphemeCategory.Extend],
345
-
[6971, 6971, GraphemeCategory.SpacingMark],
346
-
[6972, 6972, GraphemeCategory.Extend],
347
-
[6973, 6977, GraphemeCategory.SpacingMark],
348
-
[6978, 6978, GraphemeCategory.Extend],
349
-
[6979, 6980, GraphemeCategory.SpacingMark],
350
-
[7019, 7027, GraphemeCategory.Extend],
351
-
[7040, 7041, GraphemeCategory.Extend],
352
-
[7042, 7042, GraphemeCategory.SpacingMark],
353
-
[7073, 7073, GraphemeCategory.SpacingMark],
354
-
[7074, 7077, GraphemeCategory.Extend],
355
-
[7078, 7079, GraphemeCategory.SpacingMark],
356
-
[7080, 7081, GraphemeCategory.Extend],
357
-
[7082, 7082, GraphemeCategory.SpacingMark],
358
-
[7083, 7085, GraphemeCategory.Extend],
359
-
[7142, 7142, GraphemeCategory.Extend],
360
-
[7143, 7143, GraphemeCategory.SpacingMark],
361
-
[7144, 7145, GraphemeCategory.Extend],
362
-
[7146, 7148, GraphemeCategory.SpacingMark],
363
-
[7149, 7149, GraphemeCategory.Extend],
364
-
[7150, 7150, GraphemeCategory.SpacingMark],
365
-
[7151, 7153, GraphemeCategory.Extend],
366
-
[7154, 7155, GraphemeCategory.SpacingMark],
367
-
[7204, 7211, GraphemeCategory.SpacingMark],
368
-
[7212, 7219, GraphemeCategory.Extend],
369
-
[7220, 7221, GraphemeCategory.SpacingMark],
370
-
[7222, 7223, GraphemeCategory.Extend],
371
-
[7376, 7378, GraphemeCategory.Extend],
372
-
[7380, 7392, GraphemeCategory.Extend],
373
-
[7393, 7393, GraphemeCategory.SpacingMark],
374
-
[7394, 7400, GraphemeCategory.Extend],
375
-
[7405, 7405, GraphemeCategory.Extend],
376
-
[7412, 7412, GraphemeCategory.Extend],
377
-
[7415, 7415, GraphemeCategory.SpacingMark],
378
-
[7416, 7417, GraphemeCategory.Extend],
379
-
[7616, 7679, GraphemeCategory.Extend],
380
-
[8203, 8203, GraphemeCategory.Control],
381
-
[8204, 8204, GraphemeCategory.Extend],
382
-
[8205, 8205, GraphemeCategory.ZWJ],
383
-
[8206, 8207, GraphemeCategory.Control],
384
-
[8232, 8238, GraphemeCategory.Control],
385
-
[8252, 8252, GraphemeCategory.Extended_Pictographic],
386
-
[8265, 8265, GraphemeCategory.Extended_Pictographic],
387
-
[8288, 8303, GraphemeCategory.Control],
388
-
[8400, 8432, GraphemeCategory.Extend],
389
-
[8482, 8482, GraphemeCategory.Extended_Pictographic],
390
-
[8505, 8505, GraphemeCategory.Extended_Pictographic],
391
-
[8596, 8601, GraphemeCategory.Extended_Pictographic],
392
-
[8617, 8618, GraphemeCategory.Extended_Pictographic],
393
-
[8986, 8987, GraphemeCategory.Extended_Pictographic],
394
-
[9000, 9000, GraphemeCategory.Extended_Pictographic],
395
-
[9096, 9096, GraphemeCategory.Extended_Pictographic],
396
-
[9167, 9167, GraphemeCategory.Extended_Pictographic],
397
-
[9193, 9203, GraphemeCategory.Extended_Pictographic],
398
-
[9208, 9210, GraphemeCategory.Extended_Pictographic],
399
-
[9410, 9410, GraphemeCategory.Extended_Pictographic],
400
-
[9642, 9643, GraphemeCategory.Extended_Pictographic],
401
-
[9654, 9654, GraphemeCategory.Extended_Pictographic],
402
-
[9664, 9664, GraphemeCategory.Extended_Pictographic],
403
-
[9723, 9726, GraphemeCategory.Extended_Pictographic],
404
-
[9728, 9733, GraphemeCategory.Extended_Pictographic],
405
-
[9735, 9746, GraphemeCategory.Extended_Pictographic],
406
-
[9748, 9861, GraphemeCategory.Extended_Pictographic],
407
-
[9872, 9989, GraphemeCategory.Extended_Pictographic],
408
-
[9992, 10002, GraphemeCategory.Extended_Pictographic],
409
-
[10004, 10004, GraphemeCategory.Extended_Pictographic],
410
-
[10006, 10006, GraphemeCategory.Extended_Pictographic],
411
-
[10013, 10013, GraphemeCategory.Extended_Pictographic],
412
-
[10017, 10017, GraphemeCategory.Extended_Pictographic],
413
-
[10024, 10024, GraphemeCategory.Extended_Pictographic],
414
-
[10035, 10036, GraphemeCategory.Extended_Pictographic],
415
-
[10052, 10052, GraphemeCategory.Extended_Pictographic],
416
-
[10055, 10055, GraphemeCategory.Extended_Pictographic],
417
-
[10060, 10060, GraphemeCategory.Extended_Pictographic],
418
-
[10062, 10062, GraphemeCategory.Extended_Pictographic],
419
-
[10067, 10069, GraphemeCategory.Extended_Pictographic],
420
-
[10071, 10071, GraphemeCategory.Extended_Pictographic],
421
-
[10083, 10087, GraphemeCategory.Extended_Pictographic],
422
-
[10133, 10135, GraphemeCategory.Extended_Pictographic],
423
-
[10145, 10145, GraphemeCategory.Extended_Pictographic],
424
-
[10160, 10160, GraphemeCategory.Extended_Pictographic],
425
-
[10175, 10175, GraphemeCategory.Extended_Pictographic],
426
-
[10548, 10549, GraphemeCategory.Extended_Pictographic],
427
-
[11013, 11015, GraphemeCategory.Extended_Pictographic],
428
-
[11035, 11036, GraphemeCategory.Extended_Pictographic],
429
-
[11088, 11088, GraphemeCategory.Extended_Pictographic],
430
-
[11093, 11093, GraphemeCategory.Extended_Pictographic],
431
-
[11503, 11505, GraphemeCategory.Extend],
432
-
[11647, 11647, GraphemeCategory.Extend],
433
-
[11744, 11775, GraphemeCategory.Extend],
434
-
[12330, 12335, GraphemeCategory.Extend],
435
-
[12336, 12336, GraphemeCategory.Extended_Pictographic],
436
-
[12349, 12349, GraphemeCategory.Extended_Pictographic],
437
-
[12441, 12442, GraphemeCategory.Extend],
438
-
[12951, 12951, GraphemeCategory.Extended_Pictographic],
439
-
[12953, 12953, GraphemeCategory.Extended_Pictographic],
440
-
[42607, 42610, GraphemeCategory.Extend],
441
-
[42612, 42621, GraphemeCategory.Extend],
442
-
[42654, 42655, GraphemeCategory.Extend],
443
-
[42736, 42737, GraphemeCategory.Extend],
444
-
[43010, 43010, GraphemeCategory.Extend],
445
-
[43014, 43014, GraphemeCategory.Extend],
446
-
[43019, 43019, GraphemeCategory.Extend],
447
-
[43043, 43044, GraphemeCategory.SpacingMark],
448
-
[43045, 43046, GraphemeCategory.Extend],
449
-
[43047, 43047, GraphemeCategory.SpacingMark],
450
-
[43052, 43052, GraphemeCategory.Extend],
451
-
[43136, 43137, GraphemeCategory.SpacingMark],
452
-
[43188, 43203, GraphemeCategory.SpacingMark],
453
-
[43204, 43205, GraphemeCategory.Extend],
454
-
[43232, 43249, GraphemeCategory.Extend],
455
-
[43263, 43263, GraphemeCategory.Extend],
456
-
[43302, 43309, GraphemeCategory.Extend],
457
-
[43335, 43345, GraphemeCategory.Extend],
458
-
[43346, 43347, GraphemeCategory.SpacingMark],
459
-
[43360, 43388, GraphemeCategory.L],
460
-
[43392, 43394, GraphemeCategory.Extend],
461
-
[43395, 43395, GraphemeCategory.SpacingMark],
462
-
[43443, 43443, GraphemeCategory.Extend],
463
-
[43444, 43445, GraphemeCategory.SpacingMark],
464
-
[43446, 43449, GraphemeCategory.Extend],
465
-
[43450, 43451, GraphemeCategory.SpacingMark],
466
-
[43452, 43453, GraphemeCategory.Extend],
467
-
[43454, 43456, GraphemeCategory.SpacingMark],
468
-
[43493, 43493, GraphemeCategory.Extend],
469
-
[43561, 43566, GraphemeCategory.Extend],
470
-
[43567, 43568, GraphemeCategory.SpacingMark],
471
-
[43569, 43570, GraphemeCategory.Extend],
472
-
[43571, 43572, GraphemeCategory.SpacingMark],
473
-
[43573, 43574, GraphemeCategory.Extend],
474
-
[43587, 43587, GraphemeCategory.Extend],
475
-
[43596, 43596, GraphemeCategory.Extend],
476
-
[43597, 43597, GraphemeCategory.SpacingMark],
477
-
[43644, 43644, GraphemeCategory.Extend],
478
-
[43696, 43696, GraphemeCategory.Extend],
479
-
[43698, 43700, GraphemeCategory.Extend],
480
-
[43703, 43704, GraphemeCategory.Extend],
481
-
[43710, 43711, GraphemeCategory.Extend],
482
-
[43713, 43713, GraphemeCategory.Extend],
483
-
[43755, 43755, GraphemeCategory.SpacingMark],
484
-
[43756, 43757, GraphemeCategory.Extend],
485
-
[43758, 43759, GraphemeCategory.SpacingMark],
486
-
[43765, 43765, GraphemeCategory.SpacingMark],
487
-
[43766, 43766, GraphemeCategory.Extend],
488
-
[44003, 44004, GraphemeCategory.SpacingMark],
489
-
[44005, 44005, GraphemeCategory.Extend],
490
-
[44006, 44007, GraphemeCategory.SpacingMark],
491
-
[44008, 44008, GraphemeCategory.Extend],
492
-
[44009, 44010, GraphemeCategory.SpacingMark],
493
-
[44012, 44012, GraphemeCategory.SpacingMark],
494
-
[44013, 44013, GraphemeCategory.Extend],
495
-
[44032, 44032, GraphemeCategory.LV],
496
-
[44033, 44059, GraphemeCategory.LVT],
497
-
[44060, 44060, GraphemeCategory.LV],
498
-
[44061, 44087, GraphemeCategory.LVT],
499
-
[44088, 44088, GraphemeCategory.LV],
500
-
[44089, 44115, GraphemeCategory.LVT],
501
-
[44116, 44116, GraphemeCategory.LV],
502
-
[44117, 44143, GraphemeCategory.LVT],
503
-
[44144, 44144, GraphemeCategory.LV],
504
-
[44145, 44171, GraphemeCategory.LVT],
505
-
[44172, 44172, GraphemeCategory.LV],
506
-
[44173, 44199, GraphemeCategory.LVT],
507
-
[44200, 44200, GraphemeCategory.LV],
508
-
[44201, 44227, GraphemeCategory.LVT],
509
-
[44228, 44228, GraphemeCategory.LV],
510
-
[44229, 44255, GraphemeCategory.LVT],
511
-
[44256, 44256, GraphemeCategory.LV],
512
-
[44257, 44283, GraphemeCategory.LVT],
513
-
[44284, 44284, GraphemeCategory.LV],
514
-
[44285, 44311, GraphemeCategory.LVT],
515
-
[44312, 44312, GraphemeCategory.LV],
516
-
[44313, 44339, GraphemeCategory.LVT],
517
-
[44340, 44340, GraphemeCategory.LV],
518
-
[44341, 44367, GraphemeCategory.LVT],
519
-
[44368, 44368, GraphemeCategory.LV],
520
-
[44369, 44395, GraphemeCategory.LVT],
521
-
[44396, 44396, GraphemeCategory.LV],
522
-
[44397, 44423, GraphemeCategory.LVT],
523
-
[44424, 44424, GraphemeCategory.LV],
524
-
[44425, 44451, GraphemeCategory.LVT],
525
-
[44452, 44452, GraphemeCategory.LV],
526
-
[44453, 44479, GraphemeCategory.LVT],
527
-
[44480, 44480, GraphemeCategory.LV],
528
-
[44481, 44507, GraphemeCategory.LVT],
529
-
[44508, 44508, GraphemeCategory.LV],
530
-
[44509, 44535, GraphemeCategory.LVT],
531
-
[44536, 44536, GraphemeCategory.LV],
532
-
[44537, 44563, GraphemeCategory.LVT],
533
-
[44564, 44564, GraphemeCategory.LV],
534
-
[44565, 44591, GraphemeCategory.LVT],
535
-
[44592, 44592, GraphemeCategory.LV],
536
-
[44593, 44619, GraphemeCategory.LVT],
537
-
[44620, 44620, GraphemeCategory.LV],
538
-
[44621, 44647, GraphemeCategory.LVT],
539
-
[44648, 44648, GraphemeCategory.LV],
540
-
[44649, 44675, GraphemeCategory.LVT],
541
-
[44676, 44676, GraphemeCategory.LV],
542
-
[44677, 44703, GraphemeCategory.LVT],
543
-
[44704, 44704, GraphemeCategory.LV],
544
-
[44705, 44731, GraphemeCategory.LVT],
545
-
[44732, 44732, GraphemeCategory.LV],
546
-
[44733, 44759, GraphemeCategory.LVT],
547
-
[44760, 44760, GraphemeCategory.LV],
548
-
[44761, 44787, GraphemeCategory.LVT],
549
-
[44788, 44788, GraphemeCategory.LV],
550
-
[44789, 44815, GraphemeCategory.LVT],
551
-
[44816, 44816, GraphemeCategory.LV],
552
-
[44817, 44843, GraphemeCategory.LVT],
553
-
[44844, 44844, GraphemeCategory.LV],
554
-
[44845, 44871, GraphemeCategory.LVT],
555
-
[44872, 44872, GraphemeCategory.LV],
556
-
[44873, 44899, GraphemeCategory.LVT],
557
-
[44900, 44900, GraphemeCategory.LV],
558
-
[44901, 44927, GraphemeCategory.LVT],
559
-
[44928, 44928, GraphemeCategory.LV],
560
-
[44929, 44955, GraphemeCategory.LVT],
561
-
[44956, 44956, GraphemeCategory.LV],
562
-
[44957, 44983, GraphemeCategory.LVT],
563
-
[44984, 44984, GraphemeCategory.LV],
564
-
[44985, 45011, GraphemeCategory.LVT],
565
-
[45012, 45012, GraphemeCategory.LV],
566
-
[45013, 45039, GraphemeCategory.LVT],
567
-
[45040, 45040, GraphemeCategory.LV],
568
-
[45041, 45067, GraphemeCategory.LVT],
569
-
[45068, 45068, GraphemeCategory.LV],
570
-
[45069, 45095, GraphemeCategory.LVT],
571
-
[45096, 45096, GraphemeCategory.LV],
572
-
[45097, 45123, GraphemeCategory.LVT],
573
-
[45124, 45124, GraphemeCategory.LV],
574
-
[45125, 45151, GraphemeCategory.LVT],
575
-
[45152, 45152, GraphemeCategory.LV],
576
-
[45153, 45179, GraphemeCategory.LVT],
577
-
[45180, 45180, GraphemeCategory.LV],
578
-
[45181, 45207, GraphemeCategory.LVT],
579
-
[45208, 45208, GraphemeCategory.LV],
580
-
[45209, 45235, GraphemeCategory.LVT],
581
-
[45236, 45236, GraphemeCategory.LV],
582
-
[45237, 45263, GraphemeCategory.LVT],
583
-
[45264, 45264, GraphemeCategory.LV],
584
-
[45265, 45291, GraphemeCategory.LVT],
585
-
[45292, 45292, GraphemeCategory.LV],
586
-
[45293, 45319, GraphemeCategory.LVT],
587
-
[45320, 45320, GraphemeCategory.LV],
588
-
[45321, 45347, GraphemeCategory.LVT],
589
-
[45348, 45348, GraphemeCategory.LV],
590
-
[45349, 45375, GraphemeCategory.LVT],
591
-
[45376, 45376, GraphemeCategory.LV],
592
-
[45377, 45403, GraphemeCategory.LVT],
593
-
[45404, 45404, GraphemeCategory.LV],
594
-
[45405, 45431, GraphemeCategory.LVT],
595
-
[45432, 45432, GraphemeCategory.LV],
596
-
[45433, 45459, GraphemeCategory.LVT],
597
-
[45460, 45460, GraphemeCategory.LV],
598
-
[45461, 45487, GraphemeCategory.LVT],
599
-
[45488, 45488, GraphemeCategory.LV],
600
-
[45489, 45515, GraphemeCategory.LVT],
601
-
[45516, 45516, GraphemeCategory.LV],
602
-
[45517, 45543, GraphemeCategory.LVT],
603
-
[45544, 45544, GraphemeCategory.LV],
604
-
[45545, 45571, GraphemeCategory.LVT],
605
-
[45572, 45572, GraphemeCategory.LV],
606
-
[45573, 45599, GraphemeCategory.LVT],
607
-
[45600, 45600, GraphemeCategory.LV],
608
-
[45601, 45627, GraphemeCategory.LVT],
609
-
[45628, 45628, GraphemeCategory.LV],
610
-
[45629, 45655, GraphemeCategory.LVT],
611
-
[45656, 45656, GraphemeCategory.LV],
612
-
[45657, 45683, GraphemeCategory.LVT],
613
-
[45684, 45684, GraphemeCategory.LV],
614
-
[45685, 45711, GraphemeCategory.LVT],
615
-
[45712, 45712, GraphemeCategory.LV],
616
-
[45713, 45739, GraphemeCategory.LVT],
617
-
[45740, 45740, GraphemeCategory.LV],
618
-
[45741, 45767, GraphemeCategory.LVT],
619
-
[45768, 45768, GraphemeCategory.LV],
620
-
[45769, 45795, GraphemeCategory.LVT],
621
-
[45796, 45796, GraphemeCategory.LV],
622
-
[45797, 45823, GraphemeCategory.LVT],
623
-
[45824, 45824, GraphemeCategory.LV],
624
-
[45825, 45851, GraphemeCategory.LVT],
625
-
[45852, 45852, GraphemeCategory.LV],
626
-
[45853, 45879, GraphemeCategory.LVT],
627
-
[45880, 45880, GraphemeCategory.LV],
628
-
[45881, 45907, GraphemeCategory.LVT],
629
-
[45908, 45908, GraphemeCategory.LV],
630
-
[45909, 45935, GraphemeCategory.LVT],
631
-
[45936, 45936, GraphemeCategory.LV],
632
-
[45937, 45963, GraphemeCategory.LVT],
633
-
[45964, 45964, GraphemeCategory.LV],
634
-
[45965, 45991, GraphemeCategory.LVT],
635
-
[45992, 45992, GraphemeCategory.LV],
636
-
[45993, 46019, GraphemeCategory.LVT],
637
-
[46020, 46020, GraphemeCategory.LV],
638
-
[46021, 46047, GraphemeCategory.LVT],
639
-
[46048, 46048, GraphemeCategory.LV],
640
-
[46049, 46075, GraphemeCategory.LVT],
641
-
[46076, 46076, GraphemeCategory.LV],
642
-
[46077, 46103, GraphemeCategory.LVT],
643
-
[46104, 46104, GraphemeCategory.LV],
644
-
[46105, 46131, GraphemeCategory.LVT],
645
-
[46132, 46132, GraphemeCategory.LV],
646
-
[46133, 46159, GraphemeCategory.LVT],
647
-
[46160, 46160, GraphemeCategory.LV],
648
-
[46161, 46187, GraphemeCategory.LVT],
649
-
[46188, 46188, GraphemeCategory.LV],
650
-
[46189, 46215, GraphemeCategory.LVT],
651
-
[46216, 46216, GraphemeCategory.LV],
652
-
[46217, 46243, GraphemeCategory.LVT],
653
-
[46244, 46244, GraphemeCategory.LV],
654
-
[46245, 46271, GraphemeCategory.LVT],
655
-
[46272, 46272, GraphemeCategory.LV],
656
-
[46273, 46299, GraphemeCategory.LVT],
657
-
[46300, 46300, GraphemeCategory.LV],
658
-
[46301, 46327, GraphemeCategory.LVT],
659
-
[46328, 46328, GraphemeCategory.LV],
660
-
[46329, 46355, GraphemeCategory.LVT],
661
-
[46356, 46356, GraphemeCategory.LV],
662
-
[46357, 46383, GraphemeCategory.LVT],
663
-
[46384, 46384, GraphemeCategory.LV],
664
-
[46385, 46411, GraphemeCategory.LVT],
665
-
[46412, 46412, GraphemeCategory.LV],
666
-
[46413, 46439, GraphemeCategory.LVT],
667
-
[46440, 46440, GraphemeCategory.LV],
668
-
[46441, 46467, GraphemeCategory.LVT],
669
-
[46468, 46468, GraphemeCategory.LV],
670
-
[46469, 46495, GraphemeCategory.LVT],
671
-
[46496, 46496, GraphemeCategory.LV],
672
-
[46497, 46523, GraphemeCategory.LVT],
673
-
[46524, 46524, GraphemeCategory.LV],
674
-
[46525, 46551, GraphemeCategory.LVT],
675
-
[46552, 46552, GraphemeCategory.LV],
676
-
[46553, 46579, GraphemeCategory.LVT],
677
-
[46580, 46580, GraphemeCategory.LV],
678
-
[46581, 46607, GraphemeCategory.LVT],
679
-
[46608, 46608, GraphemeCategory.LV],
680
-
[46609, 46635, GraphemeCategory.LVT],
681
-
[46636, 46636, GraphemeCategory.LV],
682
-
[46637, 46663, GraphemeCategory.LVT],
683
-
[46664, 46664, GraphemeCategory.LV],
684
-
[46665, 46691, GraphemeCategory.LVT],
685
-
[46692, 46692, GraphemeCategory.LV],
686
-
[46693, 46719, GraphemeCategory.LVT],
687
-
[46720, 46720, GraphemeCategory.LV],
688
-
[46721, 46747, GraphemeCategory.LVT],
689
-
[46748, 46748, GraphemeCategory.LV],
690
-
[46749, 46775, GraphemeCategory.LVT],
691
-
[46776, 46776, GraphemeCategory.LV],
692
-
[46777, 46803, GraphemeCategory.LVT],
693
-
[46804, 46804, GraphemeCategory.LV],
694
-
[46805, 46831, GraphemeCategory.LVT],
695
-
[46832, 46832, GraphemeCategory.LV],
696
-
[46833, 46859, GraphemeCategory.LVT],
697
-
[46860, 46860, GraphemeCategory.LV],
698
-
[46861, 46887, GraphemeCategory.LVT],
699
-
[46888, 46888, GraphemeCategory.LV],
700
-
[46889, 46915, GraphemeCategory.LVT],
701
-
[46916, 46916, GraphemeCategory.LV],
702
-
[46917, 46943, GraphemeCategory.LVT],
703
-
[46944, 46944, GraphemeCategory.LV],
704
-
[46945, 46971, GraphemeCategory.LVT],
705
-
[46972, 46972, GraphemeCategory.LV],
706
-
[46973, 46999, GraphemeCategory.LVT],
707
-
[47000, 47000, GraphemeCategory.LV],
708
-
[47001, 47027, GraphemeCategory.LVT],
709
-
[47028, 47028, GraphemeCategory.LV],
710
-
[47029, 47055, GraphemeCategory.LVT],
711
-
[47056, 47056, GraphemeCategory.LV],
712
-
[47057, 47083, GraphemeCategory.LVT],
713
-
[47084, 47084, GraphemeCategory.LV],
714
-
[47085, 47111, GraphemeCategory.LVT],
715
-
[47112, 47112, GraphemeCategory.LV],
716
-
[47113, 47139, GraphemeCategory.LVT],
717
-
[47140, 47140, GraphemeCategory.LV],
718
-
[47141, 47167, GraphemeCategory.LVT],
719
-
[47168, 47168, GraphemeCategory.LV],
720
-
[47169, 47195, GraphemeCategory.LVT],
721
-
[47196, 47196, GraphemeCategory.LV],
722
-
[47197, 47223, GraphemeCategory.LVT],
723
-
[47224, 47224, GraphemeCategory.LV],
724
-
[47225, 47251, GraphemeCategory.LVT],
725
-
[47252, 47252, GraphemeCategory.LV],
726
-
[47253, 47279, GraphemeCategory.LVT],
727
-
[47280, 47280, GraphemeCategory.LV],
728
-
[47281, 47307, GraphemeCategory.LVT],
729
-
[47308, 47308, GraphemeCategory.LV],
730
-
[47309, 47335, GraphemeCategory.LVT],
731
-
[47336, 47336, GraphemeCategory.LV],
732
-
[47337, 47363, GraphemeCategory.LVT],
733
-
[47364, 47364, GraphemeCategory.LV],
734
-
[47365, 47391, GraphemeCategory.LVT],
735
-
[47392, 47392, GraphemeCategory.LV],
736
-
[47393, 47419, GraphemeCategory.LVT],
737
-
[47420, 47420, GraphemeCategory.LV],
738
-
[47421, 47447, GraphemeCategory.LVT],
739
-
[47448, 47448, GraphemeCategory.LV],
740
-
[47449, 47475, GraphemeCategory.LVT],
741
-
[47476, 47476, GraphemeCategory.LV],
742
-
[47477, 47503, GraphemeCategory.LVT],
743
-
[47504, 47504, GraphemeCategory.LV],
744
-
[47505, 47531, GraphemeCategory.LVT],
745
-
[47532, 47532, GraphemeCategory.LV],
746
-
[47533, 47559, GraphemeCategory.LVT],
747
-
[47560, 47560, GraphemeCategory.LV],
748
-
[47561, 47587, GraphemeCategory.LVT],
749
-
[47588, 47588, GraphemeCategory.LV],
750
-
[47589, 47615, GraphemeCategory.LVT],
751
-
[47616, 47616, GraphemeCategory.LV],
752
-
[47617, 47643, GraphemeCategory.LVT],
753
-
[47644, 47644, GraphemeCategory.LV],
754
-
[47645, 47671, GraphemeCategory.LVT],
755
-
[47672, 47672, GraphemeCategory.LV],
756
-
[47673, 47699, GraphemeCategory.LVT],
757
-
[47700, 47700, GraphemeCategory.LV],
758
-
[47701, 47727, GraphemeCategory.LVT],
759
-
[47728, 47728, GraphemeCategory.LV],
760
-
[47729, 47755, GraphemeCategory.LVT],
761
-
[47756, 47756, GraphemeCategory.LV],
762
-
[47757, 47783, GraphemeCategory.LVT],
763
-
[47784, 47784, GraphemeCategory.LV],
764
-
[47785, 47811, GraphemeCategory.LVT],
765
-
[47812, 47812, GraphemeCategory.LV],
766
-
[47813, 47839, GraphemeCategory.LVT],
767
-
[47840, 47840, GraphemeCategory.LV],
768
-
[47841, 47867, GraphemeCategory.LVT],
769
-
[47868, 47868, GraphemeCategory.LV],
770
-
[47869, 47895, GraphemeCategory.LVT],
771
-
[47896, 47896, GraphemeCategory.LV],
772
-
[47897, 47923, GraphemeCategory.LVT],
773
-
[47924, 47924, GraphemeCategory.LV],
774
-
[47925, 47951, GraphemeCategory.LVT],
775
-
[47952, 47952, GraphemeCategory.LV],
776
-
[47953, 47979, GraphemeCategory.LVT],
777
-
[47980, 47980, GraphemeCategory.LV],
778
-
[47981, 48007, GraphemeCategory.LVT],
779
-
[48008, 48008, GraphemeCategory.LV],
780
-
[48009, 48035, GraphemeCategory.LVT],
781
-
[48036, 48036, GraphemeCategory.LV],
782
-
[48037, 48063, GraphemeCategory.LVT],
783
-
[48064, 48064, GraphemeCategory.LV],
784
-
[48065, 48091, GraphemeCategory.LVT],
785
-
[48092, 48092, GraphemeCategory.LV],
786
-
[48093, 48119, GraphemeCategory.LVT],
787
-
[48120, 48120, GraphemeCategory.LV],
788
-
[48121, 48147, GraphemeCategory.LVT],
789
-
[48148, 48148, GraphemeCategory.LV],
790
-
[48149, 48175, GraphemeCategory.LVT],
791
-
[48176, 48176, GraphemeCategory.LV],
792
-
[48177, 48203, GraphemeCategory.LVT],
793
-
[48204, 48204, GraphemeCategory.LV],
794
-
[48205, 48231, GraphemeCategory.LVT],
795
-
[48232, 48232, GraphemeCategory.LV],
796
-
[48233, 48259, GraphemeCategory.LVT],
797
-
[48260, 48260, GraphemeCategory.LV],
798
-
[48261, 48287, GraphemeCategory.LVT],
799
-
[48288, 48288, GraphemeCategory.LV],
800
-
[48289, 48315, GraphemeCategory.LVT],
801
-
[48316, 48316, GraphemeCategory.LV],
802
-
[48317, 48343, GraphemeCategory.LVT],
803
-
[48344, 48344, GraphemeCategory.LV],
804
-
[48345, 48371, GraphemeCategory.LVT],
805
-
[48372, 48372, GraphemeCategory.LV],
806
-
[48373, 48399, GraphemeCategory.LVT],
807
-
[48400, 48400, GraphemeCategory.LV],
808
-
[48401, 48427, GraphemeCategory.LVT],
809
-
[48428, 48428, GraphemeCategory.LV],
810
-
[48429, 48455, GraphemeCategory.LVT],
811
-
[48456, 48456, GraphemeCategory.LV],
812
-
[48457, 48483, GraphemeCategory.LVT],
813
-
[48484, 48484, GraphemeCategory.LV],
814
-
[48485, 48511, GraphemeCategory.LVT],
815
-
[48512, 48512, GraphemeCategory.LV],
816
-
[48513, 48539, GraphemeCategory.LVT],
817
-
[48540, 48540, GraphemeCategory.LV],
818
-
[48541, 48567, GraphemeCategory.LVT],
819
-
[48568, 48568, GraphemeCategory.LV],
820
-
[48569, 48595, GraphemeCategory.LVT],
821
-
[48596, 48596, GraphemeCategory.LV],
822
-
[48597, 48623, GraphemeCategory.LVT],
823
-
[48624, 48624, GraphemeCategory.LV],
824
-
[48625, 48651, GraphemeCategory.LVT],
825
-
[48652, 48652, GraphemeCategory.LV],
826
-
[48653, 48679, GraphemeCategory.LVT],
827
-
[48680, 48680, GraphemeCategory.LV],
828
-
[48681, 48707, GraphemeCategory.LVT],
829
-
[48708, 48708, GraphemeCategory.LV],
830
-
[48709, 48735, GraphemeCategory.LVT],
831
-
[48736, 48736, GraphemeCategory.LV],
832
-
[48737, 48763, GraphemeCategory.LVT],
833
-
[48764, 48764, GraphemeCategory.LV],
834
-
[48765, 48791, GraphemeCategory.LVT],
835
-
[48792, 48792, GraphemeCategory.LV],
836
-
[48793, 48819, GraphemeCategory.LVT],
837
-
[48820, 48820, GraphemeCategory.LV],
838
-
[48821, 48847, GraphemeCategory.LVT],
839
-
[48848, 48848, GraphemeCategory.LV],
840
-
[48849, 48875, GraphemeCategory.LVT],
841
-
[48876, 48876, GraphemeCategory.LV],
842
-
[48877, 48903, GraphemeCategory.LVT],
843
-
[48904, 48904, GraphemeCategory.LV],
844
-
[48905, 48931, GraphemeCategory.LVT],
845
-
[48932, 48932, GraphemeCategory.LV],
846
-
[48933, 48959, GraphemeCategory.LVT],
847
-
[48960, 48960, GraphemeCategory.LV],
848
-
[48961, 48987, GraphemeCategory.LVT],
849
-
[48988, 48988, GraphemeCategory.LV],
850
-
[48989, 49015, GraphemeCategory.LVT],
851
-
[49016, 49016, GraphemeCategory.LV],
852
-
[49017, 49043, GraphemeCategory.LVT],
853
-
[49044, 49044, GraphemeCategory.LV],
854
-
[49045, 49071, GraphemeCategory.LVT],
855
-
[49072, 49072, GraphemeCategory.LV],
856
-
[49073, 49099, GraphemeCategory.LVT],
857
-
[49100, 49100, GraphemeCategory.LV],
858
-
[49101, 49127, GraphemeCategory.LVT],
859
-
[49128, 49128, GraphemeCategory.LV],
860
-
[49129, 49155, GraphemeCategory.LVT],
861
-
[49156, 49156, GraphemeCategory.LV],
862
-
[49157, 49183, GraphemeCategory.LVT],
863
-
[49184, 49184, GraphemeCategory.LV],
864
-
[49185, 49211, GraphemeCategory.LVT],
865
-
[49212, 49212, GraphemeCategory.LV],
866
-
[49213, 49239, GraphemeCategory.LVT],
867
-
[49240, 49240, GraphemeCategory.LV],
868
-
[49241, 49267, GraphemeCategory.LVT],
869
-
[49268, 49268, GraphemeCategory.LV],
870
-
[49269, 49295, GraphemeCategory.LVT],
871
-
[49296, 49296, GraphemeCategory.LV],
872
-
[49297, 49323, GraphemeCategory.LVT],
873
-
[49324, 49324, GraphemeCategory.LV],
874
-
[49325, 49351, GraphemeCategory.LVT],
875
-
[49352, 49352, GraphemeCategory.LV],
876
-
[49353, 49379, GraphemeCategory.LVT],
877
-
[49380, 49380, GraphemeCategory.LV],
878
-
[49381, 49407, GraphemeCategory.LVT],
879
-
[49408, 49408, GraphemeCategory.LV],
880
-
[49409, 49435, GraphemeCategory.LVT],
881
-
[49436, 49436, GraphemeCategory.LV],
882
-
[49437, 49463, GraphemeCategory.LVT],
883
-
[49464, 49464, GraphemeCategory.LV],
884
-
[49465, 49491, GraphemeCategory.LVT],
885
-
[49492, 49492, GraphemeCategory.LV],
886
-
[49493, 49519, GraphemeCategory.LVT],
887
-
[49520, 49520, GraphemeCategory.LV],
888
-
[49521, 49547, GraphemeCategory.LVT],
889
-
[49548, 49548, GraphemeCategory.LV],
890
-
[49549, 49575, GraphemeCategory.LVT],
891
-
[49576, 49576, GraphemeCategory.LV],
892
-
[49577, 49603, GraphemeCategory.LVT],
893
-
[49604, 49604, GraphemeCategory.LV],
894
-
[49605, 49631, GraphemeCategory.LVT],
895
-
[49632, 49632, GraphemeCategory.LV],
896
-
[49633, 49659, GraphemeCategory.LVT],
897
-
[49660, 49660, GraphemeCategory.LV],
898
-
[49661, 49687, GraphemeCategory.LVT],
899
-
[49688, 49688, GraphemeCategory.LV],
900
-
[49689, 49715, GraphemeCategory.LVT],
901
-
[49716, 49716, GraphemeCategory.LV],
902
-
[49717, 49743, GraphemeCategory.LVT],
903
-
[49744, 49744, GraphemeCategory.LV],
904
-
[49745, 49771, GraphemeCategory.LVT],
905
-
[49772, 49772, GraphemeCategory.LV],
906
-
[49773, 49799, GraphemeCategory.LVT],
907
-
[49800, 49800, GraphemeCategory.LV],
908
-
[49801, 49827, GraphemeCategory.LVT],
909
-
[49828, 49828, GraphemeCategory.LV],
910
-
[49829, 49855, GraphemeCategory.LVT],
911
-
[49856, 49856, GraphemeCategory.LV],
912
-
[49857, 49883, GraphemeCategory.LVT],
913
-
[49884, 49884, GraphemeCategory.LV],
914
-
[49885, 49911, GraphemeCategory.LVT],
915
-
[49912, 49912, GraphemeCategory.LV],
916
-
[49913, 49939, GraphemeCategory.LVT],
917
-
[49940, 49940, GraphemeCategory.LV],
918
-
[49941, 49967, GraphemeCategory.LVT],
919
-
[49968, 49968, GraphemeCategory.LV],
920
-
[49969, 49995, GraphemeCategory.LVT],
921
-
[49996, 49996, GraphemeCategory.LV],
922
-
[49997, 50023, GraphemeCategory.LVT],
923
-
[50024, 50024, GraphemeCategory.LV],
924
-
[50025, 50051, GraphemeCategory.LVT],
925
-
[50052, 50052, GraphemeCategory.LV],
926
-
[50053, 50079, GraphemeCategory.LVT],
927
-
[50080, 50080, GraphemeCategory.LV],
928
-
[50081, 50107, GraphemeCategory.LVT],
929
-
[50108, 50108, GraphemeCategory.LV],
930
-
[50109, 50135, GraphemeCategory.LVT],
931
-
[50136, 50136, GraphemeCategory.LV],
932
-
[50137, 50163, GraphemeCategory.LVT],
933
-
[50164, 50164, GraphemeCategory.LV],
934
-
[50165, 50191, GraphemeCategory.LVT],
935
-
[50192, 50192, GraphemeCategory.LV],
936
-
[50193, 50219, GraphemeCategory.LVT],
937
-
[50220, 50220, GraphemeCategory.LV],
938
-
[50221, 50247, GraphemeCategory.LVT],
939
-
[50248, 50248, GraphemeCategory.LV],
940
-
[50249, 50275, GraphemeCategory.LVT],
941
-
[50276, 50276, GraphemeCategory.LV],
942
-
[50277, 50303, GraphemeCategory.LVT],
943
-
[50304, 50304, GraphemeCategory.LV],
944
-
[50305, 50331, GraphemeCategory.LVT],
945
-
[50332, 50332, GraphemeCategory.LV],
946
-
[50333, 50359, GraphemeCategory.LVT],
947
-
[50360, 50360, GraphemeCategory.LV],
948
-
[50361, 50387, GraphemeCategory.LVT],
949
-
[50388, 50388, GraphemeCategory.LV],
950
-
[50389, 50415, GraphemeCategory.LVT],
951
-
[50416, 50416, GraphemeCategory.LV],
952
-
[50417, 50443, GraphemeCategory.LVT],
953
-
[50444, 50444, GraphemeCategory.LV],
954
-
[50445, 50471, GraphemeCategory.LVT],
955
-
[50472, 50472, GraphemeCategory.LV],
956
-
[50473, 50499, GraphemeCategory.LVT],
957
-
[50500, 50500, GraphemeCategory.LV],
958
-
[50501, 50527, GraphemeCategory.LVT],
959
-
[50528, 50528, GraphemeCategory.LV],
960
-
[50529, 50555, GraphemeCategory.LVT],
961
-
[50556, 50556, GraphemeCategory.LV],
962
-
[50557, 50583, GraphemeCategory.LVT],
963
-
[50584, 50584, GraphemeCategory.LV],
964
-
[50585, 50611, GraphemeCategory.LVT],
965
-
[50612, 50612, GraphemeCategory.LV],
966
-
[50613, 50639, GraphemeCategory.LVT],
967
-
[50640, 50640, GraphemeCategory.LV],
968
-
[50641, 50667, GraphemeCategory.LVT],
969
-
[50668, 50668, GraphemeCategory.LV],
970
-
[50669, 50695, GraphemeCategory.LVT],
971
-
[50696, 50696, GraphemeCategory.LV],
972
-
[50697, 50723, GraphemeCategory.LVT],
973
-
[50724, 50724, GraphemeCategory.LV],
974
-
[50725, 50751, GraphemeCategory.LVT],
975
-
[50752, 50752, GraphemeCategory.LV],
976
-
[50753, 50779, GraphemeCategory.LVT],
977
-
[50780, 50780, GraphemeCategory.LV],
978
-
[50781, 50807, GraphemeCategory.LVT],
979
-
[50808, 50808, GraphemeCategory.LV],
980
-
[50809, 50835, GraphemeCategory.LVT],
981
-
[50836, 50836, GraphemeCategory.LV],
982
-
[50837, 50863, GraphemeCategory.LVT],
983
-
[50864, 50864, GraphemeCategory.LV],
984
-
[50865, 50891, GraphemeCategory.LVT],
985
-
[50892, 50892, GraphemeCategory.LV],
986
-
[50893, 50919, GraphemeCategory.LVT],
987
-
[50920, 50920, GraphemeCategory.LV],
988
-
[50921, 50947, GraphemeCategory.LVT],
989
-
[50948, 50948, GraphemeCategory.LV],
990
-
[50949, 50975, GraphemeCategory.LVT],
991
-
[50976, 50976, GraphemeCategory.LV],
992
-
[50977, 51003, GraphemeCategory.LVT],
993
-
[51004, 51004, GraphemeCategory.LV],
994
-
[51005, 51031, GraphemeCategory.LVT],
995
-
[51032, 51032, GraphemeCategory.LV],
996
-
[51033, 51059, GraphemeCategory.LVT],
997
-
[51060, 51060, GraphemeCategory.LV],
998
-
[51061, 51087, GraphemeCategory.LVT],
999
-
[51088, 51088, GraphemeCategory.LV],
1000
-
[51089, 51115, GraphemeCategory.LVT],
1001
-
[51116, 51116, GraphemeCategory.LV],
1002
-
[51117, 51143, GraphemeCategory.LVT],
1003
-
[51144, 51144, GraphemeCategory.LV],
1004
-
[51145, 51171, GraphemeCategory.LVT],
1005
-
[51172, 51172, GraphemeCategory.LV],
1006
-
[51173, 51199, GraphemeCategory.LVT],
1007
-
[51200, 51200, GraphemeCategory.LV],
1008
-
[51201, 51227, GraphemeCategory.LVT],
1009
-
[51228, 51228, GraphemeCategory.LV],
1010
-
[51229, 51255, GraphemeCategory.LVT],
1011
-
[51256, 51256, GraphemeCategory.LV],
1012
-
[51257, 51283, GraphemeCategory.LVT],
1013
-
[51284, 51284, GraphemeCategory.LV],
1014
-
[51285, 51311, GraphemeCategory.LVT],
1015
-
[51312, 51312, GraphemeCategory.LV],
1016
-
[51313, 51339, GraphemeCategory.LVT],
1017
-
[51340, 51340, GraphemeCategory.LV],
1018
-
[51341, 51367, GraphemeCategory.LVT],
1019
-
[51368, 51368, GraphemeCategory.LV],
1020
-
[51369, 51395, GraphemeCategory.LVT],
1021
-
[51396, 51396, GraphemeCategory.LV],
1022
-
[51397, 51423, GraphemeCategory.LVT],
1023
-
[51424, 51424, GraphemeCategory.LV],
1024
-
[51425, 51451, GraphemeCategory.LVT],
1025
-
[51452, 51452, GraphemeCategory.LV],
1026
-
[51453, 51479, GraphemeCategory.LVT],
1027
-
[51480, 51480, GraphemeCategory.LV],
1028
-
[51481, 51507, GraphemeCategory.LVT],
1029
-
[51508, 51508, GraphemeCategory.LV],
1030
-
[51509, 51535, GraphemeCategory.LVT],
1031
-
[51536, 51536, GraphemeCategory.LV],
1032
-
[51537, 51563, GraphemeCategory.LVT],
1033
-
[51564, 51564, GraphemeCategory.LV],
1034
-
[51565, 51591, GraphemeCategory.LVT],
1035
-
[51592, 51592, GraphemeCategory.LV],
1036
-
[51593, 51619, GraphemeCategory.LVT],
1037
-
[51620, 51620, GraphemeCategory.LV],
1038
-
[51621, 51647, GraphemeCategory.LVT],
1039
-
[51648, 51648, GraphemeCategory.LV],
1040
-
[51649, 51675, GraphemeCategory.LVT],
1041
-
[51676, 51676, GraphemeCategory.LV],
1042
-
[51677, 51703, GraphemeCategory.LVT],
1043
-
[51704, 51704, GraphemeCategory.LV],
1044
-
[51705, 51731, GraphemeCategory.LVT],
1045
-
[51732, 51732, GraphemeCategory.LV],
1046
-
[51733, 51759, GraphemeCategory.LVT],
1047
-
[51760, 51760, GraphemeCategory.LV],
1048
-
[51761, 51787, GraphemeCategory.LVT],
1049
-
[51788, 51788, GraphemeCategory.LV],
1050
-
[51789, 51815, GraphemeCategory.LVT],
1051
-
[51816, 51816, GraphemeCategory.LV],
1052
-
[51817, 51843, GraphemeCategory.LVT],
1053
-
[51844, 51844, GraphemeCategory.LV],
1054
-
[51845, 51871, GraphemeCategory.LVT],
1055
-
[51872, 51872, GraphemeCategory.LV],
1056
-
[51873, 51899, GraphemeCategory.LVT],
1057
-
[51900, 51900, GraphemeCategory.LV],
1058
-
[51901, 51927, GraphemeCategory.LVT],
1059
-
[51928, 51928, GraphemeCategory.LV],
1060
-
[51929, 51955, GraphemeCategory.LVT],
1061
-
[51956, 51956, GraphemeCategory.LV],
1062
-
[51957, 51983, GraphemeCategory.LVT],
1063
-
[51984, 51984, GraphemeCategory.LV],
1064
-
[51985, 52011, GraphemeCategory.LVT],
1065
-
[52012, 52012, GraphemeCategory.LV],
1066
-
[52013, 52039, GraphemeCategory.LVT],
1067
-
[52040, 52040, GraphemeCategory.LV],
1068
-
[52041, 52067, GraphemeCategory.LVT],
1069
-
[52068, 52068, GraphemeCategory.LV],
1070
-
[52069, 52095, GraphemeCategory.LVT],
1071
-
[52096, 52096, GraphemeCategory.LV],
1072
-
[52097, 52123, GraphemeCategory.LVT],
1073
-
[52124, 52124, GraphemeCategory.LV],
1074
-
[52125, 52151, GraphemeCategory.LVT],
1075
-
[52152, 52152, GraphemeCategory.LV],
1076
-
[52153, 52179, GraphemeCategory.LVT],
1077
-
[52180, 52180, GraphemeCategory.LV],
1078
-
[52181, 52207, GraphemeCategory.LVT],
1079
-
[52208, 52208, GraphemeCategory.LV],
1080
-
[52209, 52235, GraphemeCategory.LVT],
1081
-
[52236, 52236, GraphemeCategory.LV],
1082
-
[52237, 52263, GraphemeCategory.LVT],
1083
-
[52264, 52264, GraphemeCategory.LV],
1084
-
[52265, 52291, GraphemeCategory.LVT],
1085
-
[52292, 52292, GraphemeCategory.LV],
1086
-
[52293, 52319, GraphemeCategory.LVT],
1087
-
[52320, 52320, GraphemeCategory.LV],
1088
-
[52321, 52347, GraphemeCategory.LVT],
1089
-
[52348, 52348, GraphemeCategory.LV],
1090
-
[52349, 52375, GraphemeCategory.LVT],
1091
-
[52376, 52376, GraphemeCategory.LV],
1092
-
[52377, 52403, GraphemeCategory.LVT],
1093
-
[52404, 52404, GraphemeCategory.LV],
1094
-
[52405, 52431, GraphemeCategory.LVT],
1095
-
[52432, 52432, GraphemeCategory.LV],
1096
-
[52433, 52459, GraphemeCategory.LVT],
1097
-
[52460, 52460, GraphemeCategory.LV],
1098
-
[52461, 52487, GraphemeCategory.LVT],
1099
-
[52488, 52488, GraphemeCategory.LV],
1100
-
[52489, 52515, GraphemeCategory.LVT],
1101
-
[52516, 52516, GraphemeCategory.LV],
1102
-
[52517, 52543, GraphemeCategory.LVT],
1103
-
[52544, 52544, GraphemeCategory.LV],
1104
-
[52545, 52571, GraphemeCategory.LVT],
1105
-
[52572, 52572, GraphemeCategory.LV],
1106
-
[52573, 52599, GraphemeCategory.LVT],
1107
-
[52600, 52600, GraphemeCategory.LV],
1108
-
[52601, 52627, GraphemeCategory.LVT],
1109
-
[52628, 52628, GraphemeCategory.LV],
1110
-
[52629, 52655, GraphemeCategory.LVT],
1111
-
[52656, 52656, GraphemeCategory.LV],
1112
-
[52657, 52683, GraphemeCategory.LVT],
1113
-
[52684, 52684, GraphemeCategory.LV],
1114
-
[52685, 52711, GraphemeCategory.LVT],
1115
-
[52712, 52712, GraphemeCategory.LV],
1116
-
[52713, 52739, GraphemeCategory.LVT],
1117
-
[52740, 52740, GraphemeCategory.LV],
1118
-
[52741, 52767, GraphemeCategory.LVT],
1119
-
[52768, 52768, GraphemeCategory.LV],
1120
-
[52769, 52795, GraphemeCategory.LVT],
1121
-
[52796, 52796, GraphemeCategory.LV],
1122
-
[52797, 52823, GraphemeCategory.LVT],
1123
-
[52824, 52824, GraphemeCategory.LV],
1124
-
[52825, 52851, GraphemeCategory.LVT],
1125
-
[52852, 52852, GraphemeCategory.LV],
1126
-
[52853, 52879, GraphemeCategory.LVT],
1127
-
[52880, 52880, GraphemeCategory.LV],
1128
-
[52881, 52907, GraphemeCategory.LVT],
1129
-
[52908, 52908, GraphemeCategory.LV],
1130
-
[52909, 52935, GraphemeCategory.LVT],
1131
-
[52936, 52936, GraphemeCategory.LV],
1132
-
[52937, 52963, GraphemeCategory.LVT],
1133
-
[52964, 52964, GraphemeCategory.LV],
1134
-
[52965, 52991, GraphemeCategory.LVT],
1135
-
[52992, 52992, GraphemeCategory.LV],
1136
-
[52993, 53019, GraphemeCategory.LVT],
1137
-
[53020, 53020, GraphemeCategory.LV],
1138
-
[53021, 53047, GraphemeCategory.LVT],
1139
-
[53048, 53048, GraphemeCategory.LV],
1140
-
[53049, 53075, GraphemeCategory.LVT],
1141
-
[53076, 53076, GraphemeCategory.LV],
1142
-
[53077, 53103, GraphemeCategory.LVT],
1143
-
[53104, 53104, GraphemeCategory.LV],
1144
-
[53105, 53131, GraphemeCategory.LVT],
1145
-
[53132, 53132, GraphemeCategory.LV],
1146
-
[53133, 53159, GraphemeCategory.LVT],
1147
-
[53160, 53160, GraphemeCategory.LV],
1148
-
[53161, 53187, GraphemeCategory.LVT],
1149
-
[53188, 53188, GraphemeCategory.LV],
1150
-
[53189, 53215, GraphemeCategory.LVT],
1151
-
[53216, 53216, GraphemeCategory.LV],
1152
-
[53217, 53243, GraphemeCategory.LVT],
1153
-
[53244, 53244, GraphemeCategory.LV],
1154
-
[53245, 53271, GraphemeCategory.LVT],
1155
-
[53272, 53272, GraphemeCategory.LV],
1156
-
[53273, 53299, GraphemeCategory.LVT],
1157
-
[53300, 53300, GraphemeCategory.LV],
1158
-
[53301, 53327, GraphemeCategory.LVT],
1159
-
[53328, 53328, GraphemeCategory.LV],
1160
-
[53329, 53355, GraphemeCategory.LVT],
1161
-
[53356, 53356, GraphemeCategory.LV],
1162
-
[53357, 53383, GraphemeCategory.LVT],
1163
-
[53384, 53384, GraphemeCategory.LV],
1164
-
[53385, 53411, GraphemeCategory.LVT],
1165
-
[53412, 53412, GraphemeCategory.LV],
1166
-
[53413, 53439, GraphemeCategory.LVT],
1167
-
[53440, 53440, GraphemeCategory.LV],
1168
-
[53441, 53467, GraphemeCategory.LVT],
1169
-
[53468, 53468, GraphemeCategory.LV],
1170
-
[53469, 53495, GraphemeCategory.LVT],
1171
-
[53496, 53496, GraphemeCategory.LV],
1172
-
[53497, 53523, GraphemeCategory.LVT],
1173
-
[53524, 53524, GraphemeCategory.LV],
1174
-
[53525, 53551, GraphemeCategory.LVT],
1175
-
[53552, 53552, GraphemeCategory.LV],
1176
-
[53553, 53579, GraphemeCategory.LVT],
1177
-
[53580, 53580, GraphemeCategory.LV],
1178
-
[53581, 53607, GraphemeCategory.LVT],
1179
-
[53608, 53608, GraphemeCategory.LV],
1180
-
[53609, 53635, GraphemeCategory.LVT],
1181
-
[53636, 53636, GraphemeCategory.LV],
1182
-
[53637, 53663, GraphemeCategory.LVT],
1183
-
[53664, 53664, GraphemeCategory.LV],
1184
-
[53665, 53691, GraphemeCategory.LVT],
1185
-
[53692, 53692, GraphemeCategory.LV],
1186
-
[53693, 53719, GraphemeCategory.LVT],
1187
-
[53720, 53720, GraphemeCategory.LV],
1188
-
[53721, 53747, GraphemeCategory.LVT],
1189
-
[53748, 53748, GraphemeCategory.LV],
1190
-
[53749, 53775, GraphemeCategory.LVT],
1191
-
[53776, 53776, GraphemeCategory.LV],
1192
-
[53777, 53803, GraphemeCategory.LVT],
1193
-
[53804, 53804, GraphemeCategory.LV],
1194
-
[53805, 53831, GraphemeCategory.LVT],
1195
-
[53832, 53832, GraphemeCategory.LV],
1196
-
[53833, 53859, GraphemeCategory.LVT],
1197
-
[53860, 53860, GraphemeCategory.LV],
1198
-
[53861, 53887, GraphemeCategory.LVT],
1199
-
[53888, 53888, GraphemeCategory.LV],
1200
-
[53889, 53915, GraphemeCategory.LVT],
1201
-
[53916, 53916, GraphemeCategory.LV],
1202
-
[53917, 53943, GraphemeCategory.LVT],
1203
-
[53944, 53944, GraphemeCategory.LV],
1204
-
[53945, 53971, GraphemeCategory.LVT],
1205
-
[53972, 53972, GraphemeCategory.LV],
1206
-
[53973, 53999, GraphemeCategory.LVT],
1207
-
[54000, 54000, GraphemeCategory.LV],
1208
-
[54001, 54027, GraphemeCategory.LVT],
1209
-
[54028, 54028, GraphemeCategory.LV],
1210
-
[54029, 54055, GraphemeCategory.LVT],
1211
-
[54056, 54056, GraphemeCategory.LV],
1212
-
[54057, 54083, GraphemeCategory.LVT],
1213
-
[54084, 54084, GraphemeCategory.LV],
1214
-
[54085, 54111, GraphemeCategory.LVT],
1215
-
[54112, 54112, GraphemeCategory.LV],
1216
-
[54113, 54139, GraphemeCategory.LVT],
1217
-
[54140, 54140, GraphemeCategory.LV],
1218
-
[54141, 54167, GraphemeCategory.LVT],
1219
-
[54168, 54168, GraphemeCategory.LV],
1220
-
[54169, 54195, GraphemeCategory.LVT],
1221
-
[54196, 54196, GraphemeCategory.LV],
1222
-
[54197, 54223, GraphemeCategory.LVT],
1223
-
[54224, 54224, GraphemeCategory.LV],
1224
-
[54225, 54251, GraphemeCategory.LVT],
1225
-
[54252, 54252, GraphemeCategory.LV],
1226
-
[54253, 54279, GraphemeCategory.LVT],
1227
-
[54280, 54280, GraphemeCategory.LV],
1228
-
[54281, 54307, GraphemeCategory.LVT],
1229
-
[54308, 54308, GraphemeCategory.LV],
1230
-
[54309, 54335, GraphemeCategory.LVT],
1231
-
[54336, 54336, GraphemeCategory.LV],
1232
-
[54337, 54363, GraphemeCategory.LVT],
1233
-
[54364, 54364, GraphemeCategory.LV],
1234
-
[54365, 54391, GraphemeCategory.LVT],
1235
-
[54392, 54392, GraphemeCategory.LV],
1236
-
[54393, 54419, GraphemeCategory.LVT],
1237
-
[54420, 54420, GraphemeCategory.LV],
1238
-
[54421, 54447, GraphemeCategory.LVT],
1239
-
[54448, 54448, GraphemeCategory.LV],
1240
-
[54449, 54475, GraphemeCategory.LVT],
1241
-
[54476, 54476, GraphemeCategory.LV],
1242
-
[54477, 54503, GraphemeCategory.LVT],
1243
-
[54504, 54504, GraphemeCategory.LV],
1244
-
[54505, 54531, GraphemeCategory.LVT],
1245
-
[54532, 54532, GraphemeCategory.LV],
1246
-
[54533, 54559, GraphemeCategory.LVT],
1247
-
[54560, 54560, GraphemeCategory.LV],
1248
-
[54561, 54587, GraphemeCategory.LVT],
1249
-
[54588, 54588, GraphemeCategory.LV],
1250
-
[54589, 54615, GraphemeCategory.LVT],
1251
-
[54616, 54616, GraphemeCategory.LV],
1252
-
[54617, 54643, GraphemeCategory.LVT],
1253
-
[54644, 54644, GraphemeCategory.LV],
1254
-
[54645, 54671, GraphemeCategory.LVT],
1255
-
[54672, 54672, GraphemeCategory.LV],
1256
-
[54673, 54699, GraphemeCategory.LVT],
1257
-
[54700, 54700, GraphemeCategory.LV],
1258
-
[54701, 54727, GraphemeCategory.LVT],
1259
-
[54728, 54728, GraphemeCategory.LV],
1260
-
[54729, 54755, GraphemeCategory.LVT],
1261
-
[54756, 54756, GraphemeCategory.LV],
1262
-
[54757, 54783, GraphemeCategory.LVT],
1263
-
[54784, 54784, GraphemeCategory.LV],
1264
-
[54785, 54811, GraphemeCategory.LVT],
1265
-
[54812, 54812, GraphemeCategory.LV],
1266
-
[54813, 54839, GraphemeCategory.LVT],
1267
-
[54840, 54840, GraphemeCategory.LV],
1268
-
[54841, 54867, GraphemeCategory.LVT],
1269
-
[54868, 54868, GraphemeCategory.LV],
1270
-
[54869, 54895, GraphemeCategory.LVT],
1271
-
[54896, 54896, GraphemeCategory.LV],
1272
-
[54897, 54923, GraphemeCategory.LVT],
1273
-
[54924, 54924, GraphemeCategory.LV],
1274
-
[54925, 54951, GraphemeCategory.LVT],
1275
-
[54952, 54952, GraphemeCategory.LV],
1276
-
[54953, 54979, GraphemeCategory.LVT],
1277
-
[54980, 54980, GraphemeCategory.LV],
1278
-
[54981, 55007, GraphemeCategory.LVT],
1279
-
[55008, 55008, GraphemeCategory.LV],
1280
-
[55009, 55035, GraphemeCategory.LVT],
1281
-
[55036, 55036, GraphemeCategory.LV],
1282
-
[55037, 55063, GraphemeCategory.LVT],
1283
-
[55064, 55064, GraphemeCategory.LV],
1284
-
[55065, 55091, GraphemeCategory.LVT],
1285
-
[55092, 55092, GraphemeCategory.LV],
1286
-
[55093, 55119, GraphemeCategory.LVT],
1287
-
[55120, 55120, GraphemeCategory.LV],
1288
-
[55121, 55147, GraphemeCategory.LVT],
1289
-
[55148, 55148, GraphemeCategory.LV],
1290
-
[55149, 55175, GraphemeCategory.LVT],
1291
-
[55176, 55176, GraphemeCategory.LV],
1292
-
[55177, 55203, GraphemeCategory.LVT],
1293
-
[55216, 55238, GraphemeCategory.V],
1294
-
[55243, 55291, GraphemeCategory.T],
1295
-
[64286, 64286, GraphemeCategory.Extend],
1296
-
[65024, 65039, GraphemeCategory.Extend],
1297
-
[65056, 65071, GraphemeCategory.Extend],
1298
-
[65279, 65279, GraphemeCategory.Control],
1299
-
[65438, 65439, GraphemeCategory.Extend],
1300
-
[65520, 65531, GraphemeCategory.Control],
1301
-
[66045, 66045, GraphemeCategory.Extend],
1302
-
[66272, 66272, GraphemeCategory.Extend],
1303
-
[66422, 66426, GraphemeCategory.Extend],
1304
-
[68097, 68099, GraphemeCategory.Extend],
1305
-
[68101, 68102, GraphemeCategory.Extend],
1306
-
[68108, 68111, GraphemeCategory.Extend],
1307
-
[68152, 68154, GraphemeCategory.Extend],
1308
-
[68159, 68159, GraphemeCategory.Extend],
1309
-
[68325, 68326, GraphemeCategory.Extend],
1310
-
[68900, 68903, GraphemeCategory.Extend],
1311
-
[69291, 69292, GraphemeCategory.Extend],
1312
-
[69373, 69375, GraphemeCategory.Extend],
1313
-
[69446, 69456, GraphemeCategory.Extend],
1314
-
[69506, 69509, GraphemeCategory.Extend],
1315
-
[69632, 69632, GraphemeCategory.SpacingMark],
1316
-
[69633, 69633, GraphemeCategory.Extend],
1317
-
[69634, 69634, GraphemeCategory.SpacingMark],
1318
-
[69688, 69702, GraphemeCategory.Extend],
1319
-
[69744, 69744, GraphemeCategory.Extend],
1320
-
[69747, 69748, GraphemeCategory.Extend],
1321
-
[69759, 69761, GraphemeCategory.Extend],
1322
-
[69762, 69762, GraphemeCategory.SpacingMark],
1323
-
[69808, 69810, GraphemeCategory.SpacingMark],
1324
-
[69811, 69814, GraphemeCategory.Extend],
1325
-
[69815, 69816, GraphemeCategory.SpacingMark],
1326
-
[69817, 69818, GraphemeCategory.Extend],
1327
-
[69821, 69821, GraphemeCategory.Prepend],
1328
-
[69826, 69826, GraphemeCategory.Extend],
1329
-
[69837, 69837, GraphemeCategory.Prepend],
1330
-
[69888, 69890, GraphemeCategory.Extend],
1331
-
[69927, 69931, GraphemeCategory.Extend],
1332
-
[69932, 69932, GraphemeCategory.SpacingMark],
1333
-
[69933, 69940, GraphemeCategory.Extend],
1334
-
[69957, 69958, GraphemeCategory.SpacingMark],
1335
-
[70003, 70003, GraphemeCategory.Extend],
1336
-
[70016, 70017, GraphemeCategory.Extend],
1337
-
[70018, 70018, GraphemeCategory.SpacingMark],
1338
-
[70067, 70069, GraphemeCategory.SpacingMark],
1339
-
[70070, 70078, GraphemeCategory.Extend],
1340
-
[70079, 70080, GraphemeCategory.SpacingMark],
1341
-
[70082, 70083, GraphemeCategory.Prepend],
1342
-
[70089, 70092, GraphemeCategory.Extend],
1343
-
[70094, 70094, GraphemeCategory.SpacingMark],
1344
-
[70095, 70095, GraphemeCategory.Extend],
1345
-
[70188, 70190, GraphemeCategory.SpacingMark],
1346
-
[70191, 70193, GraphemeCategory.Extend],
1347
-
[70194, 70195, GraphemeCategory.SpacingMark],
1348
-
[70196, 70196, GraphemeCategory.Extend],
1349
-
[70197, 70197, GraphemeCategory.SpacingMark],
1350
-
[70198, 70199, GraphemeCategory.Extend],
1351
-
[70206, 70206, GraphemeCategory.Extend],
1352
-
[70209, 70209, GraphemeCategory.Extend],
1353
-
[70367, 70367, GraphemeCategory.Extend],
1354
-
[70368, 70370, GraphemeCategory.SpacingMark],
1355
-
[70371, 70378, GraphemeCategory.Extend],
1356
-
[70400, 70401, GraphemeCategory.Extend],
1357
-
[70402, 70403, GraphemeCategory.SpacingMark],
1358
-
[70459, 70460, GraphemeCategory.Extend],
1359
-
[70462, 70462, GraphemeCategory.Extend],
1360
-
[70463, 70463, GraphemeCategory.SpacingMark],
1361
-
[70464, 70464, GraphemeCategory.Extend],
1362
-
[70465, 70468, GraphemeCategory.SpacingMark],
1363
-
[70471, 70472, GraphemeCategory.SpacingMark],
1364
-
[70475, 70477, GraphemeCategory.SpacingMark],
1365
-
[70487, 70487, GraphemeCategory.Extend],
1366
-
[70498, 70499, GraphemeCategory.SpacingMark],
1367
-
[70502, 70508, GraphemeCategory.Extend],
1368
-
[70512, 70516, GraphemeCategory.Extend],
1369
-
[70709, 70711, GraphemeCategory.SpacingMark],
1370
-
[70712, 70719, GraphemeCategory.Extend],
1371
-
[70720, 70721, GraphemeCategory.SpacingMark],
1372
-
[70722, 70724, GraphemeCategory.Extend],
1373
-
[70725, 70725, GraphemeCategory.SpacingMark],
1374
-
[70726, 70726, GraphemeCategory.Extend],
1375
-
[70750, 70750, GraphemeCategory.Extend],
1376
-
[70832, 70832, GraphemeCategory.Extend],
1377
-
[70833, 70834, GraphemeCategory.SpacingMark],
1378
-
[70835, 70840, GraphemeCategory.Extend],
1379
-
[70841, 70841, GraphemeCategory.SpacingMark],
1380
-
[70842, 70842, GraphemeCategory.Extend],
1381
-
[70843, 70844, GraphemeCategory.SpacingMark],
1382
-
[70845, 70845, GraphemeCategory.Extend],
1383
-
[70846, 70846, GraphemeCategory.SpacingMark],
1384
-
[70847, 70848, GraphemeCategory.Extend],
1385
-
[70849, 70849, GraphemeCategory.SpacingMark],
1386
-
[70850, 70851, GraphemeCategory.Extend],
1387
-
[71087, 71087, GraphemeCategory.Extend],
1388
-
[71088, 71089, GraphemeCategory.SpacingMark],
1389
-
[71090, 71093, GraphemeCategory.Extend],
1390
-
[71096, 71099, GraphemeCategory.SpacingMark],
1391
-
[71100, 71101, GraphemeCategory.Extend],
1392
-
[71102, 71102, GraphemeCategory.SpacingMark],
1393
-
[71103, 71104, GraphemeCategory.Extend],
1394
-
[71132, 71133, GraphemeCategory.Extend],
1395
-
[71216, 71218, GraphemeCategory.SpacingMark],
1396
-
[71219, 71226, GraphemeCategory.Extend],
1397
-
[71227, 71228, GraphemeCategory.SpacingMark],
1398
-
[71229, 71229, GraphemeCategory.Extend],
1399
-
[71230, 71230, GraphemeCategory.SpacingMark],
1400
-
[71231, 71232, GraphemeCategory.Extend],
1401
-
[71339, 71339, GraphemeCategory.Extend],
1402
-
[71340, 71340, GraphemeCategory.SpacingMark],
1403
-
[71341, 71341, GraphemeCategory.Extend],
1404
-
[71342, 71343, GraphemeCategory.SpacingMark],
1405
-
[71344, 71349, GraphemeCategory.Extend],
1406
-
[71350, 71350, GraphemeCategory.SpacingMark],
1407
-
[71351, 71351, GraphemeCategory.Extend],
1408
-
[71453, 71455, GraphemeCategory.Extend],
1409
-
[71458, 71461, GraphemeCategory.Extend],
1410
-
[71462, 71462, GraphemeCategory.SpacingMark],
1411
-
[71463, 71467, GraphemeCategory.Extend],
1412
-
[71724, 71726, GraphemeCategory.SpacingMark],
1413
-
[71727, 71735, GraphemeCategory.Extend],
1414
-
[71736, 71736, GraphemeCategory.SpacingMark],
1415
-
[71737, 71738, GraphemeCategory.Extend],
1416
-
[71984, 71984, GraphemeCategory.Extend],
1417
-
[71985, 71989, GraphemeCategory.SpacingMark],
1418
-
[71991, 71992, GraphemeCategory.SpacingMark],
1419
-
[71995, 71996, GraphemeCategory.Extend],
1420
-
[71997, 71997, GraphemeCategory.SpacingMark],
1421
-
[71998, 71998, GraphemeCategory.Extend],
1422
-
[71999, 71999, GraphemeCategory.Prepend],
1423
-
[72000, 72000, GraphemeCategory.SpacingMark],
1424
-
[72001, 72001, GraphemeCategory.Prepend],
1425
-
[72002, 72002, GraphemeCategory.SpacingMark],
1426
-
[72003, 72003, GraphemeCategory.Extend],
1427
-
[72145, 72147, GraphemeCategory.SpacingMark],
1428
-
[72148, 72151, GraphemeCategory.Extend],
1429
-
[72154, 72155, GraphemeCategory.Extend],
1430
-
[72156, 72159, GraphemeCategory.SpacingMark],
1431
-
[72160, 72160, GraphemeCategory.Extend],
1432
-
[72164, 72164, GraphemeCategory.SpacingMark],
1433
-
[72193, 72202, GraphemeCategory.Extend],
1434
-
[72243, 72248, GraphemeCategory.Extend],
1435
-
[72249, 72249, GraphemeCategory.SpacingMark],
1436
-
[72250, 72250, GraphemeCategory.Prepend],
1437
-
[72251, 72254, GraphemeCategory.Extend],
1438
-
[72263, 72263, GraphemeCategory.Extend],
1439
-
[72273, 72278, GraphemeCategory.Extend],
1440
-
[72279, 72280, GraphemeCategory.SpacingMark],
1441
-
[72281, 72283, GraphemeCategory.Extend],
1442
-
[72324, 72329, GraphemeCategory.Prepend],
1443
-
[72330, 72342, GraphemeCategory.Extend],
1444
-
[72343, 72343, GraphemeCategory.SpacingMark],
1445
-
[72344, 72345, GraphemeCategory.Extend],
1446
-
[72751, 72751, GraphemeCategory.SpacingMark],
1447
-
[72752, 72758, GraphemeCategory.Extend],
1448
-
[72760, 72765, GraphemeCategory.Extend],
1449
-
[72766, 72766, GraphemeCategory.SpacingMark],
1450
-
[72767, 72767, GraphemeCategory.Extend],
1451
-
[72850, 72871, GraphemeCategory.Extend],
1452
-
[72873, 72873, GraphemeCategory.SpacingMark],
1453
-
[72874, 72880, GraphemeCategory.Extend],
1454
-
[72881, 72881, GraphemeCategory.SpacingMark],
1455
-
[72882, 72883, GraphemeCategory.Extend],
1456
-
[72884, 72884, GraphemeCategory.SpacingMark],
1457
-
[72885, 72886, GraphemeCategory.Extend],
1458
-
[73009, 73014, GraphemeCategory.Extend],
1459
-
[73018, 73018, GraphemeCategory.Extend],
1460
-
[73020, 73021, GraphemeCategory.Extend],
1461
-
[73023, 73029, GraphemeCategory.Extend],
1462
-
[73030, 73030, GraphemeCategory.Prepend],
1463
-
[73031, 73031, GraphemeCategory.Extend],
1464
-
[73098, 73102, GraphemeCategory.SpacingMark],
1465
-
[73104, 73105, GraphemeCategory.Extend],
1466
-
[73107, 73108, GraphemeCategory.SpacingMark],
1467
-
[73109, 73109, GraphemeCategory.Extend],
1468
-
[73110, 73110, GraphemeCategory.SpacingMark],
1469
-
[73111, 73111, GraphemeCategory.Extend],
1470
-
[73459, 73460, GraphemeCategory.Extend],
1471
-
[73461, 73462, GraphemeCategory.SpacingMark],
1472
-
[73472, 73473, GraphemeCategory.Extend],
1473
-
[73474, 73474, GraphemeCategory.Prepend],
1474
-
[73475, 73475, GraphemeCategory.SpacingMark],
1475
-
[73524, 73525, GraphemeCategory.SpacingMark],
1476
-
[73526, 73530, GraphemeCategory.Extend],
1477
-
[73534, 73535, GraphemeCategory.SpacingMark],
1478
-
[73536, 73536, GraphemeCategory.Extend],
1479
-
[73537, 73537, GraphemeCategory.SpacingMark],
1480
-
[73538, 73538, GraphemeCategory.Extend],
1481
-
[78896, 78911, GraphemeCategory.Control],
1482
-
[78912, 78912, GraphemeCategory.Extend],
1483
-
[78919, 78933, GraphemeCategory.Extend],
1484
-
[92912, 92916, GraphemeCategory.Extend],
1485
-
[92976, 92982, GraphemeCategory.Extend],
1486
-
[94031, 94031, GraphemeCategory.Extend],
1487
-
[94033, 94087, GraphemeCategory.SpacingMark],
1488
-
[94095, 94098, GraphemeCategory.Extend],
1489
-
[94180, 94180, GraphemeCategory.Extend],
1490
-
[94192, 94193, GraphemeCategory.SpacingMark],
1491
-
[113821, 113822, GraphemeCategory.Extend],
1492
-
[113824, 113827, GraphemeCategory.Control],
1493
-
[118528, 118573, GraphemeCategory.Extend],
1494
-
[118576, 118598, GraphemeCategory.Extend],
1495
-
[119141, 119141, GraphemeCategory.Extend],
1496
-
[119142, 119142, GraphemeCategory.SpacingMark],
1497
-
[119143, 119145, GraphemeCategory.Extend],
1498
-
[119149, 119149, GraphemeCategory.SpacingMark],
1499
-
[119150, 119154, GraphemeCategory.Extend],
1500
-
[119155, 119162, GraphemeCategory.Control],
1501
-
[119163, 119170, GraphemeCategory.Extend],
1502
-
[119173, 119179, GraphemeCategory.Extend],
1503
-
[119210, 119213, GraphemeCategory.Extend],
1504
-
[119362, 119364, GraphemeCategory.Extend],
1505
-
[121344, 121398, GraphemeCategory.Extend],
1506
-
[121403, 121452, GraphemeCategory.Extend],
1507
-
[121461, 121461, GraphemeCategory.Extend],
1508
-
[121476, 121476, GraphemeCategory.Extend],
1509
-
[121499, 121503, GraphemeCategory.Extend],
1510
-
[121505, 121519, GraphemeCategory.Extend],
1511
-
[122880, 122886, GraphemeCategory.Extend],
1512
-
[122888, 122904, GraphemeCategory.Extend],
1513
-
[122907, 122913, GraphemeCategory.Extend],
1514
-
[122915, 122916, GraphemeCategory.Extend],
1515
-
[122918, 122922, GraphemeCategory.Extend],
1516
-
[123023, 123023, GraphemeCategory.Extend],
1517
-
[123184, 123190, GraphemeCategory.Extend],
1518
-
[123566, 123566, GraphemeCategory.Extend],
1519
-
[123628, 123631, GraphemeCategory.Extend],
1520
-
[124140, 124143, GraphemeCategory.Extend],
1521
-
[125136, 125142, GraphemeCategory.Extend],
1522
-
[125252, 125258, GraphemeCategory.Extend],
1523
-
[126976, 127231, GraphemeCategory.Extended_Pictographic],
1524
-
[127245, 127247, GraphemeCategory.Extended_Pictographic],
1525
-
[127279, 127279, GraphemeCategory.Extended_Pictographic],
1526
-
[127340, 127345, GraphemeCategory.Extended_Pictographic],
1527
-
[127358, 127359, GraphemeCategory.Extended_Pictographic],
1528
-
[127374, 127374, GraphemeCategory.Extended_Pictographic],
1529
-
[127377, 127386, GraphemeCategory.Extended_Pictographic],
1530
-
[127405, 127461, GraphemeCategory.Extended_Pictographic],
1531
-
[127462, 127487, GraphemeCategory.Regional_Indicator],
1532
-
[127489, 127503, GraphemeCategory.Extended_Pictographic],
1533
-
[127514, 127514, GraphemeCategory.Extended_Pictographic],
1534
-
[127535, 127535, GraphemeCategory.Extended_Pictographic],
1535
-
[127538, 127546, GraphemeCategory.Extended_Pictographic],
1536
-
[127548, 127551, GraphemeCategory.Extended_Pictographic],
1537
-
[127561, 127994, GraphemeCategory.Extended_Pictographic],
1538
-
[127995, 127999, GraphemeCategory.Extend],
1539
-
[128000, 128317, GraphemeCategory.Extended_Pictographic],
1540
-
[128326, 128591, GraphemeCategory.Extended_Pictographic],
1541
-
[128640, 128767, GraphemeCategory.Extended_Pictographic],
1542
-
[128884, 128895, GraphemeCategory.Extended_Pictographic],
1543
-
[128981, 129023, GraphemeCategory.Extended_Pictographic],
1544
-
[129036, 129039, GraphemeCategory.Extended_Pictographic],
1545
-
[129096, 129103, GraphemeCategory.Extended_Pictographic],
1546
-
[129114, 129119, GraphemeCategory.Extended_Pictographic],
1547
-
[129160, 129167, GraphemeCategory.Extended_Pictographic],
1548
-
[129198, 129279, GraphemeCategory.Extended_Pictographic],
1549
-
[129292, 129338, GraphemeCategory.Extended_Pictographic],
1550
-
[129340, 129349, GraphemeCategory.Extended_Pictographic],
1551
-
[129351, 129791, GraphemeCategory.Extended_Pictographic],
1552
-
[130048, 131069, GraphemeCategory.Extended_Pictographic],
1553
-
[917504, 917535, GraphemeCategory.Control],
1554
-
[917536, 917631, GraphemeCategory.Extend],
1555
-
[917632, 917759, GraphemeCategory.Control],
1556
-
[917760, 917999, GraphemeCategory.Extend],
1557
-
[918000, 921599, GraphemeCategory.Control],
1558
-
];
1559
-
1560
-
const bsearchRange = (
1561
-
x: number,
1562
-
table: [l: number, h: number, v?: unknown][],
1563
-
from = 0,
1564
-
to = table.length,
1565
-
) => {
1566
-
let low = from;
1567
-
let high = to - 1;
1568
-
1569
-
while (low <= high) {
1570
-
let mid = (low + high) >> 1;
1571
-
let cur = table[mid];
1572
-
1573
-
let l = cur[0];
1574
-
let h = cur[1];
1575
-
1576
-
if (l <= x && x <= h) {
1577
-
return mid;
1578
-
} else if (h < x) {
1579
-
low = mid + 1;
1580
-
} else {
1581
-
high = mid - 1;
1582
-
}
1583
-
}
1584
-
1585
-
return -low - 1;
1586
-
};
1587
-
1588
-
const bsearchUnicodeRange = (
1589
-
cp: number,
1590
-
table: GraphemeCategoryRange[],
1591
-
defaultLower: number,
1592
-
defaultUpper: number,
1593
-
from = 0,
1594
-
to = table.length,
1595
-
) => {
1596
-
let found = bsearchRange(cp, table, from, to);
1597
-
if (found >= 0) {
1598
-
return table[found];
1599
-
}
1600
-
1601
-
// Not found
1602
-
let low = -found - 1;
1603
-
let lower = low > 0 ? table[low - 1][1] + 1 : defaultLower;
1604
-
let upper = table[low] ? table[low][0] - 1 : defaultUpper;
1605
-
// @ts-ignore
1606
-
return [lower, upper, 0 /* Any */];
1607
-
};
1608
-
1609
-
const isSMP = (cp: number): boolean => {
1610
-
// SMP (Supplementary Multilingual Plane)
1611
-
return 0xffff < cp;
1612
-
};
1613
-
1614
-
const isIndicConjunctCosonant = (cp: number): boolean => {
1615
-
return bsearchRange(cp, CONSONANT_TABLE) >= 0;
1616
-
};
1617
-
1618
-
const isIndicConjunctLinker = (cp: number): boolean => {
1619
-
return cp === 0x094d || cp === 0x09cd || cp === 0x0acd || cp === 0x0b4d || cp === 0x0c4d || cp === 0x0d4d;
1620
-
};
1621
-
1622
-
const searchGraphemeCategory = (cp: number) => {
1623
-
// Perform a quick O(1) lookup in a precomputed table to determine
1624
-
// the slice of the range table to search in.
1625
-
let lookup_table = GRAPHEME_CATEGORY_LOOKUP;
1626
-
let lookup_interval = 0x80;
1627
-
1628
-
let idx = (cp / lookup_interval) | 0;
1629
-
// If the `idx` is outside of the precomputed table - use the slice
1630
-
// starting from the last covered index in the precomputed table and
1631
-
// ending with the length of the range table.
1632
-
let sliceFrom = 1443,
1633
-
sliceTo = 1449;
1634
-
if (idx + 1 < lookup_table.length) {
1635
-
sliceFrom = lookup_table[idx];
1636
-
sliceTo = lookup_table[idx + 1] + 1;
1637
-
}
1638
-
1639
-
// Compute pessimistic default lower and upper bounds on the category.
1640
-
// If character doesn't map to any range and there is no adjacent range
1641
-
// in the table slice - these bounds has to apply.
1642
-
let lower = idx * lookup_interval;
1643
-
let upper = lower + lookup_interval - 1;
1644
-
return bsearchUnicodeRange(cp, GRAPHEME_CATEGORY_TABLE, lower, upper, sliceFrom, sliceTo);
1645
-
};
1646
-
1647
-
const cat = (cp: number, cache: GraphemeCategoryRange): GraphemeCategory => {
1648
-
if (cp < 127) {
1649
-
// Special-case optimization for ascii, except U+007F. This
1650
-
// improves performance even for many primarily non-ascii texts,
1651
-
// due to use of punctuation and white space characters from the
1652
-
// ascii range.
1653
-
if (cp >= 32) {
1654
-
return GraphemeCategory.Any;
1655
-
} else if (cp === 10) {
1656
-
return GraphemeCategory.LF;
1657
-
} else if (cp === 13) {
1658
-
return GraphemeCategory.CR;
1659
-
} else {
1660
-
return GraphemeCategory.Control;
1661
-
}
1662
-
} else {
1663
-
// If this char isn't within the cached range, update the cache to the
1664
-
// range that includes it.
1665
-
if (cp < cache[0] || cp > cache[1]) {
1666
-
let result = searchGraphemeCategory(cp);
1667
-
cache[0] = result[0];
1668
-
cache[1] = result[1];
1669
-
cache[2] = result[2];
1670
-
}
1671
-
1672
-
return cache[2];
1673
-
}
1674
-
};
1675
-
1676
-
function isBoundary(
1677
-
catBefore: GraphemeCategory,
1678
-
catAfter: GraphemeCategory,
1679
-
risCount: number,
1680
-
emoji: boolean,
1681
-
incb: boolean,
1682
-
): boolean {
1683
-
// GB3
1684
-
if (catBefore === GraphemeCategory.CR && catAfter === GraphemeCategory.LF) {
1685
-
return false;
1686
-
}
1687
-
1688
-
if (
1689
-
// GB4
1690
-
catBefore === GraphemeCategory.CR ||
1691
-
catBefore === GraphemeCategory.Control ||
1692
-
catBefore === GraphemeCategory.LF ||
1693
-
// GB5
1694
-
catAfter === GraphemeCategory.CR ||
1695
-
catAfter === GraphemeCategory.Control ||
1696
-
catAfter === GraphemeCategory.LF
1697
-
) {
1698
-
return true;
1699
-
}
1700
-
1701
-
// GB6
1702
-
if (
1703
-
catBefore === GraphemeCategory.L &&
1704
-
(catAfter === GraphemeCategory.L ||
1705
-
catAfter === GraphemeCategory.LV ||
1706
-
catAfter === GraphemeCategory.LVT ||
1707
-
catAfter === GraphemeCategory.V)
1708
-
) {
1709
-
return false;
1710
-
}
1711
-
1712
-
// GB7
1713
-
if (
1714
-
(catBefore === GraphemeCategory.LV || catBefore === GraphemeCategory.V) &&
1715
-
(catAfter === GraphemeCategory.T || catAfter === GraphemeCategory.V)
1716
-
) {
1717
-
return false;
1718
-
}
1719
-
1720
-
// GB8
1721
-
if (
1722
-
catAfter === GraphemeCategory.T &&
1723
-
(catBefore === GraphemeCategory.LVT || catBefore === GraphemeCategory.T)
1724
-
) {
1725
-
return false;
1726
-
}
1727
-
1728
-
// GB9. GB9a
1729
-
if (
1730
-
catAfter === GraphemeCategory.Extend ||
1731
-
catAfter === GraphemeCategory.SpacingMark ||
1732
-
catAfter === GraphemeCategory.ZWJ
1733
-
) {
1734
-
return false;
1735
-
}
1736
-
1737
-
// GB9b
1738
-
if (catBefore === GraphemeCategory.Prepend) {
1739
-
return false;
1740
-
}
1741
-
1742
-
// GB9c
1743
-
if (catAfter === GraphemeCategory.Any && incb) {
1744
-
return false;
1745
-
}
1746
-
1747
-
// GB11
1748
-
if (catBefore === GraphemeCategory.ZWJ && catAfter === GraphemeCategory.Extended_Pictographic) {
1749
-
return !emoji;
1750
-
}
1751
-
1752
-
// GB12, GB13
1753
-
if (catBefore === GraphemeCategory.Regional_Indicator && catAfter === GraphemeCategory.Regional_Indicator) {
1754
-
return risCount % 2 === 0;
1755
-
}
1756
-
1757
-
// GB999
1758
-
return true;
1759
-
}
1760
-
1761
-
export const countGraphemes = (input: string): number => {
1762
-
if (input === '') {
1763
-
return 0;
1764
-
}
1765
-
1766
-
let count = 0;
1767
-
1768
-
/** Current cursor position. */
1769
-
let cursor = 0;
1770
-
1771
-
/** Total length of the input string. */
1772
-
let len = input.length;
1773
-
1774
-
/** Category of codepoint immediately preceding cursor, if known. */
1775
-
let catBefore: GraphemeCategory | null = null;
1776
-
1777
-
/** Category of codepoint immediately preceding cursor, if known. */
1778
-
let catAfter: GraphemeCategory | null = null;
1779
-
1780
-
let cache: GraphemeCategoryRange = [0, 0, GraphemeCategory.Control];
1781
-
1782
-
/** The number of RIS codepoints preceding `cursor`. */
1783
-
let risCount = 0;
1784
-
1785
-
/** Emoji state */
1786
-
let emoji = false;
1787
-
1788
-
/** InCB=Consonant */
1789
-
let consonant = false;
1790
-
1791
-
/** InCB=Linker */
1792
-
let linker = false;
1793
-
1794
-
/** InCB=Consonant InCB=Linker x InCB=Consonant */
1795
-
let incb = false;
1796
-
1797
-
/** @type number */
1798
-
let cp = input.codePointAt(cursor)!;
1799
-
1800
-
// let index = 0;
1801
-
let segment = '';
1802
-
1803
-
while (true) {
1804
-
segment += input[cursor++];
1805
-
if (isSMP(cp)) {
1806
-
segment += input[cursor++];
1807
-
}
1808
-
1809
-
catBefore = catAfter;
1810
-
if (catBefore === null) {
1811
-
catBefore = cat(cp, cache);
1812
-
}
1813
-
1814
-
if (!consonant && catBefore === 0) {
1815
-
consonant = isIndicConjunctCosonant(cp);
1816
-
} else if (catBefore === 3) {
1817
-
linker = isIndicConjunctLinker(cp);
1818
-
}
1819
-
1820
-
if (cursor < len) {
1821
-
cp = input.codePointAt(cursor)!;
1822
-
catAfter = cat(cp, cache);
1823
-
} else {
1824
-
count++;
1825
-
return count;
1826
-
}
1827
-
1828
-
if (catBefore === 10 /* Regional_Indicator*/) {
1829
-
risCount += 1;
1830
-
} else {
1831
-
risCount = 0;
1832
-
if (
1833
-
catAfter === 14 /* ZWJ */ &&
1834
-
(catBefore === 3 /* Extend */ || catBefore === 4) /* Extended_Pictographic */
1835
-
) {
1836
-
emoji = true;
1837
-
1838
-
// Put GB9c rule checking here to reduce.
1839
-
} else if (catAfter === 0 /* Any */) {
1840
-
incb = consonant && linker && isIndicConjunctCosonant(cp);
1841
-
}
1842
-
}
1843
-
1844
-
if (isBoundary(catBefore, catAfter, risCount, emoji, incb)) {
1845
-
count++;
1846
-
1847
-
// flush
1848
-
// index = cursor;
1849
-
segment = '';
1850
-
emoji = false;
1851
-
consonant = false;
1852
-
linker = false;
1853
-
}
1854
-
}
1855
-
};