我下载了字体RobotoMono-Regular.ttf
这里,将其转换RobotoMono-Regular.afm
为这个工具并将该文件复制到/usr/local/share/enscript/afm
其他.afm
文件所在的位置。里面还有文件font.map
。我添加了该条目RobotoMono-Regular RobotoMono-Regular
(第一个条目是字体名称,第二个条目是.afm
.一切都很好,如果我指定保存在该目录中的enscript --font=RobotoMono-Regular ...
其他字体的字体名称,则尊重它们。.afm
enscript
这是在 macOS 下。问题这里看起来有些相关,但又有所不同。
答案1
这些.afm
文件是字体度量,表示每个字符留有多少空间,因此 enscipt 可以计算在哪里放置换行符等。为了实际绘制字符,打印机还需要描述如何绘制每个字符的 PostScript 代码。它位于一个单独的.pfa
(或.pfb
)文件中,您还必须在afm
目录中提供该文件,其基本名称与该.afm
文件相同。
检查 pfa 文件是否也是由您的网络工具生成的。如果没有,您可以使用ttf2pt1
适合您系统的软件包中的内容。
当 enscript 看到这 2 个文件时,它会“下载”pfa 文件,以便将其包含在输出中,然后打印机知道如何打印所有内容。您在没有 pfa 文件的情况下看到的其他字体是打印机预期内置的标准字体,因此无需下载。使用enscript -v
应该会向您显示一条消息,例如
downloading font "RobotoMono-Regular"
通过打印机,我包含了 GhostView ( gv
) 等程序。