RFR: 8236689: macOS 10.15 Catalina: LCD text renders badly

Kevin Rushforth kcr at openjdk.java.net
Thu Oct 14 13:07:54 UTC 2021


On Wed, 13 Oct 2021 23:59:40 GMT, Phil Race <prr at openjdk.org> wrote:

> On an external (non-retina) monitor JavaFX LCD text on macOS is painful on the eyes.
> Retina diminishes it rather than cures it.
> 
> The problem is a mix of a couple of things
> 1) CoreText no longer generates LCD glyphs (except perhaps if you change some system settings at your own risk)
> 2) Prism's LCD shader assumes it got LCD glyphs and makes sub-pixel positioning adjustments that turn greyscale
> glyphs into multi-coloured glyphs that weren't meant to be ...
> 
> The fix here is to just disable LCD by default on macOS as is already done (eg) on iOS
> This ripples through to make everything use grey scale even if you asked for the LCD (which you can't have)
> It also means if you REALLY want it (and perhaps are tweaking those magical settings) you can have it back
> by just specifying -Dprism.lcdtext=on
> 
> Also it means the pieces of support for this on macos are still there if Apple ever bring it back (unlikely).
> Not that much code would be removed anyway .. a fair amount of it is needed for Windows and Linux.

The fix itself is simple, but a second pair of eyes would be useful.

-------------

PR: https://git.openjdk.java.net/jfx/pull/642


More information about the openjfx-dev mailing list