KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

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

Article: Q111651
Product(s): Microsoft Windows Software Development Kit
Version(s): WINDOWS:3.1
Operating System(s): 
Keyword(s): kbSDKWin16
Last Modified: 24-JUN-1999

3.10
WINDOWS
kbprg kbbuglist

-------------------------------------------------------------------------------
The information in this article applies to:

- Microsoft Windows Software Development Kit (SDK) 3.1 
-------------------------------------------------------------------------------

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.

Additional query words: buglist3.10 3.10 truetype font

======================================================================
Keywords          : kbSDKWin16 
Technology        : kbAudDeveloper kbWin3xSearch kbSDKSearch kbWinSDKSearch kbWinSDK310
Version           : WINDOWS:3.1
Issue type        : kbbug
Solution Type     : kbpending

=============================================================================

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.