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!