Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I am preparing a paper for submission to ACM proceedings and Digital Library. However, I keep getting the "Your pdf and .ps files both use type 3 fonts, you need use type 1 fonts" error from the publishing house.

I have generated plots in PS and PDF formats and both utilize type 3 fonts. I would love to avoid any solution that would require me to reproduce the plots (using matplotlib and python) as much as possible (The computation time to recalculate would mean that I miss the deadline).

I tried the command:

dvips -P pdf -t letter -o <file>.ps <file>.dvi

as well as


and still get type 3 fonts in my PS files and PDFS

pdffonts <file>.pdf 
name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
LBEWKO+NimbusSanL-Regu               Type 1C           yes yes no      10  0
PUBBEM+NimbusSanL-Bold               Type 1C           yes yes no       8  0
YFYECG+CMSY10                        Type 1C           yes yes yes     18  0
AHPFBS+NimbusRomNo9L-ReguItal        Type 1C           yes yes no      16  0
AXUBMJ+NimbusRomNo9L-Regu            Type 1C           yes yes no      14  0
YSSGKF+NimbusRomNo9L-Medi            Type 1C           yes yes no      12  0
[none]                               Type 3            yes no  no      67  0
JCUPWZ+CMR10                         Type 1C           yes yes no      69  0
[none]                               Type 3            yes no  no      35  0
[none]                               Type 3            yes no  no      51  0
[none]                               Type 3            yes no  no      71  0
[none]                               Type 3            yes no  no      65  0
[none]                               Type 3            yes no  no      93  0
[none]                               Type 3            yes no  no      66  0
[none]                               Type 3            yes no  no      59  0
[none]                               Type 3            yes no  no      68  0
[none]                               Type 3            yes no  no      63  0
ITCMPN+Helvetica-Bold                Type 1C           yes yes no     117  0
WZLTXN+Helvetica                     TrueType          yes yes yes    121  0
FKSFIN+CMMI10                        Type 1C           yes yes no     125  0
JVZHNQ+Helvetica-Bold                TrueType          yes yes yes    123  0
MTASZJ+Helvetica                     Type 1C           yes yes no     115  0
KXKKTR+Symbol                        Type 1C           yes yes no     119  0
GQCMLS+StandardSymL                  Type 1C           yes yes no     132  0
EDAHZQ+Helvetica                     TrueType          yes yes no     138  0
JWFHTI+Helvetica-BoldOblique         TrueType          yes yes yes    142  0
XUKNTB+HelveticaNeue                 TrueType          yes yes yes    134  0
KRAGHG+Helvetica-Bold                TrueType          yes yes yes    144  0
MAUGEX+Helvetica_00                  TrueType          yes yes no     140  0
[none]                               Type 3            yes no  no     152  0
[none]                               Type 3            yes no  no     160  0
[none]                               Type 3            yes no  no     174  0
[none]                               Type 3            yes no  no     154  0
[none]                               Type 3            yes no  no     168  0
[none]                               Type 3            yes no  no     176  0
[none]                               Type 3            yes no  no     162  0
[none]                               Type 3            yes no  no     167  0
[none]                               Type 3            yes no  no     175  0
[none]                               Type 3            yes no  no     169  0
SITHQP+NimbusMonL-Regu               Type 1C           yes yes no     190  0

I wonder how can I rectify the font type issue. Is there a way to change the font of a PDF or PS plot after-the-fact to produce a compliant PDF and PS version of my paper without any type 3 fonts?

PS: I'd appreciate detailed explanation, as I am new and just getting started with these tools. And I don't mind less than ideal workarounds.

UPDATE : 1. The problematic figures can be downloaded from this dropbox link

share|improve this question
Can you make one of the problematic postscript figures available for download from somewhere? –  Ian Thompson Jun 2 '14 at 20:34
Welcome to TeX.SX, by the way. –  Ian Thompson Jun 2 '14 at 20:34
I updated my question :) and thanks Ian –  amaatouq Jun 2 '14 at 20:41
do you not still have the data points from matlab, not recalculate them just have them as a table (they could be extracted from the .ps but it would be esaier if you still have them, then you could re-plot them using real fonts instead of the constructed type3 fonts, using matlab or tikz or whatever –  David Carlisle Jun 2 '14 at 21:53
Very remote/unlikely possibility, just an idea: convert ps to svg (cloudconvert.org/ps-to-svg), read into inkscape, save as pdf_tex so TeX provides fonts for text. –  Ethan Bolker Aug 26 '14 at 0:29

2 Answers 2

up vote 2 down vote accepted

If pkfix and pkfix-helper are not able to help, the easiest way is to use a tool that can take the document with text in embedded fonts and convert them to curves/outlines. That way there is no embedded fonts of any kind that can be of trouble. It also saves the effort of trying to find suitable replacement fonts etc.

Since your .ps files contain DocumentMedia DSC comments let's use them to save some work.

$ grep DocumentMedia class_1_best_describer_mention.ps
%%DocumentMedia: 555x608 555 608 0 () ()

Open the .ps file in almost any major vector-based drawing program. For example in CorelDraw either select Import text as curves when opening .ps file or select Export text as curves when exporting as .eps. In others it may be called Create Outlines or something similar.

Edit the exported .eps file and add the line above starting %%DocumentMedia: somewhere near the line starting %%BoundingBox:.

If you want, you can change the .eps ending to .ps.

To create the .pdf file. From the DocumentMedia line above take the dimensions and put them to command below into the corresponding DEVICE*POINTS options.

$ ps2pdf -dDEVICEWIDTHPOINTS=555 -dDEVICEHEIGHTPOINTS=608 class_1_best_describer_mention-2.ps class_1_best_describer_mention-2.pdf

Now you have files that will pass.

However, the best way is to follow the directions in Avoiding Type 3 fonts in matplotlib plots.

I have converted the example files you provided and have them available if there is still need for them.

share|improve this answer

If you are using dvips and the CM (Computer Modern) fonts are appropriate for your document try this:

$ dvips -P cmz -t letter -f <file>.dvi -o <file>.ps

The -P option specifies a printer and -P cmz specifies T1 Computer Modern printer font.

A more detailed explanation can be found on the TeX FAQ.

share|improve this answer
Are the type3 fonts Computer Modern? If not, this is likely to make a mess due to different font metrics. –  cfr Aug 26 '14 at 0:30
You may well be right, however, I've compiled ACM papers like this before, and it resolved the problem the OP mentioned. –  snim2 Aug 26 '14 at 0:32
I was more thinking it might be worth making that clear in your answer i.e. that it might work but that it would depend on how similar the fonts replaced are to CM. –  cfr Aug 26 '14 at 1:36
Looking at the samples provided, one of the fonts is BitstreamVeraSans-Roman and the other two are Cmmi10 and Cmr10. –  karu Aug 26 '14 at 11:29

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.