-
-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stem Darkening enabled by default #266
Comments
Hey, I would like to add something I mentioned yesterday, this is not as simple as just changing a setting, because what you're describing makes fonts look worse on a HiDPi display; techniques like hinting or the stem darkening were designed a long time ago when displays were low resolution and couldn't handle thin lines. macOS rendering rant 👀macOS is rendering text incorrectly and comparing side by side on 2 MacBooks disabling the setting makes text sharper, since they have HiDPi displays. You can test it by manually changing the .plist using the userdefaults command, since they removed the checkbox. Only then you can accurately test the effect of font smoothing, otherwise the entire display is blurry anyway 😐 Advanced solutionI think the better solution to this would be to configure font rendering based on the display scaling setting, so that fonts are sharp for everyone regardless of display resolution 🙂 currently the default is to have both anti aliasing and hinting on at all times; If this doesn't look better, the font is not designed correctly, I can't easily check because I changed it however. Easy solutionHave a toggle in the settings that changes between the modes, like macOS used to. It's not as elegant but it works. edit: |
Problem
The default Inter font is blurry and slightly harder to read compared to other fonts (Noto Sans and Ubuntu come to mind).
Proposal
Enable stem darkening system-wide by adding this line at the end of the "environment" file located in /etc:
FREETYPE_PROPERTIES="cff:no-stem-darkening=0"
Stem darkening effectively makes small and thin lines from a font slightly bolder for easier readability and better contrast. This is something that macOS already does and I think it fits nicely with how elementaryOS presents itself, making for a cleaner UI.
Prior Art (Optional)
I learned about this when using KDE and noticing how much better fonts look compared to GNOME. The KDE devs enabled stem darkening on a DE level so while every QT app takes advantage of this, it seems GNOME apps do not. In order to get some consistency between QT and GNOME apps one would have to enable stem darkening at a system level, which is what that line of code does.
I also noticed that the font kerning in QT apps is much better than GNOME. Again, this is something purposefully implemented by the KDE devs at a DE level but I have not been able to replicate it at a system level. In other words, I have yet to find the line (or lines) of code necessary to enable this. If one could figure out exactly what sort of black magic the KDE devs used to improve font rendering and bring that same quality to elementaryOS, that would improve things a lot.
Use Evince and Okular on the same document and compare their respective font renderings to understand what I'm talking about.
The text was updated successfully, but these errors were encountered: