[PATCH 2/5] dwrite: Use OS/2 table data to set font style, make it preferable

Nikolay Sivov bunglehead at gmail.com
Mon Aug 10 06:28:10 CDT 2015


On 10.08.2015 14:23, Dmitry Timoshkov wrote:
> Nikolay Sivov <nsivov at codeweavers.com> wrote:
>
>>       if (tt_os2) {
>> +        USHORT version = GET_BE_WORD(tt_os2->version);
>> +        USHORT fsSelection = GET_BE_WORD(tt_os2->fsSelection);
>> +
>>           if (GET_BE_WORD(tt_os2->usWidthClass) <= DWRITE_FONT_STRETCH_ULTRA_EXPANDED)
>>               props->stretch = GET_BE_WORD(tt_os2->usWidthClass);
>>
>>           props->weight = GET_BE_WORD(tt_os2->usWeightClass);
>> +        if (version >= 4 && (fsSelection & OS2_FSSELECTION_OBLIQUE))
>> +            props->style = DWRITE_FONT_STYLE_OBLIQUE;
>> +        else if (fsSelection & OS2_FSSELECTION_ITALIC)
>> +            props->style = DWRITE_FONT_STYLE_ITALIC;
>
> It's much better to use freetype flags for bold and italic, that way styles
> will match between gdi32 and dwrite. Besides I'd prefer to trust freetype
> instead of some handmade code which was not tested by thousands of fonts
> out there.
>

I don't think so, no. And it doesn't have to match gdi32 in that regard.



More information about the wine-devel mailing list