Friday, February 20, 2009

pdffonts, updmap, epstopdf and ps2pdf

The occasion of the U.S. National Academy of Sciences "Astro2010" Decadal Survey of Astronomy and Astrophysics has forced me to (re)confront the issue of font embedding in PDF documents produced with LaTeX.

The last time I did this was about five years ago for various NASA ROSES proposals (ATP, the now defunct LTSA, etc) and it was something of a messy process. Which font package to use, what dvips command line options to use to make the postscript file, and then what ps2pdf command line options to use, etc etc.

Nowadays its much easier to produce high quality PDFs from latex source, thanks to pdflatex, and I'd assumed all fonts ended up being embedded properly automatically now. But in writing my Astro2010 White Paper I ended up discovering the very useful pdffonts tool, which in turn informed me that all my fonts where not being embedded. In the process of solving that I got to learn about updmap (not actually the source of the problem, as its correctly set up in Fedora 8 and 10) before realizing the problem was with my figures.

I still produce and include EPS figures, relying on the latex epstopdf package to automatically convert the figures to PDF for pdflatex. Turns out epstopdf (the command line tool used by the epstopdf latex package) does not correctly embed the fonts when coverting the EPS files, so thats where the problem was. The command line ps2pdf tool does embed the fonts, but only when you use the -dPDFX command line option (-dEmbedAllFonts does not work!).

Anyway, all this is now documented on my Unix tips and tricks site.

No comments: