Dave_Belanger@cimmetry.com wrote:
- /* Extra transformation specified by caller */
- if (lpmat) {
FT_Matrix extraMat;
extraMat.xx = FT_FixedFromFIXED(lpmat->eM11);
extraMat.xy = FT_FixedFromFIXED(lpmat->eM12);
extraMat.yx = FT_FixedFromFIXED(lpmat->eM21);
extraMat.yy = FT_FixedFromFIXED(lpmat->eM22);
My tests show that Windows and Freetype disagree about diagonal elements of the transformation matrix. In order to make it work like in Windows we need to reverse the xy/yx assignment:
extraMat.xy = FT_FixedFromFIXED(lpmat->eM21); extraMat.yx = FT_FixedFromFIXED(lpmat->eM12);
P.S. Dave, thanks for your great work! I'm just curious, what kind of application you are trying to run under Wine?