Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

So, I've got a PDF file that's generated by a program that uses the Base 14 fonts, so that it contains "Helvetica" and "Times Roman". When I look at that in my copy of Acrobat 7.0 on Windows (for example), it shows these with Arial and Times New Roman. I'm fine with that.

The issue is that I'd like to publish this PDF file on lulu.com, and they want all fonts embedded. Including the Base 14. I don't have a copy of Helvetica, so what seems the natural thing to do is substitute Arial for Helvetica and embed Arial. How can I do that?

I tried using the Print feature in Acrobat (note: this is the full version, not Reader) to print to a PDF file using Adobe's "Print to PDF" printer driver, and selected the "Embed All Fonts" option in the print settings. This worked for the fonts that I had actual copies of, but instead of "printing" Arial for Helvetica -- which it would do if printing to a real printer -- it leaves all the Helvetica as Helvetica and doesn't embed it.

Any suggestions for alternate ways to do this? What I really want is just a copy of my PDF file with ALL fonts embedded, and I'm quite happy if doing that means making one of the usual substitutions for the "Helvetica" that's in it. I'd be happiest if I can do that within Acrobat or other software that I have (pdftex, maybe?), but I'm willing to install another free utility if I need to.

share|improve this question

4 Answers 4

up vote 3 down vote accepted

In order to embed a font in a PDF document you must have that font available on your system and the font needs to allow embedding. Almost all fonts allow embedding, so that shouldn't be a problem.

A manual way to embed a font in Acrobat (I'm using Acrobat 8 Professional, so hopefully it is available in 7 - I don't have access to 7 anymore) is to use the "TouchUp Text Tool"

Tools > Advanced Editing > TouchUp Text Tool
  1. With the tool selected, click on some text that uses the font you want to embed to select it.
  2. Right click and choose Properties...
  3. Choose the Text tab
  4. Look for the Permissions Field - It will tell you if the font can be embedded
  5. Directly to the Right of that information is a checkbox for "Embed"
  6. Check Embed
  7. Hit Close
  8. Save the Document
  9. That font should now be embedded - check the Fonts setting to make sure

    File > Properties... > Fonts
    

You'll have to repeat this process for each font you want to embed.

share|improve this answer
    
Thanks for the detailed explanation! It didn't quite address my real issue -- which is that the font for this text is listed as "Helvetica Bold" (which I don't have), and I'd like to substitute it for "Arial Bold" (which it's already doing to display the text!) and embed that. It turns out, though, that if I use the font pull-down in that dialog box, I can tell it to substitute Arial Bold for Helvetica Bold, and it will do that throughout the whole document -- and then I can embed it, and things are good. –  Brooks Moses Sep 11 '09 at 0:22
    
Actually, no, that doesn't quite work -- when I do the substitution for "Times Roman" to "TimesNewRoman", it immediately loses my "fi" and "fl" ligatures. It was displaying them before! I suspect that's going to be a lot harder to solve, though.... –  Brooks Moses Sep 11 '09 at 0:35
    
So I guess my real question is: How can I get it to do the same font-substitution in the document that it's doing to display it? With the ligatures and all? –  Brooks Moses Sep 11 '09 at 0:40
    
So, you're able to embed Arial Bold for Helvetica Bold and it works fine. The only remaining issue is retaining the ligatures when embedding TimesNewRoman for Times Roman? –  jmohr Sep 11 '09 at 3:33
    
Yes, that seems to be the only remaining problem. After thinking about this a bit, I realized that it's really a text-changing problem rather than a font-embedding one, so I don't entirely expect a good answer, but I wouldn't mind having one. (I do have the rest of Adobe CS2, so if InDesign would help, I can use that.) Thanks again! –  Brooks Moses Sep 12 '09 at 17:10

You can use Ghostscript (even on Windows) to create PDFs that have all Fonts (even TrueType fonts) embedded.

If you are lucky, you might be able to create a PostScript file (which will serve as the input for the PDF-creation process run by Ghostscript) that has the fonts embedded, by following these steps:

  • Install the latest Ghostscript for Windows (v8.71) on your PC.
  • Install Adobe PostScript driver on your Windows box.
  • Choose all default settings (esp. page size and orientation) you want to use for your PDF.
  • Set up font embedding (on 'Advanced' tab in driver properties) like this:
    • TrueType-Font: 'download as softfont to printer'
    • TrueType download option: 'TrueType' (not 'Outline' or 'Bitmap' or 'Auto')
  • Enable 'Print to File' checkbox.

(Above UI strings have been translated by me back to English -- so the exact wordings you see on your PC may be different.)

When you print, you'll be prompted for a filename+path, with a default extension of *.prn. Save the file as "somename.ps" (it will be PostScript).

Now run a Ghostscript commandline in a cmd/DOS window to create the PDF:

gswin32c ^
 -dNOPAUSE ^
 -dBATCH ^
 -sDEVICE=pdfwrite ^
 -dPDFSETTINGS=/prepress ^
 -dCompatibilityLevel=1.4 ^
 -dHaveTrueTypes=true ^
 -dSubsetFonts=true ^
 -sOutputFile="c:\path\to\somename.pdf" ^
 -c ".setpdfwrite <</NeverEmbed [ ]>> setdistillerparams" ^
 "c:\path\to\somename.ps"

Ghostscript will use it's own (very good) clone fonts (donated by the URW Foundry under a FOSS license) in place of the original Adobe 'base 14' ones. Specifically, it will use:

  • instead of "Times": "Nimbus Roman No9 L"
  • instead of "Helvetica": "Nimbus Sans L"
  • instead of "Courier": "Nimbus Mono L"
  • instead of "Symbol": "Standard Symbols L"
  • instead of "ZapfDingbats": "Dingbats"
share|improve this answer
    
Thanks! I'll give that a try. –  Brooks Moses Nov 2 '10 at 1:36

URW++ has released GPL versions of all the standard Postscript fonts. Unfortunately they're hard to find on their own, the easiest way to get them is from a Ghostscript installation.

Once you've installed those fonts, you'll have Helvetica, although it might be under a different name.

share|improve this answer

PagePlus (http://www.freeserifsoftware.com/software/pageplus/) is able to open and edit PDF files, so you'd probably have more luck with that.

InDesign only imports PDF files as though they were graphics, and you can open and edit individual pages from a PDF in Illustrator, but that would be a real pain for more than a few pages.

share|improve this answer

Your Answer

 
discard

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.