summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2012-01-11 09:52:58 +0000
committerCaolán McNamara <caolanm@redhat.com>2012-01-11 14:13:31 +0000
commit67ddbfa97c567568eae5d5f0abe4dff8d5704f25 (patch)
tree61a2c2b61cdb5a63054e1d4e75ee37a046448ed8 /vcl
parent0e3292f7c7c1369a716314f708361d4a83fb0724 (diff)
on generic X11 unix we always use fontconfig
Diffstat (limited to 'vcl')
-rw-r--r--vcl/generic/fontmanager/fontconfig.cxx5
-rw-r--r--vcl/generic/fontmanager/fontmanager.cxx26
-rw-r--r--vcl/generic/print/genpspgraphics.cxx5
-rw-r--r--vcl/inc/vcl/fontmanager.hxx8
-rw-r--r--vcl/unx/generic/gdi/salgdi3.cxx5
5 files changed, 16 insertions, 33 deletions
diff --git a/vcl/generic/fontmanager/fontconfig.cxx b/vcl/generic/fontmanager/fontconfig.cxx
index 4d02a76a3995..0c3655ccb543 100644
--- a/vcl/generic/fontmanager/fontconfig.cxx
+++ b/vcl/generic/fontmanager/fontconfig.cxx
@@ -104,7 +104,7 @@ namespace
class FontCfgWrapper
{
- FcFontSet* m_pOutlineSet;
+ FcFontSet* m_pOutlineSet;
void addFontSet( FcSetName );
@@ -383,10 +383,9 @@ FcResult FontCfgWrapper::LocalizedElementFromPattern(FcPattern* pPattern, FcChar
/*
* PrintFontManager::initFontconfig
*/
-bool PrintFontManager::initFontconfig()
+void PrintFontManager::initFontconfig()
{
FontCfgWrapper::get();
- return true;
}
namespace
diff --git a/vcl/generic/fontmanager/fontmanager.cxx b/vcl/generic/fontmanager/fontmanager.cxx
index 37f0bf79b3b7..2b99ca5fd181 100644
--- a/vcl/generic/fontmanager/fontmanager.cxx
+++ b/vcl/generic/fontmanager/fontmanager.cxx
@@ -1195,12 +1195,11 @@ PrintFontManager& PrintFontManager::get()
* the PrintFontManager
*/
-PrintFontManager::PrintFontManager() :
- m_nNextFontID( 1 ),
- m_pAtoms( new MultiAtomProvider() ),
- m_nNextDirAtom( 1 ),
- m_pFontCache( NULL ),
- m_bFontconfigSuccess( false )
+PrintFontManager::PrintFontManager()
+ : m_nNextFontID( 1 )
+ , m_pAtoms( new MultiAtomProvider() )
+ , m_nNextDirAtom( 1 )
+ , m_pFontCache( NULL )
{
for( unsigned int i = 0; i < SAL_N_ELEMENTS( aAdobeCodes ); i++ )
{
@@ -2153,7 +2152,7 @@ void PrintFontManager::initialize()
#endif
// first try fontconfig
- m_bFontconfigSuccess = initFontconfig();
+ initFontconfig();
// part one - look for downloadable fonts
rtl_TextEncoding aEncoding = osl_getThreadTextEncoding();
@@ -2177,7 +2176,7 @@ void PrintFontManager::initialize()
// 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( m_bFontconfigSuccess && !addFontconfigDir( aToken ) )
+ if( !addFontconfigDir( aToken ) )
if( bAreFCSubstitutionsEnabled )
continue;
m_aFontDirectories.push_back( aToken );
@@ -2188,15 +2187,8 @@ void PrintFontManager::initialize()
// protect against duplicate paths
boost::unordered_map< OString, int, OStringHash > visited_dirs;
- // now that all global and local font dirs are known to fontconfig
- // check that there are fonts actually managed by fontconfig
- // also don't search directories that fontconfig already did
- if( m_bFontconfigSuccess )
- m_bFontconfigSuccess = (countFontconfigFonts( visited_dirs ) > 0);
-
- // don't search through many directories fontconfig already told us about
- if( ! m_bFontconfigSuccess )
- ImplGetSVData()->mpDefInst->FillFontPathList( m_aFontDirectories );
+ // Don't search directories that fontconfig already did
+ countFontconfigFonts( visited_dirs );
// fill XLFD aliases from fonts.alias files
initFontsAlias();
diff --git a/vcl/generic/print/genpspgraphics.cxx b/vcl/generic/print/genpspgraphics.cxx
index 4d869c53a0fa..67bb7595b8a1 100644
--- a/vcl/generic/print/genpspgraphics.cxx
+++ b/vcl/generic/print/genpspgraphics.cxx
@@ -903,9 +903,8 @@ void GenPspGraphics::GetDevFontList( ImplDevFontList *pList )
if (rMgr.getFontFastInfo (*it, aInfo))
AnnounceFonts( pList, aInfo );
- // register platform specific font substitutions if available
- if( rMgr.hasFontconfig() )
- SalGenericInstance::RegisterFontSubstitutors( pList );
+ // register platform specific font substitutions if available
+ SalGenericInstance::RegisterFontSubstitutors( pList );
}
void GenPspGraphics::GetDevFontSubstList( OutputDevice* pOutDev )
diff --git a/vcl/inc/vcl/fontmanager.hxx b/vcl/inc/vcl/fontmanager.hxx
index 723600912fad..c7abfc4ebd26 100644
--- a/vcl/inc/vcl/fontmanager.hxx
+++ b/vcl/inc/vcl/fontmanager.hxx
@@ -325,7 +325,6 @@ class VCL_PLUGIN_PUBLIC PrintFontManager
boost::unordered_multimap< sal_uInt8, sal_Unicode > m_aAdobecodeToUnicode;
mutable FontCache* m_pFontCache;
- bool m_bFontconfigSuccess;
mutable std::vector< fontID > m_aOverrideFonts;
@@ -361,12 +360,8 @@ class VCL_PLUGIN_PUBLIC PrintFontManager
/* try to initialize fonts from libfontconfig
called from <code>initialize()</code>
-
- @returns
- true if at least one font was added by libfontconfig
- false else (e.g. no libfontconfig found)
*/
- bool initFontconfig();
+ void initFontconfig();
int countFontconfigFonts( boost::unordered_map<rtl::OString, int, rtl::OStringHash>& o_rVisitedPaths );
/* deinitialize fontconfig
*/
@@ -649,7 +644,6 @@ public:
ImplFontOptions* getFontOptions( const FastPrintFontInfo&, int nSize, void (*subcallback)(void*)) const;
bool Substitute( FontSelectPattern &rPattern, rtl::OUString& rMissingCodes ) const;
- bool hasFontconfig() const { return m_bFontconfigSuccess; }
int FreeTypeCharIndex( void *pFace, sal_uInt32 aChar );
};
diff --git a/vcl/unx/generic/gdi/salgdi3.cxx b/vcl/unx/generic/gdi/salgdi3.cxx
index a7e532bbc2b3..1a496c43a1c4 100644
--- a/vcl/unx/generic/gdi/salgdi3.cxx
+++ b/vcl/unx/generic/gdi/salgdi3.cxx
@@ -607,10 +607,9 @@ void X11SalGraphics::GetDevFontList( ImplDevFontList *pList )
rGC.AnnounceFonts( pList );
// register platform specific font substitutions if available
- if( rMgr.hasFontconfig() )
- SalGenericInstance::RegisterFontSubstitutors( pList );
+ SalGenericInstance::RegisterFontSubstitutors( pList );
- ImplGetSVData()->maGDIData.mbNativeFontConfig = rMgr.hasFontconfig();
+ ImplGetSVData()->maGDIData.mbNativeFontConfig = true;
}
// ----------------------------------------------------------------------------