[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