[Tex/LaTex] Failed pre-flight: How to repair .notdef and incorrect glyphs

fontsxetex

I am trying to get a document that is written with XeLaTex printed as a book by a professional printer. The PDF I sent to the company did not pass their pre-flight check, however. Their tool "pdfToolbox 6.3" produced a report with the (only) error message (translated from German): “Font refers to ".notdef" glyph” (followed by a list of page numbers).

That report also marks the problems with red boxes. Here is an example:

bad

Hovering over the box, I get a tooltip message that reads: “Font refers to ".notdef" glyph, Page 183, font BqkpklGmylbhCMEX10 […]”

And this is how it is supposed to look:

good

So there are actually two problems – incorrect glyphs and .notdef glyphs, and the latter are found by the pre-flight tool.

There are no “Missing character: …” messages in XeLaTex's log file.

I have tried to come up with a MWE, but since I do not have access to pdfToolbox, the following code may possibly not reproduce the problem.

\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}

Best Answer

I was finally able to get my book printed by the company. Since multiple iterations of sending documents back and forth was out of the question, I changed two things at the same time, so it is unfortunately not possible to determine which of those changes was responsible.

Using an evaluation version of Callas pdfToolbox, I ran the same font check that the company did. No problems were flagged, so the problem was not due to XeLaTeX, but must have resulted from their manipulations of the PDF file (they added crop marks, for example).

This is what resulted in properly printed books:

  1. Remove use of the exscale package, as cfr suggested.
  2. Switch to LuaLaTeX. This was much easier than expected and basically required only changing a few lines in the header concerning font packages. I also needed to check the entire document again since the layout changed slightly.
Related Question