gdiplus: Fix empty glyph handling.
This commit is contained in:
parent
33e05eb6c5
commit
e29e4caca3
|
@ -6242,11 +6242,15 @@ static GpStatus SOFTWARE_GdipDrawDriverString(GpGraphics *graphics, GDIPCONST UI
|
||||||
/* Generate a mask for the text */
|
/* Generate a mask for the text */
|
||||||
for (i=0; i<length; i++)
|
for (i=0; i<length; i++)
|
||||||
{
|
{
|
||||||
|
DWORD ret;
|
||||||
int left, top, stride;
|
int left, top, stride;
|
||||||
|
|
||||||
GetGlyphOutlineW(hdc, text[i], ggo_flags,
|
ret = GetGlyphOutlineW(hdc, text[i], ggo_flags,
|
||||||
&glyphmetrics, max_glyphsize, glyph_mask, &identity);
|
&glyphmetrics, max_glyphsize, glyph_mask, &identity);
|
||||||
|
|
||||||
|
if (ret == GDI_ERROR || ret == 0)
|
||||||
|
continue; /* empty glyph */
|
||||||
|
|
||||||
left = pti[i].x + glyphmetrics.gmptGlyphOrigin.x;
|
left = pti[i].x + glyphmetrics.gmptGlyphOrigin.x;
|
||||||
top = pti[i].y - glyphmetrics.gmptGlyphOrigin.y;
|
top = pti[i].y - glyphmetrics.gmptGlyphOrigin.y;
|
||||||
stride = (glyphmetrics.gmBlackBoxX + 3) & (~3);
|
stride = (glyphmetrics.gmBlackBoxX + 3) & (~3);
|
||||||
|
|
Loading…
Reference in New Issue