How to embed all fonts in a pdf document with pdflatex, according to IEEE publication standards

These guidelines are valid both under windows and under linux operative systems. They are based on Daniel Lemire's useful suggestions posted on his blog.

  • Locate the configuration file updmap.cfg, usually located in the directory X:\texmf\web2c, and edit it in order to change to true the option pdftexDownloadBase14, as shown below
#
# pdftexDownloadBase14
#
# Should pdftex download the base 14 pdf fonts? Since some configurations
# (ps / pdf tools / printers) use bad default fonts, it is safer to download
# the fonts. The pdf files will get bigger, though.
# Valid settings are true (download the fonts) or false (don't download
# the fonts).
#pdftexDownloadBase14 false
pdftexDownloadBase14 true
  • As a next step, locate also the pdftex.cfg file and edit it, usually located at X:\texmf\pdftex\config. Then add or modify the following lines in order to be compliant with IEEE requirements of embedding all fonts
%%%added to be compliant with IEEE standards
map pdftex_dl14.map
map pdftex.map
  • Then locate the file updmap.exe and run it as as administrator. In a typical miktex installation you will find the file in the directory X:\texmf\miktex\bin.
  • Then you can run pdflatex over your document and produce the final pdf document.
  • In order to check if the pdf file is correctly including , you can run over it the pdffonts utility included in the Xpdf package. It can be freely downloaded from the web-site http://www.foolabs.com/xpdf/ . The Win32 version is available here.
  • If everything is ok, it should produce an output similar to the one shown in the shell-dos below, with yes in all "emb" and "sub" columns.

  • You are now ready to upload your file.

Useful information for embedding Helvetica fonts in Matlab figures when converting to pdf

First method

Create eps from MATLAB using "export" . As you can see from the file Fontmap.GS located in C:\gs\gs8.14\lib, normally aliases are used in gsview for the visualization of helvetica fonts.

/Helvetica /NimbusSanL-Regu ;
/Helvetica-Oblique /NimbusSanL-ReguItal ;
/Helvetica-Bold /NimbusSanL-Bold ;
/Helvetica-BoldOblique /NimbusSanL-BoldItal ;

This however may create problems in the conversion to pdf format, since the aliases are not recognized by the adobe pdf settings.
A simple trick, if you do not intend to install or compile helvetica fonts, is simply to substitute the alias definition with a definition of new fonts (see modification from Fontmap.GS.original to Fontmap.GS.modified). Simply remove the above alias definition in the Fontmap.GS file and replace them by a definition of new fonts:

/Helvetica (n019003l.pfb) ;
/Helvetica-Oblique (n019023l.pfb) ;
/Helvetica-Bold (n019004l.pfb) ;
/Helvetica-BoldOblique (n019024l.pfb) ;

Then load the file eps through gsview, and convert to pdf by the menu convert to pdf.
By running the pdffonts macro on the new generated file, you will notice that the configuration of the file is now updated to embed the new fonts:

name type emb sub uni object ID
------------------------------------ ------------ --- --- --- ---------
WIVYXP+NimbusSanL-Bold Type 1C yes yes no 10 0
YACAKO+NimbusSanL-Regu Type 1C yes yes no 8 0

It is also possibile to update the settings at the level of pdf distiller settings, but in such a case you should compile your set of fonts.
In particular you can add the directory C:\gs\fonts in the settings\font locations menu.
Then open the menu settings\edit adobe pdf settings, select the tab fonts and the font source C:\gs\fonts
If you have installed the helvetica fonts in the ghostscript configuration, then you should be able to add the fonts in the always embed option. If you don't have installed the fonts, this will be not sufficient to embed fonts with the distiller. In fact, you will get again the message of missing fonts, by running the pdffonts utility:

name type emb sub uni object ID
------------------------------------ ------------ --- --- --- ---------
Helvetica Type 1 no no no 11 0
Helvetica-Bold Type 1 no no no 17 0

The same applies to the font used by matlab for including symbols: usually /Symbol is substituted with /StandardSymL ;

Second method

Follow the following steps [Windows XP, Miktex]:

1) Create eps from MATLAB using "export"

2) edit eps file in the following ways: * add <</AlwaysEmbed [/Helvetica]>> setdistillerparams immediately after the header comments. * find/replace Helvetica > QuasiSwissCondensedTTF-Regular

3) Open Adobe Acrobat Distiller 6.0

4) Add fonts directory C:\MiKTeX\main\fonts\truetype\public\qfonts

5) Convert to pdf

Obviously, the find/replace step (and the associated adding of a fonts directory) are needed when 'Helvetica' is not available on the system.

Some useful latex packages

 

Preview of text/formulas in latex

Download from the Emanuele Ruffaldi web-site this useful utility, TEXpre, for interactively checking the syntax of latex instructions to build complex formulas. Follow the link from here.

 

For creating you own slides from latex document

06/23/2002 12:53p 378,829 pdfslide.zip

06/23/2002 04:06a 1,635,666 texpower.zip

Some tricks for designing pictures

06/24/2002 10:57a 184,291 pdftricks.zip

06/24/2002 06:57p 715,441 pstricks.tar.gz

06/24/2002 06:59p 8,467 colortab.zip

06/23/2002 12:53p 22,917 fancybox.zip

06/23/2002 12:54p 296,992 fancyhdr.zip

06/23/2002 12:53p 38,652 fancyref.zip

06/24/2002 06:58p 117,600 graphics.tar.gz

06/23/2002 12:51p 760,127pdfscreen.zip

06/24/2002 06:57p 5,049 shading.tar.gz

Other packages for creating slides

06/23/2002 04:13a 156,561 seminar.zip

06/23/2002 04:06a 585,353 ifmslide.zip

Some help documentation manuals

06/23/2002 11:06p 61,279 grfguide.pdf

07/02/2000 11:44p 207,419 pdfslide.pdf

07/03/2000 01:20p 233,826 pdfslidemo.pdf

07/03/2000 01:19p 196,913 texpowerman.pdf

Some links for downloading latex packages

The CTan archive

http://mechatro2.me.berkeley.edu/resources/latex_resources/latex/misc/