我想替換數學字體中的特定字形。當使用預定義範圍時它可以完美地工作:
\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 模式具有相同的大寫字母),但上面的行沒有任何效果。