aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ports/SkTypeface_win_dw.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ports/SkTypeface_win_dw.cpp')
-rw-r--r--src/ports/SkTypeface_win_dw.cpp13
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 &&