我使用 unicode-math 进行排版,我的主要字体是 ArnoPro 和 GilSans(用于文本)、STIX Two(用于数学),我还创建了一个用于书法的特殊字体。我将其称为 Math Caligraphic Alphabet。
因此我用 STIX Two cal 字形替代了我的字形:
\setmathfont{Math Caligraphic Alphabet}[Scale=MatchLowercase,range={scr,bfscr}]
这很完美。
然而,后来我决定在 STIX 中更改 BlackBoard 字形(主要是因为它们是无衬线的),并且我将字体衬线黑板字形添加到它们的 Unicode 位置,就像我之前对 cal 字形所做的那样,然后我添加了:
\setmathfont{Math Caligraphic Alphabet}[Scale=MatchLowercase,range={scr,bfscr,bb}]
例子:
$\mathscr{A}\mathscr{B}\mathscr{C}$ % my cal letters
$\mathbb{A}\mathbb{B}\mathbb{C}$ % STIX Two bb letters
因此,我修改了代码,添加了一行新代码,只是为了看看字体是否能与我的 bb 字形配合良好
\setmathfont{Math Caligraphic Alphabet}[range="211D]
和完美
然后,我尝试了两个 bb 字形:
\setmathfont[range="211D,"2124]{Math Caligraphic Alphabet}
并unicode-math
给了我以下错误信息:
! The key 'fontspec-opentype/"2124' is unknown and is being ignored.
!
! See the LaTeX3 documentation for further information.
!
! For immediate help type H <return>.
!...............................................
l.108 ...e="211D,"2124]{Math Caligraphic Alphabet}
就是这样。我无法让我的所有 bb 字形都正常工作,尽管我可以让其中一个正常工作。
答案1
我相信您需要添加如图所示的括号,因为 unicode-math 将单个逗号解释为分隔连续的键:
\setmathfont[range={"211D,"2124}]{Math Caligraphic Alphabet}