diff options
Diffstat (limited to 'src/common/Utilities/Util.h')
-rw-r--r-- | src/common/Utilities/Util.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/common/Utilities/Util.h b/src/common/Utilities/Util.h index e47be23c95a..20520cb2068 100644 --- a/src/common/Utilities/Util.h +++ b/src/common/Utilities/Util.h @@ -23,6 +23,8 @@ #include <string> #include <vector> +enum LocaleConstant : uint8; + class TC_COMMON_API Tokenizer { public: @@ -247,6 +249,10 @@ inline wchar_t wcharToUpper(wchar_t wchar) return wchar_t(uint16(wchar)-0x0020); if (wchar == 0x0451) // CYRILLIC SMALL LETTER IO return wchar_t(0x0401); + if (wchar == 0x0153) // LATIN SMALL LIGATURE OE + return wchar_t(0x0152); + if (wchar == 0x00FF) // LATIN SMALL LETTER Y WITH DIAERESIS + return wchar_t(0x0178); return wchar; } @@ -273,12 +279,18 @@ inline wchar_t wcharToLower(wchar_t wchar) return wchar_t(0x00DF); if (wchar == 0x0401) // CYRILLIC CAPITAL LETTER IO return wchar_t(0x0451); + if (wchar == 0x0152) // LATIN CAPITAL LIGATURE OE + return wchar_t(0x0153); + if (wchar == 0x0178) // LATIN CAPITAL LETTER Y WITH DIAERESIS + return wchar_t(0x00FF); if (wchar >= 0x0410 && wchar <= 0x042F) // CYRILLIC CAPITAL LETTER A - CYRILLIC CAPITAL LETTER YA return wchar_t(uint16(wchar)+0x0020); return wchar; } +TC_COMMON_API std::wstring wstrCaseAccentInsensitiveParse(std::wstring const& wstr, LocaleConstant locale); + TC_COMMON_API void wstrToUpper(std::wstring& str); TC_COMMON_API void wstrToLower(std::wstring& str); |