如何将外部字体添加到 ghostscript?
Posted
技术标签:
【中文标题】如何将外部字体添加到 ghostscript?【英文标题】:How can I add external fonts to ghostscript? 【发布时间】:2017-01-11 11:51:31 【问题描述】:我有一个文件夹(在我的 linux 机器中),其中包含一些字体文件(*.ttf 字体)。我正在尝试将这些字体添加到 ghostscript,同时运行 gs 命令以从 postscript 转换为 pdf。在运行 gs 命令时添加该字体的选项是什么。请告诉我 -I,-sFontResourceDir,-sFONTPATH 的工作原理。
我正在尝试以下命令,但我无法观察到任何东西。
gs -dSAFER -dBATCH -sDEVICE=pdfwrite -sNOPAUSE -dQUITE -sOutputFile=/home/prasad/Desktop/Virtual_pdf.pdf /home/prasad/Desktop/VirtualPrinter_06_01_2017_14_00_54_670.ps
提前致谢。
【问题讨论】:
【参考方案1】:首先,您需要知道 PostScript 不支持 TrueType 字体(是的,它确实支持 42 型字体,它们并不完全相同)。
因此,添加 TrueType 字体作为缺失字体的替代品(我认为这就是您想要这样做的原因)不能保证有效。问题在于猜测字符代码到字形 ID 的映射。
如果您想在“运行 Ghostscript”时添加字体,那么您需要编写一个 PostScript 程序来执行此操作,这超出了此处的答案范围。所以我假设你真的想在 Ghostscript 维护的字体/替换列表中添加一个 Font,有两个地方;
首先在 fontmap.GS 文件中找到字体,您可以在 Linux 系统上的 ..../gs/Resource/Init 中找到该文件。显然你必须自己找到 Ghostscript 安装文件夹,它通常在 /usr 下。
其次,同一位置的 cidfmap 文件列出了 CIDFonts 和替代品。
这两个文件中条目的格式都记录在文件中的 cmets 中。
-I 开关记录在 Ghostscript 文档、use.htm 或 here
FontResourceDir 记录在同一文件的“资源相关参数”下
-sFONTPATH 再次记录在"8.2 Font Lookup" 下的同一文件中,其中对所有这些参数如何交互有相当长的解释。
请注意 -dQUITE
不会做任何事情,这不是一个有效的参数,我怀疑你的意思是 -dQUIET
我不会在尝试亲自调试问题时设置它。 -sNOPAUSE
也不会做任何事情,因为那应该是 -dNOPAUSE
。
【讨论】:
以上是关于如何将外部字体添加到 ghostscript?的主要内容,如果未能解决你的问题,请参考以下文章
配置 Ghostscript 以使用“MT Extra”字体