enter image description hereI am writing a book using times font. It has MATLAB codes. I have used the listing package for generating matlab code in latex. For the remaining text I am using times package. But while trying to publish the book I am getting the error helvetica package not embedded. I do not want to use helvetica font as the publisher has a problem with that font. Can someone explain what is font embedding and how can I remove the Helvetica font.

  • 3
    Welcome! Can you explain a bit more or show us the error ? So you compile your file with no problem and in the procedure of publishing you see this error on somewhere else compiler ?? – Majid Abdolshah Sep 13 '16 at 11:44

The problem may not be the Matlab code listings, but the figures from Matlab (and exported in EPS format) that you may be included in your document. When Matlab generate the EPS file, it does not embed the font used for the text labels of the graph (title, ticks, legend,...) In theory, you can instruct to Latexpdf, or latex+dvips+ps2pdf, to embed all fonts, but my experience is that the fonts used in included graphs usually are not embedded.

The best option is embedding the fonts in each figure, as is pointed here:

ps2pdf13 -dPDFSETTINGS=/prepress fig_non_embedded.pdf fig_embedded.pdf

If the document cannot be generated again, this response can help to fix the entire document:

  • I used the ps2pdf13 command given above but it gives error: Error reading a content stream. The page may be incomplete. File did not complete the page properly and may be damaged. How can I resolve it – shaifali Gupta Mar 7 '20 at 17:05

I had this problem on a Mac with a PDF I was submitting to IEEE. Using Adobe Reader and Preview, I was able to get around this. I think any pdf printer might work in place of Preview if you are on a PC.

Here are the steps I took. You can individually fix each figure, or fix the whole document.

  1. Open at pdf file using Adobe Reader.

  2. Right click on image, and click “Document Properties.”

  3. Click “Fonts.” Check to see if the font isn’t embedded. Should say “Courier” or other font name.

  4. If your pdf isn’t a standard page size, click on “Description” and look at the page size. Write this down. Ex. 19.4 x 5.22 in.

  5. Open the pdf up in Preview. Go to File->Print. If using a pdf that isn’t a standard page size, click on Paper Size and choose custom. You will need to create a custom page size that is equal to the one you wrote down in step 4. Don’t forget to zero the margins to 0 for all sides. After doing that, you’ll need to set the scale of the print in the print dialog to 100%.

  6. In the lower left of the print dialog (in Preview on a Mac), click “PDF” to print the PDF to a new PDF. Select the destination and print.

  7. Open the new pdf up in Adobe Reader and verify that the fonts are now embedded.

I hope this helps.


One trick proved to be useful.

You can open your eps files generated from Matlab with a notebook, and replace all Helvetica into Arial. Then compile again to generate a pdf.

It works now!

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.