添加 kern-font-feature,使其适用于斜体和常规字母组合的组合

添加 kern-font-feature,使其适用于斜体和常规字母组合的组合

我想将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 在评论中指出的那样。有办法实现它吗?

相关内容