summaryrefslogtreecommitdiffstats
path: root/luni
diff options
context:
space:
mode:
Diffstat (limited to 'luni')
-rw-r--r--luni/src/main/java/libcore/icu/ICU.java1
-rw-r--r--luni/src/main/native/libcore_icu_ICU.cpp12
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;"),