Lines Matching refs:wc
218 static wchar_t __towcase(wchar_t wc, int lower) {
223 if (!iswalpha(wc) || (unsigned)wc - 0x0600 <= 0x0fff - 0x0600 ||
224 (unsigned)wc - 0x2e00 <= 0xa63f - 0x2e00 || (unsigned)wc - 0xa800 <= 0xfeff - 0xa800)
225 return wc;
227 if (lower && (unsigned)wc - 0x10a0 < 0x2e) {
228 if (wc > 0x10c5 && wc != 0x10c7 && wc != 0x10cd)
229 return wc;
231 return wc + 0x2d00 - 0x10a0;
233 if (!lower && (unsigned)wc - 0x2d00 < 0x26) {
234 if (wc > 0x2d25 && wc != 0x2d27 && wc != 0x2d2d)
235 return wc;
237 return wc + 0x10a0 - 0x2d00;
241 if ((unsigned)wc - base < casemaps[i].len) {
243 return wc + lower - ((wc - casemaps[i].upper) & 1);
244 return wc + lmul * casemaps[i].lower;
248 if (pairs[i][1 - lower] == wc)
251 if ((unsigned)wc - (0x10428 - 0x28 * lower) < 0x28)
252 return wc - 0x28 + 0x50 * lower;
253 return wc;
256 wint_t towupper(wint_t wc) {
257 return __towcase(wc, 0);
260 wint_t towlower(wint_t wc) {
261 return __towcase(wc, 1);