Index: src/ports/SkFontHost_win_dw.cpp |
=================================================================== |
--- src/ports/SkFontHost_win_dw.cpp (revision 8310) |
+++ src/ports/SkFontHost_win_dw.cpp (working copy) |
@@ -479,6 +479,7 @@ |
} |
protected: |
+ virtual SkStream* onOpenStream(int* ttcIndex) const SK_OVERRIDE; |
virtual SkScalerContext* onCreateScalerContext(const SkDescriptor*) const SK_OVERRIDE; |
virtual void onFilterRec(SkScalerContextRec*) const SK_OVERRIDE; |
virtual SkAdvancedTypefaceMetrics* onGetAdvancedTypefaceMetrics( |
@@ -992,8 +993,6 @@ |
} |
//Copy the mask into the glyph. |
- int width = glyph.fWidth; |
- size_t dstRB = glyph.rowBytes(); |
const uint8_t* src = (const uint8_t*)bits; |
if (isBW) { |
bilevel_to_bw(src, glyph); |
@@ -1134,19 +1133,21 @@ |
SkStream* SkFontHost::OpenStream(SkFontID uniqueID) { |
DWriteFontTypeface* typeface = GetDWriteFontByID(uniqueID); |
- if (NULL == typeface) { |
- return NULL; |
- } |
+ return typeface ? typeface->openStream(NULL) : NULL; |
+} |
+SkStream* DWriteFontTypeface::onOpenStream(int* ttcIndex) const { |
+ *ttcIndex = 0; |
+ |
UINT32 numFiles; |
- HRNM(typeface->fDWriteFontFace->GetFiles(&numFiles, NULL), |
+ HRNM(fDWriteFontFace->GetFiles(&numFiles, NULL), |
"Could not get number of font files."); |
if (numFiles != 1) { |
return NULL; |
} |
SkTScopedComPtr<IDWriteFontFile> fontFile; |
- HRNM(typeface->fDWriteFontFace->GetFiles(&numFiles, &fontFile), "Could not get font files."); |
+ HRNM(fDWriteFontFace->GetFiles(&numFiles, &fontFile), "Could not get font files."); |
const void* fontFileKey; |
UINT32 fontFileKeySize; |
@@ -1381,7 +1382,8 @@ |
T::TAG1, |
T::TAG2, |
T::TAG3); |
- HRESULT hr = fontFace->TryGetFontTable(tag, |
+ // TODO: need to check for failure |
+ /*HRESULT hr =*/ fontFace->TryGetFontTable(tag, |
reinterpret_cast<const void **>(&fData), &fSize, &fLock, &fExists); |
} |
~AutoDWriteTable() { |