Convert Type 3 fonts to outlines (10.2)

Compared to other fonts that can be used in PDF, Type 3 fonts represent some kind of a speciality.
Glyphs in Type 3 fonts of type 'd0' can contain any graphic object such as lines, areas or images, which in turn can use all properties and resources possible in PDF, such as colors, transparency, shading or fill patterns.

However, there are also Type 3 fonts of the type 'd1', which - like other fonts - only describe contours, whereby besides lines and areas also masks can be used. With both types of Type 3 fonts, however, it is not possible to optimize the font presentation, especially Hinting. A direct conversion into outlines is not possible with both types of Type 3 fonts, or only possible to a limited extent; instead, the existing graphic objects must be included as such in the page description.

Typical use cases for Type 3 fonts are, in addition to ordinary "monochrome" fonts, Emoji fonts (see illustration below) or generally "colorful" fonts with graphic properties varying within a glyph. Since 2018, this type of font has become more widespread because SVG fonts have been added to the OpenType format. These new possibilities are increasingly also supported in applications such as QuarkXPress or Adobe lnDesign. SVG (scalable vector graphics) allows the use of almost all graphic possibilities as they are supported in PDF. Since SVG fonts cannot be used directly in PDF files, they are instead converted to the Type 3 format which is supported in PDF during PDF generation.

The support of SVG fonts and the Type 3 fonts generated from them must currently still be described as very mixed. For this reason, it may be worthwhile to convert Type 3 fonts into normal graphical content to avoid unpleasant surprises during output. It is not necessary to convert text in other fonts - which usually don't cause any problems - as well.

Starting with pdfToolbox 10.2, Type 3 fonts can also be converted to normal page content. Although the term "convert fonts to outlines" is not strictly accurate, the Fixup is called this way, because most users are most likely to look for it under this expression.

Adjusting the "Fonts to outlines" Fixup

The predefined Fixup "Convert fonts to outlines" will convert all fonts in the PDF to paths by default.

It is recommended to simply create a copy (via the menu button in the upper right corner - "Duplicate Fixup") of the existing Fixup, as shown below.

In the created copy you should first change the name (1) and comment (2).

Then (3) create a new Check for the font "Type3", so that you can limit the correction to this font.

First you have to assign a suitable name and if necessary, a comment for this new Check. As property, search for "font", then enter "Type3" as value (the possible values are listed in the comment of the property) and select "begins with" as operator. The new Check can then be saved.

The new check is automatically preselected in the previously created Fixup (Convert Type 3 fonts to outlines) under "Apply to".

Preconfigured Fixups

As most problem-causing fonts are using colored Type 3 font, this Fixup can even be limited to those colored fonts using the following correction.

Preconfigured Check to check if Type 3 font has all required resources

This Check can be used with Acrobat Preflight:

2 Comments

Christian Blaise

Thanks for the complete explanation and for the profile.

We also developed checks, fixes and process plans for this.
These can be found on our blog:
https://www.agilestreams.io/en/opentype-svg-pdf-first-solutions/

As we were really targeting the OpenType SVG (aka colored fonts) based on our extensive testing, we restricted the outline of the fonts to colored fonts only (as this new check has also been added to pdfToolbox with 10.2), not all Type 3.

Christian Blaise
CEO, agileStreams

Dietrich von Seggern

Thanks, Christian, for the additional remark. That may indeed make sense in many cases.
Dietrich

Send Your Comment

E-Mail me when someone replies to this comment