LuaLatex,即使在数学模式下如何使用 calibri 字体?

LuaLatex,即使在数学模式下如何使用 calibri 字体?

我正在使用 calibri 字体在 LuaLatex 中写一封信。要进行设置,我使用以下命令:

\usepackage{fontspec}
\setmainfont{calibri}[Ligatures=TeX,
  SmallCapsFeatures={Letters=SmallCaps,LetterSpace=5},
  Path=fonts/,
  Extension = .ttf,
  BoldFont = *b,
  ItalicFont = *i,
  BoldItalicFont = *z]

问题是我需要使用内联数学模式,并且“数学”字体与文本字体冲突严重:

在此处输入图片描述

有没有办法即使在数学模式下强制使用字体?

提前致谢。

答案1

\documentclass{article}
\usepackage[math-style=upright]{unicode-math}
\setmainfont{Calibri}
\setmathfont{Fira Math}
\setmathfont{Calibri}[range={up/{latin,Latin,num}, 
    it/{latin,Latin,num}, 
    bfup/{latin,Latin,num}, 
    bfit/{latin,Latin,num},
    frak/{latin,Latin,num}}]
\begin{document}

\[ \mathbf{F}(x) = \int\limits_1^\infty \frac1{x^2} dx = 1 \]

\centering\textbf{F}(x) $\phi$ \textsc{SmallCaps}

\end{document}

在此处输入图片描述

答案2

经过多次尝试,我发现了一些可行的方法:

\usepackage{fontspec}
\usepackage[math-style=upright]{unicode-math}
\setmainfont{calibri}[Ligatures=TeX, SmallCapsFeatures={Letters=SmallCaps,LetterSpace=5}, Path=fonts/, Extension = .ttf, UprightFont = calibri, BoldFont = calibrib, ItalicFont = calibrii, BoldItalicFont = calibriz]
\setmathfont{XITS Math}
\setmathfont{calibri}[
    range={up/{greek,Greek,latin,Latin,num}, 
    it/{greek,Greek,latin,Latin,num}, 
    bfup/{greek,Greek,latin,Latin,num}, 
    bfit/{greek,Greek,latin,Latin,num},
    frak/{greek,Greek,latin,Latin,num}},
    Path=fonts/, Extension=.ttf, UprightFont = calibri, BoldFont = calibrib, ItalicFont = calibrii, BoldItalicFont = calibriz
    ]
\DeclareMathOperator{\uphi}{\symbol{"03C6}}

但它非常不可靠。我需要加载 XITS Math 来获取符号,因为 calibri 中缺少很多符号,\mathbf 无法处理很多字符。

我没有信心在大规模文档上使用此解决方案,因为它似乎有点问题。

相关内容