Bug 389598

Summary: Use better defaults for AA instead of relying on the system or distro to have decent default settings
Product: [Applications] systemsettings Reporter: Nate Graham <nate>
Component: kcm_fontsAssignee: Unassigned bugs mailing-list <unassigned-bugs>
Status: RESOLVED FIXED    
Severity: wishlist CC: andrew.crouthamel, bhush94, bugseforuns, chgonzalezg, harmathy, matheus4551, rdieter, unassigned-bugs
Priority: NOR Keywords: usability
Version: 5.11.95   
Target Milestone: ---   
Platform: Other   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=290909
https://bugs.kde.org/show_bug.cgi?id=407754
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Nate Graham 2018-01-29 14:48:02 UTC
This comes up a lot in online reviews of Plasma and internet forum chatter.

Currently, there are three settings for Anti-Aliasing:
- Enabled
- Disabled
- System Settings

The default is "System Settings. This is sub-optimal for multiple reasons:
1. It's not clear to a user what "System Settings" means
2. This setting respects the system's existing settings, but those settings are bad in 100% of distros that I have tested

To ensure a better user experience, I recommend that we change the default setting to "Enabled", and use slight RGB font hinting on the configure dialog. These settings are optimal for 100% of computers that I have used or supervised other people setting up, and at least one major Linux distro reviewer found that they were best for him, too: http://www.ocsmag.com/2018/01/27/plasma-5-12-long-term-sweetness/

Distros can still override this if they want, but using better defaults will prevent most of them from having to, I expect.
Comment 1 Nate Graham 2018-01-29 20:18:10 UTC
And lest you be tempted to say "RESOLVED DOWNSTREAM, distros should do this", well, a lot of distros don't really seem to care about it or have the manpower to do it. See for example https://phabricator.kde.org/T7618

We have a great opportunity to improve the appearance of fonts for nearly all KDE Plasma users by changing the default setting.
Comment 2 Andrew Crouthamel 2018-02-22 15:45:57 UTC
+1 from me! Looks good on a modern laptop.
Comment 3 Nate Graham 2019-05-21 15:31:21 UTC
Apparently we are setting things incorrectly in startkde. See Bug 407754.

*** This bug has been marked as a duplicate of bug 407754 ***
Comment 4 Bhushan Shah 2019-05-22 10:53:10 UTC
This bug is not duplicate of the referenced bug, whatever default is set by startkde needs to be set by krdb, somewhere else, and those needs to be changed.

Re-opening.
Comment 5 Bhushan Shah 2019-05-23 09:13:04 UTC
Git commit a248678739523784aa55279ba67b5949a394cc66 by Bhushan Shah.
Committed on 23/05/2019 at 08:42.
Pushed by bshah into branch 'bshah/fixup-fonts'.

Make slight/rgb the default option

Medium hinting and None subpixel rendering was default options added
when we used Oxygen fonts, however freetype recommends slight hinting as
seen in this blog post from 2015 [1].

Also RGB hinting is most-recommended over the None. See linked bug
report as well.

[1] https://www.freetype.org/freetype2/docs/text-rendering-general.html

M  +4    -4    kcms/fonts/fonts.cpp
M  +2    -2    kcms/krdb/krdb.cpp

https://commits.kde.org/plasma-desktop/a248678739523784aa55279ba67b5949a394cc66
Comment 6 Bhushan Shah 2019-05-23 09:13:04 UTC
Git commit bbe55f7580b52524fd324bb684a71204efe2854d by Bhushan Shah.
Committed on 23/05/2019 at 08:42.
Pushed by bshah into branch 'bshah/fixup-fonts'.

Set defaults for anti-aliasing using the krdb

We used to write a configuration for the anti-aliasing using the
startkde script, startkde script would write to kdeglobals and then read
this configuration in the krdb.

This had un-intended side-effect of $XDG_CONFIG_DIRS/kdeglobals settings
or settings set by ~/.config/fontconfig/fonts.conf not being used.

D21335 fixes this by not writing to kdeglobals anymore, this transfers
the defaults used by startkde here.
Related: bug 407754

M  +16   -25   kcms/krdb/krdb.cpp

https://commits.kde.org/plasma-desktop/bbe55f7580b52524fd324bb684a71204efe2854d
Comment 7 Bhushan Shah 2019-05-23 09:14:13 UTC
Reopening... it was feature branch...
Comment 8 Bhushan Shah 2019-05-27 09:15:10 UTC
Git commit 1af4680ea8464e0f6f444c103d49887fe219ee27 by Bhushan Shah.
Committed on 27/05/2019 at 09:07.
Pushed by bshah into branch 'master'.

Don't write a anti-aliasing settings from startkde

Summary:
Writing a config files in $HOME at start-up is wrong way of setting
defaults, If defaults needs to be set, they should be set by krdb
instead of the startkde.

Another side-effect of writing config file is that this breaks the
distribution/vendor configuration, who might want to configure this
value by shipping kdeglobals in either /etc/xdg or $XDG_CONFIG_DIRS.
Related: bug 407754

Reviewers: #plasma, ngraham, apol, davidedmundson

Reviewed By: #plasma, ngraham, apol, davidedmundson

Subscribers: apol, ngraham, plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D21335

M  +0    -11   startkde/startkde.cmake
M  +0    -11   startkde/startplasmacompositor.cmake

https://commits.kde.org/plasma-workspace/1af4680ea8464e0f6f444c103d49887fe219ee27
Comment 9 Bhushan Shah 2019-05-27 09:15:51 UTC
Git commit 1958f1ca1e4fcfacade554e4b196daaa0d7425f0 by Bhushan Shah.
Committed on 27/05/2019 at 09:06.
Pushed by bshah into branch 'master'.

Make slight/rgb the default option

Medium hinting and None subpixel rendering was default options added
when we used Oxygen fonts, however freetype recommends slight hinting as
seen in this blog post from 2015 [1].

Also RGB hinting is most-recommended over the None. See linked bug
report as well.

[1] https://www.freetype.org/freetype2/docs/text-rendering-general.html

M  +4    -4    kcms/fonts/fonts.cpp
M  +2    -2    kcms/krdb/krdb.cpp

https://commits.kde.org/plasma-desktop/1958f1ca1e4fcfacade554e4b196daaa0d7425f0
Comment 10 Bhushan Shah 2019-05-27 09:15:59 UTC
Git commit 873cbc1da8f3f2b589f9f2722a4e15a8fcbfe4e5 by Bhushan Shah.
Committed on 27/05/2019 at 09:06.
Pushed by bshah into branch 'master'.

Set defaults for anti-aliasing using the krdb

We used to write a configuration for the anti-aliasing using the
startkde script, startkde script would write to kdeglobals and then read
this configuration in the krdb.

This had un-intended side-effect of $XDG_CONFIG_DIRS/kdeglobals settings
or settings set by ~/.config/fontconfig/fonts.conf not being used.

D21335 fixes this by not writing to kdeglobals anymore, this transfers
the defaults used by startkde here.
Related: bug 407754

M  +16   -25   kcms/krdb/krdb.cpp

https://commits.kde.org/plasma-desktop/873cbc1da8f3f2b589f9f2722a4e15a8fcbfe4e5