Hi,
I have a problem displaying rotated text in Wine where the rotation under Windows is counterclockwise, but the rotation in Wine is clockwise. The patch I came up with rotates the text in the right direction, but the individual characters are still rotated in the wrong direction. The attached WMF file shows the bug.
Any help/criticism would be appreciated.
diff --git a/dlls/gdi32/font.c b/dlls/gdi32/font.c index 24f16dd..24dac20 100644 --- a/dlls/gdi32/font.c +++ b/dlls/gdi32/font.c @@ -1820,6 +1820,11 @@ BOOL WINAPI ExtTextOutW( HDC hdc, INT x, { cosEsc = cos(lf.lfEscapement * M_PI / 1800); sinEsc = sin(lf.lfEscapement * M_PI / 1800); + if (lf.lfClipPrecision & CLIP_LH_ANGLES) + { + FIXME("rotated text flag with flag CLIP_LH_ANGLES unimplemented, trying to fix it up\n"); + sinEsc = - sinEsc; + } } else { diff --git a/dlls/winex11.drv/xrender.c b/dlls/winex11.drv/xrender.c index 1fe30f6..21eaad6 100644 --- a/dlls/winex11.drv/xrender.c +++ b/dlls/winex11.drv/xrender.c @@ -1135,6 +1135,11 @@ BOOL X11DRV_XRender_ExtTextOut( X11DRV_P if(lf.lfEscapement != 0) { cosEsc = cos(lf.lfEscapement * M_PI / 1800); sinEsc = sin(lf.lfEscapement * M_PI / 1800); + if (lf.lfClipPrecision & CLIP_LH_ANGLES) + { + FIXME("rotated text flag with flag CLIP_LH_ANGLES unimplemented, trying to fix it up\n"); + sinEsc = - sinEsc; + } } else { cosEsc = 1; sinEsc = 0;
Regards, Carl-Daniel