1 //===---------- Support/UnicodeCaseFold.cpp -------------------------------===//
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
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
12 //===----------------------------------------------------------------------===//
14 #include "llvm/Support/Unicode.h"
16 int llvm::sys::unicode::foldCharSimple(int C
) {
48 if (C
<= 0x0147 && C
% 2 == 1)
55 // LATIN CAPITAL LETTER Y WITH DIAERESIS
61 if (C
<= 0x017d && C
% 2 == 1)
63 // LATIN SMALL LETTER LONG S
66 // LATIN CAPITAL LETTER B WITH HOOK
74 // LATIN CAPITAL LETTER OPEN O
77 // LATIN CAPITAL LETTER C WITH HOOK
85 // LATIN CAPITAL LETTER D WITH TOPBAR
88 // LATIN CAPITAL LETTER REVERSED E
91 // LATIN CAPITAL LETTER SCHWA
94 // LATIN CAPITAL LETTER OPEN E
97 // LATIN CAPITAL LETTER F WITH HOOK
100 // LATIN CAPITAL LETTER G WITH HOOK
103 // LATIN CAPITAL LETTER GAMMA
106 // LATIN CAPITAL LETTER IOTA
109 // LATIN CAPITAL LETTER I WITH STROKE
112 // LATIN CAPITAL LETTER K WITH HOOK
115 // LATIN CAPITAL LETTER TURNED M
118 // LATIN CAPITAL LETTER N WITH LEFT HOOK
121 // LATIN CAPITAL LETTER O WITH MIDDLE TILDE
132 // LATIN CAPITAL LETTER TONE TWO
135 // LATIN CAPITAL LETTER ESH
138 // LATIN CAPITAL LETTER T WITH HOOK
141 // LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
144 // LATIN CAPITAL LETTER U WITH HORN
155 if (C
<= 0x01b5 && C
% 2 == 1)
157 // LATIN CAPITAL LETTER EZH
163 if (C
<= 0x01bc && C
% 4 == 0)
165 // LATIN CAPITAL LETTER DZ WITH CARON
168 // LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
171 // LATIN CAPITAL LETTER LJ
174 // LATIN CAPITAL LETTER L WITH SMALL LETTER J
177 // LATIN CAPITAL LETTER NJ
183 if (C
<= 0x01db && C
% 2 == 1)
190 // LATIN CAPITAL LETTER DZ
198 // LATIN CAPITAL LETTER HWAIR
201 // LATIN CAPITAL LETTER WYNN
209 // LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
217 // LATIN CAPITAL LETTER A WITH STROKE
220 // LATIN CAPITAL LETTER C WITH STROKE
223 // LATIN CAPITAL LETTER L WITH BAR
226 // LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
229 // LATIN CAPITAL LETTER GLOTTAL STOP
232 // LATIN CAPITAL LETTER B WITH STROKE
235 // LATIN CAPITAL LETTER U BAR
238 // LATIN CAPITAL LETTER TURNED V
246 // COMBINING GREEK YPOGEGRAMMENI
254 // GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
257 // GREEK CAPITAL LETTER YOT
260 // GREEK CAPITAL LETTER ALPHA WITH TONOS
268 // GREEK CAPITAL LETTER OMICRON WITH TONOS
286 // GREEK SMALL LETTER FINAL SIGMA
289 // GREEK CAPITAL KAI SYMBOL
295 // GREEK THETA SYMBOL
309 // GREEK KAPPA SYMBOL
315 // GREEK CAPITAL THETA SYMBOL
318 // GREEK LUNATE EPSILON SYMBOL
321 // GREEK CAPITAL LETTER SHO
324 // GREEK CAPITAL LUNATE SIGMA SYMBOL
327 // GREEK CAPITAL LETTER SAN
355 // CYRILLIC LETTER PALOCHKA
361 if (C
<= 0x04cd && C
% 2 == 1)
381 if (C
<= 0x10cd && C
% 6 == 5)
388 // CYRILLIC SMALL LETTER ROUNDED VE
391 // CYRILLIC SMALL LETTER LONG-LEGGED DE
394 // CYRILLIC SMALL LETTER NARROW O
402 // CYRILLIC SMALL LETTER THREE-LEGGED TE
405 // CYRILLIC SMALL LETTER TALL HARD SIGN
408 // CYRILLIC SMALL LETTER TALL YAT
411 // CYRILLIC SMALL LETTER UNBLENDED UK
419 // LATIN SMALL LETTER LONG S WITH DOT ABOVE
422 // LATIN CAPITAL LETTER SHARP S
458 if (C
<= 0x1f5f && C
% 2 == 1)
490 // GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
493 // GREEK PROSGEGRAMMENI
501 // GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
524 // GREEK CAPITAL LETTER RHO WITH DASIA
537 // GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
557 // ROMAN NUMERAL REVERSED ONE HUNDRED
570 // LATIN CAPITAL LETTER L WITH DOUBLE BAR
573 // LATIN CAPITAL LETTER L WITH MIDDLE TILDE
576 // LATIN CAPITAL LETTER P WITH STROKE
579 // LATIN CAPITAL LETTER R WITH TAIL
585 if (C
<= 0x2c6b && C
% 2 == 1)
587 // LATIN CAPITAL LETTER ALPHA
590 // LATIN CAPITAL LETTER M WITH HOOK
593 // LATIN CAPITAL LETTER TURNED A
596 // LATIN CAPITAL LETTER TURNED ALPHA
602 if (C
<= 0x2c75 && C
% 3 == 2)
617 if (C
<= 0x2ced && C
% 2 == 1)
622 if (C
<= 0xa640 && C
% 31054 == 11506)
647 if (C
<= 0xa77b && C
% 2 == 1)
649 // LATIN CAPITAL LETTER INSULAR G
657 // LATIN CAPITAL LETTER SALTILLO
660 // LATIN CAPITAL LETTER TURNED H
673 // LATIN CAPITAL LETTER H WITH HOOK
676 // LATIN CAPITAL LETTER REVERSED OPEN E
679 // LATIN CAPITAL LETTER SCRIPT G
682 // LATIN CAPITAL LETTER L WITH BELT
685 // LATIN CAPITAL LETTER SMALL CAPITAL I
688 // LATIN CAPITAL LETTER TURNED K
691 // LATIN CAPITAL LETTER TURNED T
694 // LATIN CAPITAL LETTER J WITH CROSSED-TAIL
697 // LATIN CAPITAL LETTER CHI