Relax Marlett LOGFONT specification

Richard Cohen richard at daijobu.co.uk
Sat Sep 10 10:09:26 CDT 2005


Huw Davies wrote:
> On Fri, Sep 09, 2005 at 12:46:10PM +0100, Richard Cohen wrote:
>>  ..
>> Changing SYMBOL_CHARSET -> DEFAULT_CHARSET, FIXED_PITCH -> DEFAULT_PITCH
 >> ..
> 
> We shouldn't need to do this.  Fixing marlett.ttf would be the right
> thing to do.
> ...

I agree that marlett.ttf should be fixed, but I think the patch is 
correct, because ...

1. AFAICS bug#3284 is caused by a bug in fontforge that was fixed before 
20050502, rather than an error in marlett.sfd. The patch works around 
the broken fontforge.

2. Marlett is not FIXED_PITCH.

3. MSDN says in CreateFont:

 >    Windows 95/98/Me: You can use the DEFAULT_CHARSET value to allow
 > the name and size of a font to fully describe the logical font. If the
 > specified font name does not exist, a font from any character set can
 > be substituted for the specified font, so you should use
 > DEFAULT_CHARSET sparingly to avoid unexpected results.
 >
 >     Windows NT/2000/XP: DEFAULT_CHARSET is set to a value based on the
 > current system locale. For example, when the system locale is English
 > (United States), it is set as ANSI_CHARSET.
 >
 >    Fonts with other character sets may exist in the operating system.
 > If an application uses a font with an unknown character set, it 
should > not attempt to translate or interpret strings that are rendered 
with
 > that font.
 >
 >    To ensure consistent results when creating a font, do not specify
 > OEM_CHARSET or DEFAULT_CHARSET. If you specify a typeface name in the
 > lpszFace parameter, make sure that the fdwCharSet value matches the
 > character set of the typeface specified in lpszFace.

The Wine font mapper seems to copy the Win98 behaviour; specifying 
SYMBOL_CHARSET sort of implies that the font mapper can fall back to any 
font with SYMBOL_CHARSET if it can't find Marlett, which really isn't 
the case.

4. (Appeal to authority!) Despite the warnings against using 
DEFAULT_CHARSET, a googlefight gives

   about 53 for Marlett SYMBOL_CHARSET

   about 122 for Marlett DEFAULT_CHARSET  (apparently including MFC -- 
see http://www.winehq.org/hypermail/wine-patches/2004/03/0010.html )

Richard.




More information about the wine-devel mailing list