[Libreoffice-commits] core.git: 3 commits - vcl/inc vcl/unx

Khaled Hosny khaledhosny at eglug.org
Thu Dec 29 23:37:25 UTC 2016


 vcl/inc/unx/fontmanager.hxx                 |    6 +-----
 vcl/unx/generic/fontmanager/fontconfig.cxx  |   14 ++++----------
 vcl/unx/generic/fontmanager/fontmanager.cxx |   11 ++---------
 vcl/unx/generic/fontmanager/helper.cxx      |   11 ++---------
 4 files changed, 9 insertions(+), 33 deletions(-)

New commits:
commit a7c51323b7343f82b5aea6098f5d5e31a8bad0e9
Author: Khaled Hosny <khaledhosny at eglug.org>
Date:   Thu Dec 29 22:15:01 2016 +0200

    Drop check for ancient FontConfig releases
    
    FontConfig 2.4.1 that fixes this bug was released 10 years ago.
    
    Change-Id: Ib0970d3916909fe14eb4e3ed1425f925a13160ad

diff --git a/vcl/unx/generic/fontmanager/fontconfig.cxx b/vcl/unx/generic/fontmanager/fontconfig.cxx
index 4d9fae1..9a58e91 100644
--- a/vcl/unx/generic/fontmanager/fontconfig.cxx
+++ b/vcl/unx/generic/fontmanager/fontconfig.cxx
@@ -221,8 +221,7 @@ FcFontSet* FontCfgWrapper::getFontSet()
     {
         m_pOutlineSet = FcFontSetCreate();
         addFontSet( FcSetSystem );
-        if( FcGetVersion() > 20400 ) // #i85462# prevent crashes
-            addFontSet( FcSetApplication );
+        addFontSet( FcSetApplication );
 
         ::std::sort(m_pOutlineSet->fonts,m_pOutlineSet->fonts+m_pOutlineSet->nfont,SortFont());
     }
@@ -659,11 +658,6 @@ void PrintFontManager::deinitFontconfig()
 
 void PrintFontManager::addFontconfigDir( const OString& rDirName )
 {
-    // workaround for a stability problems in older FC versions
-    // when handling application specific fonts
-    const int nVersion = FcGetVersion();
-    if( nVersion <= 20400 )
-        return;
     const char* pDirName = rDirName.getStr();
     bool bDirOk = (FcConfigAppFontAddDir(FcConfigGetCurrent(), reinterpret_cast<FcChar8 const *>(pDirName) ) == FcTrue);
 
commit aef0a650d35620692b2451c684d38a2b3fecf5a0
Author: Khaled Hosny <khaledhosny at eglug.org>
Date:   Thu Dec 29 21:52:36 2016 +0200

    Simplify this a bit
    
    The return value from addFontconfigDir() was effectively unused after
    the recent changes in this code.
    
    Change-Id: I99796442fe3bcaf767f3b804afd417b9d043c2a9

diff --git a/vcl/inc/unx/fontmanager.hxx b/vcl/inc/unx/fontmanager.hxx
index d922301..bf5e7b0 100644
--- a/vcl/inc/unx/fontmanager.hxx
+++ b/vcl/inc/unx/fontmanager.hxx
@@ -205,12 +205,8 @@ class VCL_PLUGIN_PUBLIC PrintFontManager
     since fontconfig is asked for font substitutes before OOo will check for font availability
     and fontconfig will happily substitute fonts it doesn't know (e.g. "Arial Narrow" -> "DejaVu Sans Book"!)
     it becomes necessary to tell the library about all the hidden font treasures
-
-    @returns
-    true if libfontconfig accepted the directory
-    false else (e.g. no libfontconfig found)
     */
-    static bool addFontconfigDir(const OString& rDirectory);
+    static void addFontconfigDir(const OString& rDirectory);
 
     std::set<OString> m_aPreviousLangSupportRequests;
 #if ENABLE_DBUS
diff --git a/vcl/unx/generic/fontmanager/fontconfig.cxx b/vcl/unx/generic/fontmanager/fontconfig.cxx
index 3c594f5..4d9fae1 100644
--- a/vcl/unx/generic/fontmanager/fontconfig.cxx
+++ b/vcl/unx/generic/fontmanager/fontconfig.cxx
@@ -657,13 +657,13 @@ void PrintFontManager::deinitFontconfig()
     FontCfgWrapper::release();
 }
 
-bool PrintFontManager::addFontconfigDir( const OString& rDirName )
+void PrintFontManager::addFontconfigDir( const OString& rDirName )
 {
     // workaround for a stability problems in older FC versions
     // when handling application specific fonts
     const int nVersion = FcGetVersion();
     if( nVersion <= 20400 )
-        return false;
+        return;
     const char* pDirName = rDirName.getStr();
     bool bDirOk = (FcConfigAppFontAddDir(FcConfigGetCurrent(), reinterpret_cast<FcChar8 const *>(pDirName) ) == FcTrue);
 
@@ -672,7 +672,7 @@ bool PrintFontManager::addFontconfigDir( const OString& rDirName )
 #endif
 
     if( !bDirOk )
-        return false;
+        return;
 
     // load dir-specific fc-config file too if available
     const OString aConfFileName = rDirName + "/fc_local.conf";
@@ -686,7 +686,7 @@ bool PrintFontManager::addFontconfigDir( const OString& rDirName )
             fprintf( stderr, "FcConfigParseAndLoad( \"%s\") => %d\n", aConfFileName.getStr(), bCfgOk );
     }
 
-    return true;
+    return;
 }
 
 static void addtopattern(FcPattern *pPattern,
diff --git a/vcl/unx/generic/fontmanager/fontmanager.cxx b/vcl/unx/generic/fontmanager/fontmanager.cxx
index 8e7ab17..bff7e4e 100644
--- a/vcl/unx/generic/fontmanager/fontmanager.cxx
+++ b/vcl/unx/generic/fontmanager/fontmanager.cxx
@@ -759,15 +759,8 @@ void PrintFontManager::initialize()
         {
             OString aToken = aPath.getToken( 0, ';', nIndex );
             normPath( aToken );
-            if ( aToken.isEmpty() )
-            {
-                continue;
-            }
-            // if registering an app-specific fontdir with fontconfig fails
-            // and fontconfig-based substitutions are enabled
-            // then trying to use these app-specific fonts doesn't make sense
-            if( !addFontconfigDir( aToken ) )
-                continue;
+            if (!aToken.isEmpty())
+                addFontconfigDir(aToken);
         } while( nIndex >= 0 );
     }
 
commit bd26052f4b07e2fb7aa2a6996cfdb7777134c043
Author: Khaled Hosny <khaledhosny at eglug.org>
Date:   Thu Dec 29 21:39:30 2016 +0200

    Use SAL_INFO
    
    Change-Id: Iac57a7e9afe476fc27eddaf123a3ca4a293a7034

diff --git a/vcl/unx/generic/fontmanager/helper.cxx b/vcl/unx/generic/fontmanager/helper.cxx
index 2a130f4..d79c0bc 100644
--- a/vcl/unx/generic/fontmanager/helper.cxx
+++ b/vcl/unx/generic/fontmanager/helper.cxx
@@ -76,13 +76,8 @@ OUString const & getOfficePath( whichOfficePath ePath )
         }
         // ensure user path exists
         aUPath += "/user/psprint";
-        #if OSL_DEBUG_LEVEL > 1
-        oslFileError eErr =
-        #endif
+        SAL_INFO("vcl.fonts", "Trying to create: " << aUPath);
         osl_createDirectoryPath( aUPath.pData, nullptr, nullptr );
-        #if OSL_DEBUG_LEVEL > 1
-        fprintf( stderr, "try to create \"%s\" = %d\n", OUStringToOString( aUPath, RTL_TEXTENCODING_UTF8 ).getStr(), eErr );
-        #endif
     }
 
     switch( ePath )
@@ -228,9 +223,7 @@ OUString const & psp::getFontPath()
         }
 
         aPath = aPathBuffer.makeStringAndClear();
-#if OSL_DEBUG_LEVEL > 1
-        fprintf( stderr, "initializing font path to \"%s\"\n", OUStringToOString( aPath, RTL_TEXTENCODING_ISO_8859_1 ).getStr() );
-#endif
+        SAL_INFO("vcl.fonts", "Initializing font path to: " << aPath);
     }
     return aPath;
 }


More information about the Libreoffice-commits mailing list