默认情况下,使用 fontspec 将字体设置得小一些

默认情况下,使用 fontspec 将字体设置得小一些

我需要在文档中排版几个希伯来语单词,为此我使用了xelatexwithpolyglossiafontspec(底部为 MWE)。问题是这种字体的 x 高度比我在文档其余部分使用的字体(默认)更大。所以它看起来像这样:

在此处输入图片描述

第 1 行与第 2 行、第 2 行与第 3 行、第 3 行与第 4 行之间的距离应相同。

我该如何解决这个问题?有没有办法将默认字体大小传递给\DeclareTextFontCommand?然后我可以将字体大小设置得小一点,这样这个问题就消失了。

完整的 MWE(需要以斯拉·西尔字体):

\documentclass[twocolumn,10pt]{article}

\usepackage{polyglossia}
\setmainlanguage{dutch}
\usepackage{fontspec}
\newfontfamily{\ezra}{Ezra SIL}
\DeclareTextFontCommand{\textezra}{\ezra}

\begin{document}

Nadruk op het in acht nemen van de geboden. Gebruikt net als E \textezra{אֱלֹהִים} tot Ex.~3, maar ook andere combinaties met \textezra{אֵל}. God is nog afstandelijker dan elders en manifesteert zichzelf in glorie. Nog wat meer tekst voor een laatste regel.

\end{document}

答案1

或者,您可以要求 fontspec 根据您的主字体缩放字体,而不是使用反复试验的数字。

这是通过使用MatchLowercaseMatchUppercase作为选项的参数来实现的Scale

就您而言,您可以将字体声明为:

\newfontfamily{\ezra}{Ezra SIL}[Scale=MatchLowercase]

fontspec如果您的文档中也使用其他字体(无衬线字体、等宽字体……),则可以在前言中加载后添加以下行,将“缩放”选项声明为所有加载字体的默认选项:

\defaultfontfeatures{Scale = {MatchLowercase}}

答案2

当您使用附加字体功能创建新的字体系列时,您可以缩放字体:

\documentclass[twocolumn,10pt]{article}

\usepackage{polyglossia}
\setmainlanguage{dutch}
\usepackage{fontspec}
\newfontfamily{\ezra}{Ezra SIL}[Scale=0.8]
\DeclareTextFontCommand{\textezra}{\ezra}

\begin{document}

Nadruk op het in acht nemen van de geboden. Gebruikt net als E \textezra{אֱלֹהִים} tot Ex.~3, maar ook andere combinaties met \textezra{אֵל}. God is nog afstandelijker dan elders en manifesteert zichzelf in glorie. Nog wat meer tekst voor een laatste regel.

\end{document}

相关内容