我正在尝试使用自由衬线体用于排版文本和数学的字体。
\starttypescript [libertinusserif]
\setups[font:fallback:serif] % security: if not found==> back to defaults
% \definefontsynonym[ConTeXt basics name] [Human readable] [features=default]
\definefontsynonym[Serif] [LibertinusSerif-Regular] [features=default]
\definefontsynonym[SerifItalic] [LibertinusSerif-Italic] [features=default]
\definefontsynonym[SerifBold] [LibertinusSerif-Semiold] [features=default]
\definefontsynonym[SerifBoldItalic] [LibertinusSerif-SemiboldItalic] [features=default]
\stoptypescript
\starttypescript [libertinusserif]
\definetypeface [libertinusserif] [rm] [serif] [libertinusserif] [default]
\stoptypescript
\setupbodyfont[libertinusserif, 14pt]
\starttext
Just some text.
Some text with \m{m+a_{th}} in it.
\stoptext
并出现以下错误:
Math error: parameter \Umathsub_shift_down\textstyle is not set
\m_syst_action_nop ...artimath #1\normalstopimath
\fi
l.21 Some text with \m{m+a_{th}}
in it.
(注意:当我用数学注释掉该行或不设置正文字体时,就会产生输出。)
答案1
我认为一个问题(您遇到的错误)是您没有定义数学字体。
如果您使用独立版本,则只需确保系统中可以找到字体(我的$OSFONTDIR
设置为$HOME/.fonts
)。这似乎不是您的问题,因为注释掉数学运算后您就可以获得字体。
因此,你将通过添加这些漂亮的字体来工作
\setupbodyfont[libertinus]
到您的设置。定义似乎取自
tex/texmf-context/tex/context/fonts/mkiv/type-imp-libertinus.mkiv