Incorrect characters or fonts in print output?
When printing over networks, it’s possible that even though the user has selected the correct font in the application, the print output appears with a different font, or with incorrect or missing characters. The characters may also be set too far apart, run into each other, or even overlap.
This is due to the fact that the print jobs were not rendered where they originated. The following offers a guide for resolving such problems using Windows tools.
Updating ThinPrint to version 10
With ThinPrint 10 the font management of ThinPrint Output Gateway was redesigned completely. That’s why – as a first step – an update of older ThinPrint versions to ThinPrint 10 or later is recommended.
Updating printer drivers
Keep your printer drivers up to date. To do so, use Windows Update in the Printers folder of Windows 7 and 2008 R2.
Windows 7, Vista, Server 2008 R2 or Server 2008
Microsoft hotfix KB2616332
Use this hotfix if when printing with the ThinPrint Client Service Windows a Windows system font is printed instead of the used non-Windows font, even if you have complied with all steps outlined here.
Microsoft hotfix KB2555392
Install this hotfix if incorrect characters appear even from a certain page.
With ThinPrint’s Driver Free Printing this hotfix is necessary on each (Windows) machine where the ThinPrint Client is installed (and the native printer drivers are used to render the print jobs). Restart the ThinPrint Client afterwards.
With V-Layer, this hotfix is necessary on the central print server(s) – with failover clusters on each cluster node. Restart the print spooler afterwards.
Microsoft hotfix KB2545698
Install this hotfix if text in some Windows core fonts appear blurred in Internet Explorer 9.
Microsoft Office Excel 2007, 2003, 2002, 2000 or 97
Microsoft hotfix KB2545698
Install this hotfix in case of unexpected behavior when you use different print quality for sheets in Excel.
Switching off automatic font substitution
Stemming from the time when printer resources were more limited, there is a function that ensures that original fonts are not sent to the printer, but are instead replaced with substitutes by the printer, or even by the printer driver (with those supplied by the firmware). Thus, for example, instead of the font Times New Roman, often the font Times is printed, and instead of Arial, the somewhat finer Helvetica.
Although the fonts are not completely identical, in most cases the substitution is not really noticeable. Nonetheless, since the introduction of Unicode fonts with Windows 2000 the character sets no longer match (Unicode fonts are recognizable by the capital O in the font icon instead of the double T). As a result, special characters may be lost. In addition, new versions of Windows always come with new fonts.
Therefore, you should always turn off font substitution when printing in networks. However, depending on the manufacturer, this function can have very different names. Most often, you will find this description: Substitute with Device Font. Instead choose Download as Softfont. However, this function may be named completely differently. Therefore the following illustrations show examples for switching off font substitution for a variety of drivers.
1. Select this setting on the print server in each printer’s properties, in the menu Advanced→ Printing Defaults.
2. Then check this setting in General→ Printing Preferences to ensure your setting.
When printing an .rtf document with text content using TrueType or OpenType fonts from a Windows XP client, it may happen that individual letters are missing and replaced with a square.
The same document when printed from a Windows 7 or 8 desktop is, however, entirely correctly represented. A direct comparison of the character map in Windows XP and Windows 7 or 8 shows that for some characters different letters are defined.
An easy way to solve the problem is to transmit the Arial font files from a Windows 8 computer to all affected Windows XP desktops.
Installing all fonts on the print server
Install all the fonts required by your users, not only on the computers, but also on all the involved print servers.
Get a clear picture of which computers send print output over a print server – for example terminal servers, virtual desktops or workstations – and which fonts are installed there. It is important that all styles of a font are installed – for Arial for example, that means Arial (Regular), as well as Arial italic, Arial bold and Arial bold italic.
Embedding fonts in documents
Your users may wish to print documents that have not originated within your firm. It is possible that these documents will provide the information as to which font was used in the relevant application, but the font itself may not have been included, (e. g. by embedding in the document). If the font from one of those documents is already installed on the print server on which print output is to be rendered then there is generally no problem.
Conversely, it is possible to embed fonts in files which are, for example, to be sent to other firms, so that the recipient can print it out as it is meant to be printed. Later you can easily check the PDF file in Adobe Reader, to see if the font was successfully embedded: select File→ Properties→ Fonts in Adobe Reader.
In the above example, even though Arial was used in the original document, it is not embedded in the PDF. Of the Calibri font, only those characters actually used in the document are embedded (Embedded Subset), and all the characters of the font HelveticaNeue-ThinCond are embedded (Embedded).
Changing the font management
Using universal font IDs (UFIs)
With ThinPrint you can use the modern font management with universal font IDs (UFIs):
- Create the following registry value – either on the ThinPrint Client machine (with the print mode Driver Free Printing) or on the central print server (with the V-Layer print mode):
- Choose the String Value (reg_sz) type and set the value to 0.
- Finally, restart the ThinPrint Client or the print spooler respectively.
Starting with ThinPrint version 11.0.4 you can fix font problems for print jobs of the ThinPrint Output Gateway caused by the fontsub.dll. To do this, create the registry value
hkey_local_machine\Software\ThinPrint\TpView\FontRepairMode [reg_dword] on the machine where the Output Gateway print data is rendered with the native driver. Three options are available for this value:
|1||shifted or missing CMAP-subtable of type 14 (Unicode Variation Sequence)|
|2||restore overwritten CMAP-header (as of TPView version 11.24.3)|
|3||restore broken UVS-subtable (as of TPView version 11.24.3)|