Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Disappearing font



We have a site of users that intermittently gets the following message to the console when they launch our desktop application as managed users on OS X 10.4.11, Java 1.5.0_13, PPC:

Warning: the font "Lucida Grande" is not available, so "Lucida Sans" has been substituted, but may have unexpected appearance or behavor. Re-enable the "Lucida Grande" font to remove this warning.

The error is being output by apple.awt.CGraphicsEnvironment.getFontFamily() (stack trace below) This is followed by a stream of null pointer exceptions (one example is below) from paint calls.

I can replicate the error by moving my Lucida Grande font from /System/Library/Fonts to the trash, but this makes my entire system unstable (Finder dropping letters, etc.). They don't seem to have any other instability. Their Finders appear to be using Lucida Grande.

We're using a LAF mixing basic aqua, quaqua, and custom components. Nowhere do we explicitly ask for Lucida Grande.

Oddly, they claim the problem goes away (for a while) if they launch our app as an administrative local user and then log back into the managed user account.

I realize this touches on deeper-than-Java issues, and I don't understand much about font caching for managed users, etc., but I'm looking for pointers on where to go with this, or insights as to why Java wouldn't be able to access this system font when the rest of the OS appears to be okay.

michael


Trace from original error message (appears twice, with similar traces):
Warning: the font "Lucida Grande" is not available, so "Lucida Sans" has been substituted, but may have unexpected appearance or behavor. Re-enable the "Lucida Grande" font to remove this warning.
from: java.lang.Thread.dumpThreads(Native Method)
from: java.lang.Thread.getStackTrace(Thread.java:1401)
from: com.t4l.io.LogFilter.println(SessionManager.java:847)
from: com.t4l.error.ErrorFilter.println(ErrorManager.java:443)
from: apple.awt.CGraphicsEnvironment.getFontFamily(CGraphicsEnvironment.java:246)
from: apple.awt.CGraphicsEnvironment.getFontFamilyWithExtraTry(CGraphicsEnvironment.java:227)
from: apple.awt.CGraphicsEnvironment.setupLogicalFonts(CGraphicsEnvironment.java:218)
from: apple.awt.CGraphicsEnvironment.loadFonts(CGraphicsEnvironment.java:209)
from: sun.font.FontManager.findFont2D(FontManager.java:1247)
from: sun.font.FontManager.findFont2D(FontManager.java:1193)
from: java.awt.Font.getFont2D(Font.java:358)
from: apple.awt.CRenderer.doRect(Native Method)
from: apple.awt.OSXSurfaceData.doRect(OSXSurfaceData.java:1212)
from: apple.awt.CRenderer.fillRect(CRenderer.java:157)
from: apple.awt.CRenderer.fillRect(CRenderer.java:145)
from: sun.java2d.pipe.ValidatePipe.fillRect(ValidatePipe.java:58)
from: sun.java2d.SunGraphics2D.fillRect(SunGraphics2D.java:2422)
from: javax.swing.plaf.ComponentUI.update(ComponentUI.java:152)
from: javax.swing.JComponent.paintComponent(JComponent.java:743)
from: com.t4l.swing.ImagePanel.paintComponent(ImagePanel.java:120)
from: com.t4l.swing.SplashScreen$2.paintComponent(SplashScreen.java:157)
from: javax.swing.JComponent.paint(JComponent.java:1006)
from: com.t4l.swing.LazyPanel.paint(LazyPanel.java:142)
from: javax.swing.JComponent.paintChildren(JComponent.java:843)
from: javax.swing.JComponent.paint(JComponent.java:1015)
from: javax.swing.JLayeredPane.paint(JLayeredPane.java:559)
from: javax.swing.JComponent.paintChildren(JComponent.java:843)
from: javax.swing.JComponent.paint(JComponent.java:1015)
from: java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:34)
from: sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60)
from: sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97)
from: java.awt.Container.paint(Container.java:1722)
from: sun.awt.RepaintArea.paintComponent(RepaintArea.java:276)
from: sun.awt.RepaintArea.paint(RepaintArea.java:241)
from: apple.awt.ComponentModel.handleEvent(ComponentModel.java:251)
from: apple.awt.CWindow.handleEvent(CWindow.java:176)
from: java.awt.Component.dispatchEventImpl(Component.java:4126)
from: java.awt.Container.dispatchEventImpl(Container.java:2068)
from: java.awt.Window.dispatchEventImpl(Window.java:1791)
from: java.awt.Component.dispatchEvent(Component.java:3885)
from: java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
from: com.t4l.ib.pixie.Pixie$CustomEventQueue.dispatchEvent(Pixie.java:632)
from: java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
from: java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
from: java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
from: java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
from: java.awt.EventDispatchThread.run(EventDispatchThread.java:110)



Trace from subsequent error:
java.lang.NullPointerException
No details are available.
at java.awt.Font.getFont2D(Font.java:358)
at apple.awt.CRenderer.doRect(Native Method)
at apple.awt.OSXSurfaceData.doRect(OSXSurfaceData.java:1212)
at apple.awt.CRenderer.fillRect(CRenderer.java:157)
at apple.awt.CRenderer.fillRect(CRenderer.java:145)
at sun.java2d.pipe.ValidatePipe.fillRect(ValidatePipe.java:58)
at sun.java2d.SunGraphics2D.fillRect(SunGraphics2D.java:2422)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:152)
at javax.swing.JComponent.paintComponent(JComponent.java:743)
at com.t4l.swing.ImagePanel.paintComponent(ImagePanel.java:120)
at com.t4l.swing.SplashScreen$2.paintComponent(SplashScreen.java:157)
at javax.swing.JComponent.paint(JComponent.java:1006)
at com.t4l.swing.LazyPanel.paint(LazyPanel.java:142)
at javax.swing.JComponent.paintChildren(JComponent.java:843)
at javax.swing.JComponent.paint(JComponent.java:1015)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:559)
at javax.swing.JComponent.paintChildren(JComponent.java:843)
at javax.swing.JComponent.paint(JComponent.java:1015)
at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:34)
at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60)
at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97)
at java.awt.Container.paint(Container.java:1722)
at sun.awt.RepaintArea.paintComponent(RepaintArea.java:276)
at sun.awt.RepaintArea.paint(RepaintArea.java:241)
at apple.awt.ComponentModel.handleEvent(ComponentModel.java:251)
at apple.awt.CWindow.handleEvent(CWindow.java:176)
at java.awt.Component.dispatchEventImpl(Component.java:4126)
at java.awt.Container.dispatchEventImpl(Container.java:2068)
at java.awt.Window.dispatchEventImpl(Window.java:1791)
at java.awt.Component.dispatchEvent(Component.java:3885)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at com.t4l.ib.pixie.Pixie$CustomEventQueue.dispatchEvent(Pixie.java:618)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Java-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/java-dev/email@hidden

This email sent to email@hidden


Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.