On 01.10.2013 12:12, Alexandre Julliard wrote:
Ralf Habacker ralf.habacker@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 ?
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 ?
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
Regards Ralf