使用旧式数字时连字符模式是否不同?

使用旧式数字时连字符模式是否不同?

看来,使用旧式数字与不使用旧式数字时,连字模式有所不同。考虑以下 MWE:

\documentclass[a4paper,10pt]{scrartcl}
\areaset[current]{336pt}{600pt}
\overfullrule=5pt

\usepackage{mathpazo}

%\usepackage[osf]{mathpazo}

%\usepackage{fontspec}
%\setmainfont[
%   Numbers={OldStyle,Proportional},
%       ]   {TeX Gyre Pagella}

\begin{document}
\noindent Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum
ut
\end{document}

这将生成一个溢出的水平盒子: 使用 mathpazo 进行连字

如果我们激活旧式图形,则不会发生该问题: 使用 osf-mathpazo 进行连字

我有两个问题:

  1. 这是怎么回事?我在文本中没有看到任何数字,那么为什么 XeLaTeX 会生成不同的输出?

  2. 最终我想使用 Open Type Font TeX Gyre Pagella。如果我们生成此示例,结果将与第一张图片相同,即我们得到一个溢出的水平盒子。我如何才能获得与 osf-mathpazo 相同的结果?

答案1

不同的连字模式是由pplxpplj字体系列更宽敞的字距和字间距引起的。引用在 LaTeX 中使用常见的 PostScript 字体,第 4 页(重点添加):

默认情况下,该软件包mathpazo使用字体系列ppl作为罗马文本字体系列。该选项[sc]选择 Palatino 和真正的小型大写字母(系列pplx)insread [sic!。相应地,该选项 [osf]选择 Palatino 和小型大写字母以及默认的旧式数字(系列pplj)。当然,旧式数字将仅在文本模式下使用,而不是公式。强烈建议使用任一选项:除了真正的小型大写字母外,字体系列pplxpplj显示出进一步的改进ppl增加字间距,增强字距调整表,额外的“dotlessj”字形。

答案2

结果非常相似,

\usepackage{mathpazo}

单独使用或

\usepackage{mathpazo}
\usepackage{fontspec}
\setmainfont[Numbers={OldStyle,Proportional}]{TeX Gyre Pagella}

被指定。当仅

\usepackage[osf]{mathpazo}

声明,结果是不同的,因为字体由于我不知道的原因,具有相当不同的字体空间参数。我\usepackage[osf]{mathpazo}得到

单词间距:2.91pt
单词拉伸:1.75pt
单词收缩:0.7pt

结果\usepackage{mathpazo}

单词间距:2.5pt
单词间拉伸:1.49998pt
单词间收缩:0.59998pt

旧式数字 MathPaZo 的词间空间较大显然导致了不同的结果。

我通过代码得到了表格

\noindent Interword space: \the\fontdimen2\font\\
Interword stretch: \the\fontdimen3\font\\
Interword shrink: \the\fontdimen4\font

之后发行\begin{document}

相关内容