I have a sample application which renders a string using 'Dialog' font of size 12 on a canvas. I have implemented a Printable interface which makes the above string rendered onto the graphics context of the printer in Printable's print method. When running this test on Ubuntu 8.0.4, I am getting an InternalError -
Exception in thread "main" java.lang.InternalError: Not implemented
at sun.font.FcFontConfiguration.getFontDescriptors(FcFontConfiguration.java:175)
at sun.awt.PlatformFont.<init>(PlatformFont.java:74)
at sun.awt.X11.XFontPeer.<init>(XFontPeer.java:53)
at sun.awt.X11.XToolkit.getFontPeer(XToolkit.java:874)
at java.awt.Font.getPeer_NoClientCode(Font.java:427)
at java.awt.Font.getPeer(Font.java:418)
at sun.print.PSPrinterJob.textOut(PSPrinterJob.java:1199)
at sun.print.PSPathGraphics.drawString(PSPathGraphics.java:229)
at sun.print.PSPathGraphics.drawString(PSPathGraphics.java:141)
at sun.print.PSPathGraphics.drawString(PSPathGraphics.java:115)
at TimesB.paint(TimesB.java:29)
at TimesB.print(TimesB.java:38)
at sun.print.RasterPrinterJob.printPage(RasterPrinterJob.java:2008)
at sun.print.RasterPrinterJob.print(RasterPrinterJob.java:1457)
at sun.print.RasterPrinterJob.print(RasterPrinterJob.java:1273)
at TimesB.main(TimesB.java:61)
I reproduced it on Ubuntu 8.0.4 with jdk7-b33 2D PIT build. Not reproducible on jdk7-b31 nor on 6u10. Not reproducible on RHEL5. Hence it is a regression in b33.
I have attached a sample test. Just run the test. You will see a Frame with some text and a print dialog will appear. Just navigate through the print dialog and click OK. You will see the above internal error on the console.