Ralf Habacker <r...@habacker.de> writes: > On 01.10.2013 12:12, Alexandre Julliard wrote: >> Ralf Habacker <ralf.habac...@freenet.de> writes: >> >>> With other patches i have been told to implement such stuff in the dib >>> driver. Unfortunally this do not works in this case, because in the top >>> level function it looks like having driver specific stuff using display >>> coordinates. >> It would still most likely have to be in the driver, > which is freetype_GetTextExtentExPoint() ? > >> though maybe the driver would not be calling that exact entry point. > not sure i understand right: > > GetTextExtentExPointW() calls get_char_positions(), which runs > dev->funcs->pGetTextExtentExPoint(), which is mapped to > freetype_GetTextExtentExPoint(), which is in the driver. Which entry > point your are refering else ?
The various text rendering entry points in the graphics drivers. >> In any case, you can't change the DC transform like this > > then a real solution requires to move the transformation to logical > coordinates stuff in BOOL GetTextExtentExPointW() to > freetype_GetTextExtentExPoint() and to manipulate the related matrixes > in freetype_GetTextExtentExPoint() directly wen using GM_ADVANCED ? No, I don't think so. The transform is only used to determine the font scaling factor. >> and you'll need test cases. >> > Do you mean in detail: > > 1. Create a specific font > 2. Run GetTextExtentExPointW() which specific parameters > 3. check if it results expected values Well, yes, that's what all tests do. -- Alexandre Julliard julli...@winehq.org