diff options
author | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com> | 2011-08-24 07:13:45 (GMT) |
---|---|---|
committer | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com> | 2011-08-24 07:36:59 (GMT) |
commit | 1a8a36eb6b6df9e2550b5eaa4606f2d411fd4294 (patch) | |
tree | b6489e7d9171e45714dbf80c910c81852b2e6c2b | |
parent | 2b6b6acec2f659f50416c7d6f369a266de19373b (diff) | |
download | Qt-1a8a36eb6b6df9e2550b5eaa4606f2d411fd4294.zip Qt-1a8a36eb6b6df9e2550b5eaa4606f2d411fd4294.tar.gz Qt-1a8a36eb6b6df9e2550b5eaa4606f2d411fd4294.tar.bz2 |
Fix justification of RTL text
Since the trailing space is included in the QScriptLine, it may affect
the positions of preceding script items when the text is RTL. The best
solution for this would be to disregard the trailing space in the layout
process, or somehow make it have an advance of 0 so it doesn't affect
the layout. However, to minimize the impact of the change, and to be
consistent with previous work arounds such as
bf992df6434fc37715f728ca09601c5567dd83c9, we simply include the trailing
(visually leading) space in the justification pass for now.
Task-number: QTBUG-20920
Reviewed-by: Lars
-rw-r--r-- | src/gui/text/qtextengine.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index 9f148ee..aa4a20d 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -2087,7 +2087,8 @@ void QTextEngine::justify(const QScriptLine &line) } } - QFixed need = line.width - line.textWidth; + QFixed leading = leadingSpaceWidth(line); + QFixed need = line.width - line.textWidth - leading; if (need < 0) { // line overflows already! const_cast<QScriptLine &>(line).justified = true; |