summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2013-05-27 13:29:23 +0100
committerCaolán McNamara <caolanm@redhat.com>2013-05-27 13:59:43 +0100
commit376830eb55eedf2ca31b431dd27ea9ce0df9b2f8 (patch)
tree7762b86281bbaa975388ff7675309f7023d414af
parente94c8521041259d36aaadcadb9e42ca729a3812b (diff)
Generalize the check for a recode table
I think we can distill this down to a "if the source or target is a symbol font check for a recode table" Change-Id: I6c674f10d9f1ab7fbe7274abfafb9082bae88218
-rw-r--r--vcl/source/gdi/outdev3.cxx12
1 files changed, 3 insertions, 9 deletions
diff --git a/vcl/source/gdi/outdev3.cxx b/vcl/source/gdi/outdev3.cxx
index a4fde373936c..3281557b2ef0 100644
--- a/vcl/source/gdi/outdev3.cxx
+++ b/vcl/source/gdi/outdev3.cxx
@@ -2287,8 +2287,9 @@ ImplFontEntry* ImplFontCache::GetFontEntry( ImplDevFontList* pFontList,
// create a new logical font instance from this physical font face
pEntry = pFontData->CreateFontInstance( aFontSelData );
- // if we found a different symbol font we need a symbol conversion table
- if( pFontData->IsSymbolFont() )
+ // if we're subtituting from or to a symbol font we may need a symbol
+ // conversion table
+ if( pFontData->IsSymbolFont() || aFontSelData.IsSymbolFont() )
{
if( aFontSelData.maTargetName != aFontSelData.maSearchName )
pEntry->mpConversion = ConvertChar::GetRecodeData( aFontSelData.maTargetName, aFontSelData.maSearchName );
@@ -2309,13 +2310,6 @@ ImplFontEntry* ImplFontCache::GetFontEntry( ImplDevFontList* pFontList,
maFontInstanceList[ aFontSelData ] = pEntry;
}
- // We might have selected a non-symbol font as a fallback for a
- // symbol font. Ensure that conversion is done
- if (aFontSelData.IsSymbolFont() && !pEntry->maMetric.IsSymbolFont() && !pEntry->mpConversion)
- {
- pEntry->mpConversion = ConvertChar::GetRecodeData( aFontSelData.maTargetName, aFontSelData.maSearchName );
- }
-
mpFirstEntry = pEntry;
return pEntry;
}