diff options
author | Akash Jain <akash96j@gmail.com> | 2016-05-14 19:15:38 +0530 |
---|---|---|
committer | Khaled Hosny <khaledhosny@eglug.org> | 2016-05-19 00:58:51 +0000 |
commit | ac47f00f57ceee1d759393321b87477fa094b111 (patch) | |
tree | ffc2a4c026e7399ec8c305631427824a2f1dd7f4 | |
parent | 0c82eaeee06089c323d40695b722f4ee9432f2db (diff) |
set aChar using iterateCodePoints
aChar was being set using the operator [] which didn't return the
whole character codepoint. This is a issue when the character is
represented by a combination of more than one code unit
Change-Id: Ie5174b955c5a9ca8f37058f84fd43a317b40c666
Reviewed-on: https://gerrit.libreoffice.org/24992
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
Tested-by: Khaled Hosny <khaledhosny@eglug.org>
-rw-r--r-- | vcl/unx/generic/glyphs/gcach_layout.cxx | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/vcl/unx/generic/glyphs/gcach_layout.cxx b/vcl/unx/generic/glyphs/gcach_layout.cxx index f2afa9ae5db0..a80eb3140cac 100644 --- a/vcl/unx/generic/glyphs/gcach_layout.cxx +++ b/vcl/unx/generic/glyphs/gcach_layout.cxx @@ -534,7 +534,7 @@ bool HbLayoutEngine::Layout(ServerFontLayout& rLayout, ImplLayoutArgs& rArgs) // apply vertical flags and glyph substitution // XXX: Use HB_DIRECTION_TTB above and apply whatever flags magic // FixupGlyphIndex() is doing, minus the GSUB part. - sal_UCS4 aChar = rArgs.mrStr[nCharPos]; + sal_UCS4 aChar = rArgs.mrStr.iterateCodePoints(&nCharPos, 0); nGlyphIndex = rFont.FixupGlyphIndex(nGlyphIndex, aChar); bool bInCluster = false; |