修改或创建新的自动安装编码

修改或创建新的自动安装编码

我正在尝试修改自动安装编码。理想情况下,我想用命令行参数或类似的东西来修补它,以便可以轻松重现该过程。如果这不合理,我想使用单独的编码。

我首先尝试修改原始文件,这样做有效,但更新后会失效。然后我尝试在同一个目录中创建一个带有文件名后缀的副本,希望它能覆盖默认文件,但这没有效果。

创建文件后,我运行:

mktexlsr
fmtutil --sys --all
updmap --sys

得到以下结构:

/opt/texlive/2017/texmf-dist/fonts/enc/dvips/fontools:
fontools_ly1.enc
fontools_ly1_CUSTOM.enc
fontools_ot1.enc
fontools_oml_CUSTOM.enc
fontools_t1.enc
fontools_ts1.enc

下一次尝试是创建 autoinst 未提供的编码,例如第一行:

/otftotfmOMLEncoding [

然后添加-encoding="OML,TS1,OT1,T1,LY1"autoinst命令行。这会出现错误:

otftotfm: encoding 'oml' not found

我有什么选择?

答案1

来自autoinst的手册页:

   -encoding=encoding[,encoding]

为文本字体生成指定的编码。默认为“OT1,T1,LY1”。对于每种编码,<encoding>.enc应在某个otftotfm可以找到的文件(全部小写!)中有一个。适用于 OT1、T1/TS1 和 LY1 的编码文件随附autoinst。(这些文件被称为fontools_ot1.enc等,以避免与其他包的名称冲突;fontools_可以省略“ ”前缀。)

因此如果您请求-encoding="OML,TS1,OT1,T1,LY1",那么第一个编码autoinst将查找需要名为oml.enc或 的文件fontools_oml.encfontools_oml_CUSTOM.enc不是一个合适的名称。

然而,oml.enc肯定不合适,因为这个文件会表明该文件包含官方的 OML 编码。fontools_oml.enc可以工作,但只有当您的编码确实对应于 OML 编码时才应该使用它。

但是,目前还不清楚这些是否真的有用,因为不清楚您要做什么。在这里解释一下为什么要提供自定义编码文件,这样人们就可以更轻松地提供有用的建议。

无论如何,您都不应该更改或添加主 TEXMF 树中的文件。此树供您的 TeX 发行版使用,并由包管理器管理。(tlmgr或您的 Linux 发行版的包管理器。)

相反,您应该在您的个人 TEXMF 树或本地树中安装不同名称的文件的修改副本和附加文件。

kpsewhich -var TEXMFLOCAL

会告诉你当地树木的位置和

kpsewhich -var TEXMFHOME

那是你的个人树。

相关内容