如何使用 XCharter 和 Luatex 获取“替代 1”?

如何使用 XCharter 和 Luatex 获取“替代 1”?

我对使用带有旧式数字和其“替代 1”的 XCharter 字体很感兴趣。

使用 pdftex,这可以简单地实现为

\documentclass{article}
\usepackage[osf]{XCharter}
\usepackage[T1]{fontenc}

\begin{document}
    With pdftex: 123456789
\end{document} 

pdftex xcharter 旧式图形示例

但是,使用 Luatex 编译文档时,需要使用 fontspec 包加载字体,

\documentclass{article}
\usepackage{fontspec}
\setmainfont{XCharter}[Numbers=OldStyle]

\begin{document}
    With luatex (and fontspec): 123456789
\end{document}

luatex xcharter 旧式图形示例

如何使用 XCharter 和 Luatex 获得具有旧式数字的“替代 1”?

答案1

没有定义使用替代的功能,但您可以通过这种方式添加一个:

\documentclass{article}
\usepackage{fontspec}
\directlua{
  fonts.handlers.otf.addfeature{
    name = "salt",
    type = "alternate",
    data =
    {
      ["one.oldstyle"] = "one.Alt.oldstyle",
    },
  }
}
\setmainfont{XCharter}[Numbers=OldStyle,RawFeature=+salt]
\begin{document}
1234567890
\end{document}

相关内容