diff options
author | Khaled Hosny <khaledhosny@eglug.org> | 2016-11-15 23:36:57 +0200 |
---|---|---|
committer | Khaled Hosny <khaledhosny@eglug.org> | 2016-11-16 01:04:46 +0200 |
commit | 26ac0e16f8f2c4d4b0d3a0cd147cef31240f688d (patch) | |
tree | abee3087d4ff8fb63b95e22805a8a3705c2e45cf /vcl | |
parent | c4820366710fcbcc198a5471ad1f4a29f71d2019 (diff) |
Fix thinko in previous commit
Negative descender means the glyph is above the baseline and no shift
should happen.
Change-Id: I0ee3575051e47f16c64db4e85c0b8a390029567f
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/unx/generic/gdi/cairotextrender.cxx | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/vcl/unx/generic/gdi/cairotextrender.cxx b/vcl/unx/generic/gdi/cairotextrender.cxx index 574f985f3f85..fbac5f322729 100644 --- a/vcl/unx/generic/gdi/cairotextrender.cxx +++ b/vcl/unx/generic/gdi/cairotextrender.cxx @@ -328,7 +328,8 @@ void CairoTextRender::DrawServerFontLayout( const GenericSalLayout& rLayout, con // the glyph’s baseline. cairo_text_extents_t aExt; cairo_glyph_extents(cr, &cairo_glyphs[nStartIndex], nLen, &aExt); - cairo_glyphs[nStartIndex].y += aExt.x_advance - aExt.height - aExt.y_bearing; + double nDescender = std::fmax(aExt.height + aExt.y_bearing, 0); + ydiff = (aExt.x_advance - nDescender) / nHeight; } else { |