Leopard’s Java 10.5 Update 2 breaks Quartz pipeline font rendering30 Sep 2008
If you experience missing text in some applications, like one using Batik and native Mac’s Quartz Java pipeline, seek no more for an answer this is a bug introduced in 10.5 Update.
Here goes a copy of my bugreport to Apple #6256562
Apple Java for OS X 10.5 Update 2 Java update for Leopard breaks font
rendering using Quartz pipeline
apple.awt.graphics.UseQuartz=true in some
applications such as Batik, a SVG rendered used by many other Java
Steps to Reproduce
Download and unzip batik-1.7.zip from Apache
Open terminal at batik-1.7 folder
Run Batik reference SVG viewer with sample fonts rendering using Leopard’s Java Sun default pipeline
$ java -jar batik-squiggle.jar samples/tests/spec/text/textStyles.svg
Run Batik reference SVG viewer with Quartz pipeline:
$ java -Dapple.awt.graphics.UseQuartz=true -jar batik-squiggle.jar samples/tests/spec/text/textStyles.svg
In both (3) & (4) cases we shall see all text rendered properly. While Quartz (4) should support also LCD subpixel text smoothing.
In (3) we see all text rendered properly by Sun pipeline, in (4) most
of the text is not rendered at all by Quartz pipeline. (Of course standard
widgets and windows have the text) This is tested in both
1.6.0_07 from 10.5 Update 2.
Using previous Java version
1.5.0_13 on machine that has not the Leopard 10.5
Update 2, text is rendered properly with Quartz pipeline in point (4). So
the 10.5 Update 2 broke Quartz pipeline.
I’m aware that now Sun’s pipeline is default for Leopard, however Quartz even being discredited has important merits of being faster in some cases as antialiased shapes and text rendering and support of LCD subpixel text smoothing.
I work with several Java applications such as XMLMind XML Editor that uses Batik. In XXE case I use Quartz, because with Sun’s pipeline all text is blurry on my MBP, so I need to use LCD subpixel smoothing for a sake of my eyes, however just after the latest update all my drawings inside XXE have no text anymore, just because of the problem described above.
I got a problem since there’s no official procedure to rollback Java 10.5 Update 2, and I need to live with this bug now.