gdi32: Specify the suitable hinting flags explicitly.

Byeongsik Jeon bsjeon at hanmail.net
Tue Nov 20 13:57:55 CST 2018


On Tue, 20 Nov 2018 22:35:58 +0300, Dmitry Timoshkov <dmitry at baikal.ru>
wrote:
> Byeongsik Jeon <bsjeon at hanmail.net> wrote:
> 
>>>> Even if we do not consider bug # 41639, now Wine GDI has a problem using
>>>> the wrong advance value for MS legacy fonts( with hdmx table) at the v40.
>>>
>>> Could you elaborate?
>>>
> 
> [skipped]
> 
>> For example:
>>
>> $ ttx -l tahoma.ttf | grep hdmx
>>     hdmx  0x40968415    106152     19188
>> $ ttx -t hdmx tahoma.ttf
>>
>> ppem:   9  10  11  12  13  14
>>    t:   3   3   4   5   4   5
>>
>> Tahoma 't' width=685 EM=2048. liear scaled advance=ROUND(ppem * 685 / 2048).
>>    t:   3   3   4   4   4   5
>>
>> wordpad_tahoma_t_111213px.png shows the actual rendered image. We can
>> see the 5px advance applied in the ppem 12px 't'.
>>
>> I used 't' as an example to show prominent differences, but it also
>> applies to other characters. This problem will cause a difference in
>> text layout between Wine and native Windows. Of course, it does not
>> appear in programs with their own layout engines, or programs using
>> DirectWrite.
> 
> Is there a reason why freetype doesn't do what Microsoft documentation
> implies to be a responsibility of the font rasterizer?
> 
It's v35.
http://lists.nongnu.org/archive/html/freetype/2017-09/msg00036.html

And, it is registered as an issue. But it has a low priority for
Freetype maintainer.
> http://lists.nongnu.org/archive/html/freetype/2018-11/msg00012.html
> Without FT_Property_Set, adding some flag to FT_Load_Glyph seems to be a
> good solution.



More information about the wine-devel mailing list