vcl/inc/sft.hxx | 3 +-- vcl/source/font/PhysicalFontFace.cxx | 5 +---- vcl/source/fontsubset/sft.cxx | 24 +++++++++++++----------- 3 files changed, 15 insertions(+), 17 deletions(-)
New commits: commit 196a8331ccb80fa7d79b74e827bf5433321b9815 Author: Khaled Hosny <kha...@aliftype.com> AuthorDate: Sun Sep 11 16:28:38 2022 +0200 Commit: خالد حسني <kha...@aliftype.com> CommitDate: Tue Sep 13 15:28:34 2022 +0200 vcl: Simplify calling FillFontSubsetInfo() Change-Id: I725ad2f3dcdbe032c0a36d9649a2ed85a499a20a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139800 Tested-by: Jenkins Reviewed-by: خالد حسني <kha...@aliftype.com> diff --git a/vcl/inc/sft.hxx b/vcl/inc/sft.hxx index ccadaeb8d0b5..9c73c8ace308 100644 --- a/vcl/inc/sft.hxx +++ b/vcl/inc/sft.hxx @@ -631,8 +631,7 @@ class TrueTypeFace; const sal_uInt8* pEncoding, int nGlyphCount, FontSubsetInfo& rInfo); - VCL_DLLPUBLIC void FillFontSubsetInfo(const TTGlobalFontInfo& rTTInfo, - const OUString& pPSName, + VCL_DLLPUBLIC void FillFontSubsetInfo(AbstractTrueTypeFont *ttf, FontSubsetInfo& rInfo); /** * Generates a new PostScript Type42 font and dumps it to <b>outf</b> file. diff --git a/vcl/source/font/PhysicalFontFace.cxx b/vcl/source/font/PhysicalFontFace.cxx index 245eab3ed88e..b8b0bf0316cd 100644 --- a/vcl/source/font/PhysicalFontFace.cxx +++ b/vcl/source/font/PhysicalFontFace.cxx @@ -307,10 +307,7 @@ bool PhysicalFontFace::CreateFontSubset(const OUString& rToFile, const sal_Glyph return false; // Get details about the subset font. - TTGlobalFontInfo aTTInfo; - GetTTGlobalFontInfo(&aSftFont, &aTTInfo); - OUString aPSName(aTTInfo.psname, std::strlen(aTTInfo.psname), RTL_TEXTENCODING_UTF8); - FillFontSubsetInfo(aTTInfo, aPSName, rInfo); + FillFontSubsetInfo(&aSftFont, rInfo); // write subset into destination file return CreateTTFfontSubset(aSftFont, aToFile, pGlyphIds, pEncoding, nGlyphCount); diff --git a/vcl/source/fontsubset/sft.cxx b/vcl/source/fontsubset/sft.cxx index 1e270805fb90..955e70b347c6 100644 --- a/vcl/source/fontsubset/sft.cxx +++ b/vcl/source/fontsubset/sft.cxx @@ -2348,27 +2348,29 @@ void GetTTGlobalFontInfo(AbstractTrueTypeFont *ttf, TTGlobalFontInfo *info) } } -void FillFontSubsetInfo(const vcl::TTGlobalFontInfo& rTTInfo, const OUString& pPSName, - FontSubsetInfo& rInfo) +void FillFontSubsetInfo(AbstractTrueTypeFont *ttf, FontSubsetInfo& rInfo) { - rInfo.m_aPSName = pPSName; + TTGlobalFontInfo aTTInfo; + GetTTGlobalFontInfo(ttf, &aTTInfo); + + rInfo.m_aPSName = OUString::fromUtf8(aTTInfo.psname); rInfo.m_nFontType = FontType::SFNT_TTF; rInfo.m_aFontBBox - = tools::Rectangle(Point(rTTInfo.xMin, rTTInfo.yMin), Point(rTTInfo.xMax, rTTInfo.yMax)); - rInfo.m_nCapHeight = rTTInfo.yMax; // Well ... - rInfo.m_nAscent = rTTInfo.winAscent; - rInfo.m_nDescent = rTTInfo.winDescent; + = tools::Rectangle(Point(aTTInfo.xMin, aTTInfo.yMin), Point(aTTInfo.xMax, aTTInfo.yMax)); + rInfo.m_nCapHeight = aTTInfo.yMax; // Well ... + rInfo.m_nAscent = aTTInfo.winAscent; + rInfo.m_nDescent = aTTInfo.winDescent; // mac fonts usually do not have an OS2-table // => get valid ascent/descent values from other tables if (!rInfo.m_nAscent) - rInfo.m_nAscent = +rTTInfo.typoAscender; + rInfo.m_nAscent = +aTTInfo.typoAscender; if (!rInfo.m_nAscent) - rInfo.m_nAscent = +rTTInfo.ascender; + rInfo.m_nAscent = +aTTInfo.ascender; if (!rInfo.m_nDescent) - rInfo.m_nDescent = +rTTInfo.typoDescender; + rInfo.m_nDescent = +aTTInfo.typoDescender; if (!rInfo.m_nDescent) - rInfo.m_nDescent = -rTTInfo.descender; + rInfo.m_nDescent = -aTTInfo.descender; } GlyphData *GetTTRawGlyphData(AbstractTrueTypeFont *ttf, sal_uInt32 glyphID)