diff --git a/base/base_tests/string_utils_test.cpp b/base/base_tests/string_utils_test.cpp index fd37d4feb9..41aee69921 100644 --- a/base/base_tests/string_utils_test.cpp +++ b/base/base_tests/string_utils_test.cpp @@ -339,6 +339,12 @@ UNIT_TEST(Normalize) TEST_EQUAL(us, result, ()); } +UNIT_TEST(Normalize_Polish) +{ + string const utf8 = "ąĄćłŁÓŻźŃĘęĆ"; + TEST_EQUAL(strings::ToUtf8(strings::Normalize(strings::MakeUniString(utf8))), "aAclLOZzNEeC", ()); +} + UNIT_TEST(UniString_Less) { strings::UniString s0 = strings::MakeUniString("Test"); diff --git a/base/normalize_unicode.cpp b/base/normalize_unicode.cpp index e067eb152c..7d86812bc0 100644 --- a/base/normalize_unicode.cpp +++ b/base/normalize_unicode.cpp @@ -166,6 +166,10 @@ void Normalize(strings::UniString & s) case 0x3e: w(r,333,1); break; case 0x3f: w(r,1680,2); break; case 0x40: w(r,1678,2); break; + // @HACK Special case for Polish Ł + case 0x41: w(r,515,1); break; + // @HACK Special case for Polish ł + case 0x42: w(r,333,1); break; case 0x43: w(r,1122,1); break; case 0x44: w(r,1059,1); break; case 0x45: w(r,1122,1); break;