summaryrefslogtreecommitdiff
path: root/vcl/unx
diff options
context:
space:
mode:
authorAkash Jain <akash96j@gmail.com>2016-05-14 19:15:38 +0530
committerKhaled Hosny <khaledhosny@eglug.org>2016-05-19 00:58:51 +0000
commitac47f00f57ceee1d759393321b87477fa094b111 (patch)
treeffc2a4c026e7399ec8c305631427824a2f1dd7f4 /vcl/unx
parent0c82eaeee06089c323d40695b722f4ee9432f2db (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>
Diffstat (limited to 'vcl/unx')
-rw-r--r--vcl/unx/generic/glyphs/gcach_layout.cxx2
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;