FOLLOW ME Twitter Facebook Вконтакте LinkedIn RSS Feed

Font rendering: Apple JDK 6 vs Oracle JDK 1.7.0_40

Category: Java
Sep 12, 2013
Konstantin Bulenkov

The Oracle JDK version 1.7.0_40 contains significant changes in font rendering comparing to latest builds of Apple JDK 1.6

Apple JDK with Quartz
apple-jdk-font-rendering

Oracle JDK 1.7.0_40
oracle-jdk-font-rendering

First screenshot was made with Apple JDK. Quartz Graphics Framework enabled by passing apple.awt.graphics.UseQuartz=true as a system property to render text and graphics. Anyway, fonts and colours under Apple JDK with Quartz look so different in java applications comparing to native ones. The good news is that fonts look natively with new Oracle JDK. It uses new approaches to render texts. Unfortunately, OpenGL doesn’t support subpiчуд anti-aliasing, so you can have some problems with non-Retina displays.

Also Apple JDK with Quartz modifies colours while rendering and makes them more soft. Look at the difference in backgrounds on the pictures. They have the same background colour… sort of…

10 Comments

  • This is only for retina? The second picture doesn’t seem to use subpixel AA, so there’s no real improvement for non-retina macbooks?

  • Any ideas on how to achieve the same font rendering on Windows? Make it a little bolder. Currently Oracle JDK renders very light/thin fonts.

  • Hi,

    I have tried various combinations of settings, but can not get the fonts to look good on JDK 1.7

    Would you mind posting your ideas.vmoptions and ideas.properties files?

    Also, what version of Mac OS X are you running? Retina?

    Thank you very much, in advance.

    • Hi, Andre. I work with default UI settings on MacBook Pro with Retina (Mac OS X Maverics) This is how IDEA looks like under java 8u20-b11

      • Thanks for the reply!

        OK, so the differences are:

        – I am using the released version of Java 8 : 1.8.0-b132
        – I’m still on Mac OS X 10.7.5
        – I don’t have retina

        None of those seem likely candidates for the problem… the most likely one is maybe the version of OS X?

        I’ll keep on looking. For now I have switched back to Apple’s JVM, because I can not look at those flimsy fonts being displayed by Java 8 :)

        Thanks again.

        • It’d be great if you share some screenshots with this ugly font rendering :)

          • Check out NetBeans 7.x or 8.x (which run on Java 7 and Java 8, respectively.)

            Both of them exhibit the issue of awful font rendering. This was reported to the dev team, who didn’t appear to care much about it. The problem does indeed lie in the JRE, but it was reported a very long time ago and yet didn’t get fixed in 8.

          • Hi,

            See screenshots in the links below. The only thing that is different between the two is the JRE used to start IntelliJ. The 1.6 one looks considerably bolder, and is easier to read.

            Java 1.6 : https://drive.google.com/file/d/0B99hxg8ZrZmudXUtV2R6UjdTekE

            Java 1.8 : https://drive.google.com/file/d/0B99hxg8ZrZmuSkVnRXdzSVcxMzg

            I have tried it on 1.7.0_45 as well, but it looks the same as 1.8

            Thanks again.

  • This “improvement” you’re seeing is actually a regression and a bug in Java 7 and 8.

    The reason that the font looks thinner is that subpixel anti-aliasing isn’t working, which is a bad thing, especially on non-retina screens.

    That’s probably why it doesn’t look too bad for you, and why it does look bad for Andre.

    Here’s the bug: http://youtrack.jetbrains.com/issue/IDEA-117324

    • Lol, I just posted this comment only to see then that you’re a Jetbrains employee and actually the assignee on this bug. I hope that a solution can be found and you can work with Oracle and/or Apple to get this right. CRT displays are long gone, subpixel anti-aliasing is a must in 2014.

      I really don’t like the way IntelliJ looks on Java 7 and 8, and very much prefer the Java 6 Quartz look. And I’m not alone.

      ps. Thanks for bringing us Darcula! :)

Leave a comment