DevHeads.net

ps2pdf not finding Times-Italic font - where should it be?

I'm trying to track down a problem I'm having with ps2pdf in Rawhide,
whereby it can't find the Times-Italic font. I know very little about
fonts and in fact I don't even know where (in which package, or on the
filesystem) this font should live. The Rawhide build seems to be
pulling in the same font packages as a working F-19 build, so I'm at a
loss at to why it's going wrong.

Sample failure here:

<a href="http://koji.fedoraproject.org/koji/taskinfo?taskID=5791424" title="http://koji.fedoraproject.org/koji/taskinfo?taskID=5791424">http://koji.fedoraproject.org/koji/taskinfo?taskID=5791424</a>

ps2pdf ./op.ps op.pdf
Error: /invalidfont in /findfont
Operand stack:
Times-Italic@0 --nostringval-- Times-Italic
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1884 1 3 %oparray_pop 1883 1 3 %oparray_pop 1867 1 3 %oparray_pop 1755 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- 1836 3 4 %oparray_pop
Dictionary stack:
--dict:1167/1684(ro)(G)-- --dict:0/20(G)-- --dict:78/200(L)-- --dict:59/120(L)--
Current allocation mode is local
Last OS error: No such file or directory
Current file position is 5612
GPL Ghostscript 9.07: Unrecoverable error, exit code 1

Can anyone give me any pointers as to how to debug this problem?

Paul.

Comments

Re: ps2pdf not finding Times-Italic font - where should it be?

By Tim Waugh at 08/08/2013 - 08:59

Generally ghostscript will substitute another font if it can't find what
you're after.

This is /invalidfont though, which I think means it tried reading the
font you asked for but that font was invalid.

There was a bug a bit like this in urw-fonts not long ago:
<a href="https://bugzilla.redhat.com/show_bug.cgi?id=921706" title="https://bugzilla.redhat.com/show_bug.cgi?id=921706">https://bugzilla.redhat.com/show_bug.cgi?id=921706</a>

Tim.
*/

Re: ps2pdf not finding Times-Italic font - where should it be?

By Przemek Klosowski at 08/07/2013 - 14:09

On 08/07/2013 01:53 PM, Paul Howarth wrote:
Perhaps run ps2pdf under strace and look for failed open() calls:

strace -e open ps2pdf ./op.ps op.pdf

Re: ps2pdf not finding Times-Italic font - where should it be?

By Paul Howarth at 08/07/2013 - 17:18

On Wed, 7 Aug 2013 14:09:53 -0400

Comparing the working (-) and broken (+) builds, it seems that the broken one
isn't checking for Type1 fonts:

open("op.pdf", O_RDWR|O_CREAT|O_TRUNC, 0666) = 8
open("/usr/share/ghostscript/9.07/Resource/Init/Decoding/Unicode", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/ghostscript/9.07/lib/Decoding/Unicode", O_RDONLY) = -1 ENOENT (No such file or directory)
@@ -1314,8 +1314,6 @@
open("/var/cache/fontconfig//3830d5c3ddfd5cd38a049b759396e72e-le64.cache-4", O_RDONLY|O_CLOEXEC) = 9
open("/usr/share/fonts/default", O_RDONLY|O_CLOEXEC) = 9
open("/var/cache/fontconfig//0251a5afa6ac727a1e32b7d4d4aa7cf0-le64.cache-4", O_RDONLY|O_CLOEXEC) = 9
-open("/usr/share/fonts/default/Type1", O_RDONLY|O_CLOEXEC) = 9
-open("/var/cache/fontconfig//b79f3aaa7d385a141ab53ec885cc22a8-le64.cache-4", O_RDONLY|O_CLOEXEC) = 9
open("/usr/share/fonts/default/ghostscript", O_RDONLY|O_CLOEXEC) = 9
open("/var/cache/fontconfig//87f5e051180a7a75f16eb6fe7dbd3749-le64.cache-4", O_RDONLY|O_CLOEXEC) = 9
open("/etc/fonts/fonts.conf", O_RDONLY|O_CLOEXEC) = 9
@@ -1340,440 +1338,102 @@
open("/var/cache/fontconfig//3830d5c3ddfd5cd38a049b759396e72e-le64.cache-4", O_RDONLY|O_CLOEXEC) = 9
open("/usr/share/fonts/default", O_RDONLY|O_CLOEXEC) = 9
open("/var/cache/fontconfig//0251a5afa6ac727a1e32b7d4d4aa7cf0-le64.cache-4", O_RDONLY|O_CLOEXEC) = 9
-open("/usr/share/fonts/default/Type1", O_RDONLY|O_CLOEXEC) = 9
-open("/var/cache/fontconfig//b79f3aaa7d385a141ab53ec885cc22a8-le64.cache-4", O_RDONLY|O_CLOEXEC) = 9
open("/usr/share/fonts/default/ghostscript", O_RDONLY|O_CLOEXEC) = 9
open("/var/cache/fontconfig//87f5e051180a7a75f16eb6fe7dbd3749-le64.cache-4", O_RDONLY|O_CLOEXEC) = 9
-open("/usr/share/fonts/default/Type1/n022024l.pfb", O_RDONLY) = 9
-open("/usr/share/fonts/default/Type1/n021004l.pfb", O_RDONLY) = 9
-open("/usr/share/fonts/default/Type1/n019003l.pfb", O_RDONLY) = 9
-open("/usr/share/fonts/default/Type1/n022023l.pfb", O_RDONLY) = 9
-open("/usr/share/fonts/default/Type1/n019004l.pfb", O_RDONLY) = 9
-open("/usr/share/fonts/default/Type1/z003034l.pfb", O_RDONLY) = 9
-open("/usr/share/fonts/default/Type1/a010035l.pfb", O_RDONLY) = 9
-open("/usr/share/fonts/default/Type1/a010033l.pfb", O_RDONLY) = 9
-open("/usr/share/fonts/default/Type1/d050000l.pfb", O_RDONLY) = 9
-open("/usr/share/fonts/default/Type1/s050000l.pfb", O_RDONLY) = 9
-open("/usr/share/fonts/default/Type1/n022004l.pfb", O_RDONLY) = 9
-open("/usr/share/fonts/default/Type1/n022003l.pfb", O_RDONLY) = 9
-open("/usr/share/fonts/default/Type1/a010015l.pfb", O_RDONLY) = 9
-open("/usr/share/fonts/default/Type1/n019064l.pfb", O_RDONLY) = 9
-open("/usr/share/fonts/default/Type1/a010013l.pfb", O_RDONLY) = 9
-open("/usr/share/fonts/default/Type1/n019063l.pfb", O_RDONLY) = 9
-open("/usr/share/fonts/default/Type1/n019043l.pfb", O_RDONLY) = 9
-open("/usr/share/fonts/default/Type1/n019044l.pfb", O_RDONLY) = 9
open("/usr/share/fonts/default/ghostscript/putr.pfa", O_RDONLY) = 9
open("/usr/share/fonts/default/ghostscript/putb.pfa", O_RDONLY) = 9
open("/usr/share/fonts/default/ghostscript/putbi.pfa", O_RDONLY) = 9
open("/usr/share/fonts/default/ghostscript/putri.pfa", O_RDONLY) = 9

At this point, the working build seems to use Type1 fonts:

-open("/usr/share/fonts/default/Type1/b018012l.pfb", O_RDONLY) = 9
-open("/usr/share/fonts/default/Type1/p052003l.pfb", O_RDONLY) = 9
-open("/usr/share/fonts/default/Type1/c059013l.pfb", O_RDONLY) = 9

... and it goes on ...

whilst the broken build goes off looking elsewhere:

+open("/usr/share/ghostscript/9.07/Resource/Font/NimbusRomNo9L-ReguItal", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/ghostscript/9.07/Resource/Init/NimbusRomNo9L-ReguItal", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/ghostscript/9.07/lib/NimbusRomNo9L-ReguItal", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/ghostscript/9.07/Resource/Font/NimbusRomNo9L-ReguItal", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/ghostscript/fonts/NimbusRomNo9L-ReguItal", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/fonts/default/ghostscript/NimbusRomNo9L-ReguItal", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/fonts/default/Type1/NimbusRomNo9L-ReguItal", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/fonts/default/amspsfnt/pfb/NimbusRomNo9L-ReguItal", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/fonts/default/cmpsfont/pfb/NimbusRomNo9L-ReguItal", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/fonts/NimbusRomNo9L-ReguItal", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/ghostscript/conf.d/NimbusRomNo9L-ReguItal", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/etc/ghostscript/NimbusRomNo9L-ReguItal", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/etc/ghostscript/9.07/NimbusRomNo9L-ReguItal", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/poppler/cMap/Adobe-CNS1/NimbusRomNo9L-ReguItal", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/poppler/cMap/Adobe-GB1/NimbusRomNo9L-ReguItal", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/poppler/cMap/Adobe-Japan1/NimbusRomNo9L-ReguItal", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/poppler/cMap/Adobe-Japan2/NimbusRomNo9L-ReguItal", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/poppler/cMap/Adobe-Korea1/NimbusRomNo9L-ReguItal", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/poppler/cMap/Identity-H/NimbusRomNo9L-ReguItal", O_RDONLY) = -1 ENOTDIR (Not a directory)
+open("/usr/share/poppler/cMap/Identity-UTF16-H/NimbusRomNo9L-ReguItal", O_RDONLY) = -1 ENOTDIR (Not a directory)
+open("/usr/share/poppler/cMap/Identity-V/NimbusRomNo9L-ReguItal", O_RDONLY) = -1 ENOTDIR (Not a directory)
+open("NimbusRomNo9L-ReguItal", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/ghostscript/9.07/Resource/Font/NimbusSanL-ReguItal", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/ghostscript/9.07/Resource/Init/NimbusSanL-ReguItal",
O_RDONLY) = -1 ENOENT (No such file or directory)

... and more of that, all unsuccessful.

So what might account for that happening?

Paul.

Re: ps2pdf not finding Times-Italic font - where should it be?

By Jerry James at 08/07/2013 - 13:58

BuildRequires: urw-fonts

I just had the same problem with the remake package. I don't know why it
is necessary to explicitly BR that all of a sudden.

Re: ps2pdf not finding Times-Italic font - where should it be?

By Paul Howarth at 08/07/2013 - 14:03

On Wed, 7 Aug 2013 11:58:39 -0600

The root.log of that build
(<a href="http://koji.fedoraproject.org/koji/taskinfo?taskID=5791424" title="http://koji.fedoraproject.org/koji/taskinfo?taskID=5791424">http://koji.fedoraproject.org/koji/taskinfo?taskID=5791424</a>) showed
urw-fonts being pulled in as a dependency of one of the existing
buildreqs, so there must be something else going on methinks...

Paul.