pdftex.map 中一个字体有两个编码文件

pdftex.map 中一个字体有两个编码文件

如果pdftex.map在一个字体的条目中有两个编码文件,这是什么意思?

背景:我是 Python 绘图库 matplotlib 的维护者之一。matplotlib 的一个特性是它可以通过 TeX 处理所有文本字符串,读取生成的 dvi 文件并将结果嵌入到绘图中。在实现此功能时,我发现 dvi 文件中引用的字体必须在地图中查找;在典型的 TeX 发行版中可用的少数地图文件中,我选择了 pdftex.map,该文档在第 5 章中有记录pdftex 手册该手册为该映射文件中的每一行指定了以下格式:

tfmname basename fontflags special encodingfile fontfile

它说specialencodingfilefontfile字段可以按任何顺序排列,并且encodingfile可以省略,但并没有说可以有多个encodingfile

现在有些用户报告TeX Live 2010 安装了一个 pdftex.map 文件,其中包含以下行:

pbkdo8y URWBookmanL-DemiBold ".167 SlantFont TeXnANSIEncoding ReEncodeFont" <texnansi.enc <8r.enc <ubkd8a.pfb

这是 TeX Live 中的一个错误吗?pdftex 会如何处理这些信息?它是否包含一个嵌入式 PostScript 解释器,该解释器读取两个编码文件、解析字段special并确定 texnansi.enc 包含需要应用的编码?

答案1

我不知道额外的 enc 文件是否有任何危害(我对此表示怀疑),但它肯定是毫无意义的,很可能只是 map 文件中的拼写错误。首先,只有当它们是对应的声明时,8r.enc 才会起作用TeXBase1Encoding ReEncodeFont。其次,字体不能同时以两种不同的方式编码。

答案2

韩世成报告pdftex 只是采用最后一个编码文件而不考虑输入TeXnANSIEncoding ReEncodeFont。我认为这是 TeX Live 的一个错误,因为字体可能应该用其他编码进行编码。

相关内容