Bug 337556 - Bad font hinting or rendering
Summary: Bad font hinting or rendering
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: general (show other bugs)
Version: 5.0.0
Platform: Arch Linux Linux
: NOR normal
Target Milestone: 1.0
Assignee: Sebastian Kügler
URL:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2014-07-18 02:09 UTC by Loïc Yhuel
Modified: 2021-03-10 03:49 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
klipper tooltip (21.22 KB, image/png)
2014-07-18 02:09 UTC, Loïc Yhuel
Details
status & notifications (33.72 KB, image/png)
2014-07-18 02:10 UTC, Loïc Yhuel
Details
task manager tooltip (20.27 KB, image/png)
2014-07-18 02:10 UTC, Loïc Yhuel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Loïc Yhuel 2014-07-18 02:09:31 UTC
Created attachment 87788 [details]
klipper tooltip

On many (but not all) texts, full hinting doesn't seem to be applied, despite my system settings (full hinting, grayscale AA).

See the screenshots :
 - "Status & Notifications" isn't rendered correctly, but "Notifications" and "Battery & Brightness" are
 - in kickoff, the user name and localhost are not correctly rendered
 - month in calendar plasmoid
 - same for many "tooltips" : when the mouse is over kickoff icon, the task manager ones, klipper, time/date, "Most recent device", ...
Comment 1 Loïc Yhuel 2014-07-18 02:10:00 UTC
Created attachment 87789 [details]
status & notifications
Comment 2 Loïc Yhuel 2014-07-18 02:10:22 UTC
Created attachment 87790 [details]
task manager tooltip
Comment 4 Loïc Yhuel 2014-10-22 08:50:59 UTC
Since some texts were properly rendered, I think it's more likely either :
 - missing "renderType: Text.NativeRendering"
 - subpixel positionning (with full hinting text must be pixel aligned, else it looks weird)
Comment 5 Martin Klapetek 2014-10-23 11:40:54 UTC
The report says "Version: 5.0.0", do you still see this with 5.1.0?
Comment 6 Loïc Yhuel 2014-10-23 16:07:22 UTC
It's improved, for example tooltips are correct now, "Status & Notifications" is slightly better but still not perfect. I don't know how to trace its properties so I can check if there is something wrong or not.

In fact the main problem now with "Status & Notifications" is its weight ("font.weight: Font.Light" in Heading.qml) :
 - with the default (blurry, but that's another problem) "Oxygen Sans" the weight seems to be ignored (there is no light version).
 - with "DejaVu Sans", it probably uses the ExtraLight version), which doesn't look appropriate
Comment 7 Martin Klapetek 2014-10-28 13:31:42 UTC
I've been told Qt5.4 significantly improves font rendering/hinting.

Is there any way you can test Qt5.4?
Comment 8 Loïc Yhuel 2014-10-30 02:08:59 UTC
I tried on Rawhide which has Qt5.4 beta, and it doesn't seem to change anything :
 - Oxygen font is blurry (Note that the Oxygen*-unhinted.ttf recently deleted from the oxygen-fonts repository are better, but not as good as DejaVu, and a few letters like "g" is still really blurry)
 - DejaVu font is crisp with full hinting, as long as I edit /usr/lib64/qt5/qml/org/kde/plasma/extras/Heading.qml to remove the "font.weight: Font.Light" (which was ignored with Oxygen). But the UI is obviously designed for Oxygen : DejaVu is a little wider, and the vertical alignment is not perfect with it.
Comment 9 Martin Klapetek 2015-10-22 21:04:46 UTC
For Plasma 5.5 we've changed the font from Oxygen to Noto.

Please retest if that fixes your issues.
Comment 10 Loïc Yhuel 2015-12-27 22:57:03 UTC
I tested on Archlinux (Fedora doesn't use Noto, see https://bugzilla.redhat.com/show_bug.cgi?id=1291070).
It's better than Oxygen Sans, but still not as good as DejaVu (perhaps I'm just too much used to it).

But the "font.weight: Font.Light" is still in /usr/lib64/qt5/qml/org/kde/plasma/extras/Heading.qml.
With Oxygen or Noto fonts, it's ignored since there is no light variant.
With DejaVu, it uses the ExtraLight variant, which is blurry (so I need to either modify Heading.qml, or remove this variant from the system).
Should this Font.Light weight be used, as it doesn't apply on the default fonts ?
Comment 11 Andrew Crouthamel 2018-09-25 21:50:46 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 12 Loïc Yhuel 2018-10-01 09:00:08 UTC
I checked on Fedora 29 Beta, there are at least 3 cases :
 - /usr/lib64/qt5/qml/org/kde/plasma/extras/Heading.qml still has "font.weight: Font.Light", which was ignored for Oxygen, and is still ignored with Noto since there is no variant. With DejaVu, it selects the ExtraLight variant, which is blurry since its lines are less than 1px width.
 - krunner / kickoff input field : probably due to https://bugs.kde.org/show_bug.cgi?id=396813
 - QML SpinBox (for example DPI value in fonts KCM) : "renderType" needs to be set for the TextInput in /usr/lib64/qt5/qml/QtQuick/Controls.2/org.kde.desktop/SpinBox.qml
Comment 13 Nate Graham 2021-03-10 03:49:49 UTC
Bug related to use of QtQuickControls 1 text stuff, which we ported away from fully a few years ago.