我想使用 TeX Gyre Pagella 字体(Palatino Linotype 的克隆版)输入一个使用 Unicode 字符 U+1E17(带有长音符和锐音符的拉丁小写字母 e)的单词。但是,当我这样做时,锐音符太低了。有办法纠正这个问题吗?
以下是 MWE:
\documentclass{article}
\usepackage{unicode-math}
\setmainfont{TeX Gyre Pagella}
\begin{document}
\textit{\huge{\char"1E17th}} \textsc{\huge{test}}
\end{document}
编辑:我可以将Palatino
(NOT Palatino Linotype
)设置为主要字体,但这样我就不能使用小型大写字母了
\documentclass{article}
\usepackage{unicode-math}
\setmainfont{Palatino}
\begin{document}
\textit{\huge{\char"1E17th}} \textsc{\huge{test}}
\end{document}
答案1
答案2
该字体不支持U+1E17字符。
HarfBuzz(在 XeTeX 和 HarfTeX 中)有助于将其分解为 e + 组合长音符 + 组合 + 组合锐音符(U+0304 和 u+0301),幸运的是字体可以接受地呈现它(至少是 TeX Live 2019 中包含的版本)。
你可以通过手动进行分解在其他引擎(比如带有 luaotfload 的 LuaTeX)上实现同样的效果
\documentclass{article}
\usepackage{unicode-math}
\setmainfont{TeX Gyre Pagella}
\begin{document}
\textit{\huge{e\char"0304\char"0301th}} \textsc{\huge{test}}
\end{document}
或者,您可以继续使用 TeX Gyre Pagella 来处理小型大写字母,并对其余文本使用不同的字体:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Palatino}
[
SmallCapsFont={TeX Gyre Pagella},
SmallCapsFeatures={Letters=SmallCaps},
]
\begin{document}
\textit{\huge{\char"1E17th}} \textsc{\huge{test}}
\end{document}