GP Fault Printing Document with Many Fonts

Last reviewed: February 5, 1998
Article ID: Q105565
The information in this article applies to:
  • Microsoft Word for Windows, versions 2.0, 2.0a, 2.0a-CD, 2.0b, 2.0c, 6.0, 6.0a, 6.0c

SYMPTOMS

If you print a Word for Windows document that contains a large number of downloadable fonts, a general protection (GP) fault error may occur.

CAUSE

You are using the Windows Universal Printer Driver (UNIDRV.DLL) version 3.1.2 or earlier and your Word document contains more than 64 downloadable fonts, such as TrueType fonts. The problem also occurs when you print using the Windows PostScript printer driver (PSCRIPT.DRV) version 3.56 or earlier and your document contains more than 256 downloadable fonts.

STATUS

Microsoft has confirmed this to be a problem in UNIDRV.DLL version 3.1.2 and earlier and in PSCRIPT.DRV version 3.56 and earlier. This problem was corrected in version 3.1.3 of UNIDRV.DLL and in version 3.57 of PSCRIPT.DRV.

The corrected printer drivers are supplied with Word 6.0. Setup DOES NOT automatically install these drivers. To assure that the new drivers are correctely installed, rename the existing UNIDRV.DLL prior to installing Word 6.0.

If you do not have Word 6.0, you can obtain these new printer drivers from the Windows Driver Library (WDL). For information about obtaining the WDL, query on the following words in the Microsoft Knowledge Base:

   wdl.txt and obtain and msdl and win3x

WORKAROUNDS

  • To avoid the GP fault errors using the problem printer drivers, decrease the number of fonts in your document.

    -or-

  • If your document contains mostly TrueType fonts, turn on the "Print TrueType as Graphics" option. This reduces the number of downloadable fonts. The drawback to this workaround is that it increases printing time.

MORE INFORMATION

In both UNIDRV.DLL and PSCRIPT.DRV, the GP fault error occurs when the printer driver copies conflicting font cache information during the ResetDC() call. Specifically, the driver fails to copy the value of the sMaxDLSlots variable, so it incorrectly resets the sMaxDLSlots variable to the default value (32 for UNIDRV.DLL and 128 for PSCRIPT.DRV). This default value does not cause a problem until your document contains more than 64 fonts (256 fonts for PSCRIPT.DRV).

Note: The sMaxDLSlots variable indicates the total number of entries (used or empty) in the font downloading list.


KBCategory:
KBSubcategory:
Additional query words: 6.0 2.0 2.0a 2.0a-CD 2.0b word6
2.0c win3x globalalloc snumdownfonts lpdownfontlist hdownfontlist
gpf hang hung crash crashed locks locked frozen freezes crashing quit
quits stopped winword2 winword
Keywords : kbprint
Version : 2.0 2.0a 2.0a-CD 2.0b 2.0c
Platform : WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: February 5, 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.