ConTeXt 在这一点上回归了拉丁现代主义:
\definefontfamily [mainface] [rm] [Notexist]
\setupbodyfont[mainface]
\starttext
What font is this?
\stoptext
并从 selectfont 提供此错误:
> The requested font 'Notexist' has no files for the 'tf' alternative, Latin Modern is used instead.
有什么tf
替代方案,可以mtxrun --script font
提前告诉我哪些字符串可以代替不存在?
答案1
您可以选择一种特定的字体作为tf
替代字体以使其发挥作用。
\definefontfamily [mainface] [rm] [Notexist] [tf=file:texgyrepagella-regular]
\setupbodyfont[mainface]
\starttext
What font is this?
\stoptext
当然,最好插入有效的字体名称而不是Notexist
。因此,您需要知道字体名称。您可以使用以下方式获取可用字体列表
$ mtxrun --script font --list --all
最后一列是存储字体的文件。您可以使用它otfinfo
来获取字体名称。
$ otfinfo -a `kpsewhich texgyrepagella-regular.otf`
TeXGyrePagella
然后将此名称插入其中\definefontfamily
。
\definefontfamily [mainface] [rm] [TeXGyrePagella]
\setupbodyfont[mainface]
\starttext
What font is this?
\stoptext
(您也可以使用空格,即TeX Gyre Pagella
。据我所知,字体加载器会丢弃空格。)