我想将kern
-font-feature 添加到两种字体中,以便它涵盖两者之间的某些斜体和常规字形组合。
我已成功将它们添加到某个系列的常规和斜体字体中,并使它们适用于某些组合,但是当出现斜体和常规字母的组合时,我无法使其工作。 MWE:
\documentclass{scrbook}
\usepackage[osf]{libertinus}
\usepackage{fontspec}
\directlua
{fonts.handlers.otf.addfeature
{
name = "ktest",
type = "kern",
data = {
["*"] = { ["A"] = -185},
}
}
}
\directlua
{fonts.handlers.otf.addfeature
{
name = "ktestit",
type = "kern",
data = {
["*"] = { ["A"] = -165},
}
}
}
\setmainfont{Linux Libertine O}[
RawFeature=+kern;+ktest,
ItalicFeatures={RawFeature={-ktest;+ktestit}}
]
\begin{document}
\emph{*}Apple *Apple
*\emph{Apple} \emph{*Apple}
\end{document}
这对于常规和斜体 »*Apple« 产生了良好的效果,但是当这种字母组合部分为斜体、部分为常规时,它将不起作用,因为 kerning-font-feature 无法跨两种字体工作,正如 Ulrike Fischer 在评论中指出的那样。有办法实现它吗?