Bug#662892: "Error: /limitcheck in /fontfont" on an unknown font with a certain font installed
Package: ghostscript
Version: 9.05~dfsg-2
Severity: normal
Tags: upstream
Ghostscript fails to render or convert any postscript file that uses a font
name that is not installed on the system if and only if a certain TrueType font
is installed on the system. Through trial and error I was able to narrow this
down to the Pagul TrueType font installed by package fonts-pagul. I am
uncertain at this point whether this is a failure in ghostscript to deal with
this particular font or a problem with the font file in question, but I am
reporting to ghostscript for now.
Here is the simplest test scenario I have come up with:
$ echo This is a test. | enscript -f MissingFont12 -o test.ps
couldn't open AFM file for font "MissingFont", using default
[ 1 page * 1 copy ] left in test.ps
$ gs -sDEVICE=x11alpha test.ps
The important point is that the postscript file being viewed contains a font
that does not match any known fonts on the system.
Desired behavior, reproducible on a freshly installed system:
GPL Ghostscript 9.05 (2012-02-08)
Copyright (C) 2010 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Loading NimbusMonL-Bold font from
/usr/share/fonts/type1/gsfonts/n022004l.pfb... 3570712 2190963 3914208 2625285
1 done.
Can't find (or can't open) font file
/usr/share/ghostscript/9.05/Resource/Font/MissingFont.
Can't find (or can't open) font file MissingFont.
Querying operating system for font files...
Can't find (or can't open) font file
/usr/share/ghostscript/9.05/Resource/Font/MissingFont.
Can't find (or can't open) font file MissingFont.
Didn't find this font on the system!
Substituting font Courier for MissingFont.
Loading NimbusMonL-Regu font from
/usr/share/fonts/type1/gsfonts/n022003l.pfb... 3748368 2397780 4813868 3507413
1 done.
>>showpage, press <return> to continue<<
And the document is displayed correctly, using Courier as the font.
Now either install the fonts-pagul package or manually install the original ttf
file from the font's upstream sourceforge [1] page:
# install -m 644 Pagul.ttf /usr/local/share/fonts/Pagul.ttf
# fc-cache -svf
And repeat the ghostscript command above with the same document, here is the
output I get every time:
GPL Ghostscript 9.05 (2012-02-08)
Copyright (C) 2010 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Loading NimbusMonL-Bold font from
/usr/share/fonts/type1/gsfonts/n022004l.pfb... 3570712 2190963 3914208 2625285
1 done.
Can't find (or can't open) font file
/usr/share/ghostscript/9.05/Resource/Font/MissingFont.
Can't find (or can't open) font file MissingFont.
Querying operating system for font files...
Error: /limitcheck in /findfont
Operand stack:
fontdict MissingFont
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval--
--nostringval-- 2 %stopped_push --nostringval-- --nostringval--
--nostringval-- false 1 %stopped_push 1910 1 3 %oparray_pop
1909 1 3 %oparray_pop 1893 1 3 %oparray_pop 1787 1 3
%oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval--
--nostringval-- --nostringval-- 2 %stopped_push --nostringval--
--nostringval-- 1868 2 3 %oparray_pop
Dictionary stack:
--dict:1161/1684(ro)(G)-- --dict:0/20(G)-- --dict:110/200(L)--
Current allocation mode is local
Current file position is 10729
GPL Ghostscript 9.05: Unrecoverable error, exit code 1
I have reproduced this on a clean wheezy live build, also by compiling
ghostscript from source to verify it is in upstream, same results. I get the
correct behavior when I add the -dNONATIVEFONTMAP option to ghostscript, so it
appears to be dying either in the fontconfig code or in the portion of
gs_fonts.ps that populates the native font map from fontconfig.
[1] http://sourceforge.net/projects/pagul/
-- System Information:
Debian Release: wheezy/sid
APT prefers testing
APT policy: (500, 'testing'), (101, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.2.0-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages ghostscript depends on:
ii debconf [debconf-2.0] 1.5.41
ii debianutils 4.2.1
ii gsfonts <none>
ii libc6 2.13-26
ii libgs9 9.05~dfsg-2
ghostscript recommends no packages.
Versions of packages ghostscript suggests:
ii ghostscript-cups 9.05~dfsg-2
ii ghostscript-x 9.05~dfsg-2
ii hpijs 3.11.12-2
-- no debconf information
Reply to: