在我的一份旧文档中,我使用 Hoefler(带有 XeTeX 和 MacTex)在斜体文本行的末尾(和开头)获得漂亮的花饰。
下面是一个屏幕截图(注意第一行、第四行末尾和最后一行):
对于新文档,我想要相同的效果 - 但不幸的是,我似乎无法重新创建它们。
根据旧文档,我尝试了以下操作:
\documentclass[10pt]{article}
\usepackage{fontspec,xltxtra}
\defaultfontfeatures{Mapping=tex-text,Ligatures=Common}
\setmainfont{Hoefler Text}
\begin{document}
\noindent
\emph{House\\ Cat\\ Limerick}
结果是没有花饰:
(是的,我尝试了文本的不同变化、字体规格选项、连字参数,甚至在末尾添加了句号。但都无济于事。)
我发现了一个旧的回复类似问题,并提供一个 swashes 的工作示例— 斜体文本中的最后一个“e”是按照我想要的方式排版的,但即使修改示例,我也无法重现它。
我对这一切感到惊讶,然后尝试重新编译我自己的工作文档:它运行良好,但是花饰消失了!
所以现在我有一个(旧)文档及其 PDF 输出,我似乎无法重现它们。我能想到的唯一解释是,在过去的几年中,某些软件包的默认行为从“行首和行末斜体 Hoefler 花饰”从“默认开启”更改为“默认关闭”。
不想质疑这个决定:我该如何重新启用它?你知道哪里发生了变化(以及为什么)吗?
谢谢,尼古拉
编辑:
发布后不久,我发现我需要添加Contextuals=WordFinal
字体功能。(不,Contextuals=LineFinal
这不管用……)
唯一剩下的问题是——尽管文档排版正确(而且很漂亮)——但我得到的很多错误消息:
* fontspec warning: "aat-feature-not-exist-in-font"
*
* AAT feature 'Contextuals=WordFinal' (8,2) not available in font 'Hoefler
* Text/B'.
因此,如果我不添加它,就不会收到错误消息,也不会出现花饰;如果我添加了它,则会收到错误消息以及正确排版的花饰。错误消息不正确吗?还是只是报告不正确?
答案1
必须明确启用“上下文”功能(如果我没记错的话,很久以前没有启用过)。您会收到警告,提示该功能不适用于直立字体,但可以只为斜体字体启用它。
\documentclass[10pt]{article}
\usepackage{fontspec}
\setmainfont[
Ligatures={Common, Rare},
Alternate=1,
ItalicFeatures={Contextuals=WordFinal},
BoldItalicFeatures={Contextuals=WordFinal},
]{Hoefler Text}
\begin{document}
\noindent
\emph{House\\ Cat\\ Limerick}\\
\textbf{\emph{House\\ Cat\\ Limerick}}
\end{document}
控制台未发出任何警告。
避免加载xltxtra
:它不再增加任何重要的内容。