Merge "Fix Java API error where requesting another style for a provided family fails" into klp-dev
diff --git a/core/jni/android/graphics/Typeface.cpp b/core/jni/android/graphics/Typeface.cpp
index ff62fff..a7a0bb2 100644
--- a/core/jni/android/graphics/Typeface.cpp
+++ b/core/jni/android/graphics/Typeface.cpp
@@ -44,7 +44,13 @@
}
static SkTypeface* Typeface_createFromTypeface(JNIEnv* env, jobject, SkTypeface* family, int style) {
- return SkTypeface::CreateFromTypeface(family, (SkTypeface::Style)style);
+ SkTypeface* face = SkTypeface::CreateFromTypeface(family, (SkTypeface::Style)style);
+ // return the default font at the best style if the requested style does not
+ // exist in the provided family
+ if (NULL == face) {
+ face = SkTypeface::CreateFromName(NULL, (SkTypeface::Style)style);
+ }
+ return face;
}
static void Typeface_unref(JNIEnv* env, jobject obj, SkTypeface* face) {