<div dir="ltr">Thanks, I'll check it out. I don't know if I mention it publicly, but we almost printed a 5K run of this book that was caught only at the last minute, so I am deeply interested in the subject.<br><div><br></div><div>Our system does a gazillion checks for conformity on the sources and PDF, but it is not able to recognize this type of problems. Interestingly enough NONE of the pre-flight tools I have access to have been able to detect this, in the PDF file, even though the two characters occupying the same space in the PDF source is very clear.</div><div><br></div><div>I have been thinking about writing something that could detect it, but it will have to deal with a fair amount of false-positives like "\not\in" and with slow algorithms to detect when they intersect. </div><div><br></div><div>Does anyone know of work in that direction?</div><div><br></div><div>Paulo Ney</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Dec 15, 2020 at 7:15 AM Jonathan Fine <<a href="mailto:jfine2358@gmail.com">jfine2358@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Hi Paulo<div><br></div><div>You wrote</div><div><br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Do you know a way one can automatically check a PDF file for this kind of overprinting?</div></div></blockquote><div><br></div><div> I know something that helps. The overprinting was caused by change in the TeX-Live software (which then affected the font selection).</div><div><br></div><div>Here's my automatic check. It is a regression test. Suppose A.tex produced 2019-A.pdf when run with TeX Live 2019, and similarly for 2020-A.pdf. Now convert the pdf files to bitmaps, and perform a diff on the bitmaps.</div><div><br></div><div>I've already written a utility for doing this, when we want to check some PDF manipulation software that was used to improve accessibility of the PDFs. But it introduced visual errors. This diff on bitmaps, made visual, allowed errors to be easily spotted.</div><div><br></div><div>Related is using the output produced by the --recorder option. As part of a final production run, use --recorder, and augment it with the git hash of the files read.</div><div><br></div><div>jfine@lemon:~$ tex --recorder story<br>This is TeX, Version 3.14159265 (TeX Live 2019) (preloaded format=tex)<br>(/usr/local/texlive/2019/texmf-dist/tex/plain/knuth-lib/story.tex [1])<br>*\end<br>Output written on story.dvi (1 page, 680 bytes).<br>Transcript written on story.log.<br></div><div><br></div><div>$ cat story.fls<br>PWD /home/jfine<br>INPUT /usr/local/texlive/2019/texmf.cnf<br>INPUT /usr/local/texlive/2019/texmf-dist/web2c/texmf.cnf<br>INPUT /usr/local/texlive/2019/texmf-var/web2c/tex/tex.fmt<br>INPUT /usr/local/texlive/2019/texmf-dist/tex/plain/knuth-lib/story.tex<br>OUTPUT story.log<br>OUTPUT story.dvi<br></div><div><br></div><div>This example shows that to avoid binary noise, you'll want to similarly fingerprint the creation of tex.fmt.</div><div><br></div><div>I hope this helps.</div><div>-- </div><div>Jonathan</div></div></div>
</blockquote></div>