PDF 中 XeLaTeX 和 LuaLaTeX 嵌入字体(具有光学尺寸)之间的差异

PDF 中 XeLaTeX 和 LuaLaTeX 嵌入字体(具有光学尺寸)之间的差异

在 Windows 7 上使用 TexLive 2014(今天更新)可以使用 XeLaTeX 和 LuaLaTeX 进行编译以下代码:

\documentclass{article}
\usepackage{fontspec}

\setmainfont[
Extension = .otf,
Path=otf/,
UprightFont = {*},
ItalicFont = {*-Italic},
BoldFont = {*-Bold},
BoldItalicFont = {*-Bold-Italic},
UprightFeatures = {%
    SizeFeatures={%
        {Size={-8.9},Font={*-Caption}},
        {Size={8.91-14.9},Font={*}},
        {Size={14.91-22.9},Font={*-Subhead}},
        {Size={22.91-},Font={*-Display}},
    },
},
ItalicFeatures = {%
    SizeFeatures={%
        {Size={-8.9},Font={*-Italic-Caption}},
        {Size={8.91-14.9},Font={*-Italic}},
        {Size={14.91-22.9},Font={*-Italic-Subhead}},
        {Size={22.91-},Font={*-Italic-Display}},
        },
    },
    BoldFeatures = {%
        SizeFeatures={%
            {Size={-8.9},Font={*-Bold-Caption}},
            {Size={8.91-14.9},Font={*-Bold}},
            {Size={14.91-22.9},Font={*-Bold-Subhead}},
            {Size={22.91-},Font={*-Bold-Display}},
        },
    },
    BoldItalicFeatures = {%
        SizeFeatures={%
            {Size={-8.9},Font={*-Bold-Italic-Caption}},
            {Size={8.91-14.9},Font={*-Bold-Italic}},
            {Size={14.91-22.9},Font={*-Bold-Italic-Subhead}},
            {Size={22.91-},Font={*-Bold-Italic-Display}},
        },
    },
]{Garamond-Premier-Pro}

\begin{document}

\section{Embedding Optical Sizes Test}

\tiny
\begin {itemize}
 \item {\rmfamily \upshape Hello World!}
 \item {\rmfamily \upshape \bfseries Hello World!}
 \item {\rmfamily \itshape Hello World!}
 \item {\rmfamily \itshape \bfseries Hello World!}
 \item {\rmfamily \scshape Hello World!}
\end {itemize}

\scriptsize
\begin {itemize}
 \item {\rmfamily \upshape Hello World!}
 \item {\rmfamily \upshape \bfseries Hello World!}
 \item {\rmfamily \itshape Hello World!}
 \item {\rmfamily \itshape \bfseries Hello World!}
 \item {\rmfamily \scshape Hello World!}
\end {itemize}

\small
\begin {itemize}
 \item {\rmfamily \upshape Hello World!}
 \item {\rmfamily \upshape \bfseries Hello World!}
 \item {\rmfamily \itshape Hello World!}
 \item {\rmfamily \itshape \bfseries Hello World!}
 \item {\rmfamily \scshape Hello World!}
\end {itemize}

\normalsize
\begin {itemize}
 \item {\rmfamily \upshape Hello World!}
 \item {\rmfamily \upshape \bfseries Hello World!}
 \item {\rmfamily \itshape Hello World!}
 \item {\rmfamily \itshape \bfseries Hello World!}
 \item {\rmfamily \scshape Hello World!}
\end {itemize}

\large
\begin {itemize}
 \item {\rmfamily \upshape Hello World!}
 \item {\rmfamily \upshape \bfseries Hello World!}
 \item {\rmfamily \itshape Hello World!}
 \item {\rmfamily \itshape \bfseries Hello World!}
 \item {\rmfamily \scshape Hello World!}
\end {itemize}

\Large
\begin {itemize}
 \item {\rmfamily \upshape Hello World!}
 \item {\rmfamily \upshape \bfseries Hello World!}
 \item {\rmfamily \itshape Hello World!}
 \item {\rmfamily \itshape \bfseries Hello World!}
 \item {\rmfamily \scshape Hello World!}
\end {itemize}

\LARGE
\begin {itemize}
 \item {\rmfamily \upshape Hello World!}
 \item {\rmfamily \upshape \bfseries Hello World!}
 \item {\rmfamily \itshape Hello World!}
 \item {\rmfamily \itshape \bfseries Hello World!}
 \item {\rmfamily \scshape Hello World!}
\end {itemize}

\Huge
\begin {itemize}
 \item {\rmfamily \upshape Hello World!}
 \item {\rmfamily \upshape \bfseries Hello World!}
 \item {\rmfamily \itshape Hello World!}
 \item {\rmfamily \itshape \bfseries Hello World!}
 \item {\rmfamily \scshape Hello World!}
\end {itemize}

\end{document}

我使用 latexmk 来编译上述代码:

latexmk -outdir=tmp -xelatex <source.tex>

latexmk -outdir=tmp -lualatex <source.tex>

两个命令均成功完成。我使用 Adob​​e Reader 打开了这两个 PDF 文件并检查了它们的属性:每个 PDF 文件都包含嵌入的光学尺寸(标题、常规、副标题等)。如果我使用 Adob​​e Acrobat 打开 PDF 文件并突出显示一个字母或一个单词,则工具栏(编辑/插入文本)会显示突出显示的字母的字体名称,其中的区别很明显:使用 XeLaTeX 编译的 PDF 显示正确的字体名称,包括光学尺寸。使用 LuaLaTeX 编译的 PDF 显示所有字母的“常规”。

XeLaTeX 生成的 pdf 看起来不错。LuaLaTeX 是否可能只嵌入光学尺寸(例如更新 pdf 内部字体列表),但只使用字体的常规尺寸?

更新

以下截图应该可以解释这些差异。第一个显示了使用 XeLaTeX 的结果:

xelatex 制作的 pdf

以下显示了使用LuaLaTex的结果:

lualatex 制作的 pdf

查看属性后,两个 pdf 文件似乎都包含相同的字体集(嵌入字体的列表相同)。但是,如果您查看突出显示的“o”,Acrobat(标准版)会报告 XeLaTex-PDF 的详细(正确?)字体形状和大小(“...-BdItDisp”),而 Acrobat(标准版)只会报告 LuaLaTeX-PDF 的基本字体(“Garamond Premr Pro”) - 当然,按钮斜体和粗体会突出显示,但似乎涉及的某个组件、我的设置或我的使用方式有问题,...

(C:\texlive\2014\texmf-var\luatex-cache)注意:在制作上述截图之前,我已清理(删除了)luatex-cache 。

相关内容