[Libreoffice-commits] core.git: 2 commits - vcl/unx
Khaled Hosny
khaledhosny at eglug.org
Tue Nov 15 23:07:27 UTC 2016
vcl/unx/generic/gdi/cairotextrender.cxx | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
New commits:
commit 84f644eee78106f01486098d446d9163b62927eb
Author: Khaled Hosny <khaledhosny at eglug.org>
Date: Wed Nov 16 01:05:35 2016 +0200
tdf#103784: Shift the upright glyphs like old code
It turns out we actually need the horizontal shift, so re-enable it.
Change-Id: If9d16276f0f56b518c6bedc2fcbbd3d8746d8d5d
diff --git a/vcl/unx/generic/gdi/cairotextrender.cxx b/vcl/unx/generic/gdi/cairotextrender.cxx
index fbac5f3..974b584 100644
--- a/vcl/unx/generic/gdi/cairotextrender.cxx
+++ b/vcl/unx/generic/gdi/cairotextrender.cxx
@@ -334,8 +334,8 @@ void CairoTextRender::DrawServerFontLayout( const GenericSalLayout& rLayout, con
else
{
ydiff = font_extents.ascent/nHeight;
- xdiff = -font_extents.descent/nHeight;
}
+ xdiff = -font_extents.descent/nHeight;
}
else if (nGlyphRotation == -1)
{
commit 26ac0e16f8f2c4d4b0d3a0cd147cef31240f688d
Author: Khaled Hosny <khaledhosny at eglug.org>
Date: Tue Nov 15 23:36:57 2016 +0200
Fix thinko in previous commit
Negative descender means the glyph is above the baseline and no shift
should happen.
Change-Id: I0ee3575051e47f16c64db4e85c0b8a390029567f
diff --git a/vcl/unx/generic/gdi/cairotextrender.cxx b/vcl/unx/generic/gdi/cairotextrender.cxx
index 574f985..fbac5f3 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
{
More information about the Libreoffice-commits
mailing list