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

  • 2
    Can you make one of the problematic postscript figures available for download from somewhere? Jun 2, 2014 at 20:34
  • Welcome to TeX.SX, by the way. Jun 2, 2014 at 20:34
  • 2
    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 Jun 2, 2014 at 21:53
  • 1
    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. Aug 26, 2014 at 0:29

2 Answers 2


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.


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.

  • 1
    Are the type3 fonts Computer Modern? If not, this is likely to make a mess due to different font metrics.
    – cfr
    Aug 26, 2014 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, 2014 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, 2014 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, 2014 at 11:29
  • Yes, but it would be good if your answer addressed the issue in a way which was not so specific to this particular document. Adding the warning/explanation would serve that purpose.
    – cfr
    Dec 21, 2016 at 0:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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