INFO: Using GDI-Synthesized Italic Fonts (74467)



The information in this article applies to:

  • Microsoft Windows Software Development Kit (SDK) 3.1
  • Microsoft Win32 Application Programming Interface (API), when used with:
    • Microsoft Windows NT Server 3.5
    • Microsoft Windows NT Server 3.51
    • Microsoft Windows NT Server 4.0
    • Microsoft Windows NT Workstation 3.5
    • Microsoft Windows NT Workstation 3.51
    • Microsoft Windows NT Workstation 4.0
    • Microsoft Windows 95

This article was previously published under Q74467

SUMMARY

In the Microsoft Windows graphical environment, when an application uses an italic font synthesized by the Graphics Device Interface (GDI), each character and its whole character cell are "sheared," or slanted, to the right, which can cause some unexpected results.

MORE INFORMATION

The capital H in the example below illustrates how GDI synthesizes an italic font:
   ..........                   ..........
   .        .                  .        .
   . |    | .                 . |    | .
   . |    | .                 . |    | .
   . |----| . italicizes to  . |----| .
   . |    | .               . |    | .
   . |    | .               . |    | .
   .        .              .        .
   ..........              ..........
				
Note two items in this case:
  • If the text background color is changed so that it does not match the window background color, the text background color occupies the sheared character cell (in other words, it is also slanted). Gaps occur in the background where normal text is adjacent to italic text. The ExtTextOut() function can be used to compensate for this effect if the ETO_OPAQUE flag is used.
  • The italic character is farther to the right in relation to the lower-left corner of the character cell than is the normal character. Therefore, if normal and italic text start at the same x coordinate on different lines, the italic text appears farther to the right.
To determine the number of units by which the character cell is sheared, call the GetTextMetrics function to fill a TEXTMETRIC data structure with information about the font. The tmOverhang member describes the amount of shear.

Modification Type:MinorLast Reviewed:2/11/2005
Keywords:kbinfo KB74467