XeLaTeX:WordInitial、Inner 和 WordFinal 似乎在任何地方都匹配

XeLaTeX:WordInitial、Inner 和 WordFinal 似乎在任何地方都匹配

我正在创建一种黑体字体,想将其与 XeLaTeX 一起使用。我尝试使用首字母/中字母/尾字母替换,如 s/ſ,但上下文似乎匹配,尽管实际上不应该匹配。

例如,我尝试使用initmedi表将 s 替换为 ſ,但使用 和fontspecContextuals={Inner},词首和词尾的“s”也会被替换为“ſ”。所有词首和词尾形式的替换均适用相应的替换。

\documentclass{article}
\usepackage{fontspec}
\defaultfontfeatures{Script=Latin,Language=German,Contextuals=Inner}
\setmainfont{Jena1330.otf}
\begin{document}
smstsms
\end{document}

给出一个包含正确字体的 ſmſtſmſ 的文档,而不是我期望的 smſtſms。

我做错了吗?XeLaTeX 如何判断一个字母是首字母、中间字母还是尾字母?

答案1

大多数 OpenType 布局引擎只能正确处理特定isol脚本(阿拉伯文、叙利亚文、蒙古文等),对于其他脚本,它们将无条件地应用init它们,这似乎是medifinaICU 布局引擎由 XeTeX 使用。据我所知,只有一些 Adob​​e 应用程序可以处理拉丁文字。

为了更好的兼容性,您应该使用上下文替换来实现它。

相关内容