On Tue, 15 Mar 2022 18:13:15 GMT, Mike Hearn <d...@openjdk.java.net> 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. > > I can't comment on the JBS bug, but I'm not sure this is actually fixed. I > upgraded to JavaFX 18 and the bug is still there. Setting > `-Dprism.lcdtext=off` fixes it. I'm not sure why, because the change to do > this by default seems simple enough. @mikehearn I downloaded the JavaFX 18 GA bundle and can confirm that LCD text is disabled by default on macOS as per this fix. You might want to double-check the JavaFX version by printing out the "javafx.version" system property. ------------- PR: https://git.openjdk.java.net/jfx/pull/642