用 luatex 取代 unicode-math 中的單一代碼點

用 luatex 取代 unicode-math 中的單一代碼點

我想替換數學字體中的特定字形。當使用預定義範圍時它可以完美地工作:

\setmathfont[math-style=TeX, Scale=\mathscale, Path=/u/val/Documents/thesis/fonts/xits/, Extension=.otf, StylisticSet={8}]{xits-math}
\setmathfont[range=it/Latin, Scale=\mathscale, Path=/u/val/Documents/thesis/fonts/EB_Garamond/, Extension=.otf]{EBGaramond12-Italic}

但是,以下方法不起作用:

\setmathfont[math-style=TeX, Scale=\mathscale, Path=/u/val/Documents/thesis/fonts/xits/, Extension=.otf, StylisticSet={8}]{xits-math}
\setmathfont[range={"1D434-"1D44D}, Scale=\mathscale, Path=/u/val/Documents/thesis/fonts/EB_Garamond/, Extension=.otf]{EBGaramond12-Italic}

我只用代碼點替換了“range=it/Latin”。 「it/Latin」範圍似乎還有額外的效果。

如何獲得“range=it/Latin”的效果以及僅選擇特定字形的自由?

我正在使用 unicode-math 0.8b 和 LuaTex beta-0.80.0 (TeX Live 2015/TeX Live for SUSE Linux)編輯:不適用於 unicode-math 0.8d 和 LuaTex 0.95.0 (TeX Live 2016)

注意:我還嘗試了各種不同的範圍表達式,其中沒有一個對輸出產生任何影響:

range="41-"5A
range={"41-"5A->"1D434-"1D44D}
range={"1D434-"1D44D->"41-"5A}
range=it/{"1D434-"1D44D}
range=it/{"41-"5A}
range={119860-119885}

以及上述的一些組合......

編輯:

一個MWE來說明這個問題:

\documentclass{minimal} 
\usepackage{unicode-math}

\setmainfont{Kurier}
\setmathfont{xits}
\setmathfont{KurierItalic}[range={"1D434-"1D44D}]
% \setmathfont{KurierItalic}[range={it/Latin}]

\begin{document}
   \textit{ABCDEFabcdef}
   $ABCDEFabcdef$
\end{document}

當包含目前註解掉的行時,這是有效的(textit 和 math 模式具有相同的大寫字母),但上面的行沒有任何效果。

相關內容