summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLászló Németh <laszlo.nemeth@collabora.com>2015-01-27 10:15:05 +0100
committerAndras Timar <andras.timar@collabora.com>2015-01-27 11:03:58 +0100
commite3e3a8e3f13d79814f6b0e8b6e4efc14b65971c9 (patch)
tree00165c6e00ada0a6ce744076c670539729982c3c
parent27aee569d57815acf564b6e47e55caefbb164f8c (diff)
tdf#88051 fix Graphite layout at Linux Libertine G ligature followed by tab
Change-Id: Iecedb87f6329c1cddcaa4cd939b349924e58d256
-rw-r--r--vcl/source/glyphs/graphite_layout.cxx2
1 files changed, 1 insertions, 1 deletions
diff --git a/vcl/source/glyphs/graphite_layout.cxx b/vcl/source/glyphs/graphite_layout.cxx
index 230583b191af..50e2a2db44e0 100644
--- a/vcl/source/glyphs/graphite_layout.cxx
+++ b/vcl/source/glyphs/graphite_layout.cxx
@@ -600,7 +600,7 @@ gr_segment * GraphiteLayout::CreateSegment(ImplLayoutArgs& rArgs)
if ( !xCharClass.is() )
xCharClass = vcl::unohelper::CreateCharacterClassification();
size_t numchars2 = rArgs.mnEndCharPos - mnSegCharOffset; // fdo#52540, fdo#68313, fdo#70666 avoid bad ligature replacement
- if (numchars > numchars2 && xCharClass->getType(rArgs.mpStr, numchars2 + 1) == ::com::sun::star::i18n::UnicodeType::LOWERCASE_LETTER)
+ if (numchars > numchars2 && (rArgs.mpStr[numchars2] == '\t' || xCharClass->getType(rArgs.mpStr, numchars2 + 1) == ::com::sun::star::i18n::UnicodeType::LOWERCASE_LETTER))
numchars = numchars2;
if (mpFeatures)
pSegment = gr_make_seg(mpFont, mpFace, 0, mpFeatures->values(), gr_utf16,