void DWriteFontTypeface::onGetFontDescriptor(SkFontDescriptor* desc, bool* isLocalStream) const { // Get the family name. SkTScopedComPtr<IDWriteLocalizedStrings> dwFamilyNames; HRV(fDWriteFontFamily->GetFamilyNames(&dwFamilyNames)); UINT32 dwFamilyNamesLength; HRV(dwFamilyNames->GetStringLength(0, &dwFamilyNamesLength)); SkSMallocWCHAR dwFamilyNameChar(dwFamilyNamesLength+1); HRV(dwFamilyNames->GetString(0, dwFamilyNameChar.get(), dwFamilyNamesLength+1)); SkString utf8FamilyName; HRV(sk_wchar_to_skstring(dwFamilyNameChar.get(), &utf8FamilyName)); desc->setFamilyName(utf8FamilyName.c_str()); *isLocalStream = SkToBool(fDWriteFontFileLoader.get()); }
void DWriteFontTypeface::onGetFontDescriptor(SkFontDescriptor* desc, bool* isLocalStream) const { // Get the family name. SkTScopedComPtr<IDWriteLocalizedStrings> familyNames; HRV(fDWriteFontFamily->GetFamilyNames(&familyNames)); SkString utf8FamilyName; sk_get_locale_string(familyNames.get(), nullptr/*fMgr->fLocaleName.get()*/, &utf8FamilyName); desc->setFamilyName(utf8FamilyName.c_str()); *isLocalStream = SkToBool(fDWriteFontFileLoader.get()); }
void DWriteFontTypeface::onGetFamilyName(SkString* familyName) const { SkTScopedComPtr<IDWriteLocalizedStrings> familyNames; HRV(fDWriteFontFamily->GetFamilyNames(&familyNames)); sk_get_locale_string(familyNames.get(), nullptr/*fMgr->fLocaleName.get()*/, familyName); }