1pub const BY_NAME: &'static [(&'static str, &'static [(u32, u32)])] = &[
10 ("ALetter", ALETTER), ("CR", CR), ("Double_Quote", DOUBLE_QUOTE),
11 ("Extend", EXTEND), ("ExtendNumLet", EXTENDNUMLET), ("Format", FORMAT),
12 ("Hebrew_Letter", HEBREW_LETTER), ("Katakana", KATAKANA), ("LF", LF),
13 ("MidLetter", MIDLETTER), ("MidNum", MIDNUM), ("MidNumLet", MIDNUMLET),
14 ("Newline", NEWLINE), ("Numeric", NUMERIC),
15 ("Regional_Indicator", REGIONAL_INDICATOR), ("Single_Quote", SINGLE_QUOTE),
16 ("WSegSpace", WSEGSPACE), ("ZWJ", ZWJ),
17];
18
19pub const ALETTER: &'static [(u32, u32)] = &[
20 (65, 90), (97, 122), (170, 170), (181, 181), (186, 186), (192, 214),
21 (216, 246), (248, 727), (734, 767), (880, 884), (886, 887), (890, 893),
22 (895, 895), (902, 902), (904, 906), (908, 908), (910, 929), (931, 1013),
23 (1015, 1153), (1162, 1327), (1329, 1366), (1369, 1372), (1374, 1374),
24 (1376, 1416), (1418, 1418), (1523, 1523), (1568, 1610), (1646, 1647),
25 (1649, 1747), (1749, 1749), (1765, 1766), (1774, 1775), (1786, 1788),
26 (1791, 1791), (1808, 1808), (1810, 1839), (1869, 1957), (1969, 1969),
27 (1994, 2026), (2036, 2037), (2042, 2042), (2048, 2069), (2074, 2074),
28 (2084, 2084), (2088, 2088), (2112, 2136), (2144, 2154), (2160, 2183),
29 (2185, 2190), (2208, 2249), (2308, 2361), (2365, 2365), (2384, 2384),
30 (2392, 2401), (2417, 2432), (2437, 2444), (2447, 2448), (2451, 2472),
31 (2474, 2480), (2482, 2482), (2486, 2489), (2493, 2493), (2510, 2510),
32 (2524, 2525), (2527, 2529), (2544, 2545), (2556, 2556), (2565, 2570),
33 (2575, 2576), (2579, 2600), (2602, 2608), (2610, 2611), (2613, 2614),
34 (2616, 2617), (2649, 2652), (2654, 2654), (2674, 2676), (2693, 2701),
35 (2703, 2705), (2707, 2728), (2730, 2736), (2738, 2739), (2741, 2745),
36 (2749, 2749), (2768, 2768), (2784, 2785), (2809, 2809), (2821, 2828),
37 (2831, 2832), (2835, 2856), (2858, 2864), (2866, 2867), (2869, 2873),
38 (2877, 2877), (2908, 2909), (2911, 2913), (2929, 2929), (2947, 2947),
39 (2949, 2954), (2958, 2960), (2962, 2965), (2969, 2970), (2972, 2972),
40 (2974, 2975), (2979, 2980), (2984, 2986), (2990, 3001), (3024, 3024),
41 (3077, 3084), (3086, 3088), (3090, 3112), (3114, 3129), (3133, 3133),
42 (3160, 3162), (3165, 3165), (3168, 3169), (3200, 3200), (3205, 3212),
43 (3214, 3216), (3218, 3240), (3242, 3251), (3253, 3257), (3261, 3261),
44 (3293, 3294), (3296, 3297), (3313, 3314), (3332, 3340), (3342, 3344),
45 (3346, 3386), (3389, 3389), (3406, 3406), (3412, 3414), (3423, 3425),
46 (3450, 3455), (3461, 3478), (3482, 3505), (3507, 3515), (3517, 3517),
47 (3520, 3526), (3840, 3840), (3904, 3911), (3913, 3948), (3976, 3980),
48 (4256, 4293), (4295, 4295), (4301, 4301), (4304, 4346), (4348, 4680),
49 (4682, 4685), (4688, 4694), (4696, 4696), (4698, 4701), (4704, 4744),
50 (4746, 4749), (4752, 4784), (4786, 4789), (4792, 4798), (4800, 4800),
51 (4802, 4805), (4808, 4822), (4824, 4880), (4882, 4885), (4888, 4954),
52 (4992, 5007), (5024, 5109), (5112, 5117), (5121, 5740), (5743, 5759),
53 (5761, 5786), (5792, 5866), (5870, 5880), (5888, 5905), (5919, 5937),
54 (5952, 5969), (5984, 5996), (5998, 6000), (6176, 6264), (6272, 6276),
55 (6279, 6312), (6314, 6314), (6320, 6389), (6400, 6430), (6656, 6678),
56 (6917, 6963), (6981, 6988), (7043, 7072), (7086, 7087), (7098, 7141),
57 (7168, 7203), (7245, 7247), (7258, 7293), (7296, 7304), (7312, 7354),
58 (7357, 7359), (7401, 7404), (7406, 7411), (7413, 7414), (7418, 7418),
59 (7424, 7615), (7680, 7957), (7960, 7965), (7968, 8005), (8008, 8013),
60 (8016, 8023), (8025, 8025), (8027, 8027), (8029, 8029), (8031, 8061),
61 (8064, 8116), (8118, 8124), (8126, 8126), (8130, 8132), (8134, 8140),
62 (8144, 8147), (8150, 8155), (8160, 8172), (8178, 8180), (8182, 8188),
63 (8305, 8305), (8319, 8319), (8336, 8348), (8450, 8450), (8455, 8455),
64 (8458, 8467), (8469, 8469), (8473, 8477), (8484, 8484), (8486, 8486),
65 (8488, 8488), (8490, 8493), (8495, 8505), (8508, 8511), (8517, 8521),
66 (8526, 8526), (8544, 8584), (9398, 9449), (11264, 11492), (11499, 11502),
67 (11506, 11507), (11520, 11557), (11559, 11559), (11565, 11565),
68 (11568, 11623), (11631, 11631), (11648, 11670), (11680, 11686),
69 (11688, 11694), (11696, 11702), (11704, 11710), (11712, 11718),
70 (11720, 11726), (11728, 11734), (11736, 11742), (11823, 11823),
71 (12293, 12293), (12347, 12348), (12549, 12591), (12593, 12686),
72 (12704, 12735), (40960, 42124), (42192, 42237), (42240, 42508),
73 (42512, 42527), (42538, 42539), (42560, 42606), (42623, 42653),
74 (42656, 42735), (42760, 42954), (42960, 42961), (42963, 42963),
75 (42965, 42969), (42994, 43009), (43011, 43013), (43015, 43018),
76 (43020, 43042), (43072, 43123), (43138, 43187), (43250, 43255),
77 (43259, 43259), (43261, 43262), (43274, 43301), (43312, 43334),
78 (43360, 43388), (43396, 43442), (43471, 43471), (43520, 43560),
79 (43584, 43586), (43588, 43595), (43744, 43754), (43762, 43764),
80 (43777, 43782), (43785, 43790), (43793, 43798), (43808, 43814),
81 (43816, 43822), (43824, 43881), (43888, 44002), (44032, 55203),
82 (55216, 55238), (55243, 55291), (64256, 64262), (64275, 64279),
83 (64336, 64433), (64467, 64829), (64848, 64911), (64914, 64967),
84 (65008, 65019), (65136, 65140), (65142, 65276), (65313, 65338),
85 (65345, 65370), (65440, 65470), (65474, 65479), (65482, 65487),
86 (65490, 65495), (65498, 65500), (65536, 65547), (65549, 65574),
87 (65576, 65594), (65596, 65597), (65599, 65613), (65616, 65629),
88 (65664, 65786), (65856, 65908), (66176, 66204), (66208, 66256),
89 (66304, 66335), (66349, 66378), (66384, 66421), (66432, 66461),
90 (66464, 66499), (66504, 66511), (66513, 66517), (66560, 66717),
91 (66736, 66771), (66776, 66811), (66816, 66855), (66864, 66915),
92 (66928, 66938), (66940, 66954), (66956, 66962), (66964, 66965),
93 (66967, 66977), (66979, 66993), (66995, 67001), (67003, 67004),
94 (67072, 67382), (67392, 67413), (67424, 67431), (67456, 67461),
95 (67463, 67504), (67506, 67514), (67584, 67589), (67592, 67592),
96 (67594, 67637), (67639, 67640), (67644, 67644), (67647, 67669),
97 (67680, 67702), (67712, 67742), (67808, 67826), (67828, 67829),
98 (67840, 67861), (67872, 67897), (67968, 68023), (68030, 68031),
99 (68096, 68096), (68112, 68115), (68117, 68119), (68121, 68149),
100 (68192, 68220), (68224, 68252), (68288, 68295), (68297, 68324),
101 (68352, 68405), (68416, 68437), (68448, 68466), (68480, 68497),
102 (68608, 68680), (68736, 68786), (68800, 68850), (68864, 68899),
103 (69248, 69289), (69296, 69297), (69376, 69404), (69415, 69415),
104 (69424, 69445), (69488, 69505), (69552, 69572), (69600, 69622),
105 (69635, 69687), (69745, 69746), (69749, 69749), (69763, 69807),
106 (69840, 69864), (69891, 69926), (69956, 69956), (69959, 69959),
107 (69968, 70002), (70006, 70006), (70019, 70066), (70081, 70084),
108 (70106, 70106), (70108, 70108), (70144, 70161), (70163, 70187),
109 (70272, 70278), (70280, 70280), (70282, 70285), (70287, 70301),
110 (70303, 70312), (70320, 70366), (70405, 70412), (70415, 70416),
111 (70419, 70440), (70442, 70448), (70450, 70451), (70453, 70457),
112 (70461, 70461), (70480, 70480), (70493, 70497), (70656, 70708),
113 (70727, 70730), (70751, 70753), (70784, 70831), (70852, 70853),
114 (70855, 70855), (71040, 71086), (71128, 71131), (71168, 71215),
115 (71236, 71236), (71296, 71338), (71352, 71352), (71680, 71723),
116 (71840, 71903), (71935, 71942), (71945, 71945), (71948, 71955),
117 (71957, 71958), (71960, 71983), (71999, 71999), (72001, 72001),
118 (72096, 72103), (72106, 72144), (72161, 72161), (72163, 72163),
119 (72192, 72192), (72203, 72242), (72250, 72250), (72272, 72272),
120 (72284, 72329), (72349, 72349), (72368, 72440), (72704, 72712),
121 (72714, 72750), (72768, 72768), (72818, 72847), (72960, 72966),
122 (72968, 72969), (72971, 73008), (73030, 73030), (73056, 73061),
123 (73063, 73064), (73066, 73097), (73112, 73112), (73440, 73458),
124 (73648, 73648), (73728, 74649), (74752, 74862), (74880, 75075),
125 (77712, 77808), (77824, 78894), (82944, 83526), (92160, 92728),
126 (92736, 92766), (92784, 92862), (92880, 92909), (92928, 92975),
127 (92992, 92995), (93027, 93047), (93053, 93071), (93760, 93823),
128 (93952, 94026), (94032, 94032), (94099, 94111), (94176, 94177),
129 (94179, 94179), (113664, 113770), (113776, 113788), (113792, 113800),
130 (113808, 113817), (119808, 119892), (119894, 119964), (119966, 119967),
131 (119970, 119970), (119973, 119974), (119977, 119980), (119982, 119993),
132 (119995, 119995), (119997, 120003), (120005, 120069), (120071, 120074),
133 (120077, 120084), (120086, 120092), (120094, 120121), (120123, 120126),
134 (120128, 120132), (120134, 120134), (120138, 120144), (120146, 120485),
135 (120488, 120512), (120514, 120538), (120540, 120570), (120572, 120596),
136 (120598, 120628), (120630, 120654), (120656, 120686), (120688, 120712),
137 (120714, 120744), (120746, 120770), (120772, 120779), (122624, 122654),
138 (123136, 123180), (123191, 123197), (123214, 123214), (123536, 123565),
139 (123584, 123627), (124896, 124902), (124904, 124907), (124909, 124910),
140 (124912, 124926), (124928, 125124), (125184, 125251), (125259, 125259),
141 (126464, 126467), (126469, 126495), (126497, 126498), (126500, 126500),
142 (126503, 126503), (126505, 126514), (126516, 126519), (126521, 126521),
143 (126523, 126523), (126530, 126530), (126535, 126535), (126537, 126537),
144 (126539, 126539), (126541, 126543), (126545, 126546), (126548, 126548),
145 (126551, 126551), (126553, 126553), (126555, 126555), (126557, 126557),
146 (126559, 126559), (126561, 126562), (126564, 126564), (126567, 126570),
147 (126572, 126578), (126580, 126583), (126585, 126588), (126590, 126590),
148 (126592, 126601), (126603, 126619), (126625, 126627), (126629, 126633),
149 (126635, 126651), (127280, 127305), (127312, 127337), (127344, 127369),
150];
151
152pub const CR: &'static [(u32, u32)] = &[
153 (13, 13),
154];
155
156pub const DOUBLE_QUOTE: &'static [(u32, u32)] = &[
157 (34, 34),
158];
159
160pub const EXTEND: &'static [(u32, u32)] = &[
161 (768, 879), (1155, 1161), (1425, 1469), (1471, 1471), (1473, 1474),
162 (1476, 1477), (1479, 1479), (1552, 1562), (1611, 1631), (1648, 1648),
163 (1750, 1756), (1759, 1764), (1767, 1768), (1770, 1773), (1809, 1809),
164 (1840, 1866), (1958, 1968), (2027, 2035), (2045, 2045), (2070, 2073),
165 (2075, 2083), (2085, 2087), (2089, 2093), (2137, 2139), (2200, 2207),
166 (2250, 2273), (2275, 2307), (2362, 2364), (2366, 2383), (2385, 2391),
167 (2402, 2403), (2433, 2435), (2492, 2492), (2494, 2500), (2503, 2504),
168 (2507, 2509), (2519, 2519), (2530, 2531), (2558, 2558), (2561, 2563),
169 (2620, 2620), (2622, 2626), (2631, 2632), (2635, 2637), (2641, 2641),
170 (2672, 2673), (2677, 2677), (2689, 2691), (2748, 2748), (2750, 2757),
171 (2759, 2761), (2763, 2765), (2786, 2787), (2810, 2815), (2817, 2819),
172 (2876, 2876), (2878, 2884), (2887, 2888), (2891, 2893), (2901, 2903),
173 (2914, 2915), (2946, 2946), (3006, 3010), (3014, 3016), (3018, 3021),
174 (3031, 3031), (3072, 3076), (3132, 3132), (3134, 3140), (3142, 3144),
175 (3146, 3149), (3157, 3158), (3170, 3171), (3201, 3203), (3260, 3260),
176 (3262, 3268), (3270, 3272), (3274, 3277), (3285, 3286), (3298, 3299),
177 (3328, 3331), (3387, 3388), (3390, 3396), (3398, 3400), (3402, 3405),
178 (3415, 3415), (3426, 3427), (3457, 3459), (3530, 3530), (3535, 3540),
179 (3542, 3542), (3544, 3551), (3570, 3571), (3633, 3633), (3636, 3642),
180 (3655, 3662), (3761, 3761), (3764, 3772), (3784, 3789), (3864, 3865),
181 (3893, 3893), (3895, 3895), (3897, 3897), (3902, 3903), (3953, 3972),
182 (3974, 3975), (3981, 3991), (3993, 4028), (4038, 4038), (4139, 4158),
183 (4182, 4185), (4190, 4192), (4194, 4196), (4199, 4205), (4209, 4212),
184 (4226, 4237), (4239, 4239), (4250, 4253), (4957, 4959), (5906, 5909),
185 (5938, 5940), (5970, 5971), (6002, 6003), (6068, 6099), (6109, 6109),
186 (6155, 6157), (6159, 6159), (6277, 6278), (6313, 6313), (6432, 6443),
187 (6448, 6459), (6679, 6683), (6741, 6750), (6752, 6780), (6783, 6783),
188 (6832, 6862), (6912, 6916), (6964, 6980), (7019, 7027), (7040, 7042),
189 (7073, 7085), (7142, 7155), (7204, 7223), (7376, 7378), (7380, 7400),
190 (7405, 7405), (7412, 7412), (7415, 7417), (7616, 7679), (8204, 8204),
191 (8400, 8432), (11503, 11505), (11647, 11647), (11744, 11775),
192 (12330, 12335), (12441, 12442), (42607, 42610), (42612, 42621),
193 (42654, 42655), (42736, 42737), (43010, 43010), (43014, 43014),
194 (43019, 43019), (43043, 43047), (43052, 43052), (43136, 43137),
195 (43188, 43205), (43232, 43249), (43263, 43263), (43302, 43309),
196 (43335, 43347), (43392, 43395), (43443, 43456), (43493, 43493),
197 (43561, 43574), (43587, 43587), (43596, 43597), (43643, 43645),
198 (43696, 43696), (43698, 43700), (43703, 43704), (43710, 43711),
199 (43713, 43713), (43755, 43759), (43765, 43766), (44003, 44010),
200 (44012, 44013), (64286, 64286), (65024, 65039), (65056, 65071),
201 (65438, 65439), (66045, 66045), (66272, 66272), (66422, 66426),
202 (68097, 68099), (68101, 68102), (68108, 68111), (68152, 68154),
203 (68159, 68159), (68325, 68326), (68900, 68903), (69291, 69292),
204 (69446, 69456), (69506, 69509), (69632, 69634), (69688, 69702),
205 (69744, 69744), (69747, 69748), (69759, 69762), (69808, 69818),
206 (69826, 69826), (69888, 69890), (69927, 69940), (69957, 69958),
207 (70003, 70003), (70016, 70018), (70067, 70080), (70089, 70092),
208 (70094, 70095), (70188, 70199), (70206, 70206), (70367, 70378),
209 (70400, 70403), (70459, 70460), (70462, 70468), (70471, 70472),
210 (70475, 70477), (70487, 70487), (70498, 70499), (70502, 70508),
211 (70512, 70516), (70709, 70726), (70750, 70750), (70832, 70851),
212 (71087, 71093), (71096, 71104), (71132, 71133), (71216, 71232),
213 (71339, 71351), (71453, 71467), (71724, 71738), (71984, 71989),
214 (71991, 71992), (71995, 71998), (72000, 72000), (72002, 72003),
215 (72145, 72151), (72154, 72160), (72164, 72164), (72193, 72202),
216 (72243, 72249), (72251, 72254), (72263, 72263), (72273, 72283),
217 (72330, 72345), (72751, 72758), (72760, 72767), (72850, 72871),
218 (72873, 72886), (73009, 73014), (73018, 73018), (73020, 73021),
219 (73023, 73029), (73031, 73031), (73098, 73102), (73104, 73105),
220 (73107, 73111), (73459, 73462), (92912, 92916), (92976, 92982),
221 (94031, 94031), (94033, 94087), (94095, 94098), (94180, 94180),
222 (94192, 94193), (113821, 113822), (118528, 118573), (118576, 118598),
223 (119141, 119145), (119149, 119154), (119163, 119170), (119173, 119179),
224 (119210, 119213), (119362, 119364), (121344, 121398), (121403, 121452),
225 (121461, 121461), (121476, 121476), (121499, 121503), (121505, 121519),
226 (122880, 122886), (122888, 122904), (122907, 122913), (122915, 122916),
227 (122918, 122922), (123184, 123190), (123566, 123566), (123628, 123631),
228 (125136, 125142), (125252, 125258), (127995, 127999), (917536, 917631),
229 (917760, 917999),
230];
231
232pub const EXTENDNUMLET: &'static [(u32, u32)] = &[
233 (95, 95), (8239, 8239), (8255, 8256), (8276, 8276), (65075, 65076),
234 (65101, 65103), (65343, 65343),
235];
236
237pub const FORMAT: &'static [(u32, u32)] = &[
238 (173, 173), (1536, 1541), (1564, 1564), (1757, 1757), (1807, 1807),
239 (2192, 2193), (2274, 2274), (6158, 6158), (8206, 8207), (8234, 8238),
240 (8288, 8292), (8294, 8303), (65279, 65279), (65529, 65531), (69821, 69821),
241 (69837, 69837), (78896, 78904), (113824, 113827), (119155, 119162),
242 (917505, 917505),
243];
244
245pub const HEBREW_LETTER: &'static [(u32, u32)] = &[
246 (1488, 1514), (1519, 1522), (64285, 64285), (64287, 64296), (64298, 64310),
247 (64312, 64316), (64318, 64318), (64320, 64321), (64323, 64324),
248 (64326, 64335),
249];
250
251pub const KATAKANA: &'static [(u32, u32)] = &[
252 (12337, 12341), (12443, 12444), (12448, 12538), (12540, 12543),
253 (12784, 12799), (13008, 13054), (13056, 13143), (65382, 65437),
254 (110576, 110579), (110581, 110587), (110589, 110590), (110592, 110592),
255 (110880, 110882), (110948, 110951),
256];
257
258pub const LF: &'static [(u32, u32)] = &[
259 (10, 10),
260];
261
262pub const MIDLETTER: &'static [(u32, u32)] = &[
263 (58, 58), (183, 183), (903, 903), (1375, 1375), (1524, 1524), (8231, 8231),
264 (65043, 65043), (65109, 65109), (65306, 65306),
265];
266
267pub const MIDNUM: &'static [(u32, u32)] = &[
268 (44, 44), (59, 59), (894, 894), (1417, 1417), (1548, 1549), (1644, 1644),
269 (2040, 2040), (8260, 8260), (65040, 65040), (65044, 65044), (65104, 65104),
270 (65108, 65108), (65292, 65292), (65307, 65307),
271];
272
273pub const MIDNUMLET: &'static [(u32, u32)] = &[
274 (46, 46), (8216, 8217), (8228, 8228), (65106, 65106), (65287, 65287),
275 (65294, 65294),
276];
277
278pub const NEWLINE: &'static [(u32, u32)] = &[
279 (11, 12), (133, 133), (8232, 8233),
280];
281
282pub const NUMERIC: &'static [(u32, u32)] = &[
283 (48, 57), (1632, 1641), (1643, 1643), (1776, 1785), (1984, 1993),
284 (2406, 2415), (2534, 2543), (2662, 2671), (2790, 2799), (2918, 2927),
285 (3046, 3055), (3174, 3183), (3302, 3311), (3430, 3439), (3558, 3567),
286 (3664, 3673), (3792, 3801), (3872, 3881), (4160, 4169), (4240, 4249),
287 (6112, 6121), (6160, 6169), (6470, 6479), (6608, 6617), (6784, 6793),
288 (6800, 6809), (6992, 7001), (7088, 7097), (7232, 7241), (7248, 7257),
289 (42528, 42537), (43216, 43225), (43264, 43273), (43472, 43481),
290 (43504, 43513), (43600, 43609), (44016, 44025), (65296, 65305),
291 (66720, 66729), (68912, 68921), (69734, 69743), (69872, 69881),
292 (69942, 69951), (70096, 70105), (70384, 70393), (70736, 70745),
293 (70864, 70873), (71248, 71257), (71360, 71369), (71472, 71481),
294 (71904, 71913), (72016, 72025), (72784, 72793), (73040, 73049),
295 (73120, 73129), (92768, 92777), (92864, 92873), (93008, 93017),
296 (120782, 120831), (123200, 123209), (123632, 123641), (125264, 125273),
297 (130032, 130041),
298];
299
300pub const REGIONAL_INDICATOR: &'static [(u32, u32)] = &[
301 (127462, 127487),
302];
303
304pub const SINGLE_QUOTE: &'static [(u32, u32)] = &[
305 (39, 39),
306];
307
308pub const WSEGSPACE: &'static [(u32, u32)] = &[
309 (32, 32), (5760, 5760), (8192, 8198), (8200, 8202), (8287, 8287),
310 (12288, 12288),
311];
312
313pub const ZWJ: &'static [(u32, u32)] = &[
314 (8205, 8205),
315];