OpenType 数学字体的数学运算符的多个垂直变体有什么用?

OpenType 数学字体的数学运算符的多个垂直变体有什么用?

据我所知,只有 Asana Math 和 Cambria Math 字体具有多个“大”版本的数学运算符。其他字体只有一个字形用于版本,\textstyle另一个字形用于\displaystyle版本。

导致问题看来类似的问题也发生在 Cambria 身上;它们的\displaystyle求和算子太大。

那么,拥有它们有什么用呢?LuaTeX 会以某种方式使用它们吗?MS Word 会吗?甚至可以从 LuaTeX 内部访问它们吗?(这种技术对他们来说似乎不起作用 - 或者实际上对大多数数学运算符来说似乎不起作用)。

答案1

MS 实现似乎根据运算符旁边的子方程的大小选择显示样式中较大的运算符。Knuth 的原始算法(在各种 TeX 引擎中实现)没有这样做,luatex 也不支持它。我不确定是否需要这种行为,但 ASFAIK 没有人在 luatex 中要求它。

然而,在 luatex 中,您可以更改“on fly”的值DisplayOperatorMinHeight,这将允许在公式中使用所有大运算符的不同大小,例如(在 ConTeXt 中):

\setupbodyfont[asana]

\starttext
\startformula
        \sum \int \prod
\stopformula
\startformula
        \Umathoperatorsize\displaystyle = 1em
        \sum \int \prod
\stopformula
\startformula
        \sum \int \prod
\stopformula
\stoptext

变化是局部的,第三个公式将与第一个相同。

(在 LaTeX 中你必须使用,\luatexUmathoperatorsize因为原语在那里被重命名)

相关内容