关闭文档中的 fontspec 选项 Ligatures=TeX

关闭文档中的 fontspec 选项 Ligatures=TeX

这个问题在某种程度上类似于在文档的某些部分显示真正的撇号,但我现在询问的是执行特定操作的可能性。

我可以转fontspec通过使用的选项 ,可以对引号等进行典型的 TeX 文本映射Ligatures=TeX。尽管允许停用fontspec许多选项(参见 的文档,表 2),但我找不到任何停用已激活 的方法,因为没有 这样的选项。这是否意味着无法在文档内暂时关闭?LigaturesfontspecLigatures=TeXLigatures=NoTeXLigatures=TeX

\documentclass{article}
\usepackage{fontspec}
    \setmainfont[Ligatures=TeX]{Linux Libertine O}
\begin{document}
CA'GT -- {\addfontfeatures{Ligatures=Common}CA'GT}
\end{document}

在此处输入图片描述

答案1

您可以使用空映射来关闭映射:

\documentclass{article}
\usepackage{fontspec}
    \setmainfont[Ligatures=TeX]{Linux Libertine O}
\begin{document}
CA'GT -- {\addfontfeatures{Mapping=}CA'GT}
\end{document}

在此处输入图片描述

答案2

Ligatures=TeX应用字体功能,而是添加“映射”;这是描述主字体的日志的一部分:

. fontspec info: "defining-font"
.
. Font family 'LinuxLibertineO(0)' created for font 'Linux Libertine O' with
. options [Ligatures=TeX].
.
. This font family consists of the following shapes:
.
. * 'normal' with NFSS spec.:
. <->"Linux Libertine O/ICU:script=latn;language=DFLT;mapping=tex-text;"
.
. * 'small caps' with NFSS spec.:
. <->"Linux Libertine O/ICU:script=latn;language=DFLT;mapping=tex-text;+smcp;"
.
. * 'bold' with NFSS spec.:
. <->"Linux Libertine O/B/ICU:script=latn;language=DFLT;mapping=tex-text;"
. [...omitted similar lines...]

虽然可以关闭此功能,但我更喜欢定义没有该选项的不同字体系列:

\documentclass{article}
\usepackage{fontspec}

\setmainfont[Ligatures=TeX]{Linux Libertine O}
\newfontfamily{\mainnolig}{Linux Libertine O}

\begin{document}

CA'GT -- {\mainnolig CA'GT}

{\itshape CA'GT -- {\mainnolig CA'GT}}

\end{document}

如示例所示,字体属性被保留,因此效果与您想要获得的效果相同\addfontfeatures。所选名称仅用于提供示例,您可以使用任何您喜欢的名称。

在此处输入图片描述

相关内容