diff options
Diffstat (limited to 'platform/android/src/unaccent.cpp')
-rw-r--r-- | platform/android/src/unaccent.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/platform/android/src/unaccent.cpp b/platform/android/src/unaccent.cpp new file mode 100644 index 0000000000..ad804b3aae --- /dev/null +++ b/platform/android/src/unaccent.cpp @@ -0,0 +1,20 @@ +#include <unaccent.hpp> +#include <string> +#include <src/java/lang.hpp> +#include "attach_env.hpp" +#include "text/collator_jni.hpp" + +namespace mbgl { +namespace platform { + +std::string unaccent(const std::string& str) { + android::UniqueEnv env = android::AttachEnv(); + jni::String normalized = android::Normalizer::normalize(*env,jni::Make<jni::String>(*env, str)); + jni::String unaccented = android::java::lang::String::replaceAll(*env, normalized, + jni::Make<jni::String>(*env, "\\p{InCombiningDiacriticalMarks}+"), + jni::Make<jni::String>(*env, "")); + return jni::Make<std::string>(*env, unaccented); +} + +} // namespace platform +} // namespace mbgl |