diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-07-01 16:58:49 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-07-01 17:04:05 +0100 |
commit | f4f844952f1213283133fc848b0781bb0ce3bb53 (patch) | |
tree | 9bc5cafe83632272e51c6506afabc280d53efae5 | |
parent | 16f2eea5afb464d8a9d8451dc4a8f530a05dc5bb (diff) |
Resolves: tdf#92461 fix font fallback in headless text renderer
This suggests that the GF_FONTSHIFT thing is very broken as
its level 0 for all the font renderers here, but follow
the working pattern for now
Change-Id: Ia180a40071157ead9a3b04c05658a6574dd5f864
-rw-r--r-- | vcl/headless/svptextrender.cxx | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/vcl/headless/svptextrender.cxx b/vcl/headless/svptextrender.cxx index e58c95c62bd3..4f5183e347d1 100644 --- a/vcl/headless/svptextrender.cxx +++ b/vcl/headless/svptextrender.cxx @@ -425,17 +425,12 @@ void SvpTextRender::DrawServerFontLayout( const ServerFontLayout& rSalLayout ) SvpGlyphPeer& rGlyphPeer = SvpGlyphCache::GetInstance().GetPeer(); for( int nStart = 0; rSalLayout.GetNextGlyphs( 1, &aGlyphId, aPos, nStart ); ) { - int nLevel = aGlyphId >> GF_FONTSHIFT; - DBG_ASSERT( nLevel < MAX_FALLBACK, "SvpGDI: invalid glyph fallback level" ); - ServerFont* pSF = m_pServerFont[ nLevel ]; - if( !pSF ) - continue; - + ServerFont& rFont = rSalLayout.GetServerFont(); // get the glyph's alpha mask and adjust the drawing position aGlyphId &= GF_IDXMASK; B2IPoint aDstPoint( aPos.X(), aPos.Y() ); BitmapDeviceSharedPtr aAlphaMask - = rGlyphPeer.GetGlyphBmp( *pSF, aGlyphId, m_eTextFmt, aDstPoint ); + = rGlyphPeer.GetGlyphBmp(rFont, aGlyphId, m_eTextFmt, aDstPoint); if( !aAlphaMask ) // ignore empty glyphs continue; |