Palatino 字距调整问题

Palatino 字距调整问题

Palatino 有多种数字版本:Palatino LT Pro、Book Antiqua、TeX Gyre Pagella、Domitian 和 FPL Neu。其中许多版本(包括我正在使用的版本)的以下字符组合存在问题:“A。这很不好看:

字距调整不正确?

Kerning = On在添加该选项后问题仍然存在fontspec;使用该包microtype也无济于事。

商业版 Palatino LT Pro 和最近的免费版 Domitian 都存在这个问题。那么,我误以为这是一个问题吗?还是说这个问题没有引起大家的注意?

有办法修复这个问题吗?我无法切换到没有此问题的字体版本。

我正在使用以下代码运行 LuaLaTeX:

\documentclass[letterpaper, 12pt, extrafontsizes, oneside]{memoir} 
\settypeblocksize{9in}{6.5in}{*} 
\setlrmarginsandblock{1in}{1in}{*} 
\setulmarginsandblock{1in}{1in}{*} 
\checkandfixthelayout

\usepackage[protrusion = true]{microtype} 
\usepackage[no-math]{fontspec} 
\setmainfont[Kerning = On]{Domitian}

\title{} 
\author{} 
\date{}

\begin{document}

“H

“A

“E

\end{document}

答案1

你可以在 lua 中手动添加内核。像这样:

\documentclass{article}
\usepackage{fontspec}

\directlua{fonts.handlers.otf.addfeature
  {
    name = "doublequotekern",
    type = "kern",
    data = {
      [0x201C] = {
        ["A"] = -150,
      },
    }
  }
}

\setmainfont[RawFeature=+doublequotekern]{Domitian Roman}

\begin{document}
“H

“A

“E
\end{document}

输出:

输出

答案2

[编辑:刚刚注意到@habba082 已经在评论中提到,这个问题不会发生在 TeX Gyre Pagella 上,而这正是 使用的newpxtext。不过,我仍然会把这个答案留在这里作为参考。]

我刚刚测试过newpxtext,并且不存在字距调整问题:

1

\documentclass{article}

\usepackage{newpxtext}

\begin{document}

“H

“A

“E

\end{document}

newpxmath此外,它以(或如果您喜欢)的形式提供出色的数学支持。因此,如果您想在 LaTeX 中使用 Palatino,eulerpx我建议您使用。newpxtext

答案3

这似乎是字体的“特性”:我在 Windows 10 中使用“Palatino Linotype”版本 5.03 和不同的程序(如 BabelPad 或 LibreOffice)也看到了这一点。我猜双引号和 A 之间的字距调整表完全是错误的或缺失的。

例子: BabelPad 中显示的 Palatino Linotype 的字距调整问题

出于好奇,我尝试了不同的字体,似乎它们全部使用“稍微激进”的字距调整A下列的,所以我甚至可能猜测这是一些我不知道的设计原理。

我还在 Inkscape 1.2 中尝试了手动交互式字距调整(左栏是原始字距调整,右栏是“我的品味”):

Palatino Linotype 的字距调整问题以及 Inkscape 1.2 的手动字距调整

度量和字距调整

我在 Linux 上找不到实际的字体,但 TrueType 字体“URW Palladio”应该是另一种帕拉蒂诺克隆。首先,对于字母“A”,“左上角”距离“字符的起始处”大约 370 个单位:

字母 A 的详细信息

而左双引号的左侧距离“字符结束”约有 50 个单位:

左双引号的详细信息

因此“A”顶部的总间距约为 420 个单位,几乎是双引号的总可视宽度。

查看该字体的字距调整表,您会发现该对的字距调整校正为 -134,或小于视觉距离的一半。为了进行比较,我添加了流行的“VA”示例,其字距调整校正为 -145。

“URW Palladio” 选定字符的字距调整表

了解实际使用的字体的确切数字以及 TeX 程序和算法在渲染文本时如何使用这些数字将会很有趣。

相关内容