Line data Source code
1 : //===---------- Support/UnicodeCaseFold.cpp -------------------------------===//
2 : //
3 : // This file was generated by utils/unicode-case-fold.py from the Unicode
4 : // case folding database at
5 : // http://www.unicode.org/Public/9.0.0/ucd/CaseFolding.txt
6 : //
7 : // To regenerate this file, run:
8 : // utils/unicode-case-fold.py \
9 : // "http://www.unicode.org/Public/9.0.0/ucd/CaseFolding.txt" \
10 : // > lib/Support/UnicodeCaseFold.cpp
11 : //
12 : //===----------------------------------------------------------------------===//
13 :
14 : #include "llvm/Support/Unicode.h"
15 :
16 34 : int llvm::sys::unicode::foldCharSimple(int C) {
17 34 : if (C < 0x0041)
18 : return C;
19 : // 26 characters
20 34 : if (C <= 0x005a)
21 0 : return C + 32;
22 : // MICRO SIGN
23 34 : if (C == 0x00b5)
24 : return 0x03bc;
25 34 : if (C < 0x00c0)
26 : return C;
27 : // 23 characters
28 34 : if (C <= 0x00d6)
29 2 : return C + 32;
30 32 : if (C < 0x00d8)
31 : return C;
32 : // 7 characters
33 32 : if (C <= 0x00de)
34 0 : return C + 32;
35 32 : if (C < 0x0100)
36 : return C;
37 : // 24 characters
38 30 : if (C <= 0x012e)
39 4 : return C | 1;
40 26 : if (C < 0x0132)
41 : return C;
42 : // 3 characters
43 26 : if (C <= 0x0136)
44 0 : return C | 1;
45 26 : if (C < 0x0139)
46 : return C;
47 : // 8 characters
48 26 : if (C <= 0x0147 && C % 2 == 1)
49 2 : return C + 1;
50 24 : if (C < 0x014a)
51 : return C;
52 : // 23 characters
53 22 : if (C <= 0x0176)
54 0 : return C | 1;
55 : // LATIN CAPITAL LETTER Y WITH DIAERESIS
56 22 : if (C == 0x0178)
57 : return 0x00ff;
58 22 : if (C < 0x0179)
59 : return C;
60 : // 3 characters
61 22 : if (C <= 0x017d && C % 2 == 1)
62 0 : return C + 1;
63 : // LATIN SMALL LETTER LONG S
64 22 : if (C == 0x017f)
65 : return 0x0073;
66 : // LATIN CAPITAL LETTER B WITH HOOK
67 22 : if (C == 0x0181)
68 : return 0x0253;
69 22 : if (C < 0x0182)
70 : return C;
71 : // 2 characters
72 22 : if (C <= 0x0184)
73 0 : return C | 1;
74 : // LATIN CAPITAL LETTER OPEN O
75 22 : if (C == 0x0186)
76 : return 0x0254;
77 : // LATIN CAPITAL LETTER C WITH HOOK
78 22 : if (C == 0x0187)
79 : return 0x0188;
80 22 : if (C < 0x0189)
81 : return C;
82 : // 2 characters
83 22 : if (C <= 0x018a)
84 0 : return C + 205;
85 : // LATIN CAPITAL LETTER D WITH TOPBAR
86 22 : if (C == 0x018b)
87 : return 0x018c;
88 : // LATIN CAPITAL LETTER REVERSED E
89 22 : if (C == 0x018e)
90 : return 0x01dd;
91 : // LATIN CAPITAL LETTER SCHWA
92 22 : if (C == 0x018f)
93 : return 0x0259;
94 : // LATIN CAPITAL LETTER OPEN E
95 22 : if (C == 0x0190)
96 : return 0x025b;
97 : // LATIN CAPITAL LETTER F WITH HOOK
98 22 : if (C == 0x0191)
99 : return 0x0192;
100 : // LATIN CAPITAL LETTER G WITH HOOK
101 22 : if (C == 0x0193)
102 : return 0x0260;
103 : // LATIN CAPITAL LETTER GAMMA
104 22 : if (C == 0x0194)
105 : return 0x0263;
106 : // LATIN CAPITAL LETTER IOTA
107 22 : if (C == 0x0196)
108 : return 0x0269;
109 : // LATIN CAPITAL LETTER I WITH STROKE
110 22 : if (C == 0x0197)
111 : return 0x0268;
112 : // LATIN CAPITAL LETTER K WITH HOOK
113 22 : if (C == 0x0198)
114 : return 0x0199;
115 : // LATIN CAPITAL LETTER TURNED M
116 22 : if (C == 0x019c)
117 : return 0x026f;
118 : // LATIN CAPITAL LETTER N WITH LEFT HOOK
119 22 : if (C == 0x019d)
120 : return 0x0272;
121 : // LATIN CAPITAL LETTER O WITH MIDDLE TILDE
122 22 : if (C == 0x019f)
123 : return 0x0275;
124 22 : if (C < 0x01a0)
125 : return C;
126 : // 3 characters
127 22 : if (C <= 0x01a4)
128 0 : return C | 1;
129 : // LATIN LETTER YR
130 22 : if (C == 0x01a6)
131 : return 0x0280;
132 : // LATIN CAPITAL LETTER TONE TWO
133 22 : if (C == 0x01a7)
134 : return 0x01a8;
135 : // LATIN CAPITAL LETTER ESH
136 22 : if (C == 0x01a9)
137 : return 0x0283;
138 : // LATIN CAPITAL LETTER T WITH HOOK
139 22 : if (C == 0x01ac)
140 : return 0x01ad;
141 : // LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
142 22 : if (C == 0x01ae)
143 : return 0x0288;
144 : // LATIN CAPITAL LETTER U WITH HORN
145 22 : if (C == 0x01af)
146 : return 0x01b0;
147 22 : if (C < 0x01b1)
148 : return C;
149 : // 2 characters
150 22 : if (C <= 0x01b2)
151 0 : return C + 217;
152 : if (C < 0x01b3)
153 : return C;
154 : // 2 characters
155 22 : if (C <= 0x01b5 && C % 2 == 1)
156 0 : return C + 1;
157 : // LATIN CAPITAL LETTER EZH
158 22 : if (C == 0x01b7)
159 : return 0x0292;
160 22 : if (C < 0x01b8)
161 : return C;
162 : // 2 characters
163 22 : if (C <= 0x01bc && C % 4 == 0)
164 0 : return C + 1;
165 : // LATIN CAPITAL LETTER DZ WITH CARON
166 22 : if (C == 0x01c4)
167 : return 0x01c6;
168 : // LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
169 22 : if (C == 0x01c5)
170 : return 0x01c6;
171 : // LATIN CAPITAL LETTER LJ
172 22 : if (C == 0x01c7)
173 : return 0x01c9;
174 : // LATIN CAPITAL LETTER L WITH SMALL LETTER J
175 22 : if (C == 0x01c8)
176 : return 0x01c9;
177 : // LATIN CAPITAL LETTER NJ
178 22 : if (C == 0x01ca)
179 : return 0x01cc;
180 22 : if (C < 0x01cb)
181 : return C;
182 : // 9 characters
183 22 : if (C <= 0x01db && C % 2 == 1)
184 0 : return C + 1;
185 22 : if (C < 0x01de)
186 : return C;
187 : // 9 characters
188 22 : if (C <= 0x01ee)
189 0 : return C | 1;
190 : // LATIN CAPITAL LETTER DZ
191 22 : if (C == 0x01f1)
192 : return 0x01f3;
193 22 : if (C < 0x01f2)
194 : return C;
195 : // 2 characters
196 22 : if (C <= 0x01f4)
197 0 : return C | 1;
198 : // LATIN CAPITAL LETTER HWAIR
199 22 : if (C == 0x01f6)
200 : return 0x0195;
201 : // LATIN CAPITAL LETTER WYNN
202 22 : if (C == 0x01f7)
203 : return 0x01bf;
204 22 : if (C < 0x01f8)
205 : return C;
206 : // 20 characters
207 22 : if (C <= 0x021e)
208 0 : return C | 1;
209 : // LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
210 22 : if (C == 0x0220)
211 : return 0x019e;
212 22 : if (C < 0x0222)
213 : return C;
214 : // 9 characters
215 22 : if (C <= 0x0232)
216 0 : return C | 1;
217 : // LATIN CAPITAL LETTER A WITH STROKE
218 22 : if (C == 0x023a)
219 : return 0x2c65;
220 : // LATIN CAPITAL LETTER C WITH STROKE
221 22 : if (C == 0x023b)
222 : return 0x023c;
223 : // LATIN CAPITAL LETTER L WITH BAR
224 22 : if (C == 0x023d)
225 : return 0x019a;
226 : // LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
227 22 : if (C == 0x023e)
228 : return 0x2c66;
229 : // LATIN CAPITAL LETTER GLOTTAL STOP
230 22 : if (C == 0x0241)
231 : return 0x0242;
232 : // LATIN CAPITAL LETTER B WITH STROKE
233 22 : if (C == 0x0243)
234 : return 0x0180;
235 : // LATIN CAPITAL LETTER U BAR
236 22 : if (C == 0x0244)
237 : return 0x0289;
238 : // LATIN CAPITAL LETTER TURNED V
239 22 : if (C == 0x0245)
240 : return 0x028c;
241 22 : if (C < 0x0246)
242 : return C;
243 : // 5 characters
244 22 : if (C <= 0x024e)
245 0 : return C | 1;
246 : // COMBINING GREEK YPOGEGRAMMENI
247 22 : if (C == 0x0345)
248 : return 0x03b9;
249 22 : if (C < 0x0370)
250 : return C;
251 : // 2 characters
252 22 : if (C <= 0x0372)
253 0 : return C | 1;
254 : // GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
255 22 : if (C == 0x0376)
256 : return 0x0377;
257 : // GREEK CAPITAL LETTER YOT
258 22 : if (C == 0x037f)
259 : return 0x03f3;
260 : // GREEK CAPITAL LETTER ALPHA WITH TONOS
261 22 : if (C == 0x0386)
262 : return 0x03ac;
263 22 : if (C < 0x0388)
264 : return C;
265 : // 3 characters
266 22 : if (C <= 0x038a)
267 0 : return C + 37;
268 : // GREEK CAPITAL LETTER OMICRON WITH TONOS
269 22 : if (C == 0x038c)
270 : return 0x03cc;
271 22 : if (C < 0x038e)
272 : return C;
273 : // 2 characters
274 22 : if (C <= 0x038f)
275 0 : return C + 63;
276 22 : if (C < 0x0391)
277 : return C;
278 : // 17 characters
279 22 : if (C <= 0x03a1)
280 0 : return C + 32;
281 22 : if (C < 0x03a3)
282 : return C;
283 : // 9 characters
284 22 : if (C <= 0x03ab)
285 0 : return C + 32;
286 : // GREEK SMALL LETTER FINAL SIGMA
287 22 : if (C == 0x03c2)
288 : return 0x03c3;
289 : // GREEK CAPITAL KAI SYMBOL
290 22 : if (C == 0x03cf)
291 : return 0x03d7;
292 : // GREEK BETA SYMBOL
293 22 : if (C == 0x03d0)
294 : return 0x03b2;
295 : // GREEK THETA SYMBOL
296 22 : if (C == 0x03d1)
297 : return 0x03b8;
298 : // GREEK PHI SYMBOL
299 22 : if (C == 0x03d5)
300 : return 0x03c6;
301 : // GREEK PI SYMBOL
302 22 : if (C == 0x03d6)
303 : return 0x03c0;
304 22 : if (C < 0x03d8)
305 : return C;
306 : // 12 characters
307 22 : if (C <= 0x03ee)
308 0 : return C | 1;
309 : // GREEK KAPPA SYMBOL
310 22 : if (C == 0x03f0)
311 : return 0x03ba;
312 : // GREEK RHO SYMBOL
313 22 : if (C == 0x03f1)
314 : return 0x03c1;
315 : // GREEK CAPITAL THETA SYMBOL
316 22 : if (C == 0x03f4)
317 : return 0x03b8;
318 : // GREEK LUNATE EPSILON SYMBOL
319 22 : if (C == 0x03f5)
320 : return 0x03b5;
321 : // GREEK CAPITAL LETTER SHO
322 22 : if (C == 0x03f7)
323 : return 0x03f8;
324 : // GREEK CAPITAL LUNATE SIGMA SYMBOL
325 22 : if (C == 0x03f9)
326 : return 0x03f2;
327 : // GREEK CAPITAL LETTER SAN
328 22 : if (C == 0x03fa)
329 : return 0x03fb;
330 22 : if (C < 0x03fd)
331 : return C;
332 : // 3 characters
333 22 : if (C <= 0x03ff)
334 0 : return C + -130;
335 : if (C < 0x0400)
336 : return C;
337 : // 16 characters
338 22 : if (C <= 0x040f)
339 0 : return C + 80;
340 : if (C < 0x0410)
341 : return C;
342 : // 32 characters
343 22 : if (C <= 0x042f)
344 2 : return C + 32;
345 20 : if (C < 0x0460)
346 : return C;
347 : // 17 characters
348 18 : if (C <= 0x0480)
349 0 : return C | 1;
350 18 : if (C < 0x048a)
351 : return C;
352 : // 27 characters
353 18 : if (C <= 0x04be)
354 0 : return C | 1;
355 : // CYRILLIC LETTER PALOCHKA
356 18 : if (C == 0x04c0)
357 : return 0x04cf;
358 18 : if (C < 0x04c1)
359 : return C;
360 : // 7 characters
361 18 : if (C <= 0x04cd && C % 2 == 1)
362 0 : return C + 1;
363 18 : if (C < 0x04d0)
364 : return C;
365 : // 48 characters
366 18 : if (C <= 0x052e)
367 0 : return C | 1;
368 18 : if (C < 0x0531)
369 : return C;
370 : // 38 characters
371 18 : if (C <= 0x0556)
372 0 : return C + 48;
373 18 : if (C < 0x10a0)
374 : return C;
375 : // 38 characters
376 18 : if (C <= 0x10c5)
377 0 : return C + 7264;
378 18 : if (C < 0x10c7)
379 : return C;
380 : // 2 characters
381 18 : if (C <= 0x10cd && C % 6 == 5)
382 0 : return C + 7264;
383 18 : if (C < 0x13f8)
384 : return C;
385 : // 6 characters
386 18 : if (C <= 0x13fd)
387 0 : return C + -8;
388 : // CYRILLIC SMALL LETTER ROUNDED VE
389 18 : if (C == 0x1c80)
390 : return 0x0432;
391 : // CYRILLIC SMALL LETTER LONG-LEGGED DE
392 18 : if (C == 0x1c81)
393 : return 0x0434;
394 : // CYRILLIC SMALL LETTER NARROW O
395 18 : if (C == 0x1c82)
396 : return 0x043e;
397 18 : if (C < 0x1c83)
398 : return C;
399 : // 2 characters
400 18 : if (C <= 0x1c84)
401 0 : return C + -6210;
402 : // CYRILLIC SMALL LETTER THREE-LEGGED TE
403 18 : if (C == 0x1c85)
404 : return 0x0442;
405 : // CYRILLIC SMALL LETTER TALL HARD SIGN
406 18 : if (C == 0x1c86)
407 : return 0x044a;
408 : // CYRILLIC SMALL LETTER TALL YAT
409 18 : if (C == 0x1c87)
410 : return 0x0463;
411 : // CYRILLIC SMALL LETTER UNBLENDED UK
412 18 : if (C == 0x1c88)
413 : return 0xa64b;
414 18 : if (C < 0x1e00)
415 : return C;
416 : // 75 characters
417 18 : if (C <= 0x1e94)
418 0 : return C | 1;
419 : // LATIN SMALL LETTER LONG S WITH DOT ABOVE
420 18 : if (C == 0x1e9b)
421 : return 0x1e61;
422 : // LATIN CAPITAL LETTER SHARP S
423 18 : if (C == 0x1e9e)
424 : return 0x00df;
425 18 : if (C < 0x1ea0)
426 : return C;
427 : // 48 characters
428 18 : if (C <= 0x1efe)
429 4 : return C | 1;
430 14 : if (C < 0x1f08)
431 : return C;
432 : // 8 characters
433 14 : if (C <= 0x1f0f)
434 0 : return C + -8;
435 14 : if (C < 0x1f18)
436 : return C;
437 : // 6 characters
438 14 : if (C <= 0x1f1d)
439 0 : return C + -8;
440 14 : if (C < 0x1f28)
441 : return C;
442 : // 8 characters
443 14 : if (C <= 0x1f2f)
444 0 : return C + -8;
445 14 : if (C < 0x1f38)
446 : return C;
447 : // 8 characters
448 14 : if (C <= 0x1f3f)
449 0 : return C + -8;
450 14 : if (C < 0x1f48)
451 : return C;
452 : // 6 characters
453 14 : if (C <= 0x1f4d)
454 0 : return C + -8;
455 14 : if (C < 0x1f59)
456 : return C;
457 : // 4 characters
458 14 : if (C <= 0x1f5f && C % 2 == 1)
459 0 : return C + -8;
460 14 : if (C < 0x1f68)
461 : return C;
462 : // 8 characters
463 14 : if (C <= 0x1f6f)
464 0 : return C + -8;
465 14 : if (C < 0x1f88)
466 : return C;
467 : // 8 characters
468 14 : if (C <= 0x1f8f)
469 0 : return C + -8;
470 14 : if (C < 0x1f98)
471 : return C;
472 : // 8 characters
473 14 : if (C <= 0x1f9f)
474 0 : return C + -8;
475 14 : if (C < 0x1fa8)
476 : return C;
477 : // 8 characters
478 14 : if (C <= 0x1faf)
479 0 : return C + -8;
480 14 : if (C < 0x1fb8)
481 : return C;
482 : // 2 characters
483 14 : if (C <= 0x1fb9)
484 0 : return C + -8;
485 : if (C < 0x1fba)
486 : return C;
487 : // 2 characters
488 14 : if (C <= 0x1fbb)
489 0 : return C + -74;
490 : // GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
491 14 : if (C == 0x1fbc)
492 : return 0x1fb3;
493 : // GREEK PROSGEGRAMMENI
494 14 : if (C == 0x1fbe)
495 : return 0x03b9;
496 14 : if (C < 0x1fc8)
497 : return C;
498 : // 4 characters
499 14 : if (C <= 0x1fcb)
500 0 : return C + -86;
501 : // GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
502 14 : if (C == 0x1fcc)
503 : return 0x1fc3;
504 14 : if (C < 0x1fd8)
505 : return C;
506 : // 2 characters
507 14 : if (C <= 0x1fd9)
508 0 : return C + -8;
509 : if (C < 0x1fda)
510 : return C;
511 : // 2 characters
512 14 : if (C <= 0x1fdb)
513 0 : return C + -100;
514 14 : if (C < 0x1fe8)
515 : return C;
516 : // 2 characters
517 14 : if (C <= 0x1fe9)
518 0 : return C + -8;
519 : if (C < 0x1fea)
520 : return C;
521 : // 2 characters
522 14 : if (C <= 0x1feb)
523 0 : return C + -112;
524 : // GREEK CAPITAL LETTER RHO WITH DASIA
525 14 : if (C == 0x1fec)
526 : return 0x1fe5;
527 14 : if (C < 0x1ff8)
528 : return C;
529 : // 2 characters
530 14 : if (C <= 0x1ff9)
531 0 : return C + -128;
532 : if (C < 0x1ffa)
533 : return C;
534 : // 2 characters
535 14 : if (C <= 0x1ffb)
536 0 : return C + -126;
537 : // GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
538 14 : if (C == 0x1ffc)
539 : return 0x1ff3;
540 : // OHM SIGN
541 14 : if (C == 0x2126)
542 : return 0x03c9;
543 : // KELVIN SIGN
544 14 : if (C == 0x212a)
545 : return 0x006b;
546 : // ANGSTROM SIGN
547 12 : if (C == 0x212b)
548 : return 0x00e5;
549 : // TURNED CAPITAL F
550 12 : if (C == 0x2132)
551 : return 0x214e;
552 12 : if (C < 0x2160)
553 : return C;
554 : // 16 characters
555 12 : if (C <= 0x216f)
556 0 : return C + 16;
557 : // ROMAN NUMERAL REVERSED ONE HUNDRED
558 12 : if (C == 0x2183)
559 : return 0x2184;
560 12 : if (C < 0x24b6)
561 : return C;
562 : // 26 characters
563 12 : if (C <= 0x24cf)
564 0 : return C + 26;
565 12 : if (C < 0x2c00)
566 : return C;
567 : // 47 characters
568 12 : if (C <= 0x2c2e)
569 2 : return C + 48;
570 : // LATIN CAPITAL LETTER L WITH DOUBLE BAR
571 10 : if (C == 0x2c60)
572 : return 0x2c61;
573 : // LATIN CAPITAL LETTER L WITH MIDDLE TILDE
574 10 : if (C == 0x2c62)
575 : return 0x026b;
576 : // LATIN CAPITAL LETTER P WITH STROKE
577 10 : if (C == 0x2c63)
578 : return 0x1d7d;
579 : // LATIN CAPITAL LETTER R WITH TAIL
580 10 : if (C == 0x2c64)
581 : return 0x027d;
582 10 : if (C < 0x2c67)
583 : return C;
584 : // 3 characters
585 8 : if (C <= 0x2c6b && C % 2 == 1)
586 0 : return C + 1;
587 : // LATIN CAPITAL LETTER ALPHA
588 8 : if (C == 0x2c6d)
589 : return 0x0251;
590 : // LATIN CAPITAL LETTER M WITH HOOK
591 8 : if (C == 0x2c6e)
592 : return 0x0271;
593 : // LATIN CAPITAL LETTER TURNED A
594 8 : if (C == 0x2c6f)
595 : return 0x0250;
596 : // LATIN CAPITAL LETTER TURNED ALPHA
597 8 : if (C == 0x2c70)
598 : return 0x0252;
599 8 : if (C < 0x2c72)
600 : return C;
601 : // 2 characters
602 8 : if (C <= 0x2c75 && C % 3 == 2)
603 0 : return C + 1;
604 8 : if (C < 0x2c7e)
605 : return C;
606 : // 2 characters
607 8 : if (C <= 0x2c7f)
608 0 : return C + -10815;
609 : if (C < 0x2c80)
610 : return C;
611 : // 50 characters
612 8 : if (C <= 0x2ce2)
613 0 : return C | 1;
614 8 : if (C < 0x2ceb)
615 : return C;
616 : // 2 characters
617 8 : if (C <= 0x2ced && C % 2 == 1)
618 0 : return C + 1;
619 8 : if (C < 0x2cf2)
620 : return C;
621 : // 2 characters
622 8 : if (C <= 0xa640 && C % 31054 == 11506)
623 0 : return C + 1;
624 8 : if (C < 0xa642)
625 : return C;
626 : // 22 characters
627 8 : if (C <= 0xa66c)
628 0 : return C | 1;
629 8 : if (C < 0xa680)
630 : return C;
631 : // 14 characters
632 8 : if (C <= 0xa69a)
633 0 : return C | 1;
634 8 : if (C < 0xa722)
635 : return C;
636 : // 7 characters
637 8 : if (C <= 0xa72e)
638 0 : return C | 1;
639 8 : if (C < 0xa732)
640 : return C;
641 : // 31 characters
642 8 : if (C <= 0xa76e)
643 0 : return C | 1;
644 8 : if (C < 0xa779)
645 : return C;
646 : // 2 characters
647 8 : if (C <= 0xa77b && C % 2 == 1)
648 0 : return C + 1;
649 : // LATIN CAPITAL LETTER INSULAR G
650 8 : if (C == 0xa77d)
651 : return 0x1d79;
652 8 : if (C < 0xa77e)
653 : return C;
654 : // 5 characters
655 8 : if (C <= 0xa786)
656 0 : return C | 1;
657 : // LATIN CAPITAL LETTER SALTILLO
658 8 : if (C == 0xa78b)
659 : return 0xa78c;
660 : // LATIN CAPITAL LETTER TURNED H
661 8 : if (C == 0xa78d)
662 : return 0x0265;
663 8 : if (C < 0xa790)
664 : return C;
665 : // 2 characters
666 8 : if (C <= 0xa792)
667 0 : return C | 1;
668 8 : if (C < 0xa796)
669 : return C;
670 : // 10 characters
671 8 : if (C <= 0xa7a8)
672 0 : return C | 1;
673 : // LATIN CAPITAL LETTER H WITH HOOK
674 8 : if (C == 0xa7aa)
675 : return 0x0266;
676 : // LATIN CAPITAL LETTER REVERSED OPEN E
677 8 : if (C == 0xa7ab)
678 : return 0x025c;
679 : // LATIN CAPITAL LETTER SCRIPT G
680 8 : if (C == 0xa7ac)
681 : return 0x0261;
682 : // LATIN CAPITAL LETTER L WITH BELT
683 8 : if (C == 0xa7ad)
684 : return 0x026c;
685 : // LATIN CAPITAL LETTER SMALL CAPITAL I
686 8 : if (C == 0xa7ae)
687 : return 0x026a;
688 : // LATIN CAPITAL LETTER TURNED K
689 8 : if (C == 0xa7b0)
690 : return 0x029e;
691 : // LATIN CAPITAL LETTER TURNED T
692 8 : if (C == 0xa7b1)
693 : return 0x0287;
694 : // LATIN CAPITAL LETTER J WITH CROSSED-TAIL
695 8 : if (C == 0xa7b2)
696 : return 0x029d;
697 : // LATIN CAPITAL LETTER CHI
698 8 : if (C == 0xa7b3)
699 : return 0xab53;
700 8 : if (C < 0xa7b4)
701 : return C;
702 : // 2 characters
703 8 : if (C <= 0xa7b6)
704 0 : return C | 1;
705 8 : if (C < 0xab70)
706 : return C;
707 : // 80 characters
708 8 : if (C <= 0xabbf)
709 0 : return C + -38864;
710 8 : if (C < 0xff21)
711 : return C;
712 : // 26 characters
713 8 : if (C <= 0xff3a)
714 2 : return C + 32;
715 6 : if (C < 0x10400)
716 : return C;
717 : // 40 characters
718 4 : if (C <= 0x10427)
719 0 : return C + 40;
720 4 : if (C < 0x104b0)
721 : return C;
722 : // 36 characters
723 4 : if (C <= 0x104d3)
724 0 : return C + 40;
725 4 : if (C < 0x10c80)
726 : return C;
727 : // 51 characters
728 4 : if (C <= 0x10cb2)
729 2 : return C + 64;
730 2 : if (C < 0x118a0)
731 : return C;
732 : // 32 characters
733 0 : if (C <= 0x118bf)
734 0 : return C + 32;
735 0 : if (C < 0x1e900)
736 : return C;
737 : // 34 characters
738 0 : if (C <= 0x1e921)
739 0 : return C + 34;
740 :
741 : return C;
742 : }
|