override onGetTableTags() and onGetTableData() in SkTypeface, in preparation for
removing the associated APIs in SkFontHost.h



git-svn-id: http://skia.googlecode.com/svn/trunk@8303 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/ports/SkFontHost_mac.cpp b/src/ports/SkFontHost_mac.cpp
index 8438cc3..9bc757c 100755
--- a/src/ports/SkFontHost_mac.cpp
+++ b/src/ports/SkFontHost_mac.cpp
@@ -412,6 +412,7 @@
     friend class SkFontHost;    // to access our protected members for deprecated methods
 
     virtual int onGetUPEM() const SK_OVERRIDE;
+    virtual SkStream* onOpenStream(int* ttcIndex) const SK_OVERRIDE;
     virtual int onGetTableTags(SkFontTableTag tags[]) const SK_OVERRIDE;
     virtual size_t onGetTableData(SkFontTableTag, size_t offset,
                                   size_t length, void* data) const SK_OVERRIDE;
@@ -487,11 +488,6 @@
     return ctFont ? NewFromFontRef(ctFont, familyName) : NULL;
 }
 
-static CTFontRef GetFontRefFromFontID(SkFontID fontID) {
-    SkTypeface_Mac* face = reinterpret_cast<SkTypeface_Mac*>(SkTypefaceCache::FindByID(fontID));
-    return face ? face->fFontRef.get() : NULL;
-}
-
 static SkTypeface* GetDefaultFace() {
     SK_DECLARE_STATIC_MUTEX(gMutex);
     SkAutoMutexAcquire ma(gMutex);
@@ -1587,8 +1583,8 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 
-static SK_SFNT_ULONG get_font_type_tag(SkFontID uniqueID) {
-    CTFontRef ctFont = GetFontRefFromFontID(uniqueID);
+static SK_SFNT_ULONG get_font_type_tag(const SkTypeface_Mac* typeface) {
+    CTFontRef ctFont = typeface->fFontRef.get();
     AutoCFRelease<CFNumberRef> fontFormatRef(
             static_cast<CFNumberRef>(CTFontCopyAttribute(ctFont, kCTFontFormatAttribute)));
     if (!fontFormatRef) {
@@ -1620,23 +1616,23 @@
     }
 }
 
-SkStream* SkFontHost::OpenStream(SkFontID uniqueID) {
-    SK_SFNT_ULONG fontType = get_font_type_tag(uniqueID);
+SkStream* SkTypeface_Mac::onOpenStream(int* ttcIndex) const {
+    SK_SFNT_ULONG fontType = get_font_type_tag(this);
     if (0 == fontType) {
         return NULL;
     }
 
     // get table tags
-    int numTables = CountTables(uniqueID);
+    int numTables = this->countTables();
     SkTDArray<SkFontTableTag> tableTags;
     tableTags.setCount(numTables);
-    GetTableTags(uniqueID, tableTags.begin());
+    this->getTableTags(tableTags.begin());
 
     // calc total size for font, save sizes
     SkTDArray<size_t> tableSizes;
     size_t totalSize = sizeof(SkSFNTHeader) + sizeof(SkSFNTHeader::TableDirectoryEntry) * numTables;
     for (int tableIndex = 0; tableIndex < numTables; ++tableIndex) {
-        size_t tableSize = GetTableSize(uniqueID, tableTags[tableIndex]);
+        size_t tableSize = this->getTableSize(tableTags[tableIndex]);
         totalSize += (tableSize + 3) & ~3;
         *tableSizes.append() = tableSize;
     }
@@ -1671,7 +1667,7 @@
     dataPtr += sizeof(SkSFNTHeader::TableDirectoryEntry) * numTables;
     for (int tableIndex = 0; tableIndex < numTables; ++tableIndex) {
         size_t tableSize = tableSizes[tableIndex];
-        GetTableData(uniqueID, tableTags[tableIndex], 0, tableSize, dataPtr);
+        this->getTableData(tableTags[tableIndex], 0, tableSize, dataPtr);
         entry->tag = SkEndian_SwapBE32(tableTags[tableIndex]);
         entry->checksum = SkEndian_SwapBE32(SkOTUtils::CalcTableChecksum((SK_OT_ULONG*)dataPtr,
                                                                          tableSize));
@@ -1685,7 +1681,13 @@
     return stream;
 }
 
+SkStream* SkFontHost::OpenStream(SkFontID fontID) {
+    SkASSERT(!"SkFontHost::OpenStream is DEPRECATED\n");
+    return NULL;
+}
+
 size_t SkFontHost::GetFileName(SkFontID fontID, char path[], size_t length, int32_t* index) {
+    SkASSERT(!"SkFontHost::GetFileName is DEPRECATED\n");
     return 0;
 }