in src/common/utils/Utf8.h [1409:1561]
utf8_constexpr14_impl utf8_int32_t utf8uprcodepoint(utf8_int32_t cp) {
if (((0x0061 <= cp) && (0x007a >= cp)) || ((0x00e0 <= cp) && (0x00f6 >= cp)) || ((0x00f8 <= cp) && (0x00fe >= cp)) ||
((0x03b1 <= cp) && (0x03c1 >= cp)) || ((0x03c3 <= cp) && (0x03cb >= cp)) || ((0x0430 <= cp) && (0x044f >= cp))) {
cp -= 32;
} else if ((0x0450 <= cp) && (0x045f >= cp)) {
cp -= 80;
} else if (((0x0100 <= cp) && (0x012f >= cp)) || ((0x0132 <= cp) && (0x0137 >= cp)) ||
((0x014a <= cp) && (0x0177 >= cp)) || ((0x0182 <= cp) && (0x0185 >= cp)) ||
((0x01a0 <= cp) && (0x01a5 >= cp)) || ((0x01de <= cp) && (0x01ef >= cp)) ||
((0x01f8 <= cp) && (0x021f >= cp)) || ((0x0222 <= cp) && (0x0233 >= cp)) ||
((0x0246 <= cp) && (0x024f >= cp)) || ((0x03d8 <= cp) && (0x03ef >= cp)) ||
((0x0460 <= cp) && (0x0481 >= cp)) || ((0x048a <= cp) && (0x04ff >= cp))) {
cp &= ~0x1;
} else if (((0x0139 <= cp) && (0x0148 >= cp)) || ((0x0179 <= cp) && (0x017e >= cp)) ||
((0x01af <= cp) && (0x01b0 >= cp)) || ((0x01b3 <= cp) && (0x01b6 >= cp)) ||
((0x01cd <= cp) && (0x01dc >= cp))) {
cp -= 1;
cp |= 0x1;
} else {
switch (cp) {
default:
break;
case 0x00ff:
cp = 0x0178;
break;
case 0x0180:
cp = 0x0243;
break;
case 0x01dd:
cp = 0x018e;
break;
case 0x019a:
cp = 0x023d;
break;
case 0x019e:
cp = 0x0220;
break;
case 0x0292:
cp = 0x01b7;
break;
case 0x01c6:
cp = 0x01c4;
break;
case 0x01c9:
cp = 0x01c7;
break;
case 0x01cc:
cp = 0x01ca;
break;
case 0x01f3:
cp = 0x01f1;
break;
case 0x01bf:
cp = 0x01f7;
break;
case 0x0188:
cp = 0x0187;
break;
case 0x018c:
cp = 0x018b;
break;
case 0x0192:
cp = 0x0191;
break;
case 0x0199:
cp = 0x0198;
break;
case 0x01a8:
cp = 0x01a7;
break;
case 0x01ad:
cp = 0x01ac;
break;
case 0x01b0:
cp = 0x01af;
break;
case 0x01b9:
cp = 0x01b8;
break;
case 0x01bd:
cp = 0x01bc;
break;
case 0x01f5:
cp = 0x01f4;
break;
case 0x023c:
cp = 0x023b;
break;
case 0x0242:
cp = 0x0241;
break;
case 0x037b:
cp = 0x03fd;
break;
case 0x037c:
cp = 0x03fe;
break;
case 0x037d:
cp = 0x03ff;
break;
case 0x03f3:
cp = 0x037f;
break;
case 0x03ac:
cp = 0x0386;
break;
case 0x03ad:
cp = 0x0388;
break;
case 0x03ae:
cp = 0x0389;
break;
case 0x03af:
cp = 0x038a;
break;
case 0x03cc:
cp = 0x038c;
break;
case 0x03cd:
cp = 0x038e;
break;
case 0x03ce:
cp = 0x038f;
break;
case 0x0371:
cp = 0x0370;
break;
case 0x0373:
cp = 0x0372;
break;
case 0x0377:
cp = 0x0376;
break;
case 0x03d1:
cp = 0x0398;
break;
case 0x03d7:
cp = 0x03cf;
break;
case 0x03f2:
cp = 0x03f9;
break;
case 0x03f8:
cp = 0x03f7;
break;
case 0x03fb:
cp = 0x03fa;
break;
}
}
return cp;
}