StylisticSet 无法与 unicode-math 配合使用

StylisticSet 无法与 unicode-math 配合使用

使用 LuaTeX,我想要激活我的(商业)字体分别通过其 Opentype 功能“风格集 2”和“风格集 11”提供的“g”和“1”的替代字形。

它确实适用于主字体(参见下面屏幕截图的第一行)。

但是,我想在数学字体中获得相同的数字和字母,尤其是 g 和 1 的替代形式。它适用于 g,但不适用于 1(参见屏幕截图的第 4 行)。

我尝试使用一些免费字体来重建这个问题。没有成功。无论如何,我希望有人能帮助我。

\documentclass{article}
\RequirePackage{fontspec}
\setmainfont{TheSans_L-Math-5_Plain.otf}[
    Numbers = {Lining,Monospaced},
    StylisticSet={2,11}, 
]
\RequirePackage[math-style=upright,bold-style=TeX]{unicode-math}
\setmathfont{STIXTwoMath-Regular.otf}[Scale=MatchUppercase,StylisticSet={4,8}]
\setmathfont{TheSans_L-Math-5_Plain.otf}[
    range = { up/{num,latin,Latin} },
    Numbers = {Lining,Monospaced},
    StylisticSet = {2,11}, 
]

\begin{document}
ijg, 0234567891\par
$ijg$, $0234567891$
\end{document}

上述代码的输出是以下屏幕截图的第1行和第4行:

在此处输入图片描述

我的日志文件的一部分:

Completed box being shipped out [1]
\vbox(633.0+0.0)x407.0, direction TLT
.\glue 16.0
.\vbox(617.0+0.0)x345.0, shifted 62.0, direction TLT
..\vbox(12.0+0.0)x345.0, glue set 12.0fil, direction TLT
...\glue 0.0 plus 1.0fil
...\hbox(0.0+0.0)x345.0, direction TLT
....\hbox(0.0+0.0)x345.0, direction TLT
..\glue 25.0
..\glue(\lineskip) 0.0
..\vbox(550.0+0.0)x345.0, glue set 527.9436fil, direction TLT
...\write-{}
...\glue(\topskip) 2.7
...\hbox(7.3+2.55)x345.0, glue set 243.26fil, direction TLT
....\localpar
.....\localinterlinepenalty=0
.....\localbrokenpenalty=0
.....\localleftbox=null
.....\localrightbox=null
....\hbox(0.0+0.0)x15.0, direction TLT
....\TU/TheSans_L-Math-5_Plain.otf(0)/m/n/10 i
....\TU/TheSans_L-Math-5_Plain.otf(0)/m/n/10 j
....\TU/TheSans_L-Math-5_Plain.otf(0)/m/n/10 

答案1

我没有您说的字体,但可以演示StylisticSet如何ss01在 Stix Two Math 中选择(Roundhand Script)。

在此处输入图片描述

\documentclass{article}

\usepackage{unicode-math}

\setmathfont{STIX Two Math}

\begin{document}

$\symscr{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$

\end{document}

在此处输入图片描述

\documentclass{article}

\usepackage{unicode-math}

\setmathfont[StylisticSet={1}]{STIX Two Math}

\begin{document}

$\symscr{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$

\end{document}

答案2

我通过定义解决了这个问题

\directlua{
    fonts.handlers.otf.addfeature{
    name = "onealt",
    type = "alternate",
    data = { ["one"] = "one.LinTab.alt1", }, }
}

然后StylisticSet={11}RawFeature=+onealt,替换\setmathfont

相关内容