diff --git a/win32ss/gdi/ntgdi/freetype.c b/win32ss/gdi/ntgdi/freetype.c index eb2fc7756da..72a9659f767 100644 --- a/win32ss/gdi/ntgdi/freetype.c +++ b/win32ss/gdi/ntgdi/freetype.c @@ -3352,6 +3352,7 @@ ftGdiGetGlyphOutline( switch (iFormat) { case GGO_BITMAP: + { width = gm.gmBlackBoxX; height = gm.gmBlackBoxY; pitch = ((width + 31) >> 5) << 2; @@ -3379,6 +3380,7 @@ ftGdiGetGlyphOutline( } case ft_glyph_format_outline: + { ft_bitmap.width = width; ft_bitmap.rows = height; ft_bitmap.pitch = pitch; @@ -3396,12 +3398,15 @@ ftGdiGetGlyphOutline( FT_Outline_Get_Bitmap(library, &ft_face->glyph->outline, &ft_bitmap); IntUnLockFreeType; break; + } default: DPRINT1("Loaded glyph format %x\n", ft_face->glyph->format); return GDI_ERROR; } + break; + } case GGO_GRAY2_BITMAP: case GGO_GRAY4_BITMAP: @@ -3487,6 +3492,8 @@ ftGdiGetGlyphOutline( DPRINT1("Loaded glyph format %x\n", ft_face->glyph->format); return GDI_ERROR; } + + break; } case GGO_NATIVE: @@ -3514,6 +3521,7 @@ ftGdiGetGlyphOutline( IntUnLockFreeType; break; } + case GGO_BEZIER: { FT_Outline *outline = &ft_face->glyph->outline;