Index: src/core/SkTypeface.cpp |
diff --git a/src/core/SkTypeface.cpp b/src/core/SkTypeface.cpp |
index 8d4233eac14d62921dba471c6a1a24e4ec0bb9ff..a87e8f567736302fec8f0e0a06a4598ab48a9015 100644 |
--- a/src/core/SkTypeface.cpp |
+++ b/src/core/SkTypeface.cpp |
@@ -27,7 +27,7 @@ extern void WhitelistSerializeTypeface(const SkTypeface*, SkWStream* ); |
#define SK_TYPEFACE_DELEGATE nullptr |
#endif |
-SkTypeface* (*gCreateTypefaceDelegate)(const char [], SkTypeface::Style ) = nullptr; |
+SkTypeface* (*gCreateTypefaceDelegate)(const char [], SkFontStyle ) = nullptr; |
void (*gSerializeTypefaceDelegate)(const SkTypeface*, SkWStream* ) = SK_TYPEFACE_DELEGATE; |
SkTypeface* (*gDeserializeTypefaceDelegate)(SkStream* ) = nullptr; |
@@ -108,20 +108,22 @@ bool SkTypeface::Equal(const SkTypeface* facea, const SkTypeface* faceb) { |
/////////////////////////////////////////////////////////////////////////////// |
-SkTypeface* SkTypeface::CreateFromName(const char name[], Style style) { |
- if (gCreateTypefaceDelegate) { |
- SkTypeface* result = (*gCreateTypefaceDelegate)(name, style); |
- if (result) { |
- return result; |
- } |
- } |
- if (nullptr == name) { |
- return RefDefault(style); |
- } |
- SkAutoTUnref<SkFontMgr> fm(SkFontMgr::RefDefault()); |
- return fm->legacyCreateTypeface(name, style); |
+SkTypeface* SkTypeface::CreateFromName(const char name[], |
+ SkFontStyle fontStyle) { |
+ if (gCreateTypefaceDelegate) { |
+ SkTypeface* result = (*gCreateTypefaceDelegate)(name, fontStyle); |
+ if (result) { |
+ return result; |
+ } |
+ } |
+ if (nullptr == name) { |
+ return RefDefault(); |
+ } |
+ SkAutoTUnref<SkFontMgr> fm(SkFontMgr::RefDefault()); |
+ return fm->matchFamilyStyle(name, fontStyle); |
bungeman-skia
2016/03/22 20:16:43
I'm not sure we can make this change directly eith
Mikus
2016/03/23 10:47:17
What do you suggest, then? Should I restore the Cr
Mikus
2016/03/24 12:08:26
I suggest that we roll this and check the test res
|
} |
+ |
SkTypeface* SkTypeface::CreateFromTypeface(const SkTypeface* family, Style s) { |
if (!family) { |
return SkTypeface::RefDefault(s); |
@@ -193,7 +195,8 @@ SkTypeface* SkTypeface::Deserialize(SkStream* stream) { |
return typeface; |
} |
} |
- return SkTypeface::CreateFromName(desc.getFamilyName(), desc.getStyle()); |
+ return SkTypeface::CreateFromName(desc.getFamilyName(), |
+ SkFontStyle(desc.getStyle())); |
} |
/////////////////////////////////////////////////////////////////////////////// |