Text that is formatted in printer device fonts may not print correctly in x64 versions of Windows Server 2008, of Windows Vista, and of Windows Server 2003
Consider the following scenario:
- You print some documents.
- The printer driver is based on Microsoft Universal Printer Driver (Unidrv).
- The rendering occurs on a computer that is running an x64 version of Windows Server 2008, of Windows Vista, or of Windows Server 2003.
- The printer driver includes some font metrics data in its resource DLLs. The data is in formats compatible with versions of Windows earlier than Windows 2000. (This situation usually occurs in drivers for old nine-pin printers.)
- Text strings that are output to the printer are formatted in a device font.
In this scenario, certain printer drivers may print the text characters by using incorrect ASCII character codes. Therefore, the output may be rendered by using incorrect fonts. Additionally, text that is formatted in bold or italic fonts may be rendered differently on a 32-bit platform than on a 64-bit platform. In this case, the 32-bit platform output is correct.
- This problem occurs only on x64 versions of Windows Server 2008, of Windows Vista, and of Windows Server 2003. It does not occur on x86-based versions of these operating systems.
- Documents are rendered before they are printed. This problem occurs on the computer on which rendering is performed. Rendering may occur on the client or on the print server, depending on several factors specific to each configuration. Therefore, to understand whether the hotfix that is described in this article is applicable, you must consider the platform type (32-bit or 64-bit) for the client and for the print server.
For more information on this issue, including potential causes, workarounds, and resolutions, see: Microsoft KB Article KB948696.