diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-04-14 10:02:08 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2021-04-14 12:39:28 +0200 |
commit | e6aa51affc269753644222103d55f7655e84bfa2 (patch) | |
tree | a26e392985aa8e4b102a5faa3b6d1a672ad1d0f2 | |
parent | 0bbd74f93a6f37bf880981862437f892f43452d0 (diff) |
use original FontAttributes instead of an intermediate FastPrintFontInfo
Change-Id: Id8f8ea9b9d144d5bf9eace81ecc07e6b5dce6d41
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114077
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | vcl/inc/unx/fontmanager.hxx | 4 | ||||
-rw-r--r-- | vcl/unx/generic/fontmanager/fontconfig.cxx | 6 | ||||
-rw-r--r-- | vcl/unx/generic/glyphs/freetype_glyphcache.cxx | 11 |
3 files changed, 8 insertions, 13 deletions
diff --git a/vcl/inc/unx/fontmanager.hxx b/vcl/inc/unx/fontmanager.hxx index 0ef3aa3655e6..0f5a85d61153 100644 --- a/vcl/inc/unx/fontmanager.hxx +++ b/vcl/inc/unx/fontmanager.hxx @@ -40,6 +40,7 @@ * friends are PostScript afm style, that is they are 1/1000 font height */ +class FontAttributes; class FontSubsetInfo; class FontConfigFontOptions; class FontSelectPattern; @@ -310,7 +311,8 @@ public: in different fonts in e.g. english and japanese */ void matchFont( FastPrintFontInfo& rInfo, const css::lang::Locale& rLocale ); - static std::unique_ptr<FontConfigFontOptions> getFontOptions( const FastPrintFontInfo&, int nSize); + + static std::unique_ptr<FontConfigFontOptions> getFontOptions(const FontAttributes& rFontAttributes, int nSize); void Substitute(FontSelectPattern &rPattern, OUString& rMissingCodes); diff --git a/vcl/unx/generic/fontmanager/fontconfig.cxx b/vcl/unx/generic/fontmanager/fontconfig.cxx index 17ca8f46ccae..1ebe39ca4b98 100644 --- a/vcl/unx/generic/fontmanager/fontconfig.cxx +++ b/vcl/unx/generic/fontmanager/fontconfig.cxx @@ -1097,7 +1097,7 @@ void FontConfigFontOptions::SyncPattern(const OString& rFileName, sal_uInt32 nIn FcPatternAddBool(mpPattern, FC_EMBOLDEN, bEmbolden ? FcTrue : FcFalse); } -std::unique_ptr<FontConfigFontOptions> PrintFontManager::getFontOptions(const FastPrintFontInfo& rInfo, int nSize) +std::unique_ptr<FontConfigFontOptions> PrintFontManager::getFontOptions(const FontAttributes& rInfo, int nSize) { FontCfgWrapper& rWrapper = FontCfgWrapper::get(); @@ -1105,7 +1105,7 @@ std::unique_ptr<FontConfigFontOptions> PrintFontManager::getFontOptions(const Fa FcConfig* pConfig = FcConfigGetCurrent(); FcPattern* pPattern = FcPatternCreate(); - OString sFamily = OUStringToOString( rInfo.m_aFamilyName, RTL_TEXTENCODING_UTF8 ); + OString sFamily = OUStringToOString( rInfo.GetFamilyName(), RTL_TEXTENCODING_UTF8 ); std::unordered_map< OString, OString >::const_iterator aI = rWrapper.m_aLocalizedToCanonical.find(sFamily); if (aI != rWrapper.m_aLocalizedToCanonical.end()) @@ -1114,7 +1114,7 @@ std::unique_ptr<FontConfigFontOptions> PrintFontManager::getFontOptions(const Fa FcPatternAddString(pPattern, FC_FAMILY, reinterpret_cast<FcChar8 const *>(sFamily.getStr())); // TODO: ePitch argument of always PITCH_DONTKNOW is suspicious - addtopattern(pPattern, rInfo.m_eItalic, rInfo.m_eWeight, rInfo.m_eWidth, PITCH_DONTKNOW); + addtopattern(pPattern, rInfo.GetItalic(), rInfo.GetWeight(), rInfo.GetWidthType(), PITCH_DONTKNOW); FcPatternAddDouble(pPattern, FC_PIXEL_SIZE, nSize); FcConfigSubstitute(pConfig, pPattern, FcMatchPattern); diff --git a/vcl/unx/generic/glyphs/freetype_glyphcache.cxx b/vcl/unx/generic/glyphs/freetype_glyphcache.cxx index 5831979e6109..0881913c040c 100644 --- a/vcl/unx/generic/glyphs/freetype_glyphcache.cxx +++ b/vcl/unx/generic/glyphs/freetype_glyphcache.cxx @@ -473,16 +473,9 @@ FreetypeFont::FreetypeFont(FreetypeFontInstance& rFontInstance, const std::share namespace { - std::unique_ptr<FontConfigFontOptions> GetFCFontOptions( const FontAttributes& rFontAttributes, int nSize) + std::unique_ptr<FontConfigFontOptions> GetFCFontOptions(const FontAttributes& rFontAttributes, int nSize) { - psp::FastPrintFontInfo aInfo; - - aInfo.m_aFamilyName = rFontAttributes.GetFamilyName(); - aInfo.m_eItalic = rFontAttributes.GetItalic(); - aInfo.m_eWeight = rFontAttributes.GetWeight(); - aInfo.m_eWidth = rFontAttributes.GetWidthType(); - - return psp::PrintFontManager::getFontOptions(aInfo, nSize); + return psp::PrintFontManager::getFontOptions(rFontAttributes, nSize); } } |