用 fontforge 修改 cmsy 的副本并使用它

用 fontforge 修改 cmsy 的副本并使用它

我尝试通过重命名来修改 cmsy10 的副本。我的​​目标是插入来自另一个字体系列(例如 euler)的外部字形。使用 fontforge 工具,我创建了字体并将其插入到我的本地树中。当我尝试使用它(在 Plain TeX 中)时,日志显示没有足够的符号。

我已经正确插入了新字体并创建了映射文件。此外,TeX 似乎可以识别它,因为它正确创建了字体表。但是,它不能用作符号字体系列。

目前,我认为有两个可能的方面:我在使用 fontforge 进行定制时做错了什么,或者 TeX 不允许如此轻松地为符号插入新字体。

这样对吗?

答案1

无需修改字体即可使特定字符在数学模式下使用不同的字形。以下显示了指定应使用粗体欧拉花型字体$abc+123$后的排版结果,也按要求重新定义为使用 Palatino 中的字符(例如,您可以使用任何您想要的插槽)。a\leq<

在此处输入图片描述

$abc + 123 \leq a$

\font\foo=eufb10

\newfam\foofam
\textfont\foofam=\foo
\count0=\foofam
\multiply\count0 by "100
\advance\count0 by `a
\mathcode`a=\count0
\count0=0



\font\foob=pplr8r at 10pt % map file resolves this to  <8r.enc <uplr8a.pfb
\newfam\foobfam
\textfont\foobfam=\foob
\count0=\foobfam
\multiply\count0 by "100 % the new fam
\advance\count0 by "3000 % mathrel
\advance\count0 by "3C % The character we want (not sure which you do want)
\mathchardef\leq\count0
\count0=0


$abc + 123 \leq a $




\bye

相关内容