diff options
Diffstat (limited to 'src/ports/SkTypeface_win_dw.cpp')
-rw-r--r-- | src/ports/SkTypeface_win_dw.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/ports/SkTypeface_win_dw.cpp b/src/ports/SkTypeface_win_dw.cpp index ae4e3f7105..fe20cc9699 100644 --- a/src/ports/SkTypeface_win_dw.cpp +++ b/src/ports/SkTypeface_win_dw.cpp @@ -319,12 +319,9 @@ static void populate_glyph_to_unicode(IDWriteFontFace* fontFace, SkTDArray<SkUnichar>(glyphToUni, maxGlyph + 1).swap(*glyphToUnicode); } -SkAdvancedTypefaceMetrics* DWriteFontTypeface::onGetAdvancedTypefaceMetrics( - PerGlyphInfo perGlyphInfo, - const uint32_t* glyphIDs, - uint32_t glyphIDsCount) const { +std::unique_ptr<SkAdvancedTypefaceMetrics> DWriteFontTypeface::onGetAdvancedMetrics() const { - SkAdvancedTypefaceMetrics* info = nullptr; + std::unique_ptr<SkAdvancedTypefaceMetrics> info(nullptr); HRESULT hr = S_OK; @@ -333,7 +330,7 @@ SkAdvancedTypefaceMetrics* DWriteFontTypeface::onGetAdvancedTypefaceMetrics( DWRITE_FONT_METRICS dwfm; fDWriteFontFace->GetMetrics(&dwfm); - info = new SkAdvancedTypefaceMetrics; + info.reset(new SkAdvancedTypefaceMetrics); info->fAscent = SkToS16(dwfm.ascent); info->fDescent = SkToS16(dwfm.descent); @@ -353,9 +350,7 @@ SkAdvancedTypefaceMetrics* DWriteFontTypeface::onGetAdvancedTypefaceMetrics( hr = sk_wchar_to_skstring(familyName.get(), familyNameLen, &info->fFontName); - if (perGlyphInfo & kToUnicode_PerGlyphInfo) { - populate_glyph_to_unicode(fDWriteFontFace.get(), glyphCount, &(info->fGlyphToUnicode)); - } + populate_glyph_to_unicode(fDWriteFontFace.get(), glyphCount, &(info->fGlyphToUnicode)); DWRITE_FONT_FACE_TYPE fontType = fDWriteFontFace->GetType(); if (fontType != DWRITE_FONT_FACE_TYPE_TRUETYPE && |