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