-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/129281/
-----------------------------------------------------------
(Updated Nov. 6, 2016, 9:40 p.m.)
Review request for KDE Frameworks and Konsole.
Changes
-------
Use 'if' again (instead of ternary operator).
Bugs: 371687
http://bugs.kde.org/show_bug.cgi?id=371687
Repository: konsole
Description
-------
When Konsole draws a line of text, it first computes the rectangle of the line
that the text covers (taking into account cells width and height), then passes
this rectangle to the drawText(QRect, flags, text) call.
Qt detects if the selected font does not offer all characters in the text, and
substitutes individual characters with a different font. Due to designer
choices, the same font point size does not lead to same pixel height (or ascent
size) in all fonts, so the substituted characters might be larger than the
characters from the primary font.
Using a rectangle causes Qt to position glyphs relative to the bounding box of
the text, instead of anchored to the baseline.
This patch uses a pixel position instead of a rectangle to draw the text,
taking into account only the baseline of the primary font.
I have added all "frameworks" developers to increase possible test coverage.
Diffs (updated)
-----
src/TerminalDisplay.cpp 39a8b84
Diff: https://git.reviewboard.kde.org/r/129281/diff/
Testing
-------
On my system, lines with substituted Unicode characters are no longer shifted
away from the baseline, and therefore do not appear cropped.
Further testing is needed, as there are many (equivalent, similar, or
different) bug reports about font rendering on different systems, see
https://bugs.kde.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&component=font&product=konsole
Thanks,
Christoph Feck