fontspec:加载斜体文本字体,使其具有与“主”(罗马)文本字体相同的 x 高度

fontspec:加载斜体文本字体,使其具有与“主”(罗马)文本字体相同的 x 高度

假设某人喜欢该字体的“直立”形状Sabon Next LT Pro,但更喜欢该字体的“斜体”形状,Garamond Premier Pro而不是 Sabon Next 的斜体形状。(顺便说一下,这两种字体都是 Garamond 风格的字体。)不幸的是,这些字体的 x 高度差别很大,当并排排版时会产生一些视觉上的不适。

我知道这个选项

Scale = MatchLowercase

\setsansfont当通过和语句加载无衬线字体和打字机字体时\setmonofont;这些选项用于将无衬线字体和打字机字体缩放到正在使用的主文本字体的 x 高度。不幸的是,似乎没有(记录的)方法可以以同样简单的方式设置斜体文本字体的 x 高度。这种印象不正确吗?

简而言之,我应该如何缩放斜体文本字体以使其 x 高度与主(罗马/直立)文本字体的 x 高度相等?

答案1

您可以先设置主字体来设置 x 高度;然后您可以重置它。

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Lucida Bright OT}
\setmainfont[Ligatures=TeX,
  ItalicFeatures={Scale=MatchLowercase},
  ItalicFont={EB Garamond 12 Italic},
]{Lucida Bright OT}

\begin{document}
Abc\emph{def}

%% We check what the normal choice would be    
{\fontspec{Lucida Bright OT}Abc}{\fontspec{EB Garamond}\itshape def}

\end{document}

抱歉,字体组合太差了:为了便于比较,我选择了 x 高度较大的字体(Lucida Bright)。

我从 Silex 那里学到了设置两倍主字体的技巧(参见https://tex.stackexchange.com/a/104000/4427

在此处输入图片描述

相关内容