[Bug 1291] Noteworthy Composer's music font not found

Wine Bugs wine-bugs at winehq.com
Sun Jun 22 11:26:53 CDT 2003


http://bugs.winehq.com/show_bug.cgi?id=1291





------- Additional Comments From fsteinel at flonet.net  2003-22-06 11:26 -------
Bug comments restored from Gmane.org: 
 
The TrueType music font NWCV15 installed by Noteworthy Software's
Composer/Player programs (downloadable from URL given) doesn't work under Wine -
with the latest Wine CVS code the program just complains that the font can't be
found.  The font is evidently SYMBOL_CHARSET, but on Windows the program doesn't
have to specify this for it to be correctly found.  I can get it to be found in
Wine by duplicating the two lines of code in the dlls/gdi/freetype.c routine
WineEngCreateFontInstance() that compare each font face name with "Symbol" and
set up the search lfCharSet appropriately.  The comment immediately preceeding
these lines hints that this isn't necessarily done right in Wine, and the NWCV15
font is evidently in the same class as Symbol in that respect.

Once the program can find the font though, it still doesn't work - the symbols
from the font are not displayed, just square boxes where they should appear. 
It's not obvious to me whether these two problems might be related or not.


------- Additional Comments From anjohnson <at> iee.org  2003-02-21 01:25 -------
I have a partial solution to my second problem - it seems that Matt Johnson
<matt <at> guysfield.demon.co.uk> managed to get Noteworthy running on an old
version
of Wine, and by looking at and applying one of the source changes he made I now
have the NWCV15 font displaying properly.  Unfortunately it seems this broke the
display of the wingdings font though...

Here's my complete patch to dlls/gdi/freetype.c which allows me to use
Noteworthy. I'm not suggesting that these changes should go into the official
Wine tree though, these are really just workarounds.


Index: freetype.c
===================================================================
RCS file: /home/wine/wine/dlls/gdi/freetype.c,v
retrieving revision 1.30
diff -u -r1.30 freetype.c
--- freetype.c  23 Jan 2003 21:32:36 -0000      1.30
+++ freetype.c  21 Feb 2003 07:20:05 -0000
@@ -165,6 +165,7 @@
 static WCHAR MSSansSerifW[] = {'M','S',' ','S','a','n','s',' ',
                               'S','e','r','i','f','\0'};
 static WCHAR HelvW[] = {'H','e','l','v','\0'};
+static WCHAR NWCV15W[] = {'N','W','C','V','1','5','\0'};

 static WCHAR ArabicW[] = {'A','r','a','b','i','c','\0'};
 static WCHAR BalticW[] = {'B','a','l','t','i','c','\0'};
@@ -970,6 +971,8 @@

     if(!strcmpiW(lf.lfFaceName, SymbolW))
         lf.lfCharSet = SYMBOL_CHARSET;
+    if(!strcmpiW(lf.lfFaceName, NWCV15W))
+        lf.lfCharSet = SYMBOL_CHARSET;

     if(!TranslateCharsetInfo((DWORD*)(INT)lf.lfCharSet, &csi, TCI_SRCCHARSET)) {
         switch(lf.lfCharSet) {
@@ -1338,8 +1341,8 @@

 static FT_UInt get_glyph_index(GdiFont font, UINT glyph)
 {
-    if(font->charset == SYMBOL_CHARSET && glyph < 0x100)
-        glyph = glyph + 0xf000;
+    if (font->charset == SYMBOL_CHARSET)
+       pFT_Select_Charmap(font->ft_face, ft_encoding_symbol);
     return pFT_Get_Char_Index(font->ft_face, glyph);
 }

-- 
Configure bugmail: http://bugs.winehq.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list