Loading core/jni/android/graphics/Typeface.cpp +14 −2 Original line number Diff line number Diff line Loading @@ -34,6 +34,13 @@ static SkTypeface* Typeface_create(JNIEnv* env, jobject, jstring name, if (NULL != name) { AutoJavaStringToUTF8 str(env, name); face = SkTypeface::CreateFromName(str.c_str(), style); // Try to find the closest matching font, using the standard heuristic if (NULL == face) { face = SkTypeface::CreateFromName(str.c_str(), (SkTypeface::Style)(style ^ SkTypeface::kItalic)); } for (int i = 0; NULL == face && i < 4; i++) { face = SkTypeface::CreateFromName(str.c_str(), (SkTypeface::Style)i); } } // return the default font at the best style if no exact match exists Loading @@ -45,8 +52,13 @@ static SkTypeface* Typeface_create(JNIEnv* env, jobject, jstring name, static SkTypeface* Typeface_createFromTypeface(JNIEnv* env, jobject, SkTypeface* family, int 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 // Try to find the closest matching font, using the standard heuristic if (NULL == face) { face = SkTypeface::CreateFromTypeface(family, (SkTypeface::Style)(style ^ SkTypeface::kItalic)); } for (int i = 0; NULL == face && i < 4; i++) { face = SkTypeface::CreateFromTypeface(family, (SkTypeface::Style)i); } if (NULL == face) { face = SkTypeface::CreateFromName(NULL, (SkTypeface::Style)style); } Loading Loading
core/jni/android/graphics/Typeface.cpp +14 −2 Original line number Diff line number Diff line Loading @@ -34,6 +34,13 @@ static SkTypeface* Typeface_create(JNIEnv* env, jobject, jstring name, if (NULL != name) { AutoJavaStringToUTF8 str(env, name); face = SkTypeface::CreateFromName(str.c_str(), style); // Try to find the closest matching font, using the standard heuristic if (NULL == face) { face = SkTypeface::CreateFromName(str.c_str(), (SkTypeface::Style)(style ^ SkTypeface::kItalic)); } for (int i = 0; NULL == face && i < 4; i++) { face = SkTypeface::CreateFromName(str.c_str(), (SkTypeface::Style)i); } } // return the default font at the best style if no exact match exists Loading @@ -45,8 +52,13 @@ static SkTypeface* Typeface_create(JNIEnv* env, jobject, jstring name, static SkTypeface* Typeface_createFromTypeface(JNIEnv* env, jobject, SkTypeface* family, int 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 // Try to find the closest matching font, using the standard heuristic if (NULL == face) { face = SkTypeface::CreateFromTypeface(family, (SkTypeface::Style)(style ^ SkTypeface::kItalic)); } for (int i = 0; NULL == face && i < 4; i++) { face = SkTypeface::CreateFromTypeface(family, (SkTypeface::Style)i); } if (NULL == face) { face = SkTypeface::CreateFromName(NULL, (SkTypeface::Style)style); } Loading