Lato 字体未将字母 ft 和 ti 分开

Lato 字体未将字母 ft 和 ti 分开

我正在为文档使用 Lato 字体,但只要字母“ft”和“ti”相邻,此字体就无法将字符分开。在输出 pdf 查看器中复制粘贴单词时,会发生奇怪的事情,因为“ti”被视为一个字母。

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Lato}

\begin{document}
Simulations \huge{\textbf{Institute, simulations}}
\end{document}

输出:

可以看到,ti 被粘在一起

这不应该是通常的输出。正如人们可以在网站上尝试的那样 https://fonts2u.com/lato-regular.font?ptext=Simulations输出应如下所示(“t”和“i”之间有空格分隔) 可以看出,ti 是分开的

答案1

显然,Lato TrueType 字体在liga(标准连字)功能中除了真正标准的连字之外,还具有特殊的连字。

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Lato}

\begin{document}

Institute, simulations

flagstaff finicky official

\end{document}

在此处输入图片描述

另一方面,这是我从 PDF 文件中复制粘贴文本得到的结果:

Institute, simulations
flagstaff finicky official

因此奇怪的连字符在此过程中被分裂了。

您可以禁用连字,但只能禁用全部其中。

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Lato}[
 Ligatures=NoCommon,
]

\begin{document}

Institute, simulations

flagstaff finicky official

\end{document}

在此处输入图片描述

事实上,这甚至更好:字形实际上不需要连字。

答案2

这个字体系列的表现令人惊讶。应该可以通过这种方式关闭你不喜欢的连字:

\documentclass{article}
\usepackage{fontspec}
\directlua{
  fonts.handlers.otf.addfeature{
    name = "noft",
    type = "multiple",
    data = {
      ['f_f_t.liga'] = { "f", "f", "t" },
      ['f_t.liga'] = { "f", "t" },
      ['t_t_i.liga'] = { "t", "t", "i" },
      ['t_i.liga'] = { "t", "i" },
    },
  }
}
\setsansfont{Lato}[RawFeature=+noft]
\begin{document}
\sffamily
Institute attic simulations pfft baffle five flying officials
\end{document}

但是,输出充满了 T 连字符。

如果您想要标准连字而不使用其他连字,请关闭liga并重新添加所需的连字rlig(默认情况下处于启用状态):

\documentclass{article}
\usepackage{fontspec}
\directlua{
  fonts.handlers.otf.addfeature{
    name = "rlig",
    type = "ligature",
    data = {
      ['ffi'] = { "f", "f", "i" },
      ['ffl'] = { "f", "f", "l" },
      ['ff'] = { "f", "f" },
      ['fi'] = { "f", "i" },
      ['fl'] = { "f", "l" },
    },
  }
}
\setsansfont{Lato}[Ligatures=NoCommon]
\begin{document}
\sffamily
Institute attic simulations pfft baffle five flying officials
\end{document}

输出

我想不出为什么第二种方法有效而第一种方法无效。解决方案需要使用 进行编译lualatex

答案3

在此处输入图片描述

\documentclass{article}
\usepackage[default]{lato}
\usepackage[T1]{fontenc}

\begin{document}
Simulations \huge{\textbf{Institute, simulations}}
\end{document}

相关内容