BUG: GetGlyphOutline() with GGO_BITMAP Fails with Large Scale (111651)



The information in this article applies to:

  • Microsoft Windows Software Development Kit (SDK) 3.1

This article was previously published under Q111651
3.10 WINDOWS kbprg kbbuglist

SYMPTOMS

Calling GetGlyphOutline() for a bitmap and passing a large X or Y scaling factor in the transformation matrix causes the return value to not properly track the bitmap size.

For example, Times New Roman Regular 72 point "1", with a scaling factor of 4.0 in eM11 of the transformation matrix, returns a black box of 100,64. This requires a bitmap of at least 800 bytes but GetGlyphOutline() only returns 256. The native buffer is returned with no problems.

CAUSE

A 12-point font on a VGA is marked to use the rasterizer's scan converter. However, if the scaling indicated in the transform exceeds the outline threshold, GDI's "external" scan converter should be used. Unfortunately, that condition is not detected.

NOTE: This problem occurs only with bitmaps; outlines are fine with all transformation matrices.

STATUS

Microsoft has confirmed this to be a bug in Windows version 3.1.

Modification Type:MinorLast Reviewed:3/7/2005
Keywords:kbbug kbpending KB111651