| Index: src/core/SkTypeface.cpp
|
| diff --git a/src/core/SkTypeface.cpp b/src/core/SkTypeface.cpp
|
| index 855ef909e8c4c17a53c60bb5b708086efbe94391..136dc2da7df52b301f4d233b31b9c080ae98c3df 100644
|
| --- a/src/core/SkTypeface.cpp
|
| +++ b/src/core/SkTypeface.cpp
|
| @@ -96,10 +96,20 @@ SkTypeface* SkTypeface::GetDefaultTypeface(Style style) {
|
| });
|
| }
|
|
|
| +SkTypeface* SkTypeface::GetDefaultTypeface(SkFontStyle style) {
|
| + SkAutoTUnref<SkFontMgr> fm(SkFontMgr::RefDefault());
|
| + SkTypeface* t = fm->matchFamilyStyle(nullptr, style);
|
| + return t ? t : SkEmptyTypeface::Create();
|
| +}
|
| +
|
| SkTypeface* SkTypeface::RefDefault(Style style) {
|
| return SkRef(GetDefaultTypeface(style));
|
| }
|
|
|
| +SkTypeface* SkTypeface::RefDefault(SkFontStyle style) {
|
| + return SkRef(GetDefaultTypeface(style));
|
| +}
|
| +
|
| uint32_t SkTypeface::UniqueID(const SkTypeface* face) {
|
| if (nullptr == face) {
|
| face = GetDefaultTypeface();
|
| @@ -127,6 +137,14 @@ SkTypeface* SkTypeface::CreateFromName(const char name[], Style style) {
|
| return fm->legacyCreateTypeface(name, SkFontStyle::FromOldStyle(style));
|
| }
|
|
|
| +SkTypeface* SkTypeface::CreateFromName(const char name[], SkFontStyle style) {
|
| + if (nullptr == name) {
|
| + return RefDefault(style);
|
| + }
|
| + SkAutoTUnref<SkFontMgr> fm(SkFontMgr::RefDefault());
|
| + return fm->matchFamilyStyle(name, style);
|
| +}
|
| +
|
| SkTypeface* SkTypeface::CreateFromTypeface(const SkTypeface* family, Style s) {
|
| if (!family) {
|
| return SkTypeface::RefDefault(s);
|
|
|