diff --git a/core/SkFontHost.h b/core/SkFontHost.h
index e847b76..4c5013f 100644
--- a/core/SkFontHost.h
+++ b/core/SkFontHost.h
@@ -12,8 +12,6 @@
 
 #include "SkTypeface.h"
 
-//#define SK_FONTHOST_USES_FONTMGR
-
 class SkDescriptor;
 class SkScalerContext;
 struct SkScalerContextRec;
diff --git a/core/SkTypeface.h b/core/SkTypeface.h
index af76824..d873e69 100644
--- a/core/SkTypeface.h
+++ b/core/SkTypeface.h
@@ -281,17 +281,6 @@
     SkStream* openStream(int* ttcIndex) const;
 
     /**
-     *  Search within this typeface's family for a best match to the
-     *  specified style, and return a ref to that typeface. Note: the
-     *  returned object could be this, if it is the best match, or it
-     *  could be a different typeface. Either way, the caller must balance
-     *  this call with unref() on the returned object.
-     *
-     *  Will never return NULL.
-     */
-    SkTypeface* refMatchingStyle(Style) const;
-
-    /**
      *  Return a scalercontext for the given descriptor. If this fails, then
      *  if allowFailure is true, this returns NULL, else it returns a
      *  dummy scalercontext that will not crash, but will draw nothing.
@@ -344,8 +333,6 @@
     virtual size_t onGetTableData(SkFontTableTag, size_t offset,
                                   size_t length, void* data) const = 0;
 
-    virtual SkTypeface* onRefMatchingStyle(Style styleBits) const = 0;
-
 private:
     SkFontID    fUniqueID;
     Style       fStyle;
diff --git a/ports/SkFontMgr.h b/ports/SkFontMgr.h
index 2a4219d..6e9f56f 100644
--- a/ports/SkFontMgr.h
+++ b/ports/SkFontMgr.h
@@ -105,6 +105,7 @@
                                                unsigned styleBits) = 0;
 private:
     static SkFontMgr* Factory();    // implemented by porting layer
+    friend void set_up_default(SkFontMgr** singleton);
 
     typedef SkRefCnt INHERITED;
 };
