[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: