aboutsummaryrefslogtreecommitdiff
path: root/src/common/Utilities/Util.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/Utilities/Util.h')
-rw-r--r--src/common/Utilities/Util.h12
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);