我如何修改 fontinst 编码(例如 t1.etx)?

我如何修改 fontinst 编码(例如 t1.etx)?

我正在修改 adobecaslon 包以支持 Adob​​e Caslon Expert 字体,我的工作以 Ulrik Vieth 的一个旧包为基础,该包只有一些可用的来源;我还试图使该包更加模块化,以 fontinst 1.9 为基础。

Adobe Caslon 的 Expert 字体包括 st 和 ct 连字符。为了使用这些连字符,Vieth 制作了一个经过修改的 t1.etx 编码文件。我更愿意使用它并覆盖它。我尝试了以下方法:

\relax

\encoding

%% First load the base encoding
\inputetx{t1}

%% Then override some slots
\nextslot{99}
\setslot{\lc{C}{c}}
 \ligature{LIG}{\lc{T}{t}}{ct}
   \comment{The letter `{c}'.}
\endsetslot

\nextslot{115}
\setslot{\lc{S}{s}}
 \ligature{LIG}{\lc{T}{t}}{st}
   \comment{The letter `{s}'.}
\endsetslot

\nextslot{141}
\setslot{ct}
 \comment{The `old style' ligature ct}
\endsetslot

\nextslot{173}
\setslot{st}
 \comment{The `old style' ligature st}
\endsetslot

\endencoding

这似乎工作得很好,但我收到了来自 fontinst 的这样的警告:

This character already appeared in a LIGTABLE LABEL (line 4312).
   (LABEL D 99 
              ) (COMMENT c)  

确实,如果我检查 .vpl 文件的输出,我会发现重复的条目。但是,后面的条目包含与前面相同的所有信息,加上我的修改,输出似乎正常。

我想知道的是,我这样做是否正确,我可以忽略警告吗?

答案1

由于我编写的编码与原始编码基本相同,因此我希望获得原始编码的任何更新。我确实修补了编码的名称并更改了文件名;如果我可以导入原始编码并覆盖其部分设置,那么会更简单,因为这样我就可以简单地编写新文件,而不必修补旧文件。

相关内容