The information in this article applies to:
SUMMARYApplication Compatibility Document for Windows 3.1Due to the amount of information in this document, it has been broken into seven pieces. To find all seven pieces of this document and the Windows 3.1 Compatibility Test checklist, query this knowledge base on the words:prod(winsdk) and 31compattest TrueTypeAlthough Windows version 3.1 includes support that seamlessly integrates TrueType fonts into existing applications, problems with fonts can occur for Windows version 3.0 applications that assume bitmap fonts are always available, that Helv and Tms Rmn are always available, and that font sizes are limited. Be sure to thoroughly check fonts in your application, including files and dialogs. Also, because TrueType provides more fonts at more sizes and in more styles, Windows version 3.1 may consume both printer and global memory faster than Windows version 3.0 did. Check your applications with systems and printers that have limited memory.HELV AND TMS RMN FONTSMS Sans Serif replaces Helv, and MS Serif replaces Tms Rmn. To support Windows version 3.0 applications that use the Helv and Tms Rmn fonts, the [FontSubstitutes] section in the WIN.INI file maps Helv to MS Sans Serif and Tms Rmn to MS Serif by default. It also maps Times to Times New Roman and Helvetica to Arial.Potential ProblemApplications that hard code a search for Helv or Tms Rmn may encounter difficulties after not finding these fonts.TestExamine your application code and be sure there are no dependencies on the font names Helv and Tms Rmn.FONT ENUMERATIONApplications should test to ensure that TrueType fonts are enumerated correctly and that they encounter no unexpected font mapping, such as might occur when a TrueType font substitutes for another font and line spacing changes and/or the position of text in documents is recalculated.Windows continues to support and is fully backward compatible with ATM, Facelift, and Intellifont for Windows. Applications using these other font technologies should encounter no problems. TRUETYPE ONLY CHECKEDWindows version 3.0 applications may behave unexpectedly if the user has set the "Show Only TrueType Fonts in Applications" check box using the Control Panel.Potential ProblemAn application may fail to locate any fonts if only TrueType fonts are present.TestIn the Control Panel, choose Fonts, select TrueType, and enable "Show Only TrueType Fonts in Applications."
FONT SIZESTrueType supports a wide variety of sizes for all TrueType fonts. In Windows version 3.1, an application usually gets the requested size if it requests a very small or very large font.Potential ProblemAn application that checks for the smallest or largest font by setting the nHeight parameter in CreateFont to an extreme value will not get the expected results.TestCheck fonts in dialog boxes, tool bars, and sample files for your application. Be sure they are all readable.FONTSUBSTITUTESThe [FontSubstitutes] section may cause the GetTextFace function to return a face name that the EnumFonts function does not enumerate. This is done so that an application that asks for Helv (and expects Helv) gets a font named Helv.Potential ProblemAn application that expects matching face names from the EnumFonts and GetTextFace functions may encounter mismatches.TestCheck the application code and be sure there are no dependencies on GetTextFace and EnumFonts matching.ABC-SPACED FONTSPotential ProblemABC-spaced fonts can lead to misplaced cursors, highlights that do not encompass all the text on a line, "pieces" of characters left behind after screen updates, and unexpected clipping of fonts on printers (when a character goes outside the printable area).Tests
THIRD-PARTY TYPE MANAGER PROBLEMSPotential ProblemBe sure to try your application with ATM, Facelift, or Intellifont for Windows fonts installed. Do not install more that one of these font managers at a time. Skip this test if your application does not work with these font managers under Windows version 3.0a.Tests
FONT ENUMERATIONWindows version 3.0 applications sometimes create multiple instances of a single font or font family. In particular, some applications handle fonts that a nonraster printer enumerates as different from fonts enumerated for the display, even if the names are the same. TrueType fonts with the same name are identical regardless of the output device. Some Windows version 3.0 applications assume that scalable fonts cannot be available on nonscaling devices. In such cases, the applications intentionally enumerate a single size for every TrueType font even though other sizes are available. Furthermore, some applications assume that bold, italic, and bold italic are always simulated from regular fonts. This is not true with TrueType fonts.Potential ProblemAn application may create multiple instances of the same font.Tests
MIXING DEVICE, BITMAP, AND TRUETYPE FONTSIn Windows version 3.1, some fonts, such as the Symbol font, may be supported by a TrueType font, a GDI bitmap font, and a device-specific font. Applications can get unexpected results when printing waterfalls. For example, a Symbol waterfall to a dot matrix printer intermixes the Symbol bitmap with TrueType Symbol. Because no Symbol font is designed for dot matrix resolution, the results can be spectacularly unattractive.Potential ProblemPrinting may mix device, bitmap, and TrueType fonts causing unacceptable output.TestCreate a document with a nonscalable printer installed, using a device font and a TrueType font. Both fonts must have the same name. Print.DESKTOP PUBLISHING AND INTERNATIONAL CHARACTERSWindows version 3.1 includes 22 new international and desktop publishing characters. Unfortunately, these new characters appear only in TrueType fonts; the bitmap fonts do not have them. Potential ProblemChanging to a bitmap font causes the new characters to appear as "blots." Some applications may remap the character code range (128 to 159). Tests
TEXT ROTATIONAlthough Windows version 3.0 can rotate vector and device fonts, under certain mapping modes it rotates these fonts differently. For compatibility, Windows version 3.1 also rotates fonts differently. However, an application can override this default behavior and direct Windows version 3.1 to rotate all fonts the same by setting the CLIP_LH_ANGLES bit in the lfClipPrecision member of the LOGFONT structure. When this bit is set, Windows version 3.1 rotates all fonts using the same left-hand rule as Windows version 3.0 uses to rotate device fonts.OTHER CONSIDERATIONS
Additional query words: 3.10
Keywords : kb16bitonly |
Last Reviewed: November 4, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |