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/