Index: include/ports/SkFontConfigInterface.h |
diff --git a/include/ports/SkFontConfigInterface.h b/include/ports/SkFontConfigInterface.h |
index 9f98e356d23c5c82ac62f4975bae3347fede1d85..dfa5bd0b1350b16f23d7e583d73c6d6a907001b9 100644 |
--- a/include/ports/SkFontConfigInterface.h |
+++ b/include/ports/SkFontConfigInterface.h |
@@ -97,12 +97,15 @@ public: |
* |
* The default implementation simply returns a new typeface built using data obtained from |
* openStream(), but derived classes may implement more complex caching schemes. |
- * |
- * Callers are responsible for unref-ing the result. |
*/ |
+ virtual sk_sp<SkTypeface> makeTypeface(const FontIdentity& identity) { |
+ return SkTypeface::MakeFromStream(this->openStream(identity), identity.fTTCIndex); |
+ } |
+#ifdef SK_SUPPORT_LEGACY_TYPEFACE_PTR |
virtual SkTypeface* createTypeface(const FontIdentity& identity) { |
- return SkTypeface::CreateFromStream(this->openStream(identity), identity.fTTCIndex); |
+ return this->makeTypeface(identity).release(); |
} |
+#endif |
/** |
* Return a singleton instance of a direct subclass that calls into |