diff options
author | Khaled Hosny <khaledhosny@eglug.org> | 2016-11-09 16:19:08 +0200 |
---|---|---|
committer | Khaled Hosny <khaledhosny@eglug.org> | 2016-11-09 16:25:37 +0200 |
commit | 281b3458940e06f9cb5f679537adc19532a0a80d (patch) | |
tree | c3271086506e6e35b048fb86e272bcf6d10ce86e | |
parent | 129eddc18b4f2cb1320b60bf68de537cf86b60f2 (diff) |
Allow the Kashida here
Change-Id: Ibb408af7f989bf35faf13aa871917e7f4cb2aa6f
-rw-r--r-- | vcl/source/gdi/CommonSalLayout.cxx | 10 |
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. |