--- old/src/share/classes/java/awt/Component.java 2009-08-07 10:51:30.000000000 +0200 +++ new/src/share/classes/java/awt/Component.java 2009-08-07 10:51:30.000000000 +0200 @@ -74,6 +74,9 @@ import sun.awt.EmbeddedFrame; import sun.awt.dnd.SunDropTargetEvent; import sun.awt.im.CompositionArea; +import sun.font.FontManager; +import sun.font.FontManagerFactory; +import sun.font.SunFontManager; import sun.java2d.SunGraphics2D; import sun.java2d.pipe.Region; import sun.awt.image.VSyncedBSManager; @@ -2850,8 +2853,12 @@ * @since JDK1.0 */ public FontMetrics getFontMetrics(Font font) { - // REMIND: PlatformFont flag should be obsolete soon... - if (sun.font.FontManager.usePlatformFontMetrics()) { + // This is an unsupported hack, but left in for a customer. + // Do not remove. + FontManager fm = FontManagerFactory.getInstance(); + if (fm instanceof SunFontManager + && ((SunFontManager) fm).usePlatformFontMetrics()) { + if (peer != null && !(peer instanceof LightweightPeer)) { return peer.getFontMetrics(font);