diff --git a/AUTHORS b/AUTHORS index d1190a65be7d..9e632407b4f9 100755 --- a/AUTHORS +++ b/AUTHORS @@ -64,6 +64,7 @@ Nils André-Chang Ning Liu Noah Lavine Oliver Dawes +Omeid Matten Opera Software ASA <*@opera.com> Pavel Krajcevski Petar Kirov diff --git a/modules/skparagraph/include/TypefaceFontProvider.h b/modules/skparagraph/include/TypefaceFontProvider.h index 29634da02907..62af26f777ac 100644 --- a/modules/skparagraph/include/TypefaceFontProvider.h +++ b/modules/skparagraph/include/TypefaceFontProvider.h @@ -47,9 +47,7 @@ class TypefaceFontProvider : public SkFontMgr { sk_sp onMatchFamily(const char familyName[]) const override; sk_sp onCreateStyleSet(int) const override { return nullptr; } - sk_sp onMatchFamilyStyle(const char[], const SkFontStyle&) const override { - return nullptr; - } + sk_sp onMatchFamilyStyle(const char familyName[], const SkFontStyle& pattern) const override; sk_sp onMatchFamilyStyleCharacter(const char[], const SkFontStyle&, const char*[], int, SkUnichar) const override { diff --git a/modules/skparagraph/src/TypefaceFontProvider.cpp b/modules/skparagraph/src/TypefaceFontProvider.cpp index 6737151f6dd3..d0d6c9fc4b4e 100644 --- a/modules/skparagraph/src/TypefaceFontProvider.cpp +++ b/modules/skparagraph/src/TypefaceFontProvider.cpp @@ -24,6 +24,16 @@ sk_sp TypefaceFontProvider::onMatchFamily(const char familyName[ return nullptr; } + +sk_sp TypefaceFontProvider::onMatchFamilyStyle(const char familyName[], const SkFontStyle& pattern) const { + sk_sp sset(this->matchFamily(familyName)); + if (sset) { + return sset->matchStyle(pattern); + } + + return nullptr; +} + size_t TypefaceFontProvider::registerTypeface(sk_sp typeface) { if (typeface == nullptr) { return 0;