为什么 textcomp 不加载我的字体的字形而是替换它?

为什么 textcomp 不加载我的字体的字形而是替换它?

不久前我转换了一种字体,现在这个字体有了更新。由于新字体文件是由不同的公司提供的,因此存在细微差异,尤其是符号。不过,我找出了字形位置的所有差异,并在修改后的编码文件中进行了相应的设置。但是有一个问题:当我尝试访问符号时,例如通过\textuparrowPDFtex 告诉我:

Package textcomp Info: Symbol \textuparrow not provided by
(textcomp)             font family MYFONT-TLF in TS1 encoding.
(textcomp)             Default family used instead on input line 525.

但当我把一个简单的

\DeclareTextSymbolDefault{\textuparrow}{TS1}
\DeclareTextSymbol{\textuparrow}{TS1}{94}

在序言中,PDFtex 不再抱怨。

我在这里做错了什么,我有什么样的误解,我可以做哪些更改才能使其工作,而无需将上述代码作为手动定义添加到我的 MYFONT.sty 文件中?我检查了textcomp.sty哪个前面有这个奇怪的东西\tc@check@symbol2,这可能是我的问题:

\DeclareTextCommandDefault{\textuparrow}%
    {\tc@check@symbol2\textuparrow}

正如ts1enc.def直接这样:

\DeclareTextSymbol{\textuparrow}{TS1}{94}

答案1

正如指出的那样https://ctan.math.washington.edu/tex-archive/macros/latex/base/ltnews36.pdf参考https://www.latex-project.org/help/documentation/fntguide.pdf自 2021/06/01 起,必须声明 TS1 编码字体中包含哪些字形子集。因此,可以根据相应的子集选择\DeclareEncodingSubset{TS1}{MYFONT-*}{1}例如或任何其他合适的数字。

相关内容