diff -ru sw.orig/source/core/txtnode/fntcache.cxx sw/source/core/txtnode/fntcache.cxx --- sw.orig/source/core/txtnode/fntcache.cxx 2009-12-21 10:33:36.000000000 +0000 +++ sw/source/core/txtnode/fntcache.cxx 2009-12-22 13:34:48.000000000 +0000 @@ -482,6 +482,11 @@ pScrFont = pPrtFont; FontMetric aMet = pPrt->GetFontMetric( ); + //Don't loose "faked" properties of the logical font that don't truly + //exist in the physical font metrics which vcl which fake up for us + aMet.SetWeight(pScrFont->GetWeight()); + aMet.SetItalic(pScrFont->GetItalic()); + bSymbol = RTL_TEXTENCODING_SYMBOL == aMet.GetCharSet(); if ( USHRT_MAX == nGuessedLeading ) @@ -521,6 +526,11 @@ pPrt->SetFont( aFnt2 ); aMet = pPrt->GetFontMetric( ); + //Don't loose "faked" properties of the logical font that don't + //truly exist in the physical font metrics which vcl which fake + //up for us + aMet.SetWeight(aFnt2.GetWeight()); + aMet.SetItalic(aFnt2.GetItalic()); } const XubString aStandardStr( sStandardString,