building font metrics and Java

Duane Clark dclark at akamail.com
Sat Feb 15 10:33:02 CST 2003


Marc Williams wrote:
> I have a question about Wine's font handling.  I am experiencing
> behavior in Wine that I don't believe is normal.  At the very least, it
> is not desirable.
> ...
> It seems to be Java related.

Not really, it just appears that way in this specific case :-)

> 
> Here's the sequence of events that will cause Wine to rebuild the font
> metrics for me.  This is repeatable every time:
> 1) reboot
> 2) start a Java app - just starting the java console will do.
> 3) close the java app - the JVM process will still be running
> 4) start a Windows app in Wine
> 5) take a nap while the font metrics are built.
> 
> So here's my question:  Is this normal? 

Yes.

> Can anyone else reproduce
> this?  If not, what could be causing this or what could I be doing
> wrong?

What is happening is that a default set of fonts are known to the font 
server, presumably xfs. When Wine is run, it checks that list of fonts 
and caches them.

When you run Java, it registers some additional private fonts with xfs. 
Now when you run Wine, it sees that the list of fonts has changed and 
reruns the caching.

> ...
> Everything seems to work fine: Wine, Java, etc.  It's just this frequent
> font rebuilding that drives me crazy.  All help greatly appreciated.
> Thanks!

You have a couple of alternatives. With that version of Redhat, you 
really don't need to have Wine use the xfs font server ("server side" 
font rendering). If you install a collection of TrueType fonts into your 
windows/Fonts directory, wherever you have your fake C: drive installed, 
then Wine should do direct rendering of fonts("client side" font 
rendering). When Wine does direct rendering, you will never cache fonts 
again. Yea! ;)

You can get fonts from the C:\windows\Fonts directory on a real Windows 
installation, and also from here:
http://corefonts.sourceforge.net/

Alternatively, if you want to continue to use "server side" font 
rendering, figure out where the Java fonts are located, and add that 
path to the default search path for xfs, so that xfs (and therefore 
Wine) already knows about them. Assuming it has not changed since RH7.3, 
the font paths are set in the file /etc/X11/fs/config.





More information about the wine-users mailing list