diff options
Diffstat (limited to 'luni')
-rw-r--r-- | luni/src/main/java/libcore/icu/ICU.java | 1 | ||||
-rw-r--r-- | luni/src/main/native/libcore_icu_ICU.cpp | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/luni/src/main/java/libcore/icu/ICU.java b/luni/src/main/java/libcore/icu/ICU.java index 4d10238..7f3303e 100644 --- a/luni/src/main/java/libcore/icu/ICU.java +++ b/luni/src/main/java/libcore/icu/ICU.java @@ -165,6 +165,7 @@ public final class ICU { public static native String getISO3LanguageNative(String locale); public static native String addLikelySubtags(String locale); + public static native String getScript(String locale); private static native String[] getISOLanguagesNative(); private static native String[] getISOCountriesNative(); diff --git a/luni/src/main/native/libcore_icu_ICU.cpp b/luni/src/main/native/libcore_icu_ICU.cpp index f93891b..c18943d 100644 --- a/luni/src/main/native/libcore_icu_ICU.cpp +++ b/luni/src/main/native/libcore_icu_ICU.cpp @@ -97,6 +97,17 @@ static jstring ICU_addLikelySubtags(JNIEnv* env, jclass, jstring javaLocale) { return env->NewStringUTF(maximizedLocaleID); } +static jstring ICU_getScript(JNIEnv* env, jclass, jstring javaLocale) { + UErrorCode status = U_ZERO_ERROR; + ScopedUtfChars localeID(env, javaLocale); + char script[ULOC_SCRIPT_CAPACITY]; + uloc_getScript(localeID.c_str(), script, sizeof(script), &status); + if (U_FAILURE(status)) { + return NULL; + } + return env->NewStringUTF(script); +} + static jint ICU_getCurrencyFractionDigits(JNIEnv* env, jclass, jstring javaCurrencyCode) { ScopedJavaUnicodeString currencyCode(env, javaCurrencyCode); UnicodeString icuCurrencyCode(currencyCode.unicodeString()); @@ -725,6 +736,7 @@ static JNINativeMethod gMethods[] = { NATIVE_METHOD(ICU, getISOCountriesNative, "()[Ljava/lang/String;"), NATIVE_METHOD(ICU, getISOLanguagesNative, "()[Ljava/lang/String;"), NATIVE_METHOD(ICU, getIcuVersion, "()Ljava/lang/String;"), + NATIVE_METHOD(ICU, getScript, "(Ljava/lang/String;)Ljava/lang/String;"), NATIVE_METHOD(ICU, getUnicodeVersion, "()Ljava/lang/String;"), NATIVE_METHOD(ICU, initLocaleDataImpl, "(Ljava/lang/String;Llibcore/icu/LocaleData;)Z"), NATIVE_METHOD(ICU, toLowerCase, "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"), |