You need to be careful with fonts in PDF files. I was sent a PDF file which did not display properly in our software. So I opened it in Acrobat on my Mac, and guess what… It did not display properly in that either. It did however work correctly in Acrobat on Windows. The problem turned out to be in the fonts.
Many PDF creation tools let you add fonts into a PDF file if they are on your system. But they do not include critical font data (like the widths of the characters so the font can be approximated or the actual font data). So when you try to open the file on a different machine (without this font), it does not look correct.
In theory, the PDF file format provides a set of standard font families you can use. However, one of the fonts not correctly displayed on my problem PDF was Symbol – the Mac version of Acrobat seemed confused because it was WIN encoded.
The best solution is to embed the font which includes all the information needed to draw it and makes no assumption about what is on the viewing machines. If you subset the font, only the minimum data to draw the required glyphs is included, making it compact.
So be careful with your fonts, and if you are not embedding them, make sure you test the PDF files on any viewing platforms.
This post is part of our “Understanding the PDF File Format” series. In each article, we discuss a PDF feature, bug, gotcha or tip. If you wish to learn more about PDF, we have 13 years worth of PDF knowledge and tips, so click here to visit our series index!
Latest posts by Mark Stephens (see all)
- 3 Reasons to attend NetBeans Day in Athens (17-18 April 2015) - March 24, 2015
- NetBeans Day UK – Friday 29th May 2015 - March 23, 2015
- Why we are abandoning ImageIO and JAI for Image support in our commercial Java code - March 19, 2015
- First impressions of the new RaspberryPi for Raspbian, Riscos, Java and NetBeans - March 3, 2015
- Converting a Swing application into JavaFX – Listeners and fast scrolling - February 3, 2015