Merge pull request #1583 from unxed/fix-alt-keys
[far2l.git] / utils / src / CharClasses.cpp
blobe879b68e6b2373636ffca7967059d8bcf8e447fa
1 // this file autogenerated by CharClasses_mk.cpp
3 #include <wchar.h>
5 bool IsCharFullWidth(wchar_t c)
7 switch (c) {
8 case 0x1100 ... 0x115f:
9 case 0x231a: case 0x231b:
10 case 0x2329: case 0x232a:
11 case 0x23e9 ... 0x23ec:
12 case 0x23f0:
13 case 0x23f3:
14 case 0x25fd: case 0x25fe:
15 case 0x2614: case 0x2615:
16 case 0x2648 ... 0x2653:
17 case 0x267f:
18 case 0x2693:
19 case 0x26a1:
20 case 0x26aa: case 0x26ab:
21 case 0x26bd: case 0x26be:
22 case 0x26c4: case 0x26c5:
23 case 0x26ce:
24 case 0x26d4:
25 case 0x26ea:
26 case 0x26f2: case 0x26f3:
27 case 0x26f5:
28 case 0x26fa:
29 case 0x26fd:
30 case 0x2705:
31 case 0x270a: case 0x270b:
32 case 0x2728:
33 case 0x274c:
34 case 0x274e:
35 case 0x2753 ... 0x2755:
36 case 0x2757:
37 case 0x2795 ... 0x2797:
38 case 0x27b0:
39 case 0x27bf:
40 case 0x2b1b: case 0x2b1c:
41 case 0x2b50:
42 case 0x2b55:
43 case 0x2e80 ... 0x2e99:
44 case 0x2e9b ... 0x2ef3:
45 case 0x2f00 ... 0x2fd5:
46 case 0x2ff0 ... 0x2ffb:
47 case 0x3000 ... 0x303e:
48 case 0x3041 ... 0x3096:
49 case 0x3099 ... 0x30ff:
50 case 0x3105 ... 0x312f:
51 case 0x3131 ... 0x318e:
52 case 0x3190 ... 0x31e3:
53 case 0x31f0 ... 0x321e:
54 case 0x3220 ... 0x3247:
55 case 0x3250 ... 0x4dbf:
56 case 0x4e00 ... 0xa48c:
57 case 0xa490 ... 0xa4c6:
58 case 0xa960 ... 0xa97c:
59 case 0xac00 ... 0xd7a3:
60 case 0xf900 ... 0xfaff:
61 case 0xfe10 ... 0xfe19:
62 case 0xfe30 ... 0xfe52:
63 case 0xfe54 ... 0xfe66:
64 case 0xfe68 ... 0xfe6b:
65 case 0xff01 ... 0xff60:
66 case 0xffe0 ... 0xffe6:
67 case 0x16fe0 ... 0x16fe4:
68 case 0x16ff0: case 0x16ff1:
69 case 0x17000 ... 0x187f7:
70 case 0x18800 ... 0x18cd5:
71 case 0x18d00 ... 0x18d08:
72 case 0x1b000 ... 0x1b11e:
73 case 0x1b150 ... 0x1b152:
74 case 0x1b164 ... 0x1b167:
75 case 0x1b170 ... 0x1b2fb:
76 case 0x1f004:
77 case 0x1f0cf:
78 case 0x1f18e:
79 case 0x1f191 ... 0x1f19a:
80 case 0x1f200 ... 0x1f202:
81 case 0x1f210 ... 0x1f23b:
82 case 0x1f240 ... 0x1f248:
83 case 0x1f250: case 0x1f251:
84 case 0x1f260 ... 0x1f265:
85 case 0x1f300 ... 0x1f320:
86 case 0x1f32d ... 0x1f335:
87 case 0x1f337 ... 0x1f37c:
88 case 0x1f37e ... 0x1f393:
89 case 0x1f3a0 ... 0x1f3ca:
90 case 0x1f3cf ... 0x1f3d3:
91 case 0x1f3e0 ... 0x1f3f0:
92 case 0x1f3f4:
93 case 0x1f3f8 ... 0x1f43e:
94 case 0x1f440:
95 case 0x1f442 ... 0x1f4fc:
96 case 0x1f4ff ... 0x1f53d:
97 case 0x1f54b ... 0x1f54e:
98 case 0x1f550 ... 0x1f567:
99 case 0x1f57a:
100 case 0x1f595: case 0x1f596:
101 case 0x1f5a4:
102 case 0x1f5fb ... 0x1f64f:
103 case 0x1f680 ... 0x1f6c5:
104 case 0x1f6cc:
105 case 0x1f6d0 ... 0x1f6d2:
106 case 0x1f6d5 ... 0x1f6d7:
107 case 0x1f6eb: case 0x1f6ec:
108 case 0x1f6f4 ... 0x1f6fc:
109 case 0x1f7e0 ... 0x1f7eb:
110 case 0x1f90c ... 0x1f93a:
111 case 0x1f93c ... 0x1f945:
112 case 0x1f947 ... 0x1f978:
113 case 0x1f97a ... 0x1f9cb:
114 case 0x1f9cd ... 0x1f9ff:
115 case 0x1fa70 ... 0x1fa74:
116 case 0x1fa78 ... 0x1fa7a:
117 case 0x1fa80 ... 0x1fa86:
118 case 0x1fa90 ... 0x1faa8:
119 case 0x1fab0 ... 0x1fab6:
120 case 0x1fac0 ... 0x1fac2:
121 case 0x1fad0 ... 0x1fad6:
122 case 0x20000 ... 0x2fffd:
123 case 0x30000 ... 0x3fffd:
124 return true;
125 default: return false;
129 bool IsCharPrefix(wchar_t c)
131 switch (c) {
132 case 0xd800 ... 0xdfff:
133 return true;
134 default: return false;
138 bool IsCharSuffix(wchar_t c)
140 switch (c) {
141 case 0x300 ... 0x36f:
142 case 0x483 ... 0x487:
143 case 0x591 ... 0x5bd:
144 case 0x5bf:
145 case 0x5c1: case 0x5c2:
146 case 0x5c4: case 0x5c5:
147 case 0x5c7:
148 case 0x610 ... 0x61a:
149 case 0x620:
150 case 0x622 ... 0x65f:
151 case 0x66e ... 0x673:
152 case 0x675 ... 0x6d3:
153 case 0x6d5 ... 0x6dc:
154 case 0x6df ... 0x6e4:
155 case 0x6e7: case 0x6e8:
156 case 0x6ea ... 0x6ef:
157 case 0x6fa ... 0x6fc:
158 case 0x6ff:
159 case 0x710 ... 0x74a:
160 case 0x74d ... 0x77f:
161 case 0x7a6 ... 0x7b0:
162 case 0x7ca ... 0x7f3:
163 case 0x7fa:
164 case 0x7fd:
165 case 0x816 ... 0x819:
166 case 0x81b ... 0x823:
167 case 0x825 ... 0x827:
168 case 0x829 ... 0x82d:
169 case 0x840 ... 0x85b:
170 case 0x860:
171 case 0x862 ... 0x865:
172 case 0x867 ... 0x86a:
173 case 0x8a0 ... 0x8ac:
174 case 0x8ae ... 0x8b4:
175 case 0x8b6 ... 0x8c7:
176 case 0x8d3 ... 0x8e1:
177 case 0x8e3 ... 0x903:
178 case 0x93a ... 0x93c:
179 case 0x93e ... 0x94f:
180 case 0x951 ... 0x957:
181 case 0x962: case 0x963:
182 case 0x981 ... 0x983:
183 case 0x9bc:
184 case 0x9be ... 0x9c4:
185 case 0x9c7: case 0x9c8:
186 case 0x9cb ... 0x9cd:
187 case 0x9d7:
188 case 0x9e2: case 0x9e3:
189 case 0x9fe:
190 case 0xa01 ... 0xa03:
191 case 0xa3c:
192 case 0xa3e ... 0xa42:
193 case 0xa47: case 0xa48:
194 case 0xa4b ... 0xa4d:
195 case 0xa51:
196 case 0xa70: case 0xa71:
197 case 0xa75:
198 case 0xa81 ... 0xa83:
199 case 0xabc:
200 case 0xabe ... 0xac5:
201 case 0xac7 ... 0xac9:
202 case 0xacb ... 0xacd:
203 case 0xae2: case 0xae3:
204 case 0xafa ... 0xaff:
205 case 0xb01 ... 0xb03:
206 case 0xb3c:
207 case 0xb3e ... 0xb44:
208 case 0xb47: case 0xb48:
209 case 0xb4b ... 0xb4d:
210 case 0xb55 ... 0xb57:
211 case 0xb62: case 0xb63:
212 case 0xb82:
213 case 0xbbe ... 0xbc2:
214 case 0xbc6 ... 0xbc8:
215 case 0xbca ... 0xbcd:
216 case 0xbd7:
217 case 0xc00 ... 0xc04:
218 case 0xc3e ... 0xc44:
219 case 0xc46 ... 0xc48:
220 case 0xc4a ... 0xc4d:
221 case 0xc55: case 0xc56:
222 case 0xc62: case 0xc63:
223 case 0xc81 ... 0xc83:
224 case 0xcbc:
225 case 0xcbe ... 0xcc4:
226 case 0xcc6 ... 0xcc8:
227 case 0xcca ... 0xccd:
228 case 0xcd5: case 0xcd6:
229 case 0xce2: case 0xce3:
230 case 0xd00 ... 0xd03:
231 case 0xd3b: case 0xd3c:
232 case 0xd3e ... 0xd44:
233 case 0xd46 ... 0xd48:
234 case 0xd4a ... 0xd4d:
235 case 0xd57:
236 case 0xd62: case 0xd63:
237 case 0xd81 ... 0xd83:
238 case 0xdca:
239 case 0xdcf ... 0xdd4:
240 case 0xdd6:
241 case 0xdd8 ... 0xddf:
242 case 0xdf2: case 0xdf3:
243 case 0xe31:
244 case 0xe34 ... 0xe3a:
245 case 0xe47 ... 0xe4e:
246 case 0xeb1:
247 case 0xeb4 ... 0xebc:
248 case 0xec8 ... 0xecd:
249 case 0xf18: case 0xf19:
250 case 0xf35:
251 case 0xf37:
252 case 0xf39:
253 case 0xf3e: case 0xf3f:
254 case 0xf71 ... 0xf84:
255 case 0xf86: case 0xf87:
256 case 0xf8d ... 0xf97:
257 case 0xf99 ... 0xfbc:
258 case 0xfc6:
259 case 0x102b ... 0x103e:
260 case 0x1056 ... 0x1059:
261 case 0x105e ... 0x1060:
262 case 0x1062 ... 0x1064:
263 case 0x1067 ... 0x106d:
264 case 0x1071 ... 0x1074:
265 case 0x1082 ... 0x108d:
266 case 0x108f:
267 case 0x109a ... 0x109d:
268 case 0x135d ... 0x135f:
269 case 0x1712 ... 0x1714:
270 case 0x1732 ... 0x1734:
271 case 0x1752: case 0x1753:
272 case 0x1772: case 0x1773:
273 case 0x17b4 ... 0x17d3:
274 case 0x17dd:
275 case 0x1807:
276 case 0x180a ... 0x180d:
277 case 0x1820 ... 0x1878:
278 case 0x1885 ... 0x18aa:
279 case 0x1920 ... 0x192b:
280 case 0x1930 ... 0x193b:
281 case 0x1a17 ... 0x1a1b:
282 case 0x1a55 ... 0x1a5e:
283 case 0x1a60 ... 0x1a7c:
284 case 0x1a7f:
285 case 0x1ab0 ... 0x1b04:
286 case 0x1b34 ... 0x1b44:
287 case 0x1b6b ... 0x1b73:
288 case 0x1b80 ... 0x1b82:
289 case 0x1ba1 ... 0x1bad:
290 case 0x1be6 ... 0x1bf3:
291 case 0x1c24 ... 0x1c37:
292 case 0x1cd0 ... 0x1cd2:
293 case 0x1cd4 ... 0x1ce8:
294 case 0x1ced:
295 case 0x1cf4:
296 case 0x1cf7 ... 0x1cf9:
297 case 0x1dc0 ... 0x1dff:
298 case 0x200d:
299 case 0x20d0 ... 0x20ff:
300 case 0x2cef ... 0x2cf1:
301 case 0x2d7f:
302 case 0x2de0 ... 0x2dff:
303 case 0x302a ... 0x302f:
304 case 0x3099: case 0x309a:
305 case 0xa66f:
306 case 0xa674 ... 0xa67d:
307 case 0xa69e: case 0xa69f:
308 case 0xa6f0: case 0xa6f1:
309 case 0xa802:
310 case 0xa806:
311 case 0xa80b:
312 case 0xa823 ... 0xa827:
313 case 0xa82c:
314 case 0xa840 ... 0xa872:
315 case 0xa880: case 0xa881:
316 case 0xa8b4 ... 0xa8c5:
317 case 0xa8e0 ... 0xa8f1:
318 case 0xa8ff:
319 case 0xa926 ... 0xa92d:
320 case 0xa947 ... 0xa953:
321 case 0xa980 ... 0xa983:
322 case 0xa9b3 ... 0xa9c0:
323 case 0xa9e5:
324 case 0xaa29 ... 0xaa36:
325 case 0xaa43:
326 case 0xaa4c: case 0xaa4d:
327 case 0xaa7b ... 0xaa7d:
328 case 0xaab0:
329 case 0xaab2 ... 0xaab4:
330 case 0xaab7: case 0xaab8:
331 case 0xaabe: case 0xaabf:
332 case 0xaac1:
333 case 0xaaeb ... 0xaaef:
334 case 0xaaf5: case 0xaaf6:
335 case 0xabe3 ... 0xabea:
336 case 0xabec: case 0xabed:
337 case 0xfb1e:
338 case 0xfe00 ... 0xfe0f:
339 case 0xfe20 ... 0xfe2f:
340 case 0x101fd:
341 case 0x102e0:
342 case 0x10376 ... 0x1037a:
343 case 0x10a01 ... 0x10a03:
344 case 0x10a05: case 0x10a06:
345 case 0x10a0c ... 0x10a0f:
346 case 0x10a38 ... 0x10a3a:
347 case 0x10a3f:
348 case 0x10ac0 ... 0x10ac5:
349 case 0x10ac7:
350 case 0x10ac9: case 0x10aca:
351 case 0x10acd ... 0x10ae1:
352 case 0x10ae4 ... 0x10ae6:
353 case 0x10aeb ... 0x10aef:
354 case 0x10b80 ... 0x10b91:
355 case 0x10ba9 ... 0x10bae:
356 case 0x10d00 ... 0x10d27:
357 case 0x10eab: case 0x10eac:
358 case 0x10f30 ... 0x10f44:
359 case 0x10f46 ... 0x10f54:
360 case 0x10fb0:
361 case 0x10fb2 ... 0x10fb6:
362 case 0x10fb8 ... 0x10fbf:
363 case 0x10fc1 ... 0x10fc4:
364 case 0x10fc9 ... 0x10fcb:
365 case 0x11000 ... 0x11002:
366 case 0x11038 ... 0x11046:
367 case 0x1107f ... 0x11082:
368 case 0x110b0 ... 0x110ba:
369 case 0x11100 ... 0x11102:
370 case 0x11127 ... 0x11134:
371 case 0x11145: case 0x11146:
372 case 0x11173:
373 case 0x11180 ... 0x11182:
374 case 0x111b3 ... 0x111c0:
375 case 0x111c9 ... 0x111cc:
376 case 0x111ce: case 0x111cf:
377 case 0x1122c ... 0x11237:
378 case 0x1123e:
379 case 0x112df ... 0x112ea:
380 case 0x11300 ... 0x11303:
381 case 0x1133b: case 0x1133c:
382 case 0x1133e ... 0x11344:
383 case 0x11347: case 0x11348:
384 case 0x1134b ... 0x1134d:
385 case 0x11357:
386 case 0x11362: case 0x11363:
387 case 0x11366 ... 0x1136c:
388 case 0x11370 ... 0x11374:
389 case 0x11435 ... 0x11446:
390 case 0x1145e:
391 case 0x114b0 ... 0x114c3:
392 case 0x115af ... 0x115b5:
393 case 0x115b8 ... 0x115c0:
394 case 0x115dc: case 0x115dd:
395 case 0x11630 ... 0x11640:
396 case 0x116ab ... 0x116b7:
397 case 0x1171d ... 0x1172b:
398 case 0x1182c ... 0x1183a:
399 case 0x11930 ... 0x11935:
400 case 0x11937: case 0x11938:
401 case 0x1193b ... 0x1193e:
402 case 0x11940:
403 case 0x11942: case 0x11943:
404 case 0x119d1 ... 0x119d7:
405 case 0x119da ... 0x119e0:
406 case 0x119e4:
407 case 0x11a01 ... 0x11a0a:
408 case 0x11a33 ... 0x11a39:
409 case 0x11a3b ... 0x11a3e:
410 case 0x11a47:
411 case 0x11a51 ... 0x11a5b:
412 case 0x11a8a ... 0x11a99:
413 case 0x11c2f ... 0x11c36:
414 case 0x11c38 ... 0x11c3f:
415 case 0x11c92 ... 0x11ca7:
416 case 0x11ca9 ... 0x11cb6:
417 case 0x11d31 ... 0x11d36:
418 case 0x11d3a:
419 case 0x11d3c: case 0x11d3d:
420 case 0x11d3f ... 0x11d45:
421 case 0x11d47:
422 case 0x11d8a ... 0x11d8e:
423 case 0x11d90: case 0x11d91:
424 case 0x11d93 ... 0x11d97:
425 case 0x11ef3 ... 0x11ef6:
426 case 0x16af0 ... 0x16af4:
427 case 0x16b30 ... 0x16b36:
428 case 0x16f4f:
429 case 0x16f51 ... 0x16f87:
430 case 0x16f8f ... 0x16f92:
431 case 0x16fe4:
432 case 0x16ff0: case 0x16ff1:
433 case 0x1bc9d: case 0x1bc9e:
434 case 0x1d165 ... 0x1d169:
435 case 0x1d16d ... 0x1d172:
436 case 0x1d17b ... 0x1d182:
437 case 0x1d185 ... 0x1d18b:
438 case 0x1d1aa ... 0x1d1ad:
439 case 0x1d242 ... 0x1d244:
440 case 0x1da00 ... 0x1da36:
441 case 0x1da3b ... 0x1da6c:
442 case 0x1da75:
443 case 0x1da84:
444 case 0x1da9b ... 0x1da9f:
445 case 0x1daa1 ... 0x1daaf:
446 case 0x1e000 ... 0x1e006:
447 case 0x1e008 ... 0x1e018:
448 case 0x1e01b ... 0x1e021:
449 case 0x1e023: case 0x1e024:
450 case 0x1e026 ... 0x1e02a:
451 case 0x1e130 ... 0x1e136:
452 case 0x1e2ec ... 0x1e2ef:
453 case 0x1e8d0 ... 0x1e8d6:
454 case 0x1e900 ... 0x1e94a:
455 case 0xe0100 ... 0xe01ef:
456 return true;
457 default: return false;
461 bool IsCharXxxfix(wchar_t c)
463 return IsCharPrefix(c) || IsCharSuffix(c);