unicode_canonical_combining_class/
tables.rs

1// DO NOT EDIT THIS FILE. IT WAS AUTOMATICALLY GENERATED BY:
2//
3//   yeslogic-ucd-generate canonical-combining-class --rust-enum ../ucd-generate/ucd-16.0.0
4//
5// Unicode version: 16.0.0.
6//
7// yeslogic-ucd-generate 0.7.0 is available on crates.io.
8
9#[derive(Clone, Copy, Debug, Hash, Eq, PartialEq, Ord, PartialOrd)]
10pub enum CanonicalCombiningClass {
11    NotReordered = 0,
12    Overlay = 1,
13    HanReading = 6,
14    Nukta = 7,
15    KanaVoicing = 8,
16    Virama = 9,
17    CCC10 = 10,
18    CCC11 = 11,
19    CCC12 = 12,
20    CCC13 = 13,
21    CCC14 = 14,
22    CCC15 = 15,
23    CCC16 = 16,
24    CCC17 = 17,
25    CCC18 = 18,
26    CCC19 = 19,
27    CCC20 = 20,
28    CCC21 = 21,
29    CCC22 = 22,
30    CCC23 = 23,
31    CCC24 = 24,
32    CCC25 = 25,
33    CCC26 = 26,
34    CCC27 = 27,
35    CCC28 = 28,
36    CCC29 = 29,
37    CCC30 = 30,
38    CCC31 = 31,
39    CCC32 = 32,
40    CCC33 = 33,
41    CCC34 = 34,
42    CCC35 = 35,
43    CCC36 = 36,
44    CCC84 = 84,
45    CCC91 = 91,
46    CCC103 = 103,
47    CCC107 = 107,
48    CCC118 = 118,
49    CCC122 = 122,
50    CCC129 = 129,
51    CCC130 = 130,
52    CCC132 = 132,
53    AttachedBelow = 202,
54    AttachedAbove = 214,
55    AttachedAboveRight = 216,
56    BelowLeft = 218,
57    Below = 220,
58    BelowRight = 222,
59    Left = 224,
60    Right = 226,
61    AboveLeft = 228,
62    Above = 230,
63    AboveRight = 232,
64    DoubleBelow = 233,
65    DoubleAbove = 234,
66    IotaSubscript = 240,
67}
68
69#[allow(dead_code)]
70pub const CANONICAL_COMBINING_CLASS: &'static [(u32, u32, CanonicalCombiningClass)] = &[
71    (0, 767, CanonicalCombiningClass::NotReordered),
72    (768, 788, CanonicalCombiningClass::Above),
73    (789, 789, CanonicalCombiningClass::AboveRight),
74    (790, 793, CanonicalCombiningClass::Below),
75    (794, 794, CanonicalCombiningClass::AboveRight),
76    (795, 795, CanonicalCombiningClass::AttachedAboveRight),
77    (796, 800, CanonicalCombiningClass::Below),
78    (801, 802, CanonicalCombiningClass::AttachedBelow),
79    (803, 806, CanonicalCombiningClass::Below),
80    (807, 808, CanonicalCombiningClass::AttachedBelow),
81    (809, 819, CanonicalCombiningClass::Below),
82    (820, 824, CanonicalCombiningClass::Overlay),
83    (825, 828, CanonicalCombiningClass::Below),
84    (829, 836, CanonicalCombiningClass::Above),
85    (837, 837, CanonicalCombiningClass::IotaSubscript),
86    (838, 838, CanonicalCombiningClass::Above),
87    (839, 841, CanonicalCombiningClass::Below),
88    (842, 844, CanonicalCombiningClass::Above),
89    (845, 846, CanonicalCombiningClass::Below),
90    (847, 847, CanonicalCombiningClass::NotReordered),
91    (848, 850, CanonicalCombiningClass::Above),
92    (851, 854, CanonicalCombiningClass::Below),
93    (855, 855, CanonicalCombiningClass::Above),
94    (856, 856, CanonicalCombiningClass::AboveRight),
95    (857, 858, CanonicalCombiningClass::Below),
96    (859, 859, CanonicalCombiningClass::Above),
97    (860, 860, CanonicalCombiningClass::DoubleBelow),
98    (861, 862, CanonicalCombiningClass::DoubleAbove),
99    (863, 863, CanonicalCombiningClass::DoubleBelow),
100    (864, 865, CanonicalCombiningClass::DoubleAbove),
101    (866, 866, CanonicalCombiningClass::DoubleBelow),
102    (867, 879, CanonicalCombiningClass::Above),
103    (880, 1154, CanonicalCombiningClass::NotReordered),
104    (1155, 1159, CanonicalCombiningClass::Above),
105    (1160, 1424, CanonicalCombiningClass::NotReordered),
106    (1425, 1425, CanonicalCombiningClass::Below),
107    (1426, 1429, CanonicalCombiningClass::Above),
108    (1430, 1430, CanonicalCombiningClass::Below),
109    (1431, 1433, CanonicalCombiningClass::Above),
110    (1434, 1434, CanonicalCombiningClass::BelowRight),
111    (1435, 1435, CanonicalCombiningClass::Below),
112    (1436, 1441, CanonicalCombiningClass::Above),
113    (1442, 1447, CanonicalCombiningClass::Below),
114    (1448, 1449, CanonicalCombiningClass::Above),
115    (1450, 1450, CanonicalCombiningClass::Below),
116    (1451, 1452, CanonicalCombiningClass::Above),
117    (1453, 1453, CanonicalCombiningClass::BelowRight),
118    (1454, 1454, CanonicalCombiningClass::AboveLeft),
119    (1455, 1455, CanonicalCombiningClass::Above),
120    (1456, 1456, CanonicalCombiningClass::CCC10),
121    (1457, 1457, CanonicalCombiningClass::CCC11),
122    (1458, 1458, CanonicalCombiningClass::CCC12),
123    (1459, 1459, CanonicalCombiningClass::CCC13),
124    (1460, 1460, CanonicalCombiningClass::CCC14),
125    (1461, 1461, CanonicalCombiningClass::CCC15),
126    (1462, 1462, CanonicalCombiningClass::CCC16),
127    (1463, 1463, CanonicalCombiningClass::CCC17),
128    (1464, 1464, CanonicalCombiningClass::CCC18),
129    (1465, 1466, CanonicalCombiningClass::CCC19),
130    (1467, 1467, CanonicalCombiningClass::CCC20),
131    (1468, 1468, CanonicalCombiningClass::CCC21),
132    (1469, 1469, CanonicalCombiningClass::CCC22),
133    (1470, 1470, CanonicalCombiningClass::NotReordered),
134    (1471, 1471, CanonicalCombiningClass::CCC23),
135    (1472, 1472, CanonicalCombiningClass::NotReordered),
136    (1473, 1473, CanonicalCombiningClass::CCC24),
137    (1474, 1474, CanonicalCombiningClass::CCC25),
138    (1475, 1475, CanonicalCombiningClass::NotReordered),
139    (1476, 1476, CanonicalCombiningClass::Above),
140    (1477, 1477, CanonicalCombiningClass::Below),
141    (1478, 1478, CanonicalCombiningClass::NotReordered),
142    (1479, 1479, CanonicalCombiningClass::CCC18),
143    (1480, 1551, CanonicalCombiningClass::NotReordered),
144    (1552, 1559, CanonicalCombiningClass::Above),
145    (1560, 1560, CanonicalCombiningClass::CCC30),
146    (1561, 1561, CanonicalCombiningClass::CCC31),
147    (1562, 1562, CanonicalCombiningClass::CCC32),
148    (1563, 1610, CanonicalCombiningClass::NotReordered),
149    (1611, 1611, CanonicalCombiningClass::CCC27),
150    (1612, 1612, CanonicalCombiningClass::CCC28),
151    (1613, 1613, CanonicalCombiningClass::CCC29),
152    (1614, 1614, CanonicalCombiningClass::CCC30),
153    (1615, 1615, CanonicalCombiningClass::CCC31),
154    (1616, 1616, CanonicalCombiningClass::CCC32),
155    (1617, 1617, CanonicalCombiningClass::CCC33),
156    (1618, 1618, CanonicalCombiningClass::CCC34),
157    (1619, 1620, CanonicalCombiningClass::Above),
158    (1621, 1622, CanonicalCombiningClass::Below),
159    (1623, 1627, CanonicalCombiningClass::Above),
160    (1628, 1628, CanonicalCombiningClass::Below),
161    (1629, 1630, CanonicalCombiningClass::Above),
162    (1631, 1631, CanonicalCombiningClass::Below),
163    (1632, 1647, CanonicalCombiningClass::NotReordered),
164    (1648, 1648, CanonicalCombiningClass::CCC35),
165    (1649, 1749, CanonicalCombiningClass::NotReordered),
166    (1750, 1756, CanonicalCombiningClass::Above),
167    (1757, 1758, CanonicalCombiningClass::NotReordered),
168    (1759, 1762, CanonicalCombiningClass::Above),
169    (1763, 1763, CanonicalCombiningClass::Below),
170    (1764, 1764, CanonicalCombiningClass::Above),
171    (1765, 1766, CanonicalCombiningClass::NotReordered),
172    (1767, 1768, CanonicalCombiningClass::Above),
173    (1769, 1769, CanonicalCombiningClass::NotReordered),
174    (1770, 1770, CanonicalCombiningClass::Below),
175    (1771, 1772, CanonicalCombiningClass::Above),
176    (1773, 1773, CanonicalCombiningClass::Below),
177    (1774, 1808, CanonicalCombiningClass::NotReordered),
178    (1809, 1809, CanonicalCombiningClass::CCC36),
179    (1810, 1839, CanonicalCombiningClass::NotReordered),
180    (1840, 1840, CanonicalCombiningClass::Above),
181    (1841, 1841, CanonicalCombiningClass::Below),
182    (1842, 1843, CanonicalCombiningClass::Above),
183    (1844, 1844, CanonicalCombiningClass::Below),
184    (1845, 1846, CanonicalCombiningClass::Above),
185    (1847, 1849, CanonicalCombiningClass::Below),
186    (1850, 1850, CanonicalCombiningClass::Above),
187    (1851, 1852, CanonicalCombiningClass::Below),
188    (1853, 1853, CanonicalCombiningClass::Above),
189    (1854, 1854, CanonicalCombiningClass::Below),
190    (1855, 1857, CanonicalCombiningClass::Above),
191    (1858, 1858, CanonicalCombiningClass::Below),
192    (1859, 1859, CanonicalCombiningClass::Above),
193    (1860, 1860, CanonicalCombiningClass::Below),
194    (1861, 1861, CanonicalCombiningClass::Above),
195    (1862, 1862, CanonicalCombiningClass::Below),
196    (1863, 1863, CanonicalCombiningClass::Above),
197    (1864, 1864, CanonicalCombiningClass::Below),
198    (1865, 1866, CanonicalCombiningClass::Above),
199    (1867, 2026, CanonicalCombiningClass::NotReordered),
200    (2027, 2033, CanonicalCombiningClass::Above),
201    (2034, 2034, CanonicalCombiningClass::Below),
202    (2035, 2035, CanonicalCombiningClass::Above),
203    (2036, 2044, CanonicalCombiningClass::NotReordered),
204    (2045, 2045, CanonicalCombiningClass::Below),
205    (2046, 2069, CanonicalCombiningClass::NotReordered),
206    (2070, 2073, CanonicalCombiningClass::Above),
207    (2074, 2074, CanonicalCombiningClass::NotReordered),
208    (2075, 2083, CanonicalCombiningClass::Above),
209    (2084, 2084, CanonicalCombiningClass::NotReordered),
210    (2085, 2087, CanonicalCombiningClass::Above),
211    (2088, 2088, CanonicalCombiningClass::NotReordered),
212    (2089, 2093, CanonicalCombiningClass::Above),
213    (2094, 2136, CanonicalCombiningClass::NotReordered),
214    (2137, 2139, CanonicalCombiningClass::Below),
215    (2140, 2198, CanonicalCombiningClass::NotReordered),
216    (2199, 2200, CanonicalCombiningClass::Above),
217    (2201, 2203, CanonicalCombiningClass::Below),
218    (2204, 2207, CanonicalCombiningClass::Above),
219    (2208, 2249, CanonicalCombiningClass::NotReordered),
220    (2250, 2254, CanonicalCombiningClass::Above),
221    (2255, 2259, CanonicalCombiningClass::Below),
222    (2260, 2273, CanonicalCombiningClass::Above),
223    (2274, 2274, CanonicalCombiningClass::NotReordered),
224    (2275, 2275, CanonicalCombiningClass::Below),
225    (2276, 2277, CanonicalCombiningClass::Above),
226    (2278, 2278, CanonicalCombiningClass::Below),
227    (2279, 2280, CanonicalCombiningClass::Above),
228    (2281, 2281, CanonicalCombiningClass::Below),
229    (2282, 2284, CanonicalCombiningClass::Above),
230    (2285, 2287, CanonicalCombiningClass::Below),
231    (2288, 2288, CanonicalCombiningClass::CCC27),
232    (2289, 2289, CanonicalCombiningClass::CCC28),
233    (2290, 2290, CanonicalCombiningClass::CCC29),
234    (2291, 2293, CanonicalCombiningClass::Above),
235    (2294, 2294, CanonicalCombiningClass::Below),
236    (2295, 2296, CanonicalCombiningClass::Above),
237    (2297, 2298, CanonicalCombiningClass::Below),
238    (2299, 2303, CanonicalCombiningClass::Above),
239    (2304, 2363, CanonicalCombiningClass::NotReordered),
240    (2364, 2364, CanonicalCombiningClass::Nukta),
241    (2365, 2380, CanonicalCombiningClass::NotReordered),
242    (2381, 2381, CanonicalCombiningClass::Virama),
243    (2382, 2384, CanonicalCombiningClass::NotReordered),
244    (2385, 2385, CanonicalCombiningClass::Above),
245    (2386, 2386, CanonicalCombiningClass::Below),
246    (2387, 2388, CanonicalCombiningClass::Above),
247    (2389, 2491, CanonicalCombiningClass::NotReordered),
248    (2492, 2492, CanonicalCombiningClass::Nukta),
249    (2493, 2508, CanonicalCombiningClass::NotReordered),
250    (2509, 2509, CanonicalCombiningClass::Virama),
251    (2510, 2557, CanonicalCombiningClass::NotReordered),
252    (2558, 2558, CanonicalCombiningClass::Above),
253    (2559, 2619, CanonicalCombiningClass::NotReordered),
254    (2620, 2620, CanonicalCombiningClass::Nukta),
255    (2621, 2636, CanonicalCombiningClass::NotReordered),
256    (2637, 2637, CanonicalCombiningClass::Virama),
257    (2638, 2747, CanonicalCombiningClass::NotReordered),
258    (2748, 2748, CanonicalCombiningClass::Nukta),
259    (2749, 2764, CanonicalCombiningClass::NotReordered),
260    (2765, 2765, CanonicalCombiningClass::Virama),
261    (2766, 2875, CanonicalCombiningClass::NotReordered),
262    (2876, 2876, CanonicalCombiningClass::Nukta),
263    (2877, 2892, CanonicalCombiningClass::NotReordered),
264    (2893, 2893, CanonicalCombiningClass::Virama),
265    (2894, 3020, CanonicalCombiningClass::NotReordered),
266    (3021, 3021, CanonicalCombiningClass::Virama),
267    (3022, 3131, CanonicalCombiningClass::NotReordered),
268    (3132, 3132, CanonicalCombiningClass::Nukta),
269    (3133, 3148, CanonicalCombiningClass::NotReordered),
270    (3149, 3149, CanonicalCombiningClass::Virama),
271    (3150, 3156, CanonicalCombiningClass::NotReordered),
272    (3157, 3157, CanonicalCombiningClass::CCC84),
273    (3158, 3158, CanonicalCombiningClass::CCC91),
274    (3159, 3259, CanonicalCombiningClass::NotReordered),
275    (3260, 3260, CanonicalCombiningClass::Nukta),
276    (3261, 3276, CanonicalCombiningClass::NotReordered),
277    (3277, 3277, CanonicalCombiningClass::Virama),
278    (3278, 3386, CanonicalCombiningClass::NotReordered),
279    (3387, 3388, CanonicalCombiningClass::Virama),
280    (3389, 3404, CanonicalCombiningClass::NotReordered),
281    (3405, 3405, CanonicalCombiningClass::Virama),
282    (3406, 3529, CanonicalCombiningClass::NotReordered),
283    (3530, 3530, CanonicalCombiningClass::Virama),
284    (3531, 3639, CanonicalCombiningClass::NotReordered),
285    (3640, 3641, CanonicalCombiningClass::CCC103),
286    (3642, 3642, CanonicalCombiningClass::Virama),
287    (3643, 3655, CanonicalCombiningClass::NotReordered),
288    (3656, 3659, CanonicalCombiningClass::CCC107),
289    (3660, 3767, CanonicalCombiningClass::NotReordered),
290    (3768, 3769, CanonicalCombiningClass::CCC118),
291    (3770, 3770, CanonicalCombiningClass::Virama),
292    (3771, 3783, CanonicalCombiningClass::NotReordered),
293    (3784, 3787, CanonicalCombiningClass::CCC122),
294    (3788, 3863, CanonicalCombiningClass::NotReordered),
295    (3864, 3865, CanonicalCombiningClass::Below),
296    (3866, 3892, CanonicalCombiningClass::NotReordered),
297    (3893, 3893, CanonicalCombiningClass::Below),
298    (3894, 3894, CanonicalCombiningClass::NotReordered),
299    (3895, 3895, CanonicalCombiningClass::Below),
300    (3896, 3896, CanonicalCombiningClass::NotReordered),
301    (3897, 3897, CanonicalCombiningClass::AttachedAboveRight),
302    (3898, 3952, CanonicalCombiningClass::NotReordered),
303    (3953, 3953, CanonicalCombiningClass::CCC129),
304    (3954, 3954, CanonicalCombiningClass::CCC130),
305    (3955, 3955, CanonicalCombiningClass::NotReordered),
306    (3956, 3956, CanonicalCombiningClass::CCC132),
307    (3957, 3961, CanonicalCombiningClass::NotReordered),
308    (3962, 3965, CanonicalCombiningClass::CCC130),
309    (3966, 3967, CanonicalCombiningClass::NotReordered),
310    (3968, 3968, CanonicalCombiningClass::CCC130),
311    (3969, 3969, CanonicalCombiningClass::NotReordered),
312    (3970, 3971, CanonicalCombiningClass::Above),
313    (3972, 3972, CanonicalCombiningClass::Virama),
314    (3973, 3973, CanonicalCombiningClass::NotReordered),
315    (3974, 3975, CanonicalCombiningClass::Above),
316    (3976, 4037, CanonicalCombiningClass::NotReordered),
317    (4038, 4038, CanonicalCombiningClass::Below),
318    (4039, 4150, CanonicalCombiningClass::NotReordered),
319    (4151, 4151, CanonicalCombiningClass::Nukta),
320    (4152, 4152, CanonicalCombiningClass::NotReordered),
321    (4153, 4154, CanonicalCombiningClass::Virama),
322    (4155, 4236, CanonicalCombiningClass::NotReordered),
323    (4237, 4237, CanonicalCombiningClass::Below),
324    (4238, 4956, CanonicalCombiningClass::NotReordered),
325    (4957, 4959, CanonicalCombiningClass::Above),
326    (4960, 5907, CanonicalCombiningClass::NotReordered),
327    (5908, 5909, CanonicalCombiningClass::Virama),
328    (5910, 5939, CanonicalCombiningClass::NotReordered),
329    (5940, 5940, CanonicalCombiningClass::Virama),
330    (5941, 6097, CanonicalCombiningClass::NotReordered),
331    (6098, 6098, CanonicalCombiningClass::Virama),
332    (6099, 6108, CanonicalCombiningClass::NotReordered),
333    (6109, 6109, CanonicalCombiningClass::Above),
334    (6110, 6312, CanonicalCombiningClass::NotReordered),
335    (6313, 6313, CanonicalCombiningClass::AboveLeft),
336    (6314, 6456, CanonicalCombiningClass::NotReordered),
337    (6457, 6457, CanonicalCombiningClass::BelowRight),
338    (6458, 6458, CanonicalCombiningClass::Above),
339    (6459, 6459, CanonicalCombiningClass::Below),
340    (6460, 6678, CanonicalCombiningClass::NotReordered),
341    (6679, 6679, CanonicalCombiningClass::Above),
342    (6680, 6680, CanonicalCombiningClass::Below),
343    (6681, 6751, CanonicalCombiningClass::NotReordered),
344    (6752, 6752, CanonicalCombiningClass::Virama),
345    (6753, 6772, CanonicalCombiningClass::NotReordered),
346    (6773, 6780, CanonicalCombiningClass::Above),
347    (6781, 6782, CanonicalCombiningClass::NotReordered),
348    (6783, 6783, CanonicalCombiningClass::Below),
349    (6784, 6831, CanonicalCombiningClass::NotReordered),
350    (6832, 6836, CanonicalCombiningClass::Above),
351    (6837, 6842, CanonicalCombiningClass::Below),
352    (6843, 6844, CanonicalCombiningClass::Above),
353    (6845, 6845, CanonicalCombiningClass::Below),
354    (6846, 6846, CanonicalCombiningClass::NotReordered),
355    (6847, 6848, CanonicalCombiningClass::Below),
356    (6849, 6850, CanonicalCombiningClass::Above),
357    (6851, 6852, CanonicalCombiningClass::Below),
358    (6853, 6857, CanonicalCombiningClass::Above),
359    (6858, 6858, CanonicalCombiningClass::Below),
360    (6859, 6862, CanonicalCombiningClass::Above),
361    (6863, 6963, CanonicalCombiningClass::NotReordered),
362    (6964, 6964, CanonicalCombiningClass::Nukta),
363    (6965, 6979, CanonicalCombiningClass::NotReordered),
364    (6980, 6980, CanonicalCombiningClass::Virama),
365    (6981, 7018, CanonicalCombiningClass::NotReordered),
366    (7019, 7019, CanonicalCombiningClass::Above),
367    (7020, 7020, CanonicalCombiningClass::Below),
368    (7021, 7027, CanonicalCombiningClass::Above),
369    (7028, 7081, CanonicalCombiningClass::NotReordered),
370    (7082, 7083, CanonicalCombiningClass::Virama),
371    (7084, 7141, CanonicalCombiningClass::NotReordered),
372    (7142, 7142, CanonicalCombiningClass::Nukta),
373    (7143, 7153, CanonicalCombiningClass::NotReordered),
374    (7154, 7155, CanonicalCombiningClass::Virama),
375    (7156, 7222, CanonicalCombiningClass::NotReordered),
376    (7223, 7223, CanonicalCombiningClass::Nukta),
377    (7224, 7375, CanonicalCombiningClass::NotReordered),
378    (7376, 7378, CanonicalCombiningClass::Above),
379    (7379, 7379, CanonicalCombiningClass::NotReordered),
380    (7380, 7380, CanonicalCombiningClass::Overlay),
381    (7381, 7385, CanonicalCombiningClass::Below),
382    (7386, 7387, CanonicalCombiningClass::Above),
383    (7388, 7391, CanonicalCombiningClass::Below),
384    (7392, 7392, CanonicalCombiningClass::Above),
385    (7393, 7393, CanonicalCombiningClass::NotReordered),
386    (7394, 7400, CanonicalCombiningClass::Overlay),
387    (7401, 7404, CanonicalCombiningClass::NotReordered),
388    (7405, 7405, CanonicalCombiningClass::Below),
389    (7406, 7411, CanonicalCombiningClass::NotReordered),
390    (7412, 7412, CanonicalCombiningClass::Above),
391    (7413, 7415, CanonicalCombiningClass::NotReordered),
392    (7416, 7417, CanonicalCombiningClass::Above),
393    (7418, 7615, CanonicalCombiningClass::NotReordered),
394    (7616, 7617, CanonicalCombiningClass::Above),
395    (7618, 7618, CanonicalCombiningClass::Below),
396    (7619, 7625, CanonicalCombiningClass::Above),
397    (7626, 7626, CanonicalCombiningClass::Below),
398    (7627, 7628, CanonicalCombiningClass::Above),
399    (7629, 7629, CanonicalCombiningClass::DoubleAbove),
400    (7630, 7630, CanonicalCombiningClass::AttachedAbove),
401    (7631, 7631, CanonicalCombiningClass::Below),
402    (7632, 7632, CanonicalCombiningClass::AttachedBelow),
403    (7633, 7669, CanonicalCombiningClass::Above),
404    (7670, 7670, CanonicalCombiningClass::AboveRight),
405    (7671, 7672, CanonicalCombiningClass::AboveLeft),
406    (7673, 7673, CanonicalCombiningClass::Below),
407    (7674, 7674, CanonicalCombiningClass::BelowLeft),
408    (7675, 7675, CanonicalCombiningClass::Above),
409    (7676, 7676, CanonicalCombiningClass::DoubleBelow),
410    (7677, 7677, CanonicalCombiningClass::Below),
411    (7678, 7678, CanonicalCombiningClass::Above),
412    (7679, 7679, CanonicalCombiningClass::Below),
413    (7680, 8399, CanonicalCombiningClass::NotReordered),
414    (8400, 8401, CanonicalCombiningClass::Above),
415    (8402, 8403, CanonicalCombiningClass::Overlay),
416    (8404, 8407, CanonicalCombiningClass::Above),
417    (8408, 8410, CanonicalCombiningClass::Overlay),
418    (8411, 8412, CanonicalCombiningClass::Above),
419    (8413, 8416, CanonicalCombiningClass::NotReordered),
420    (8417, 8417, CanonicalCombiningClass::Above),
421    (8418, 8420, CanonicalCombiningClass::NotReordered),
422    (8421, 8422, CanonicalCombiningClass::Overlay),
423    (8423, 8423, CanonicalCombiningClass::Above),
424    (8424, 8424, CanonicalCombiningClass::Below),
425    (8425, 8425, CanonicalCombiningClass::Above),
426    (8426, 8427, CanonicalCombiningClass::Overlay),
427    (8428, 8431, CanonicalCombiningClass::Below),
428    (8432, 8432, CanonicalCombiningClass::Above),
429    (8433, 11502, CanonicalCombiningClass::NotReordered),
430    (11503, 11505, CanonicalCombiningClass::Above),
431    (11506, 11646, CanonicalCombiningClass::NotReordered),
432    (11647, 11647, CanonicalCombiningClass::Virama),
433    (11648, 11743, CanonicalCombiningClass::NotReordered),
434    (11744, 11775, CanonicalCombiningClass::Above),
435    (11776, 12329, CanonicalCombiningClass::NotReordered),
436    (12330, 12330, CanonicalCombiningClass::BelowLeft),
437    (12331, 12331, CanonicalCombiningClass::AboveLeft),
438    (12332, 12332, CanonicalCombiningClass::AboveRight),
439    (12333, 12333, CanonicalCombiningClass::BelowRight),
440    (12334, 12335, CanonicalCombiningClass::Left),
441    (12336, 12440, CanonicalCombiningClass::NotReordered),
442    (12441, 12442, CanonicalCombiningClass::KanaVoicing),
443    (12443, 42606, CanonicalCombiningClass::NotReordered),
444    (42607, 42607, CanonicalCombiningClass::Above),
445    (42608, 42611, CanonicalCombiningClass::NotReordered),
446    (42612, 42621, CanonicalCombiningClass::Above),
447    (42622, 42653, CanonicalCombiningClass::NotReordered),
448    (42654, 42655, CanonicalCombiningClass::Above),
449    (42656, 42735, CanonicalCombiningClass::NotReordered),
450    (42736, 42737, CanonicalCombiningClass::Above),
451    (42738, 43013, CanonicalCombiningClass::NotReordered),
452    (43014, 43014, CanonicalCombiningClass::Virama),
453    (43015, 43051, CanonicalCombiningClass::NotReordered),
454    (43052, 43052, CanonicalCombiningClass::Virama),
455    (43053, 43203, CanonicalCombiningClass::NotReordered),
456    (43204, 43204, CanonicalCombiningClass::Virama),
457    (43205, 43231, CanonicalCombiningClass::NotReordered),
458    (43232, 43249, CanonicalCombiningClass::Above),
459    (43250, 43306, CanonicalCombiningClass::NotReordered),
460    (43307, 43309, CanonicalCombiningClass::Below),
461    (43310, 43346, CanonicalCombiningClass::NotReordered),
462    (43347, 43347, CanonicalCombiningClass::Virama),
463    (43348, 43442, CanonicalCombiningClass::NotReordered),
464    (43443, 43443, CanonicalCombiningClass::Nukta),
465    (43444, 43455, CanonicalCombiningClass::NotReordered),
466    (43456, 43456, CanonicalCombiningClass::Virama),
467    (43457, 43695, CanonicalCombiningClass::NotReordered),
468    (43696, 43696, CanonicalCombiningClass::Above),
469    (43697, 43697, CanonicalCombiningClass::NotReordered),
470    (43698, 43699, CanonicalCombiningClass::Above),
471    (43700, 43700, CanonicalCombiningClass::Below),
472    (43701, 43702, CanonicalCombiningClass::NotReordered),
473    (43703, 43704, CanonicalCombiningClass::Above),
474    (43705, 43709, CanonicalCombiningClass::NotReordered),
475    (43710, 43711, CanonicalCombiningClass::Above),
476    (43712, 43712, CanonicalCombiningClass::NotReordered),
477    (43713, 43713, CanonicalCombiningClass::Above),
478    (43714, 43765, CanonicalCombiningClass::NotReordered),
479    (43766, 43766, CanonicalCombiningClass::Virama),
480    (43767, 44012, CanonicalCombiningClass::NotReordered),
481    (44013, 44013, CanonicalCombiningClass::Virama),
482    (44014, 64285, CanonicalCombiningClass::NotReordered),
483    (64286, 64286, CanonicalCombiningClass::CCC26),
484    (64287, 65055, CanonicalCombiningClass::NotReordered),
485    (65056, 65062, CanonicalCombiningClass::Above),
486    (65063, 65069, CanonicalCombiningClass::Below),
487    (65070, 65071, CanonicalCombiningClass::Above),
488    (65072, 66044, CanonicalCombiningClass::NotReordered),
489    (66045, 66045, CanonicalCombiningClass::Below),
490    (66046, 66271, CanonicalCombiningClass::NotReordered),
491    (66272, 66272, CanonicalCombiningClass::Below),
492    (66273, 66421, CanonicalCombiningClass::NotReordered),
493    (66422, 66426, CanonicalCombiningClass::Above),
494    (66427, 68108, CanonicalCombiningClass::NotReordered),
495    (68109, 68109, CanonicalCombiningClass::Below),
496    (68110, 68110, CanonicalCombiningClass::NotReordered),
497    (68111, 68111, CanonicalCombiningClass::Above),
498    (68112, 68151, CanonicalCombiningClass::NotReordered),
499    (68152, 68152, CanonicalCombiningClass::Above),
500    (68153, 68153, CanonicalCombiningClass::Overlay),
501    (68154, 68154, CanonicalCombiningClass::Below),
502    (68155, 68158, CanonicalCombiningClass::NotReordered),
503    (68159, 68159, CanonicalCombiningClass::Virama),
504    (68160, 68324, CanonicalCombiningClass::NotReordered),
505    (68325, 68325, CanonicalCombiningClass::Above),
506    (68326, 68326, CanonicalCombiningClass::Below),
507    (68327, 68899, CanonicalCombiningClass::NotReordered),
508    (68900, 68903, CanonicalCombiningClass::Above),
509    (68904, 68968, CanonicalCombiningClass::NotReordered),
510    (68969, 68973, CanonicalCombiningClass::Above),
511    (68974, 69290, CanonicalCombiningClass::NotReordered),
512    (69291, 69292, CanonicalCombiningClass::Above),
513    (69293, 69372, CanonicalCombiningClass::NotReordered),
514    (69373, 69375, CanonicalCombiningClass::Below),
515    (69376, 69445, CanonicalCombiningClass::NotReordered),
516    (69446, 69447, CanonicalCombiningClass::Below),
517    (69448, 69450, CanonicalCombiningClass::Above),
518    (69451, 69451, CanonicalCombiningClass::Below),
519    (69452, 69452, CanonicalCombiningClass::Above),
520    (69453, 69456, CanonicalCombiningClass::Below),
521    (69457, 69505, CanonicalCombiningClass::NotReordered),
522    (69506, 69506, CanonicalCombiningClass::Above),
523    (69507, 69507, CanonicalCombiningClass::Below),
524    (69508, 69508, CanonicalCombiningClass::Above),
525    (69509, 69509, CanonicalCombiningClass::Below),
526    (69510, 69701, CanonicalCombiningClass::NotReordered),
527    (69702, 69702, CanonicalCombiningClass::Virama),
528    (69703, 69743, CanonicalCombiningClass::NotReordered),
529    (69744, 69744, CanonicalCombiningClass::Virama),
530    (69745, 69758, CanonicalCombiningClass::NotReordered),
531    (69759, 69759, CanonicalCombiningClass::Virama),
532    (69760, 69816, CanonicalCombiningClass::NotReordered),
533    (69817, 69817, CanonicalCombiningClass::Virama),
534    (69818, 69818, CanonicalCombiningClass::Nukta),
535    (69819, 69887, CanonicalCombiningClass::NotReordered),
536    (69888, 69890, CanonicalCombiningClass::Above),
537    (69891, 69938, CanonicalCombiningClass::NotReordered),
538    (69939, 69940, CanonicalCombiningClass::Virama),
539    (69941, 70002, CanonicalCombiningClass::NotReordered),
540    (70003, 70003, CanonicalCombiningClass::Nukta),
541    (70004, 70079, CanonicalCombiningClass::NotReordered),
542    (70080, 70080, CanonicalCombiningClass::Virama),
543    (70081, 70089, CanonicalCombiningClass::NotReordered),
544    (70090, 70090, CanonicalCombiningClass::Nukta),
545    (70091, 70196, CanonicalCombiningClass::NotReordered),
546    (70197, 70197, CanonicalCombiningClass::Virama),
547    (70198, 70198, CanonicalCombiningClass::Nukta),
548    (70199, 70376, CanonicalCombiningClass::NotReordered),
549    (70377, 70377, CanonicalCombiningClass::Nukta),
550    (70378, 70378, CanonicalCombiningClass::Virama),
551    (70379, 70458, CanonicalCombiningClass::NotReordered),
552    (70459, 70460, CanonicalCombiningClass::Nukta),
553    (70461, 70476, CanonicalCombiningClass::NotReordered),
554    (70477, 70477, CanonicalCombiningClass::Virama),
555    (70478, 70501, CanonicalCombiningClass::NotReordered),
556    (70502, 70508, CanonicalCombiningClass::Above),
557    (70509, 70511, CanonicalCombiningClass::NotReordered),
558    (70512, 70516, CanonicalCombiningClass::Above),
559    (70517, 70605, CanonicalCombiningClass::NotReordered),
560    (70606, 70608, CanonicalCombiningClass::Virama),
561    (70609, 70721, CanonicalCombiningClass::NotReordered),
562    (70722, 70722, CanonicalCombiningClass::Virama),
563    (70723, 70725, CanonicalCombiningClass::NotReordered),
564    (70726, 70726, CanonicalCombiningClass::Nukta),
565    (70727, 70749, CanonicalCombiningClass::NotReordered),
566    (70750, 70750, CanonicalCombiningClass::Above),
567    (70751, 70849, CanonicalCombiningClass::NotReordered),
568    (70850, 70850, CanonicalCombiningClass::Virama),
569    (70851, 70851, CanonicalCombiningClass::Nukta),
570    (70852, 71102, CanonicalCombiningClass::NotReordered),
571    (71103, 71103, CanonicalCombiningClass::Virama),
572    (71104, 71104, CanonicalCombiningClass::Nukta),
573    (71105, 71230, CanonicalCombiningClass::NotReordered),
574    (71231, 71231, CanonicalCombiningClass::Virama),
575    (71232, 71349, CanonicalCombiningClass::NotReordered),
576    (71350, 71350, CanonicalCombiningClass::Virama),
577    (71351, 71351, CanonicalCombiningClass::Nukta),
578    (71352, 71466, CanonicalCombiningClass::NotReordered),
579    (71467, 71467, CanonicalCombiningClass::Virama),
580    (71468, 71736, CanonicalCombiningClass::NotReordered),
581    (71737, 71737, CanonicalCombiningClass::Virama),
582    (71738, 71738, CanonicalCombiningClass::Nukta),
583    (71739, 71996, CanonicalCombiningClass::NotReordered),
584    (71997, 71998, CanonicalCombiningClass::Virama),
585    (71999, 72002, CanonicalCombiningClass::NotReordered),
586    (72003, 72003, CanonicalCombiningClass::Nukta),
587    (72004, 72159, CanonicalCombiningClass::NotReordered),
588    (72160, 72160, CanonicalCombiningClass::Virama),
589    (72161, 72243, CanonicalCombiningClass::NotReordered),
590    (72244, 72244, CanonicalCombiningClass::Virama),
591    (72245, 72262, CanonicalCombiningClass::NotReordered),
592    (72263, 72263, CanonicalCombiningClass::Virama),
593    (72264, 72344, CanonicalCombiningClass::NotReordered),
594    (72345, 72345, CanonicalCombiningClass::Virama),
595    (72346, 72766, CanonicalCombiningClass::NotReordered),
596    (72767, 72767, CanonicalCombiningClass::Virama),
597    (72768, 73025, CanonicalCombiningClass::NotReordered),
598    (73026, 73026, CanonicalCombiningClass::Nukta),
599    (73027, 73027, CanonicalCombiningClass::NotReordered),
600    (73028, 73029, CanonicalCombiningClass::Virama),
601    (73030, 73110, CanonicalCombiningClass::NotReordered),
602    (73111, 73111, CanonicalCombiningClass::Virama),
603    (73112, 73536, CanonicalCombiningClass::NotReordered),
604    (73537, 73538, CanonicalCombiningClass::Virama),
605    (73539, 90414, CanonicalCombiningClass::NotReordered),
606    (90415, 90415, CanonicalCombiningClass::Virama),
607    (90416, 92911, CanonicalCombiningClass::NotReordered),
608    (92912, 92916, CanonicalCombiningClass::Overlay),
609    (92917, 92975, CanonicalCombiningClass::NotReordered),
610    (92976, 92982, CanonicalCombiningClass::Above),
611    (92983, 94191, CanonicalCombiningClass::NotReordered),
612    (94192, 94193, CanonicalCombiningClass::HanReading),
613    (94194, 113821, CanonicalCombiningClass::NotReordered),
614    (113822, 113822, CanonicalCombiningClass::Overlay),
615    (113823, 119140, CanonicalCombiningClass::NotReordered),
616    (119141, 119142, CanonicalCombiningClass::AttachedAboveRight),
617    (119143, 119145, CanonicalCombiningClass::Overlay),
618    (119146, 119148, CanonicalCombiningClass::NotReordered),
619    (119149, 119149, CanonicalCombiningClass::Right),
620    (119150, 119154, CanonicalCombiningClass::AttachedAboveRight),
621    (119155, 119162, CanonicalCombiningClass::NotReordered),
622    (119163, 119170, CanonicalCombiningClass::Below),
623    (119171, 119172, CanonicalCombiningClass::NotReordered),
624    (119173, 119177, CanonicalCombiningClass::Above),
625    (119178, 119179, CanonicalCombiningClass::Below),
626    (119180, 119209, CanonicalCombiningClass::NotReordered),
627    (119210, 119213, CanonicalCombiningClass::Above),
628    (119214, 119361, CanonicalCombiningClass::NotReordered),
629    (119362, 119364, CanonicalCombiningClass::Above),
630    (119365, 122879, CanonicalCombiningClass::NotReordered),
631    (122880, 122886, CanonicalCombiningClass::Above),
632    (122887, 122887, CanonicalCombiningClass::NotReordered),
633    (122888, 122904, CanonicalCombiningClass::Above),
634    (122905, 122906, CanonicalCombiningClass::NotReordered),
635    (122907, 122913, CanonicalCombiningClass::Above),
636    (122914, 122914, CanonicalCombiningClass::NotReordered),
637    (122915, 122916, CanonicalCombiningClass::Above),
638    (122917, 122917, CanonicalCombiningClass::NotReordered),
639    (122918, 122922, CanonicalCombiningClass::Above),
640    (122923, 123022, CanonicalCombiningClass::NotReordered),
641    (123023, 123023, CanonicalCombiningClass::Above),
642    (123024, 123183, CanonicalCombiningClass::NotReordered),
643    (123184, 123190, CanonicalCombiningClass::Above),
644    (123191, 123565, CanonicalCombiningClass::NotReordered),
645    (123566, 123566, CanonicalCombiningClass::Above),
646    (123567, 123627, CanonicalCombiningClass::NotReordered),
647    (123628, 123631, CanonicalCombiningClass::Above),
648    (123632, 124139, CanonicalCombiningClass::NotReordered),
649    (124140, 124141, CanonicalCombiningClass::AboveRight),
650    (124142, 124142, CanonicalCombiningClass::Below),
651    (124143, 124143, CanonicalCombiningClass::Above),
652    (124144, 124397, CanonicalCombiningClass::NotReordered),
653    (124398, 124398, CanonicalCombiningClass::Above),
654    (124399, 124399, CanonicalCombiningClass::Below),
655    (124400, 125135, CanonicalCombiningClass::NotReordered),
656    (125136, 125142, CanonicalCombiningClass::Below),
657    (125143, 125251, CanonicalCombiningClass::NotReordered),
658    (125252, 125257, CanonicalCombiningClass::Above),
659    (125258, 125258, CanonicalCombiningClass::Nukta),
660    (125259, 1114111, CanonicalCombiningClass::NotReordered),
661];