epstopdf / ghostscript 找不到字体

epstopdf / ghostscript 找不到字体

我有以下设置

$ epstopdf --version
epstopdf ($Id: epstopdf.pl 31784 2013-09-27 22:43:16Z karl $) 2.18

$ gs --version
9.10

$ tex --version
TeX 3.1415926 (TeX Live 2014/dev)

$ uname -a
Linux escritorio-01 3.12.5-302.fc20.x86_64 #1 SMP Tue Dec 17 20:42:32 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

我正在尝试将一些 .eps 文件转换为 .pdf。我正在运行以下命令

$ epstopdf untitled.eps --debug
* kpsewhich command: kpsewhich
* Input filename: untitled.eps
* Output filename: untitled.pdf
* BoundingBox comment: %%BoundingBox:
* Ghostscript command: gs
* Compression: on
* Embedding: on
* Rotation: None
* Resolution: [use gs default]
* Ghostscript pipe: gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=untitled.pdf -dPDFSETTINGS=/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true -dAutoRotatePages=/None - -c quit
* Binary junk at start of file: 0 byte(s)
* Scanning header for BoundingBox
* Old BoundingBox: 81 227 529 564
* New BoundingBox: 0 0 448 337
* Offset: -81 -227
GPL Ghostscript 9.10 (2013-08-30)
Copyright (C) 2013 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Can't find (or can't open) font file /usr/share/ghostscript/9.10/Resource/Font/NimbusSanL-Regu.
Can't find (or can't open) font file NimbusSanL-Regu.
Can't find (or can't open) font file /usr/share/ghostscript/9.10/Resource/Font/NimbusSanL-Regu.
Can't find (or can't open) font file NimbusSanL-Regu.
Querying operating system for font files...
Can't find (or can't open) font file /usr/share/ghostscript/9.10/Resource/Font/NimbusSanL-Regu.
Can't find (or can't open) font file NimbusSanL-Regu.
Didn't find this font on the system!
Substituting font Courier for NimbusSanL-Regu.
Can't find (or can't open) font file /usr/share/ghostscript/9.10/Resource/Font/NimbusMonL-Regu.
Can't find (or can't open) font file NimbusMonL-Regu.
Can't find (or can't open) font file /usr/share/ghostscript/9.10/Resource/Font/NimbusMonL-Regu.
Can't find (or can't open) font file NimbusMonL-Regu.
Didn't find this font on the system!
Unable to substitute for font.
Error: /invalidfont in /findfont
Operand stack:
   120   Helvetica   ISOLatin1Encoding   Helvetica   Helvetica
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   --nostringval--   1867   1   3   %oparray_pop   1755   1   3   %oparray_pop   --nostringval--   %errorexec_pop   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   1836   5   5   %oparray_pop
Dictionary stack:
   --dict:1174/1684(ro)(G)--   --dict:0/20(G)--   --dict:82/200(L)--   --dict:94/160(L)--   --dict:8/85(L)--
Current allocation mode is local
Last OS error: Not a directory
GPL Ghostscript 9.10: Unrecoverable error, exit code 1
epstopdf ($Id: epstopdf.pl 31784 2013-09-27 22:43:16Z karl $) 2.18
!!! Error: Writing to gs failed, error code 1

这将生成一个空白的 .pdf 文件。似乎有一个相关的讨论在此错误报告中,关于一些缓存无法更新。但该帖子的技术水平超出了我的能力。我真的对 ghostscript 一无所知。不过,问题似乎不在于 ghostscript 找不到 Nimbus* 字体,而在于它无法替换它们。有人能帮我吗?谢谢!

已编辑:找到解决方案。我在下面添加了答案。谢谢大家

答案1

好吧,我终于设法解决了这个问题。这更像是一个解决方案,而不是答案。显然,存在某种冲突ghostscript 和最终包用于在 Unix 中更好地渲染字体(Fedora 的默认字体渲染太丑了)。所以我必须删除 infinality :(

$ sudo yum remove -y freetype-infinality 

就这样,epstopdf 又恢复正常了。现在我又看到可怕的字体了!

也许对字体、ghostscript 和 infinality 有更多了解的人可以为这个帖子添加一个关于正在发生的事情的真实答案;而不仅仅是像我这样的简单解决方案。谢谢。

答案2


-sFONTPATH=...您可以直接在命令行上使用开关来告诉 Ghostscript 具体在哪里寻找字体:

  gs -sFONTPATH=/usr/share/fonts;/some/other/path [...rest of command...]

或者,您可以设置GS_FONTPATH环境变量。

对于多个字体目录,使用分号;作为分隔符。

相关内容