GetTextMetrics returns wrong First/Last char index for Symbol fonts

Dmitry Timoshkov dmitry at codeweavers.com
Sat Sep 9 04:14:54 CDT 2006


"Jie Zhu" <jonathan at corvu.com.au> wrote:

> +    ptmA->tmFirstChar = ptmA->tmBreakChar - 2;
> +    if (ptmW->tmCharSet == SYMBOL_CHARSET)
> +    {
> +        ptmA->tmLastChar = ptmW->tmLastChar > 0x0F0FF ? 0x0FF : ptmW->tmLastChar & 0x0FF;
> +    }
> +    else
> +    {
> +        ptmA->tmLastChar = ptmW->tmLastChar > 255 ? 255 : ptmW->tmLastChar;
> +    }

Probably simple WideCharToMultiByte with CP_SYMBOL and CP_ACP would do
a proper thing for tmFirstChar, tmLastChar, tmBreakChar.

You have too many fixes for different problems in your patch, that makes
it not acceptable. Please send fixes one by one for the problems you have
encountered.

Also, if you could make your tests use FreeType APIs (like Wine GDI does) instead
of home-made ones that would simplify them a lot. It would be nice to see a real
Wine test suite for the above conversions.

-- 
Dmitry.



More information about the wine-devel mailing list