diff --git a/reactos/subsystems/win32/win32k/objects/freetype.c b/reactos/subsystems/win32/win32k/objects/freetype.c index ffb27d5786d..97636614a5c 100644 --- a/reactos/subsystems/win32/win32k/objects/freetype.c +++ b/reactos/subsystems/win32/win32k/objects/freetype.c @@ -3132,6 +3132,7 @@ GreExtTextOutW( POINT Start; BOOL DoBreak = FALSE; HPALETTE hDestPalette; + USHORT DxShift; // TODO: Write test-cases to exactly match real Windows in different // bad parameters (e.g. does Windows check the DC or the RECT first?). @@ -3158,6 +3159,8 @@ GreExtTextOutW( goto fail; } + DxShift = fuOptions & ETO_PDY ? 1 : 0; + if (PATH_IsPathOpen(dc->DcLevel)) { if (!PATH_ExtTextOut( dc, @@ -3364,7 +3367,7 @@ GreExtTextOutW( if (NULL != Dx) { Start = Count < 2 ? 0 : Count - 2; - TextWidth = Count < 2 ? 0 : (Dx[Count - 2] << 6); + TextWidth = Count < 2 ? 0 : (Dx[(Count-2)<