The crisp fonts saga
John Neffenger
john at status6.com
Fri Dec 15 05:29:36 UTC 2023
On 12/13/23 10:15 PM, John Neffenger wrote:
> I find it helps to get the bigger picture. Below are the various camps
> as I've come to understand them over the years.
An update to my previous categorization ...
In 2018, Java Swing moved from the full-hinting group to the
slight-hinting group, on Linux at least, when FreeType 2.8 was included
in Linux distributions.
So a better grouping of rendering policies is:
Subpixel rendering with normal hinting
- Microsoft Windows
- Java Swing on Linux (before FreeType 2.8)
Subpixel rendering with "slight" hinting
- Ubuntu
- Java Swing on Linux (after FreeType 2.8)
Subpixel rendering with hinting disabled
- JavaFX on Linux
Gray-level rendering with hinting disabled
- Apple macOS
I always wondered why text rendering in Swing apps on Linux got so much
better around 2018. Turns out FreeType made the switch under the covers
with the following change [1]:
- FT_LOAD_TARGET_LCD is now a variant of FT_LOAD_TARGET_LIGHT;
this should provide better rendering results.
Better indeed! A five-year mystery (to me, at least) solved. :-)
John
[1]: https://sourceforge.net/projects/freetype/files/freetype2/2.8/
More information about the openjfx-dev
mailing list