飞行前检查失败:如何修复 .notdef 和不正确的字形?

飞行前检查失败:如何修复 .notdef 和不正确的字形?

我正在尝试让专业打印机将使用 XeLaTex 编写的文档打印成一本书。但是,我发送给公司的 PDF 未通过他们的飞行前检查。他们的工具“pdfToolbox 6.3”生成了一份报告,其中包含(唯一的)错误消息(从德语翻译而来):“字体引用“.notdef”字形”(后跟页码列表)。

该报告还用红框标记了问题。以下是一个例子:

坏的

将鼠标悬停在框上,我收到一条工具提示消息,内容为:“字体指的是“.notdef”字形,第 183 页,字体 BqkpklGmylbhCMEX10 [...]”

它看起来应该是这样的:

好的

因此实际上存在两个问题 -不正确字形和.notdef字形,后者是由飞行前工具发现的。

XeLaTex 的日志文件中没有“缺少字符:...”消息。

我试图提出一个 MWE,但由于我无法访问 pdfToolbox,以下代码可能无法重现该问题。

\documentclass{scrbook}
\usepackage[fleqn]{amsmath}
\usepackage{amsthm}
\usepackage{exscale}
\usepackage{mathspec}
\setmainfont[Mapping=tex-text]{Minion Pro}
\setmathsfont(Digits,Latin){Minion Pro}
\setmathrm{Minion Pro}
\begin{document}
\begin{align*}
 S(0, j) &= j\cdot \mathit{del}, \nonumber \\
 S(i, 0) &= \sum_{k=1}^i v(b_k, f_k, \varepsilon), \nonumber \\
 S(i, j) &= \max\left\{
 \begin{array}{l}
  S(i, j-1) + \mathit{del},\\
  \max\limits_{k=0,\dots,j}\, \big(S(i-1, k) + v(b_i,f_i, s_{k+1\ldots j})\big)\\
 \end{array}
\right\} \,.
\end{align*}
\end{document}

答案1

我终于能够让公司印刷我的书了。由于多次反复地来回发送文件是不可能的,所以我同时更改了两处,因此很遗憾无法确定是哪处更改导致了问题。

使用 Callas pdfToolbox 的评估版,我运行了与该公司相同的字体检查。没有发现任何问题,因此问题不是 XeLaTeX 造成的,而一定是他们对 PDF 文件的操作造成的(例如,他们添加了裁切标记)。

这就是正确印刷的书籍的结果:

  1. 按照 cfr 的建议,删除该包的使用exscale
  2. 切换到 LuaLaTeX。这比想象中的要容易得多,基本上只需要更改标题中有关字体包的几行。我还需要再次检查整个文档,因为布局略有变化。

相关内容