On Thu, Feb 06, 2003 at 09:50:57AM -0500, Warren_Baird@cimmetry.com wrote:
ChangeLog:
Add support for font glyph rotation in GetGlyphOutline.
Description:
Fixed bad angle conversion from tenths of degree to FT_Fixed on big-endian machines. Fixed bad calculation of the gmCellIncY bounding box field in the case of a rotation. (just imagine what you would get as result from "-(vec.y+63) >> 6" when vec.y is zero... what we expect really is zero, not -1). Fixed wrong rotation matrix used to transform the outline. Rotate each point of the outline before it gets converted by FTVectorToPOINTFX in the GGO_NATIVE case.
Warren Baird : Warren_Baird@cimmetry.com Dave Belanger
diff -ur clean/wine/dlls/gdi/freetype.c wine/dlls/gdi/freetype.c --- clean/wine/dlls/gdi/freetype.c 24 Jan 2003 15:12:16 -0000 1.1.1.3 +++ wine/dlls/gdi/freetype.c 28 Jan 2003 18:37:34 -0000
@@ -1510,7 +1510,7 @@ if(font->orientation) { FT_Matrix matrix; matrix.xx = matrix.yy = pFT_Cos(angle);
matrix.xy = -pFT_Sin(angle);
matrix.xy = pFT_Sin(angle); matrix.yx = -matrix.xy; pFT_Outline_Transform(&ft_face->glyph->outline, &matrix);
Hi,
Are you sure about this hunk? Iirc there was a vesion of FreeType that incorrectly swapped the meaning of matrix.xy and matrix.yx, but as I understand it this has now been corrected. Which version of FreeType have you been using? We could probably add a run time check to work around this bug if need be.
Huw.