aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ports/SkFontMgr_fontconfig.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ports/SkFontMgr_fontconfig.cpp')
-rw-r--r--src/ports/SkFontMgr_fontconfig.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/ports/SkFontMgr_fontconfig.cpp b/src/ports/SkFontMgr_fontconfig.cpp
index 3589ae8100..e5aed18c60 100644
--- a/src/ports/SkFontMgr_fontconfig.cpp
+++ b/src/ports/SkFontMgr_fontconfig.cpp
@@ -525,6 +525,21 @@ public:
return info;
}
+ sk_sp<SkTypeface> onMakeClone(const SkFontArguments& args) const override {
+ std::unique_ptr<SkFontData> data = this->cloneFontData(args);
+ if (!data) {
+ return nullptr;
+ }
+
+ SkString fFamilyName;
+ this->getFamilyName(&fFamilyName);
+
+ return sk_make_sp<SkTypeface_stream>(std::move(data),
+ fFamilyName,
+ this->fontStyle(),
+ this->isFixedPitch());
+ }
+
~SkTypeface_fontconfig() override {
// Hold the lock while unrefing the pattern.
FCLocker lock;