How to embed fonts into an EPS file --and what is the exact definition of "embed"?

Harvey Motulsky  picture Harvey Motulsky · Mar 15, 2012 · Viewed 8.2k times · Source

My company has created GraphPad Prism, a widely used program for scientists to analyze data and make technical graphs. Often scientists will export graphs from GraphPad Prism for submission to scientific journals. The format most journals want these days is EPS, and we export vector-based EPS files. But fonts are an issue.

We offer an option to "embed" fonts into the EPS file. What we mean by this is that text is converted to outlines or glyphs. These EPS files can be opened on other computers that lack the original fonts. But the journal production people can't edit the text, change font size, etc. when they work on these EPS files.

My programmers tell me that the term "embedding fonts" means exactly what we do -- convert to outlines/glyphs.

The people at a company that does page production for many scientific journals use a different definition of "embed". They want text to remain as text in the EPS file, but for the font definitions to be included in the EPS file. That way they don't need the original fonts, but can tweak spelling, font size, and even change fonts while preparing an EPS image for publication.

My programmers tell me that that second definition of "embed" is an Adobe-specific method not available to us.

So my question is this: Where can we find specifications or example code to let us embed fonts into an EPS file using the second definition (leave text as text and also include the TrueType font definitions)?

Answer

KenS picture KenS · Mar 16, 2012

"My programmers tell me that the term "embedding fonts" means exactly what we do -- convert to outlines/glyphs."

Your programmers are, in my opinion, mistaken. In the print industry embedding fonts means embedding the font data as a font, not a series of vector linework. There are good reasons for maintaining fonts; file size, rendering performance, character hinting, drop-out correction etc.

"My programmers tell me that that second definition of "embed" is an Adobe-specific method not available to us. "

This is definitely not true and hasn't been since about 1990. The PostScript Language Reference Manual describes in some detail how to create fonts of many kinds, the 'black and white book' (I can't remember the name offhand) describes how to create quality type 1 fonts. The various tech notes from Adobe describe how to create fonts with type 2 (CFF) and CIDFonts with outlines of any of the preceding types.

You can also use 'type 42' fonts, which are essentially TrueType outlines. These are not quite the same as TrueType fonts, but they are very similar (the actual glyph descriptions are the same). It seems to me that this is what you want.

You can get an example of TrueType font inclusion by printing a document which uses TrueType fonts to a PostScript printer on FILE: under Windows, but you may find the code hard to follow.

Type 42 fonts are described on p346 of the 3rd edition PLRM, "Section 8.4.2 Type 42 fonts (TrueType)"

More detail is provided in Adobe Tech Note #5012 "The Type 42 Font Format Specification" This document (and many others) is available in PDF format from the Adobe web site.