[Libreoffice-commits] core.git: vcl/source
Khaled Hosny
khaledhosny at eglug.org
Sat Oct 29 22:40:10 UTC 2016
vcl/source/gdi/CommonSalLayout.cxx | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
New commits:
commit 7b4d921d8e4164a962cd10a2efc9c62ecf64ff17
Author: Khaled Hosny <khaledhosny at eglug.org>
Date: Sun Oct 30 00:36:07 2016 +0200
tdf#103401: Fix applying DX array with font fallback
Turns out if we don’t adjust the glyph width (not only its X position)
we will apply the DX adjustment more than once when there is font
fallback.
Change-Id: I5e72e5d211adf3b378ec23c0cabe38fd0d5c9b19
diff --git a/vcl/source/gdi/CommonSalLayout.cxx b/vcl/source/gdi/CommonSalLayout.cxx
index 91d7762..c19eeed 100644
--- a/vcl/source/gdi/CommonSalLayout.cxx
+++ b/vcl/source/gdi/CommonSalLayout.cxx
@@ -673,7 +673,10 @@ void CommonSalLayout::ApplyDXArray(ImplLayoutArgs& rArgs)
if (bKashidaJustify && nDiff > 1)
pKashidas[i] = nDiff;
- // Apply the same delta to all glyphs belonging to the same character.
+ // Adjust the width of the first glyph belonging to current character.
+ m_GlyphItems[i].mnNewWidth += nDiff;
+
+ // Apply the X position of all glyphs belonging to current character.
size_t j = i;
while (j < m_GlyphItems.size())
{
More information about the Libreoffice-commits
mailing list