include/vcl/fontcharmap.hxx          |   17 ++---------------
 vcl/inc/impfontcharmap.hxx           |    6 +++---
 vcl/source/font/PhysicalFontFace.cxx |    5 ++---
 vcl/source/font/fontcharmap.cxx      |   22 +++++++---------------
 4 files changed, 14 insertions(+), 36 deletions(-)

New commits:
commit 88d7aa8ab79b1197191b5eb24a3b67d313797026
Author:     Khaled Hosny <kha...@aliftype.com>
AuthorDate: Thu Sep 8 16:57:03 2022 +0200
Commit:     خالد حسني <kha...@aliftype.com>
CommitDate: Thu Sep 8 22:15:25 2022 +0200

    vcl: Drop CmapResult indirection
    
    Change-Id: I3b1beb5e976a255ef8ecdf8670b1e59547ec5ea4
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139700
    Tested-by: Jenkins
    Reviewed-by: خالد حسني <kha...@aliftype.com>

diff --git a/include/vcl/fontcharmap.hxx b/include/vcl/fontcharmap.hxx
index d79ffce7be92..f7bea49f0f7a 100644
--- a/include/vcl/fontcharmap.hxx
+++ b/include/vcl/fontcharmap.hxx
@@ -25,7 +25,6 @@
 #include <tools/ref.hxx>
 
 class ImplFontCharMap;
-class CmapResult;
 class FontCharMap;
 class OutputDevice;
 
@@ -40,9 +39,9 @@ public:
      **/
     FontCharMap();
 
-    /** A new FontCharMap is created based on the CmapResult
+    /** A new FontCharMap is created based on passed arguments.
      */
-    FontCharMap( const CmapResult& rCR );
+    FontCharMap(bool bSymbolic, const sal_UCS4* pRangeCodes, int nRangeCount);
 
     virtual ~FontCharMap() override;
 
@@ -154,18 +153,6 @@ private:
     void                operator=( const FontCharMap& ) = delete;
 };
 
-// CmapResult is a normalized version of the many CMAP formats
-class VCL_PLUGIN_PUBLIC CmapResult
-{
-public:
-    explicit            CmapResult( bool bSymbolic = false,
-                            const sal_UCS4* pRangeCodes = nullptr, int 
nRangeCount = 0 );
-
-    const sal_UCS4*     mpRangeCodes;
-    int                 mnRangeCount;
-    bool                mbSymbolic;
-};
-
 #endif // INCLUDED_FONTCHARMAP_HXX
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/impfontcharmap.hxx b/vcl/inc/impfontcharmap.hxx
index 36809cdd986b..b2d47dc9f2b7 100644
--- a/vcl/inc/impfontcharmap.hxx
+++ b/vcl/inc/impfontcharmap.hxx
@@ -26,12 +26,12 @@
 class ImplFontCharMap;
 typedef tools::SvRef<ImplFontCharMap> ImplFontCharMapRef;
 
-class CmapResult;
-
 class ImplFontCharMap final : public SvRefBase
 {
 public:
-    explicit            ImplFontCharMap( const CmapResult& );
+    explicit            ImplFontCharMap( bool bSymbolic,
+                                         const sal_uInt32* pRangeCodes,
+                                         int nRangeCount);
     virtual             ~ImplFontCharMap() override;
 
 private:
diff --git a/vcl/source/font/PhysicalFontFace.cxx 
b/vcl/source/font/PhysicalFontFace.cxx
index 1133b0d6a131..9c1a1b586423 100644
--- a/vcl/source/font/PhysicalFontFace.cxx
+++ b/vcl/source/font/PhysicalFontFace.cxx
@@ -248,7 +248,7 @@ FontCharMapRef PhysicalFontFace::GetFontCharMap() const
 
     if (hb_set_get_population(pUnicodes))
     {
-        // Convert HarfBuzz set to CmapResult ranges.
+        // Convert HarfBuzz set to code ranges.
         int nRangeCount = 0;
         hb_codepoint_t nFirst, nLast = HB_SET_VALUE_INVALID;
         while (hb_set_next_range(pUnicodes, &nFirst, &nLast))
@@ -263,8 +263,7 @@ FontCharMapRef PhysicalFontFace::GetFontCharMap() const
             *(pCP++) = nLast + 1;
         }
 
-        CmapResult aCmapResult(bSymbol, pRangeCodes, nRangeCount);
-        mxCharMap = new FontCharMap(aCmapResult);
+        mxCharMap = new FontCharMap(bSymbol, pRangeCodes, nRangeCount);
     }
 
     hb_set_destroy(pUnicodes);
diff --git a/vcl/source/font/fontcharmap.cxx b/vcl/source/font/fontcharmap.cxx
index 5896e786eca0..450521cc6008 100644
--- a/vcl/source/font/fontcharmap.cxx
+++ b/vcl/source/font/fontcharmap.cxx
@@ -23,13 +23,6 @@
 #include <algorithm>
 #include <vector>
 
-CmapResult::CmapResult( bool bSymbolic,
-    const sal_UCS4* pRangeCodes, int nRangeCount )
-:   mpRangeCodes( pRangeCodes)
-,   mnRangeCount( nRangeCount)
-,   mbSymbolic( bSymbolic)
-{}
-
 static ImplFontCharMapRef g_pDefaultImplFontCharMap;
 const sal_UCS4 aDefaultUnicodeRanges[] = {0x0020,0xD800, 0xE000,0xFFF0};
 const sal_UCS4 aDefaultSymbolRanges[] = {0x0020,0x0100, 0xF020,0xF100};
@@ -42,11 +35,11 @@ ImplFontCharMap::~ImplFontCharMap()
     }
 }
 
-ImplFontCharMap::ImplFontCharMap( const CmapResult& rCR )
-:   mpRangeCodes( rCR.mpRangeCodes )
-,   mnRangeCount( rCR.mnRangeCount )
+ImplFontCharMap::ImplFontCharMap(bool bSymbolic, const sal_UCS4* pRangeCodes, 
int nRangeCount)
+:   mpRangeCodes(pRangeCodes)
+,   mnRangeCount(nRangeCount)
 ,   mnCharCount( 0 )
-    , m_bSymbolic(rCR.mbSymbolic)
+,   m_bSymbolic(bSymbolic)
 {
     const sal_UCS4* pRangePtr = mpRangeCodes;
     for( int i = mnRangeCount; --i >= 0; pRangePtr += 2 )
@@ -67,8 +60,7 @@ ImplFontCharMapRef const & ImplFontCharMap::getDefaultMap( 
bool bSymbols )
         nCodesCount = std::size(aDefaultSymbolRanges);
     }
 
-    CmapResult aDefaultCR( bSymbols, pRangeCodes, nCodesCount/2 );
-    g_pDefaultImplFontCharMap = ImplFontCharMapRef(new 
ImplFontCharMap(aDefaultCR));
+    g_pDefaultImplFontCharMap = ImplFontCharMapRef(new 
ImplFontCharMap(bSymbols, pRangeCodes, nCodesCount/2));
 
     return g_pDefaultImplFontCharMap;
 }
@@ -115,8 +107,8 @@ FontCharMap::FontCharMap( ImplFontCharMapRef pIFCMap )
 {
 }
 
-FontCharMap::FontCharMap( const CmapResult& rCR )
-    : mpImplFontCharMap(new ImplFontCharMap(rCR))
+FontCharMap::FontCharMap(bool bSymbolic, const sal_UCS4* pRangeCodes, int 
nRangeCount)
+    : mpImplFontCharMap(new ImplFontCharMap(bSymbolic, pRangeCodes, 
nRangeCount))
 {
 }
 

Reply via email to