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/

Reply via email to