vcl/source/fontsubset/sft.cxx |  111 ++++++++++++++++++++----------------------
 1 file changed, 55 insertions(+), 56 deletions(-)

New commits:
commit d3f9b3029a1b5f6b389978509fdf8de7e128a4b3
Author:     Khaled Hosny <kha...@aliftype.com>
AuthorDate: Mon Dec 5 22:11:09 2022 +0200
Commit:     خالد حسني <kha...@aliftype.com>
CommitDate: Tue Dec 6 04:25:17 2022 +0000

    Shuffle code around
    
    Change-Id: I3b3a88c91634fb19a39d21cdd0095d34badea1e0
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143687
    Tested-by: Jenkins
    Reviewed-by: خالد حسني <kha...@aliftype.com>

diff --git a/vcl/source/fontsubset/sft.cxx b/vcl/source/fontsubset/sft.cxx
index ee2e0de65dbc..6250a1ee6f06 100644
--- a/vcl/source/fontsubset/sft.cxx
+++ b/vcl/source/fontsubset/sft.cxx
@@ -1809,9 +1809,61 @@ SFErrCodes CreateTTFromTTGlyphs(AbstractTrueTypeFont  
*ttf,
     return res;
 }
 
-static void FillFontSubsetInfo(AbstractTrueTypeFont*, FontSubsetInfo&);
-static bool CreateCFFfontSubset(const unsigned char*, int, 
std::vector<sal_uInt8>&,
-                                const sal_GlyphId*, const sal_uInt8*, int, 
FontSubsetInfo&);
+namespace
+{
+void FillFontSubsetInfo(AbstractTrueTypeFont* ttf, FontSubsetInfo& rInfo)
+{
+    TTGlobalFontInfo aTTInfo;
+    GetTTGlobalFontInfo(ttf, &aTTInfo);
+
+    rInfo.m_aPSName = OUString::fromUtf8(aTTInfo.psname);
+    rInfo.m_nFontType = FontType::SFNT_TTF;
+    rInfo.m_aFontBBox
+        = 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 = +aTTInfo.typoAscender;
+    if (!rInfo.m_nAscent)
+        rInfo.m_nAscent = +aTTInfo.ascender;
+    if (!rInfo.m_nDescent)
+        rInfo.m_nDescent = +aTTInfo.typoDescender;
+    if (!rInfo.m_nDescent)
+        rInfo.m_nDescent = -aTTInfo.descender;
+
+    rInfo.m_bFilled = true;
+}
+
+bool CreateCFFfontSubset(const unsigned char* pFontBytes, int nByteLength,
+                         std::vector<sal_uInt8>& rOutBuffer, const 
sal_GlyphId* pGlyphIds,
+                         const sal_uInt8* pEncoding, int nGlyphCount, 
FontSubsetInfo& rInfo)
+{
+    utl::TempFileFast aTempFile;
+    SvStream* pStream = aTempFile.GetStream(StreamMode::READWRITE);
+
+    rInfo.LoadFont(FontType::CFF_FONT, pFontBytes, nByteLength);
+    bool bRet = rInfo.CreateFontSubset(FontType::TYPE1_PFB, pStream, nullptr, 
pGlyphIds, pEncoding,
+                                       nGlyphCount);
+
+    if (bRet)
+    {
+        rOutBuffer.resize(pStream->TellEnd());
+        pStream->Seek(0);
+        auto nRead = pStream->ReadBytes(rOutBuffer.data(), rOutBuffer.size());
+        if (nRead != rOutBuffer.size())
+        {
+            rOutBuffer.clear();
+            return false;
+        }
+    }
+
+    return bRet;
+}
+}
 
 bool CreateTTFfontSubset(vcl::AbstractTrueTypeFont& rTTF, 
std::vector<sal_uInt8>& rOutBuffer,
                          const sal_GlyphId* pGlyphIds, const sal_uInt8* 
pEncoding,
@@ -1881,32 +1933,6 @@ bool CreateTTFfontSubset(vcl::AbstractTrueTypeFont& 
rTTF, std::vector<sal_uInt8>
             == vcl::SFErrCodes::Ok);
 }
 
-static bool CreateCFFfontSubset(const unsigned char* pFontBytes, int 
nByteLength,
-                                std::vector<sal_uInt8>& rOutBuffer, const 
sal_GlyphId* pGlyphIds,
-                                const sal_uInt8* pEncoding, int nGlyphCount, 
FontSubsetInfo& rInfo)
-{
-    utl::TempFileFast aTempFile;
-    SvStream* pStream = aTempFile.GetStream(StreamMode::READWRITE);
-
-    rInfo.LoadFont(FontType::CFF_FONT, pFontBytes, nByteLength);
-    bool bRet = rInfo.CreateFontSubset(FontType::TYPE1_PFB, pStream, nullptr, 
pGlyphIds, pEncoding,
-                                       nGlyphCount);
-
-    if (bRet)
-    {
-        rOutBuffer.resize(pStream->TellEnd());
-        pStream->Seek(0);
-        auto nRead = pStream->ReadBytes(rOutBuffer.data(), rOutBuffer.size());
-        if (nRead != rOutBuffer.size())
-        {
-            rOutBuffer.clear();
-            return false;
-        }
-    }
-
-    return bRet;
-}
-
 GlyphOffsets::GlyphOffsets(sal_uInt8 *sfntP, sal_uInt32 sfntLen)
 {
     sal_uInt8 *loca = nullptr;
@@ -2259,33 +2285,6 @@ void GetTTGlobalFontInfo(AbstractTrueTypeFont *ttf, 
TTGlobalFontInfo *info)
     }
 }
 
-static void FillFontSubsetInfo(AbstractTrueTypeFont *ttf, FontSubsetInfo& 
rInfo)
-{
-    TTGlobalFontInfo aTTInfo;
-    GetTTGlobalFontInfo(ttf, &aTTInfo);
-
-    rInfo.m_aPSName = OUString::fromUtf8(aTTInfo.psname);
-    rInfo.m_nFontType = FontType::SFNT_TTF;
-    rInfo.m_aFontBBox
-        = 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 = +aTTInfo.typoAscender;
-    if (!rInfo.m_nAscent)
-        rInfo.m_nAscent = +aTTInfo.ascender;
-    if (!rInfo.m_nDescent)
-        rInfo.m_nDescent = +aTTInfo.typoDescender;
-    if (!rInfo.m_nDescent)
-        rInfo.m_nDescent = -aTTInfo.descender;
-
-    rInfo.m_bFilled = true;
-}
-
 std::unique_ptr<GlyphData> GetTTRawGlyphData(AbstractTrueTypeFont *ttf, 
sal_uInt32 glyphID)
 {
     if (glyphID >= ttf->glyphCount())

Reply via email to