我想使用(例如)Tex Gyre Heros Math 表示\mathcal
,但(例如)Tex Gyre Pagella Math 一般用于数学。(我为什么要这样做,因为 Pagella 的\mathcal
对我来说似乎很难辨认。)我猜关键字uppercasescript
(分别是lowercasescript
)表示定义字体回退与我的目的有关,但definefontfallback
显然不适合情况。
为了具体起见,考虑我使用
\definefontfeature [default] [default] [onum=yes]
\definefontfamily [MainFace] [rm] [TeX Gyre Pagella]
\definefontfamily [MainFace] [ss] [TeX Gyre Heros]
\definefontfamily [MainFace] [tt] [TeX Gyre Cursor] [features=none]
\definefontfamily [MainFace] [mm] [Tex Gyre Pagella Math]
\setupbodyfont [MainFace, 12pt]
但如果将上面的行替换为(仅根据我的猜测)
\definefontfamily [MainFace] [mm] [Tex Gyre Pagella Math]
\definefontfamily [MainFace] [mm] [Tex Gyre Heros Math] [range=uppercasescript]
这不管用;Tex Heroes 一直被使用
答案1
当您使用\definefontfamily
命令设置文档的字体时,您可以使用该命令\definefallbackfamily
设置某些字符的替换。
您最初的问题中的一个问题是,您尝试加载TeX Gyre Heros Math
不存在的内容,结果没有任何内容被替换。
\definefontfamily [MainFace] [rm] [TeX Gyre Pagella]
\definefallbackfamily [MainFace] [mm] [TeX Gyre DejaVu Math] [force=yes,range=lowercasescript]
\definefontfamily [MainFace] [mm] [TeX Gyre Pagella Math]
\setupbodyfont [MainFace, 12pt]
\starttext
\m{abc \mathscript abc}
\stoptext