diff --git a/src/common/stringTools.cpp b/src/common/stringTools.cpp index 74aea6104..308765036 100644 --- a/src/common/stringTools.cpp +++ b/src/common/stringTools.cpp @@ -33,6 +33,19 @@ void kiwix::loadICUExternalTables() { #endif } +std::string kiwix::removeAccents(const std::string &text) { + loadICUExternalTables(); + ucnv_setDefaultName("UTF-8"); + UErrorCode status = U_ZERO_ERROR; + Transliterator *removeAccentsTrans = Transliterator::createInstance("Lower; NFD; [:M:] remove; NFC", UTRANS_FORWARD, status); + UnicodeString ustring = UnicodeString(text.c_str()); + removeAccentsTrans->transliterate(ustring); + delete removeAccentsTrans; + std::string unaccentedText; + ustring.toUTF8String(unaccentedText); + return unaccentedText; +} + #ifndef __ANDROID__ /* Prepare integer for display */ @@ -59,19 +72,6 @@ std::string kiwix::beautifyFileSize(const unsigned int number) { } } -std::string kiwix::removeAccents(const std::string &text) { - loadICUExternalTables(); - ucnv_setDefaultName("UTF-8"); - UErrorCode status = U_ZERO_ERROR; - Transliterator *removeAccentsTrans = Transliterator::createInstance("Lower; NFD; [:M:] remove; NFC", UTRANS_FORWARD, status); - UnicodeString ustring = UnicodeString(text.c_str()); - removeAccentsTrans->transliterate(ustring); - delete removeAccentsTrans; - std::string unaccentedText; - ustring.toUTF8String(unaccentedText); - return unaccentedText; -} - void kiwix::printStringInHexadecimal(UnicodeString s) { std::cout << std::showbase << std::hex; for (int i=0; i