gdi32: Apply the custom transform to a glyph only if it's not an identity one.
This commit is contained in:
parent
df76fe6f0c
commit
8cdca3980a
|
@ -4265,6 +4265,12 @@ static inline BOOL is_identity_FMAT2(const FMAT2 *matrix)
|
||||||
return !memcmp(matrix, &identity, sizeof(FMAT2));
|
return !memcmp(matrix, &identity, sizeof(FMAT2));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline BOOL is_identity_MAT2(const MAT2 *matrix)
|
||||||
|
{
|
||||||
|
static const MAT2 identity = { {0,1}, {0,0}, {0,0}, {0,1} };
|
||||||
|
return !memcmp(matrix, &identity, sizeof(MAT2));
|
||||||
|
}
|
||||||
|
|
||||||
/*************************************************************
|
/*************************************************************
|
||||||
* WineEngGetGlyphOutline
|
* WineEngGetGlyphOutline
|
||||||
*
|
*
|
||||||
|
@ -4411,7 +4417,8 @@ DWORD WineEngGetGlyphOutline(GdiFont *incoming_font, UINT glyph, UINT format,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Extra transformation specified by caller */
|
/* Extra transformation specified by caller */
|
||||||
if (lpmat) {
|
if (lpmat && !is_identity_MAT2(lpmat))
|
||||||
|
{
|
||||||
FT_Matrix extraMat;
|
FT_Matrix extraMat;
|
||||||
extraMat.xx = FT_FixedFromFIXED(lpmat->eM11);
|
extraMat.xx = FT_FixedFromFIXED(lpmat->eM11);
|
||||||
extraMat.xy = FT_FixedFromFIXED(lpmat->eM21);
|
extraMat.xy = FT_FixedFromFIXED(lpmat->eM21);
|
||||||
|
|
Loading…
Reference in New Issue