summaryrefslogtreecommitdiff
path: root/psprint
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2004-10-13 07:22:03 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2004-10-13 07:22:03 +0000
commit7d5a13722dbc35ed1699d5dc573278e418cc5dd6 (patch)
treef8a87d1062857f2252b86e79cf0ee838953157d0 /psprint
parent4ae1d0deef83804fa8cb97c89cd8a47f4a192a8c (diff)
INTEGRATION: CWS vcl27 (1.6.8); FILE MERGED
2004/08/31 14:10:06 pl 1.6.8.1: #i33623# use ui locale for font match
Diffstat (limited to 'psprint')
-rw-r--r--psprint/source/fontmanager/fontconfig.cxx24
1 files changed, 21 insertions, 3 deletions
diff --git a/psprint/source/fontmanager/fontconfig.cxx b/psprint/source/fontmanager/fontconfig.cxx
index 0aacf662fccd..9948d3883cda 100644
--- a/psprint/source/fontmanager/fontconfig.cxx
+++ b/psprint/source/fontmanager/fontconfig.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: fontconfig.cxx,v $
*
- * $Revision: 1.6 $
+ * $Revision: 1.7 $
*
- * last change: $Author: rt $ $Date: 2004-07-23 10:08:07 $
+ * last change: $Author: hr $ $Date: 2004-10-13 08:22:03 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -94,6 +94,9 @@ typedef char FcChar8;
#ifndef _OSL_THREAD_H
#include <osl/thread.h>
#endif
+#ifndef _RTL_USTRBUF_HXX
+#include <rtl/ustrbuf.hxx>
+#endif
using namespace psp;
using namespace osl;
@@ -546,7 +549,7 @@ void PrintFontManager::deinitFontconfig()
FontCfgWrapper::release();
}
-bool PrintFontManager::matchFont( FastPrintFontInfo& rInfo )
+bool PrintFontManager::matchFont( FastPrintFontInfo& rInfo, const com::sun::star::lang::Locale& rLocale )
{
#ifdef ENABLE_FONTCONFIG
FontCfgWrapper& rWrapper = FontCfgWrapper::get();
@@ -556,7 +559,22 @@ bool PrintFontManager::matchFont( FastPrintFontInfo& rInfo )
FcConfig* pConfig = rWrapper.getDefConfig();
FcPattern* pPattern = rWrapper.FcPatternCreate();
+ OString aLangAttrib;
// populate pattern with font characteristics
+ if( rLocale.Language.getLength() )
+ {
+ OUStringBuffer aLang(6);
+ aLang.append( rLocale.Language );
+ if( rLocale.Country.getLength() )
+ {
+ aLang.append( sal_Unicode('-') );
+ aLang.append( rLocale.Country );
+ }
+ aLangAttrib = OUStringToOString( aLang.makeStringAndClear(), RTL_TEXTENCODING_UTF8 );
+ }
+ if( aLangAttrib.getLength() )
+ rWrapper.FcPatternAddString( pPattern, FC_LANG, (FcChar8*)aLangAttrib.getStr() );
+
OString aFamily = OUStringToOString( rInfo.m_aFamilyName, RTL_TEXTENCODING_UTF8 );
if( aFamily.getLength() )
rWrapper.FcPatternAddString( pPattern, FC_FAMILY, (FcChar8*)aFamily.getStr() );