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/15.1.0/ucd/CaseFolding.txt
7 // To regenerate this file, run:
8 // utils/unicode-case-fold.py \
9 // "http://www.unicode.org/Public/15.1.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
429 // LATIN SMALL LETTER LONG S WITH DOT ABOVE
432 // LATIN CAPITAL LETTER SHARP S
468 if (C
<= 0x1f5f && C
% 2 == 1)
500 // GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
503 // GREEK PROSGEGRAMMENI
511 // GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
514 // GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
527 // GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
540 // GREEK CAPITAL LETTER RHO WITH DASIA
553 // GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
573 // ROMAN NUMERAL REVERSED ONE HUNDRED
586 // LATIN CAPITAL LETTER L WITH DOUBLE BAR
589 // LATIN CAPITAL LETTER L WITH MIDDLE TILDE
592 // LATIN CAPITAL LETTER P WITH STROKE
595 // LATIN CAPITAL LETTER R WITH TAIL
601 if (C
<= 0x2c6b && C
% 2 == 1)
603 // LATIN CAPITAL LETTER ALPHA
606 // LATIN CAPITAL LETTER M WITH HOOK
609 // LATIN CAPITAL LETTER TURNED A
612 // LATIN CAPITAL LETTER TURNED ALPHA
618 if (C
<= 0x2c75 && C
% 3 == 2)
633 if (C
<= 0x2ced && C
% 2 == 1)
638 if (C
<= 0xa640 && C
% 31054 == 11506)
663 if (C
<= 0xa77b && C
% 2 == 1)
665 // LATIN CAPITAL LETTER INSULAR G
673 // LATIN CAPITAL LETTER SALTILLO
676 // LATIN CAPITAL LETTER TURNED H
689 // LATIN CAPITAL LETTER H WITH HOOK
692 // LATIN CAPITAL LETTER REVERSED OPEN E
695 // LATIN CAPITAL LETTER SCRIPT G
698 // LATIN CAPITAL LETTER L WITH BELT
701 // LATIN CAPITAL LETTER SMALL CAPITAL I
704 // LATIN CAPITAL LETTER TURNED K
707 // LATIN CAPITAL LETTER TURNED T
710 // LATIN CAPITAL LETTER J WITH CROSSED-TAIL
713 // LATIN CAPITAL LETTER CHI
721 // LATIN CAPITAL LETTER C WITH PALATAL HOOK
724 // LATIN CAPITAL LETTER S WITH HOOK
727 // LATIN CAPITAL LETTER Z WITH PALATAL HOOK
733 if (C
<= 0xa7c9 && C
% 2 == 1)
738 if (C
<= 0xa7d6 && C
% 6 == 0)
743 if (C
<= 0xa7f5 && C
% 29 == 19)
750 // LATIN SMALL LIGATURE LONG S T