aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ports/SkFontConfigParser_android.cpp
diff options
context:
space:
mode:
authorGravatar djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-06-25 18:07:45 +0000
committerGravatar djsollen@google.com <djsollen@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-06-25 18:07:45 +0000
commit9a70f347c9f279bf7b4ad8f24e78e3e524767ed5 (patch)
tree559525db169cd7b77949b6b7c39dfa8b2f662e2e /src/ports/SkFontConfigParser_android.cpp
parent8fd160350ca5f57fbb1b2e03383c5778414a9b48 (diff)
Ensure we use the current locale when looking up fallback fonts per character
http://crbug.com/183830 R=scroggo@google.com Review URL: https://codereview.chromium.org/17691002 git-svn-id: http://skia.googlecode.com/svn/trunk@9751 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/ports/SkFontConfigParser_android.cpp')
-rw-r--r--src/ports/SkFontConfigParser_android.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/ports/SkFontConfigParser_android.cpp b/src/ports/SkFontConfigParser_android.cpp
index 9214d1bf61..b1c815993a 100644
--- a/src/ports/SkFontConfigParser_android.cpp
+++ b/src/ports/SkFontConfigParser_android.cpp
@@ -254,7 +254,7 @@ void SkFontConfigParser::GetTestFontFamilies(SkTDArray<FontFamily*> &fontFamilie
/**
* Read the persistent locale.
*/
-void SkFontConfigParser::GetLocale(AndroidLocale &locale)
+SkString SkFontConfigParser::GetLocale()
{
char propLang[PROP_VALUE_MAX], propRegn[PROP_VALUE_MAX];
__system_property_get("persist.sys.language", propLang);
@@ -269,8 +269,14 @@ void SkFontConfigParser::GetLocale(AndroidLocale &locale)
strcpy(propRegn, "US");
}
}
- strncpy(locale.language, propLang, 2);
- locale.language[2] = '\0';
- strncpy(locale.region, propRegn, 2);
- locale.region[2] = '\0';
+
+ SkString locale(6);
+ char* localeCStr = locale.writable_str();
+
+ strncpy(localeCStr, propLang, 2);
+ localeCStr[2] = '-';
+ strncpy(&localeCStr[3], propRegn, 2);
+ localeCStr[5] = '\0';
+
+ return locale;
}