On Thu, Feb 06, 2003 at 09:50:57AM -0500, Warren_Baird(a)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(a)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.