diff --git a/dm/DM.cpp b/dm/DM.cpp
index 4656381..28369e9 100644
--- a/dm/DM.cpp
+++ b/dm/DM.cpp
@@ -1291,6 +1291,20 @@
 
 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
 
+#define PORTABLE_FONT_PREFIX "Toy Liberation "
+
+static sk_sp<SkTypeface> create_from_name(const char familyName[], SkFontStyle style) {
+    if (familyName && strlen(familyName) > sizeof(PORTABLE_FONT_PREFIX)
+            && !strncmp(familyName, PORTABLE_FONT_PREFIX, sizeof(PORTABLE_FONT_PREFIX) - 1)) {
+        return sk_tool_utils::create_portable_typeface(familyName, style);
+    }
+    return nullptr;
+}
+
+#undef PORTABLE_FONT_PREFIX
+
+extern sk_sp<SkTypeface> (*gCreateTypefaceDelegate)(const char [], SkFontStyle );
+
 int main(int argc, char** argv) {
 #if defined(SK_BUILD_FOR_ANDROID_FRAMEWORK) && defined(SK_HAS_HEIF_LIBRARY)
     android::ProcessState::self()->startThreadPool();
@@ -1343,6 +1357,7 @@
     JsonWriter::DumpJson();  // It's handy for the bots to assume this is ~never missing.
     SkAutoGraphics ag;
     SkTaskGroup::Enabler enabled(FLAGS_threads);
+    gCreateTypefaceDelegate = &create_from_name;
 
     if (nullptr == GetResourceAsData("images/color_wheel.png")) {
         info("Some resources are missing.  Do you need to set --resourcePath?\n");
diff --git a/src/core/SkTypeface.cpp b/src/core/SkTypeface.cpp
index 8e90f51..6b1e361 100644
--- a/src/core/SkTypeface.cpp
+++ b/src/core/SkTypeface.cpp
@@ -29,6 +29,8 @@
 #define SK_TYPEFACE_DELEGATE nullptr
 #endif
 
+sk_sp<SkTypeface> (*gCreateTypefaceDelegate)(const char[], SkFontStyle) = nullptr;
+
 void (*gSerializeTypefaceDelegate)(const SkTypeface*, SkWStream* ) = SK_TYPEFACE_DELEGATE;
 sk_sp<SkTypeface> (*gDeserializeTypefaceDelegate)(SkStream* ) = nullptr;
 
@@ -127,6 +129,12 @@
 
 sk_sp<SkTypeface> SkTypeface::MakeFromName(const char name[],
                                            SkFontStyle fontStyle) {
+    if (gCreateTypefaceDelegate) {
+        sk_sp<SkTypeface> result = (*gCreateTypefaceDelegate)(name, fontStyle);
+        if (result) {
+            return result;
+        }
+    }
     if (nullptr == name && (fontStyle.slant() == SkFontStyle::kItalic_Slant ||
                             fontStyle.slant() == SkFontStyle::kUpright_Slant) &&
                            (fontStyle.weight() == SkFontStyle::kBold_Weight ||
