使用 otf-libertinus 和 ConTeXt 進行數學排版

使用 otf-libertinus 和 ConTeXt 進行數學排版

我正在嘗試使用自由襯線用於排版文字和數學的字體。

\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

相關內容