Bug#858584: konsole: please backport font rendering fix for noto-sans
Package: konsole
Version: 4:16.12.0-1
Severity: normal
Tags: patch
Font rendering for Noto Sans CJK in konsole has long been broken. This made
users of konsole + Noto Sans CJK painful.
Upstream committed a fix in git HEAD recently:
https://git.reviewboard.kde.org/r/129281/diff/2/
It would be great if konsole in Stretch would include this fix.
A raw diff file will be sent as well as attachment.
-- System Information:
Debian Release: 9.0
APT prefers testing
APT policy: (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.9.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=zh_CN.UTF-8, LC_CTYPE=zh_CN.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages konsole depends on:
ii kio 5.28.0-1
ii konsole-kpart 4:16.12.0-1
ii libc6 2.24-9
ii libkf5completion5 5.28.0-1
ii libkf5configcore5 5.28.0-1+b2
ii libkf5configgui5 5.28.0-1+b2
ii libkf5configwidgets5 5.28.0-1
ii libkf5coreaddons5 5.28.0-1+b2
ii libkf5crash5 5.28.0-1
ii libkf5dbusaddons5 5.28.0-1
ii libkf5i18n5 5.28.0-1+b2
ii libkf5iconthemes5 5.28.0-1
ii libkf5kiowidgets5 5.28.0-1
ii libkf5notifyconfig5 5.28.0-1
ii libkf5widgetsaddons5 5.28.0-1
ii libkf5windowsystem5 5.28.0-1
ii libkf5xmlgui5 5.28.0-1
ii libqt5core5a 5.7.1+dfsg-3+b1
ii libqt5gui5 5.7.1+dfsg-3+b1
ii libqt5widgets5 5.7.1+dfsg-3+b1
ii libstdc++6 6.3.0-6
konsole recommends no packages.
konsole suggests no packages.
-- no debconf information
diff --git a/src/TerminalDisplay.cpp b/src/TerminalDisplay.cpp
index 39a8b84..dc991ef 100644
--- a/src/TerminalDisplay.cpp
+++ b/src/TerminalDisplay.cpp
@@ -856,18 +856,10 @@ void TerminalDisplay::drawCharacters(QPainter& painter,
// This still allows RTL characters to be rendered in the RTL way.
painter.setLayoutDirection(Qt::LeftToRight);
- // the drawText(rect,flags,string) overload is used here with null flags
- // instead of drawText(rect,string) because the (rect,string) overload causes
- // the application's default layout direction to be used instead of
- // the widget-specific layout direction, which should always be
- // Qt::LeftToRight for this widget
- //
- // This was discussed in: http://lists.kde.org/?t=120552223600002&r=1&w=2
if (_bidiEnabled) {
- painter.drawText(rect, 0, text);
+ painter.drawText(rect.x(), rect.y() + QFontMetrics(font).ascent(), text);
} else {
- // See bug 280896 for more info
- painter.drawText(rect, Qt::AlignBottom, LTR_OVERRIDE_CHAR + text);
+ painter.drawText(rect.x(), rect.y() + QFontMetrics(font).ascent(), LTR_OVERRIDE_CHAR + text);
}
}
}
Reply to: