为什么使用“xelatex”时,Helvetica 的 PDF 字体大小为 11.911,而 Arial 的 PDF 字体大小为 11.955?

为什么使用“xelatex”时,Helvetica 的 PDF 字体大小为 11.911,而 Arial 的 PDF 字体大小为 11.955?

现在谜题已经解开,为什么在声明documentclassas时 PDF 字体大小是 11.95512 点(看为什么 PDFLaTeX 和 XeLaTeX 会为 12pt 文档类选项生成 11.955 字体大小?),我偶然发现了 PDF 字体大小的下一个令人费解的事情:

当在同一个文件中组合 Arial 和 Helvetica 时,.tex如下所示:

% !TEX TS-program = xelatex
\documentclass[12pt]{article}

\usepackage{fontspec}
\newfontfamily\myArialFont{Arial} % only works on Win/Mac where Arial is installed 
\newfontfamily\myHelveticaFont{Helvetica}

\begin{document}
{\myArialFont This font size its 11.955 in PDF}

{\myHelveticaFont And this one is 11.911 in PDF??}
\end{document}

我在相应的 PDF 代码中得到了两种不同的字体大小(用于xelatex --output-driver="xdvipdfmx -V4 -z0"编译而不进行 PDF 压缩):

stream
 q 1 0 0 1 72 720 cm BT 
/F1 11.955 Tf 56.41 -65.75 Td
[<0037004b004c0056>-278<0049005200510057>-277<0056004c005d0048>-278<004c00570056>-278<0014>73<00140011001c00180018>-277<004c0051>-278<003300270029>]TJ 
/F2 11.911 Tf 0 -14.45 Td
[<0024>-2<0051>-2<0047>-2<0003>-1<0057>-2<004b>-2<004c0056>-2<0003>-1<0052>-2<0051>-3<0048>-2<0003>-1<004c>-1<0056>-1<0003>-1<0014>70<0014>-1<0011>-1<001c>-2<0014>71<0014>-1<0003>-1<004c>-1<0051>-2<0003>-1<0033>-2<0027>-3<0029>-2<0022>-2<0022>]TJ /F3 11.955 Tf 173.79 -549.94 Td[<0052>]TJ 
ET Q

(我在流对象中添加了一些换行符以使 PDF 命令更清晰)。

可以看到,选中了/F1 11.955 Tf(Arial) 和(Helvetica),但大小不同。这是为什么呢?/F2 11.911 Tf

这可能与以下 PDF 数组中文本的表示有关(我仍在学习 PDF,不知道为什么 Arial 文本使用这些长十六进制数字,而 Helvetica 文本使用短数字。)

答案1

我不确定这会是一个多大的“答案”,但它值得一提:

截至撰写本文时,更新后的 TeX Live 2014 已不再发生这种情况。因此它在某个时候得到了修复。

使用xelatex --output-driver="xdvipdfmx -V4 -z0"文本编辑器检查输出 PDF 时,我发现以下内容:

stream
 q 1 0 0 1 72 720 cm BT 
/F1 11.955 Tf 56.41 -65.75 Td[<0037004b004c0056>-278<0049005200510057>-277<0056004c005d0048>-278<004c00570056>-278<0014>73<00140011001c00180018>-277<004c0051>-278<003300270029>]TJ 
/F2 11.955 Tf 0 -14.45 Td[<002400510047>-278<0057004b004c0056>-277<005200510048>-278<004c0056>-278<0014>73<00140011001c0014>73<0014>-276<004c0051>-278<00330027002900220022>]TJ 
/F3 11.955 Tf 173.79 -549.94 Td[<0052>]TJ ET Q

endstream

(换行符是我添加的。)

根据文档属性,这三种字体是

  • Arial 字体
  • 海尔维提卡
  • LMRoman12-常规

并且从流对象中可以看出,它们的点大小都是 11.955。

相关内容