diff --git a/core/fxge/cfx_facecache.h b/core/fxge/cfx_facecache.h
index d6847de..076ba1f 100644
--- a/core/fxge/cfx_facecache.h
+++ b/core/fxge/cfx_facecache.h
@@ -14,6 +14,10 @@
 #include "core/fxge/fx_font.h"
 #include "core/fxge/fx_freetype.h"
 
+#if defined _SKIA_SUPPORT_ || _SKIA_SUPPORT_PATHS_
+#include "third_party/skia/include/core/SkTypeface.h"
+#endif
+
 class CFX_FaceCache {
  public:
   explicit CFX_FaceCache(FXFT_Face face);
@@ -60,7 +64,7 @@
   std::map<CFX_ByteString, std::unique_ptr<CFX_SizeGlyphCache>> m_SizeMap;
   std::map<uint32_t, std::unique_ptr<CFX_PathData>> m_PathMap;
 #if defined _SKIA_SUPPORT_ || _SKIA_SUPPORT_PATHS_
-  CFX_UnownedPtr<CFX_TypeFace> m_pTypeface;
+  sk_sp<SkTypeface> m_pTypeface;
 #endif
 };
 
diff --git a/core/fxge/ge/cfx_facecache.cpp b/core/fxge/ge/cfx_facecache.cpp
index 6049729..e675e11 100644
--- a/core/fxge/ge/cfx_facecache.cpp
+++ b/core/fxge/ge/cfx_facecache.cpp
@@ -89,9 +89,6 @@
 }
 
 CFX_FaceCache::~CFX_FaceCache() {
-#if defined _SKIA_SUPPORT_ || _SKIA_SUPPORT_PATHS_
-  SkSafeUnref(m_pTypeface.Get());
-#endif
 }
 
 std::unique_ptr<CFX_GlyphBitmap> CFX_FaceCache::RenderGlyph(
@@ -358,19 +355,17 @@
 #if defined _SKIA_SUPPORT_ || defined _SKIA_SUPPORT_PATHS_
 CFX_TypeFace* CFX_FaceCache::GetDeviceCache(const CFX_Font* pFont) {
   if (!m_pTypeface) {
-    m_pTypeface =
-        SkTypeface::MakeFromStream(
-            new SkMemoryStream(pFont->GetFontData(), pFont->GetSize()))
-            .release();
+    m_pTypeface = SkTypeface::MakeFromStream(
+        new SkMemoryStream(pFont->GetFontData(), pFont->GetSize()));
   }
 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_
   if (!m_pTypeface) {
     sk_sp<SkFontMgr> customMgr(SkFontMgr_New_Custom_Empty());
-    m_pTypeface = customMgr->createFromStream(
-        new SkMemoryStream(pFont->GetFontData(), pFont->GetSize()));
+    m_pTypeface.reset(customMgr->createFromStream(
+        new SkMemoryStream(pFont->GetFontData(), pFont->GetSize())));
   }
 #endif
-  return m_pTypeface.Get();
+  return m_pTypeface.get();
 }
 #endif
 
