Mark Stephens I have been working with Java and PDF since 1999 and am a big NetBeans fan. I enjoy speaking at conferences. I have an MA in Medieval History and a passion for reading.

Interesting PDF bugs – Pointless font inclusion

55 sec read

We get to see lots of ‘interesting‘ PDF files in developing a Java PDF library to handle PDF files…

Today’s example comes from a PDF creation tool called Solid PDF Creator Plus (2.0.36.0) according to the PRODUCER entry (which may not be 100% correct as it can be set manually to anything).

In a PDF you can declare a list of fonts used and assign a name to them. In this file we had

F3 1108 0 R
/F4 1112 0 R
>>
>>

So F3 is the font defined by the object 1108 0 R and F4 is in 1112 0 R. F1 and F2 are actually null objects so not used. This in itself is allowed in the PDF spec (let’s face it anything is allowed in the PDF specification unless it is explicitly banned!). So it is not technically a bug. But it is pretty pointless because it makes the file bigger and more confusing than it needs to be. It is just sloppy programming in the PDF creation tool.

Easily fixed (and in today’s daily build) but annoying. You can see some other interesting PDF bugs here on our blog.

Do you have any favourite PDF bugs?

This post is part of our “Fonts Articles Index” in these articles we explore Fonts.

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!

IDRsolutions develop a Java PDF Viewer and SDK, an Adobe forms to HTML5 forms converter, a PDF to HTML5 converter and a Java ImageIO replacement. On the blog our team post anything interesting they learn about.

Mark Stephens I have been working with Java and PDF since 1999 and am a big NetBeans fan. I enjoy speaking at conferences. I have an MA in Medieval History and a passion for reading.

Leave a Reply

Your email address will not be published. Required fields are marked *

IDRsolutions Ltd 2019. All rights reserved.