[Libreoffice-commits] core.git: vcl/headless

Caolán McNamara caolanm at redhat.com
Wed Jul 1 09:04:29 PDT 2015


 vcl/headless/svptextrender.cxx |    9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

New commits:
commit f4f844952f1213283133fc848b0781bb0ce3bb53
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Jul 1 16:58:49 2015 +0100

    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

diff --git a/vcl/headless/svptextrender.cxx b/vcl/headless/svptextrender.cxx
index e58c95c..4f5183e 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;
 


More information about the Libreoffice-commits mailing list