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)

Reply via email to