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

Phil Race prr at openjdk.java.net
Wed Oct 20 16:31:07 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.

This pull request has now been integrated.

Changeset: a118d333
Author:    Phil Race <prr at openjdk.org>
URL:       https://git.openjdk.java.net/jfx/commit/a118d33314a363336134d31c45b50329594e5a24
Stats:     3 lines in 2 files changed: 1 ins; 0 del; 2 mod

8236689: macOS 10.15 Catalina: LCD text renders badly

Reviewed-by: kcr, pbansal

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

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


More information about the openjfx-dev mailing list