Creating a Logical Font with a Nonzero lfOrientation
PSS ID Number: 104010
Article Last Modified on 10/27/2000
The information in this article applies to:
- Microsoft Win32 Application Programming Interface (API), when used with:
- the operating system: Microsoft Windows NT 3.1
- the operating system: Microsoft Windows NT 3.5
- the operating system: Microsoft Windows NT 3.51
This article was previously published under Q104010
SUMMARY
To create a font that writes in a direction other than left to right, an
application should specify a nonzero lfEscapement in the LOGFONT structure
that is passed to CreateFontIndirect(). This method works under Windows NT
regardless of the graphics mode of the device context.
To create a font where the characters themselves are rotated, the
application should specify a nonzero lfOrientation in the LOGFONT structure
that is passed to CreateFontIndirect(). However, this setting is ignored in
Windows NT unless the graphics mode is set to GM_ADVANCED.
Therefore, to successfully create a logical font with a nonzero
lfOrientation, use
SetGraphicsMode( hDC, GM_ADVANCED )
to set the graphics mode of the device context to GM_ADVANCED.
MORE INFORMATION
The TTFONTS sample program is a good way to quickly and easily see the
effects of the lfEscapement and lfOrientation fields. However, TTFONTS does
not set the graphics mode of its test window HDC to GM_ADVANCED. As a
result, the lfOrientation field apparently is ignored. It is easy to modify
the DISPLAY.C module of TTFONTS in order to set the graphics mode of the
window HDC to GM_ADVANCED.
Additional query words: 3.10 3.50
Keywords: KB104010
Technology: kbAudDeveloper kbOSWinNT310 kbOSWinNT350 kbOSWinNT351 kbOSWinNTSearch kbOSWinSearch kbWin32API kbWin32sSearch