diff options
author | Khaled Hosny <khaledhosny@eglug.org> | 2019-03-21 18:00:54 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2019-03-22 09:03:26 +0100 |
commit | f8ca6e0a59bff51fcb09af4fa6d9cd458b32f223 (patch) | |
tree | 5808bc129a4895c07a6e927d3ce06a17acbcc9c2 | |
parent | 4c5d0e4822dcd0c6c9397a45e3afb66d53ebaafc (diff) |
tdf#124109: Fix missing kashida glyphs
This partially reverts:
commit 436b829f5b904d76039db0818cff5dedf1ae89f1
Author: Miklos Vajna <vmiklos@collabora.co.uk>
Date: Thu Aug 16 17:35:17 2018 +0200
sw: save one vcl layout call in SwFntObj::DrawText()
Pressing a key in Writer used to lay out the relevant string 4 times
(counting GenericSalLayout::LayoutText() invocations), save one of them
by pre-calculating the layout and sharing it between GetTextArray() and
DrawTextArray().
The reverted part was causing inserted Kashida to be missing, leaving gaps
inside the words. See attachment in the bug report.
Change-Id: Iaafbc793ed5906e6fdf3dcb03c54d5a440e15da4
Reviewed-on: https://gerrit.libreoffice.org/69530
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
-rw-r--r-- | sw/source/core/txtnode/fntcache.cxx | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sw/source/core/txtnode/fntcache.cxx b/sw/source/core/txtnode/fntcache.cxx index ed39672d4f5a..07889531a4ed 100644 --- a/sw/source/core/txtnode/fntcache.cxx +++ b/sw/source/core/txtnode/fntcache.cxx @@ -1815,9 +1815,8 @@ void SwFntObj::DrawText( SwDrawTextInfo &rInf ) ? (rInf.GetIdx() ? 1 : 0) : sal_Int32(rInf.GetIdx()); aGlyphsKey = SwTextGlyphsKey{ &rInf.GetOut(), *pStr, nTmpIdx, nLen }; - pGlyphs = lcl_CreateLayout(aGlyphsKey, m_aTextGlyphs[aGlyphsKey]); rInf.GetOut().DrawTextArray( aTextOriginPos, *pStr, pKernArray.get(), - nTmpIdx , nLen, SalLayoutFlags::NONE, pGlyphs ); + nTmpIdx , nLen ); if (bBullet) { rInf.GetOut().Push(); |