无需更改源即可替换字体

无需更改源即可替换字体

对于文档中的代码片段,我更喜欢 Bitstream Courier 10 Pitch,它比通常的 Monotype/Linotype Couriers 更暗。使用 fontspec,我说:

\setmonofont[Scale=0.92]{Courier 10 Pitch}

但是,我经常与不想使用 XeTeX 的人合作,他们也不一定有 Bitstream 的 Courier 的本地副本。所以我使用 pdftex,并说

\usepackage{courier}

有没有办法强制 pdftex 在生成的 PDF 中嵌入 Bitstream Courier 而不是 Nimbus Mono?

附录:也许我应该多介绍一些背景知识。我们讨论的是学生的练习表,它们托管在一个共享的git存储库,并且必须易于所有导师编译,其中许多人不是 TeX 专家。虽然我并不反对在我的私人 TeX 树中安装额外的包,但共享目录中的文档git存储库必须是可编译的,而无需安装 TeXlive 中未提供的任何内容。

答案1

技术给出这个答案很好地解决了我的问题。我创建了一个名为的文件10pitch.map,其中包含以下几行:

pcrr8r Courier10PitchBT-Roman " TeXBase1Encoding ReEncodeFont " <8r.enc <c0419bt_.pfb
pcrr8rn Courier10PitchBT-Roman " .85 ExtendFont TeXBase1Encoding ReEncodeFont " <8r.enc <c0419bt_.pfb
pcrro8r Courier10PitchBT-Italic " TeXBase1Encoding ReEncodeFont " <8r.enc <c0582bt_.pfb
pcrb8r Courier10PitchBT-Bold " TeXBase1Encoding ReEncodeFont " <8r.enc <c0583bt_.pfb
pcrbo8r Courier10PitchBT-BoldItalic " TeXBase1Encoding ReEncodeFont " <8r.enc <c0611bt_.pfb

然后我说

pdflatex '\pdfmapfile{=10pitch.map}\input{filename.tex}'

并且字体在编译时被替换。

相关内容