Music font problem

Andrew Johnson anjohnson at iee.org
Tue Feb 18 22:02:09 CST 2003


I originally posted this to comp.emulators.ms-windows.wine, where it 
was suggested I send a copy here.  Please CC: replies to me as I'm not 
subscribed to wine-devel.  TIA!

I have been using a shareware program called Noteworthy Composer for
many years on Windows, but am trying to switch to a Linux-only setup
and this is one the last obstacles.  I don't want to switch to the
other Linux music programs as to my mind they don't provide as simple 
an interface as NWC does, and I already have many song files in the 
NWC format.  The main problem with running this is that it uses its 
own TrueType Font, which doesn't display properly under Wine - I just 
get outline boxes instead of the note symbols.

Here's how I got to where I am right now:

I tried various RPM versions of wine on my RH8.0 system, and finally
downloaded the Wine source and did a cvs update and build about a week
ago.  The first problem was that I was using a fake C drive and the
NWCV15.TTF font was the only one found, and was being used for all
text including menus & dialog boxes - this just doesn't make sense,
the NWCV15 font is analagous to a symbol font and doesn't have text
characters, so everything came out totally illegible, although
recognizable enough to see that it was mostly working.

I installed a few standard TTF fonts in the windows\Fonts directory to
fix that, but then the program wouldn't start, complaining that it 
couldn't find its special font NWCV15.ttf, which had been correctly 
installed in the C:\Windows\Fonts directory.  I ran wine with 
--debugmsg +font and added a few more TRACE() statements to 
dlls/gdi/freetype.c, and discovered that the font was being ignored by 
Wine because the program doesn't specify SYMBOL_CHARSET when 
requesting the font; Windows finds the font but Wine doesn't.

There is a specific check in the routine WineEngCreateFontInstance to
compare the font name requested with "Symbol" and in that case to set
the charset being searched for to SYMBOL_CHARSET.  When I add similar
code for the font name "NWCV15" the program now starts up and finds
its font, but doesn't display it correctly.  My change is obviously
highly specific to running this program, so there's obviously a 
significant algorithm difference between Wine and Windows when it 
comes to font selection of SYMBOL_CHARSET fonts.

Now I can read the dialogs properly and the program runs pretty well
(it even plays MIDI stuff properly after I installed the ALSA drivers
from source - cool), but the score display is still only only showing 
boxes instead of the note heads and other symbols that appear in that 
font.  The font file does show various expected glyphs if I install it 
in the xfs truetype directory and look at it using xfontsel, but I 
don't know of any other Linux tools for analysing .ttf files.

Can anyone suggest what I should do next to try and get the NWCV15
font displaying properly?  This is obviously an unusual font but I'm
not sure whether that's causing the problems or not.  Ideas?

If anyone wants to have a look at the font file for themselves, free 
evaluation copies of the software can be obtained from 
http://www.noteworthysoftware.com/composer/download.htm

- Andrew

PS: Thanks to all the Wine developers for making this feat achievable, 
it amazes me how well it all works!





More information about the wine-devel mailing list