"Jie Zhu" jonathan@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.