哪些 LuaLaTeX 数学字体具有完整的符号集?

哪些 LuaLaTeX 数学字体具有完整的符号集?

我目前正在 LuaTeX 上使用拉丁现代数学字体来获得一套完整的数学字体。特别考虑的是能够使用粗体希腊\mathbfup{\lambda}字体和粗体书法字体\mathbfcal{F}。我想知道是否有其他字体支持所有此类符号?

答案1

以下是 11 种不同的 unicode 数学字体如何显示\mathcal{F}、、和以及 XITS-Stylistic Set 1 和 Asana Math Alternate 的概述。(之所以选择这 11 种数学字体\symbfcal{F},主要是因为它们恰好在我的系统上可用。您的系统可能有更多或更少的 unicode 数学字体。)请随意调整宏的内容以显示您真正感兴趣的符号。\lambda\symbfup{\lambda}\blurb

在屏幕截图中,您会注意到Neo Euler没有直立加粗的 lambda 符号。这并不奇怪,因为欧拉数学字体本来就是直立的(而不是“倾斜的”或“有坡度的”)字体。

除了根据符号集的完整性来判断数学字体之外(当然,没有字体的符号集合可以真正“完整”),你还应该考虑外貌, 或者,符号(包括和、乘积和积分符号)满足您的排版需求。例如,如果出于某种原因您需要使用 Times Roman文本字体,如果您需要使数学字体与文本字体很好地融合,从视觉上讲,您应该将搜索限制为、、Stix Math和,因为这些是基于/衍生自 Times Roman 的数学字体。Stix Two MathXITS MathTermes Math

在此处输入图片描述

% !TEX TS-program = lualatex
\documentclass{article}
\newcommand\blurb{%
   $\mathcal{F}\symbfcal{F}\quad
    \lambda \symbfup{\lambda}\quad
    \sum\prod\int\quad
    \displaystyle\sum\prod\int$}
\usepackage{unicode-math}
%% Load 10 math fonts, plus two alternate/stylistic set variants
\setmathfont{Latin Modern Math}[version=LM]
\setmathfont{Stix Math}[version=Stix]
\setmathfont{XITS Math}[version=XITS]
\setmathfont{XITS Math}[StylisticSet=1,version=XITS1]
\setmathfont{Stix Two Math}[version=Stix2] % see http://stixfonts.org/
\setmathfont{Cambria Math}[version=Cambria]
\setmathfont{Asana Math}[version=Asana]
\setmathfont{Asana Math}[Alternate,version=AsanaAlt]
\setmathfont{TeX Gyre Pagella Math}[version=Pagella]
\setmathfont{TeX Gyre Termes Math}[version=Termes]
\setmathfont{TeX Gyre DejaVu Math}[version=DejaVu]
\setmathfont{Neo Euler}[version=Euler]
\setmathfont{Libertinus Math}[version=Libertinus]

\begin{document}
\renewcommand\arraystretch{1.8}
\begin{tabular}{@{}ll@{}}
Latin Modern & \mathversion{LM}      \blurb \\
Stix         & \mathversion{Stix}    \blurb \\
XITS         & \mathversion{XITS}    \blurb \\
XITS, StySet1& \mathversion{XITS1}   \blurb \\
Stix Two     & \mathversion{Stix2}   \blurb \\
Cambria      & \mathversion{Cambria} \blurb \\
Asana        & \mathversion{Asana}   \blurb \\
Asana Alt    & \mathversion{AsanaAlt}\blurb \\
Pagella      & \mathversion{Pagella} \blurb \\
Termes       & \mathversion{Termes}  \blurb \\
DejaVu       & \mathversion{DejaVu}  \blurb \\[0.5ex]
Neo Euler    & \mathversion{Euler}   \blurb \\[0.5ex]
Libertinus Math& \mathversion{Libertinus} \blurb
\end{tabular}
\end{document}

答案2

由于 Mico 慷慨地建议我应该将我的评论扩展为答案,我想补充一下,还有另一大类可用的数学符号。

许多数学字体使用 OpenType 风格集或替代字体功能来添加变体。STIX Two 尤其擅长使用它们:它带有十七除了默认字体外,还有多种风格集!这些不是完整的替代字体,而是每种字体的一些变体的分组。

我在我的评论中给出了一个例子,Mico 在他的回答中补充道,你可以\setmathfont[range={\mathcal,\mathbfcal},StylisticSet=1,Scale=MatchUppercase]{XITS Math}在 中unicode-math使用 XITS Math 的替代脚本字体来表示\mathcal\mathbfcal。一些字体使用不同的 OpenType 功能,如 所示\setmathfont[range={\mathcal,\mathbfcal},Alternate,Scale=MatchUppercase]{Asana Math}。(这将保留默认值,如\mathscr\mathbfscr:Unicode 将书法和脚本字母映射到相同的代码点,但unicode-math如果你出于某种原因希望将它们设置为不同的字体。)STIX Two Math 有这个和 XITS Math 的其他风格集,还有相当多的其他风格集,包括风格集 7 中 ∑ 和 ∏ 的较小变体、风格集 8 中更直立的 ∫,以及变体数学字母G在风格集 2 中。

您可以将样式集设置为默认值,或像上例一样将字符范围设置为一个,或替换单个代码点。例如,我喜欢使用 Paul Halmos 的黑色“墓碑”作为量子电动力学符号,就像 DEK 那样(有时,包括 1997 年版的计算机编程艺术),而 XITS Math 在 U+220E 处有一个有吸引力的版本:

\renewcommand{\qedsymbol}{\ensuremath{\char"220E}}
\setmathfont[range="220E]{XITS Math}

您可以类似地使用 测试 STIX Two 中较小的 ∑ 和 ∏ \setmathfont[range={"2211,"220F},StylisticSet=7]{STIX Two Math}

还可以选择将字体重新映射到特定的数学字母,例如 Fraktur 或 blackboard bold。

STIX 两种风格集的完整文档记录docs/STIX_2.0.0_stylistic_sets.pdf在 STIX 发行版中名为 的文件中。您还可以在 FontForge 中打开任何数学字体并检查风格集和替代集:风格集的名称为 ,ss01而替代集(例如 Asana Math 的风格集)的名称为salt

相关内容