Module: wine Branch: master Commit: 85b989c1fa09793e41b81a798f10f4649f8d6b39 URL: http://source.winehq.org/git/wine.git/?a=commit;h=85b989c1fa09793e41b81a798f...
Author: Vincent Povirk vincent@codeweavers.com Date: Fri Sep 20 13:15:54 2013 -0500
gdiplus: Don't expand the drawing area to include empty glyphs.
---
dlls/gdiplus/graphics.c | 21 ++++++++++++--------- 1 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c index 3c4b479..bd9b70b 100644 --- a/dlls/gdiplus/graphics.c +++ b/dlls/gdiplus/graphics.c @@ -6208,15 +6208,18 @@ static GpStatus SOFTWARE_GdipDrawDriverString(GpGraphics *graphics, GDIPCONST UI if (glyphsize > max_glyphsize) max_glyphsize = glyphsize;
- left = pti[i].x + glyphmetrics.gmptGlyphOrigin.x; - top = pti[i].y - glyphmetrics.gmptGlyphOrigin.y; - right = pti[i].x + glyphmetrics.gmptGlyphOrigin.x + glyphmetrics.gmBlackBoxX; - bottom = pti[i].y - glyphmetrics.gmptGlyphOrigin.y + glyphmetrics.gmBlackBoxY; - - if (left < min_x) min_x = left; - if (top < min_y) min_y = top; - if (right > max_x) max_x = right; - if (bottom > max_y) max_y = bottom; + if (glyphsize != 0) + { + left = pti[i].x + glyphmetrics.gmptGlyphOrigin.x; + top = pti[i].y - glyphmetrics.gmptGlyphOrigin.y; + right = pti[i].x + glyphmetrics.gmptGlyphOrigin.x + glyphmetrics.gmBlackBoxX; + bottom = pti[i].y - glyphmetrics.gmptGlyphOrigin.y + glyphmetrics.gmBlackBoxY; + + if (left < min_x) min_x = left; + if (top < min_y) min_y = top; + if (right > max_x) max_x = right; + if (bottom > max_y) max_y = bottom; + }
if (i+1 < length && (flags & DriverStringOptionsRealizedAdvance) == DriverStringOptionsRealizedAdvance) {