如何在 XeTeX 中使用 pigpen 字体?

如何在 XeTeX 中使用 pigpen 字体?

我正在尝试使用 pigpen 字体https://ctan.org/tex-archive/fonts/pigpen作者:奥利弗·科夫(Oliver Corff)。

pigpen.tex 文件是真的小,似乎相当于以下内容:

\font\pp=pigpen

但以下内容不会使用 xetex 生成有效的 PDF

\font\pp=pigpen

{\pp HELLO WORLD}

\bye

Sorry, pfa format not supported

我错过了什么?

答案1

在此处输入图片描述

如果我在 texlive 2022 中运行你的例子

xdvipdfmx:fatal: Sorry, pfa format not supported; please convert the font to pfb, e.g., with t1binary.

而 texlive 确实只有一个pfa版本,而不是压缩pfb形式。

所以...

t1binary /usr/local/texlive/2022/texmf-dist/fonts/type1/public/pigpen/pigpen.pfa  pigpen.pfb

pigpen.pfb在当前目录中创建一个

cp  /usr/local/texlive/2022/texmf-dist/fonts/map/dvips/pigpen/pigpen.map .

使得pigpen.map看起来像

pigpen <<pigpen.pfa

编辑它,所以它说

pigpen <<pigpen.pfb

然后

xetex --no-pdf yourfile

如果你提供修改后的地图,将制作yourfile.xdvxdvipdfmx制作 pdf

xdvipdfmx -f pigpen.map yourfile.xdv 

生成具有上述输出的 PDF。

答案2

我做了一个实验。我pigpen.pfa

/usr/local/texlive/2022/texmf-dist/fonts/type1/public/pigpen/pigpen.pfa

到名为的工作目录originalpigpen.pfa并运行

t1binary originalpigpen.pfa -o pigpen.pfa

(是的,生成的 PFB 文件扩展名为.pfa)。现在可以成功运行您的示例文件。

现在您可以使用个人树

mkdir -p $(kpsewhich -var-value=TEXMFHOME)/fonts/type1/public/pigpen
mv pigpen.pfa $(kpsewhich -var-value=TEXMFHOME)/fonts/type1/public/pigpen

并且伪装成 PFA 的 PFB 文件将优先于分发的文件被发现。

在此处输入图片描述

我制造了一个在 TeX Live 列表上查询,让我们看看会发生什么。当文件格式在分发级别发生更改时,上面建议的黑客攻击应该是无害的。

答案3

以下内容在纯(Xe)TeX 中对我有用:

\input pigpen
\mypigpenfont
HELLO WORLD
\bye

猪圈样本

它嵌入的是类型 3(位图)字体,而不是矢量字体。

相关内容