diff options
| -rw-r--r-- | core/jni/android/graphics/Typeface.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/core/jni/android/graphics/Typeface.cpp b/core/jni/android/graphics/Typeface.cpp index ff62fffc1029..a7a0bb222cdf 100644 --- a/core/jni/android/graphics/Typeface.cpp +++ b/core/jni/android/graphics/Typeface.cpp @@ -44,7 +44,13 @@ static SkTypeface* Typeface_create(JNIEnv* env, jobject, jstring name, } 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) { |