Fix trailing spaces problem by not adding it to QScriptLine.length
authorJiang Jiang <jiang.jiang@nokia.com>
Thu, 8 Sep 2011 14:31:53 +0000 (16:31 +0200)
committerQt by Nokia <qt-info@nokia.com>
Sat, 17 Sep 2011 01:20:28 +0000 (03:20 +0200)
commitc298b0b153b91505b83d2a5f105194b18ae0d710
tree49059eacabadd89782d39b55430ee4af50009385
parent8dcb52df8e2e949232ccded9fad5a4f25ba6dda2
Fix trailing spaces problem by not adding it to QScriptLine.length

It seems to be the only sane way to fix it. Previous attempts to
fix it by compensating the trailing space width all failed in some
cases, one of the trickiest is when we are having embedded LTR text
that has trailing spaces in a RTL paragraph.

In this patch we leave line.length not including the trailing space
length, but saving it to a separated variable, so that we can always
add it back when needed (QTextLine::textLength() for instance).

It fixed all the problems in different alignments of both RTL and
LTR text. And no regression is found yet.

Reviewed-by: Eskil
(cherry picked from commit 80294c375eca9687d1c34e9ab048294373e7f00c)

Change-Id: Id248ab6f54f8cc25ba0e9d1626703463dfefbcea
Reviewed-on: http://codereview.qt-project.org/4778
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
src/gui/text/qtextengine.cpp
src/gui/text/qtextengine_p.h
src/gui/text/qtextlayout.cpp