summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKhaled Hosny <khaledhosny@eglug.org>2016-11-09 16:19:08 +0200
committerKhaled Hosny <khaledhosny@eglug.org>2016-11-09 16:25:37 +0200
commit281b3458940e06f9cb5f679537adc19532a0a80d (patch)
treec3271086506e6e35b048fb86e272bcf6d10ce86e
parent129eddc18b4f2cb1320b60bf68de537cf86b60f2 (diff)
Allow the Kashida here
Change-Id: Ibb408af7f989bf35faf13aa871917e7f4cb2aa6f
-rw-r--r--vcl/source/gdi/CommonSalLayout.cxx10
1 files changed, 7 insertions, 3 deletions
diff --git a/vcl/source/gdi/CommonSalLayout.cxx b/vcl/source/gdi/CommonSalLayout.cxx
index c6de1833c527..b7e5578c87f3 100644
--- a/vcl/source/gdi/CommonSalLayout.cxx
+++ b/vcl/source/gdi/CommonSalLayout.cxx
@@ -751,14 +751,18 @@ bool CommonSalLayout::IsKashidaPosValid(int nCharPos) const
{
if (pIter->mnCharPos == nCharPos)
{
+ // The position is the first glyphs, this would happen if we
+ // changed the text styling in the middle of a word. Since we don’t
+ // do ligatures accross layout engine instances, thid can’t be a
+ // ligature so it should be fine.
+ if (pIter == m_GlyphItems.begin())
+ return true;
+
// If the character was not supported by this layout, return false
// so that fallback layouts would be checked for it.
if (pIter->maGlyphId == 0)
break;
- if (pIter == m_GlyphItems.begin())
- continue;
-
// Search backwards for previous glyph belonging to a different
// character. We are looking backwards because we are dealing with
// RTL glyphs, which will be in visual order.