我想了解如何使用 在 CoNTeXt 中设置字体\definefontfamily
。它或多或少可以工作,只是我不明白 ConTeXt 如何找到字体以及如何指定字体名称。在下面的例子中,我想使用完全不同的字体作为倾斜的替代字体:
\definefontfamily [mainface] [rm] [PT Serif] [sl=file:PonomarUnicode]
\definefontfamily [mainface] [ss] [PT Sans]
\definefontfamily [mainface] [tt] [PT Mono]
\definefontfamily [mainface] [mm] [TeX Gyre Pagella Math]
\setupbodyfont[mainface]
\mainlanguage[russian]
\starttext
Немного {\em русского} текста для пробы.
And some English too, with a formula:
\startformula
\frac{dU_i}{dt} = \int_0^\infty e^{-tx^2} \, dx.
\stopformula
\stoptext
我在 中安装了系统范围内的所有字体/Library/Fonts
,PT 字体随 OS X 一起提供(我相信许多 Linux 发行版也附带)。TeX Gyre 和 Ponomar Unicode 是从 MacTeX 安装的,作为otf
。Ponomar Unicode 可以在 中找到/Library/TeX/Root/texmf-dist/fonts/opentype/public/fonts-churchslavonic
。
当我编译上述文档时,它会获取除 Ponomar Unicode 之外的所有字体:
如果一切正确的话,“русского”这个词应该被强调,如下所示:
显然,我搞错了“file:PonomarUnicode”部分。所以问题是如何让它工作,以及 ConTeXt 实际上如何将字体引用解析到\definefontfamily
字体文件中?
答案1
我不确定问题是什么,也不知道到底是什么解决了它。我重新安装独立 ConTeXt,这次我还运行了. /Users/myname/context/tex/setuptex
,正如安装结束时所建议的那样。在安装 ContTeXt 之前安装所有字体可能也很重要。
无论如何,对于如何引用文档中的字体的问题,可以使用以下命令检查 ConTeXt 可用的字体列表mtxrun
:
$ mtxrun --script fonts --list --all --pattern=* | grep Ponomar
ponomarunicode ponomarunicode /Library/Fonts/PonomarUnicode.otf
ponomarunicodenormal ponomarunicode /Library/Fonts/PonomarUnicode.otf
ponomarunicoderegular ponomarunicode /Library/Fonts/PonomarUnicode.otf
另外,一定要检查关于这个话题的另一个答案。
更新。我安装了 Neo Euler,但情况还是一样,我无法使用它,甚至在之后也是如此mtxrun --script fonts --reload
。我再次重新安装了 ConTeXt,它就可以正常工作了。