summaryrefslogtreecommitdiff
path: root/vcl/source
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2012-12-18 16:06:03 +0000
committerMiklos Vajna <vmiklos@suse.cz>2013-01-04 09:28:59 +0000
commit11cc324da0e0008bca10ac19aca274cfec54ec2f (patch)
tree72da9a7b053a59b1ab4b4abaf1b83cfaab943ccb /vcl/source
parent37eea402ed3b8b401c8eca841ca65c997994be90 (diff)
Related: fdo#50284 apple's modern symbol font is unicode encoded
So codepoints that are from the legacy range need to be converted to their unicode equivalents even in the presence of an installed "symbol" font on MacOSX. This should work out ok if input codepoints that exist in the apple symbol unicode are used, they should be left untouched by this conversion. Change-Id: Ia9996e2d9bf632c86c8d26832d77c7c662cf1076 Reviewed-on: https://gerrit.libreoffice.org/1403 Reviewed-by: Miklos Vajna <vmiklos@suse.cz> Tested-by: Miklos Vajna <vmiklos@suse.cz>
Diffstat (limited to 'vcl/source')
-rw-r--r--vcl/source/gdi/outdev3.cxx13
1 files changed, 13 insertions, 0 deletions
diff --git a/vcl/source/gdi/outdev3.cxx b/vcl/source/gdi/outdev3.cxx
index 1b4d9933c894..63dac7951a4a 100644
--- a/vcl/source/gdi/outdev3.cxx
+++ b/vcl/source/gdi/outdev3.cxx
@@ -2470,8 +2470,21 @@ ImplFontEntry* ImplFontCache::GetFontEntry( ImplDevFontList* pFontList,
// if we found a different symbol font we need a symbol conversion table
if( pFontData->IsSymbolFont() )
+ {
if( aFontSelData.maTargetName != aFontSelData.maSearchName )
pEntry->mpConversion = ConvertChar::GetRecodeData( aFontSelData.maTargetName, aFontSelData.maSearchName );
+#ifdef MACOSX
+ //It might be better to dig out the font version of the target font
+ //to see if it's a modern re-coded apple symbol font in case that
+ //font shows up on a different platform
+ if (!pEntry->mpConversion &&
+ aFontSelData.maTargetName.EqualsIgnoreCaseAscii("symbol") &&
+ aFontSelData.maSearchName.EqualsIgnoreCaseAscii("symbol"))
+ {
+ pEntry->mpConversion = ConvertChar::GetRecodeData( OUString("Symbol"), OUString("AppleSymbol") );
+ }
+#endif
+ }
// add the new entry to the cache
maFontInstanceList[ aFontSelData ] = pEntry;