[PATCH] dlls/gdi32/fretype.c: Avoid division by zero.

Aric Stewart aric at codeweavers.com
Sun May 5 12:05:32 CDT 2013


I am very interested in this whole situation because I have run into a similar font issue.

Many Mac fonts have an AveCharWidth of a negative value.  These fonts do not work well in Wine because of this. Doing some investigation I have found that the given fonts will not install on windows 7. Windows 7 reports the font as corrupted.

So Dmitry is right, the font is not proper for windows. However in all honestly WINE is never running on windows. We are running on other OS (OS/X Linux) and it seems like a logical thing to allow a user to use the fonts native on their systems.

I would like to think we could find a way to load and handle these guest fonts that the user will expect to have be function. Even if the font would not be a normal windows font.

-aric

On 5/4/13 11:38 PM, Max TenEyck Woodbury wrote:
> On 05/05/2013 12:09 AM, Sam Edwards wrote:
>>
>> On 05/04/2013 08:27 PM, Max TenEyck Woodbury wrote:
>>> OK. Let's summarize:
>>>
>>> There are some fonts where tmHeight is in fact 0.  If Hin-Tak Leang is
>>> correct, these may be Open-Source fonts possibly with proprietary
>>> equivalents. Since I have hundreds of fonts installed on my system, it
>>> is almost certain that I have one or more. Identifying which without
>>> support in wine is a large task, not to be undertaken lightly.
>>>
>> Let's try to fully understand this problem and identify a font that
>> causes the issue. Since you already have one installed in your font
>> library, you could just run the tests with the attached patch applied
>> and make quick work of identifying the troublesome font. Maybe
>> (hopefully) it's an easy font to obtain so all of us can get a better
>> look at what's going on.
>>
>> I'm going to *guess* that tmHeight being 0 is the actual problem, but we
>> won't know until we try the same font on Windows and see what Windows
>> does. If Windows also produces tmHeight=0, then this patch makes perfect
>> sense.
>>
>> If Windows gives a non-zero tmHeight under the same circumstances, then
>> we know the problem is in the font loader, and we'll fix that instead,
>> thus making this patch unnecessary because tmHeight will always be
>> nonzero anyway.
> 
> $ grep ' has tmHeight=0, aveWidth=' 201305055-make-test-native.log
> err:font:get_text_metrics Font named 'Emmentaler-Brace' has tmHeight=0, aveWidth=3!
> err:font:get_text_metrics Font named 'Emmentaler-Brace' has tmHeight=0, aveWidth=3!
> err:font:get_text_metrics Font named 'Emmentaler-Brace' has tmHeight=0, aveWidth=3!
> err:font:get_text_metrics Font named 'Emmentaler-Brace' has tmHeight=0, aveWidth=3!
> err:font:get_text_metrics Font named 'RiordonFancy' has tmHeight=0, aveWidth=0!
> 
> 
> 



More information about the wine-devel mailing list