Text rendering on Mojave (macOS)
Kirill Grouchnikov
kirill.grouchnikov at gmail.com
Wed Nov 28 15:47:28 UTC 2018
I've sent this one a couple of days ago, and looks like it fell through the
moderation cracks since it had an image attached to it. So sending this
again...
So I spent some time today looking into font rendering on the latest macOS
10.14 (Mojave), I came across https://news.ycombinator.com/item?id=17476873
that says that it has removed the subpixel anti-aliasing setting. There's a
new one under "General" named "Use font smoothing when available".
When that setting is on (which is by default), font rendering in Swing with
the recommended awt.font.desktophints system property is too heavy. Looking
at how
https://github.com/JetBrains/intellij-community/blob/master/platform/editor-ui-api/src/com/intellij/ide/ui/UISettings.kt
is doing it (lines 399-420) it appears that they are setting
KEY_TEXT_ANTIALIASING to VALUE_TEXT_ANTIALIAS_OFF, and doing that in Swing
results in font rendering that is consistent with native apps.
Then I looked at how JavaFX font rendering looks like with locally built
https://github.com/gluonhq/gluon-samples/tree/master/fifty-states
No matter if that new platform setting is off or on, all the texts look
halo'd - zoom in on
https://www.pushing-pixels.org/wp-content/uploads/2018/11/javafx-mojave.png
and see all those pink / light blue pixels around glyphs.
Am I running the demo wrong?
More information about the openjfx-dev
mailing list