***** Mike Shell's Step-By-Step Guide to Manually ***** ***** Installing (Type 1 PostScript) Fonts Under ***** ***** LaTeX Using Adobe's Euro Font as an ***** ***** Illustrative Example ***** Version 1.3 February 18, 2003 Copyright 2003, by Michael Shell mshell@ece.gatech.edu See: http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/ for the latest version and current contact information. NOTE: This text file uses UNIX line feed conventions. When (human) reading this file on other platforms, you may have to use a text editor that can handle lines terminated by the UNIX line feed character (0x0A). *** Free to use and distribute if all credits are retained and the *** *** document is unchanged. *** *** No warranty expressed or implied. User assumes all risk. *** Note: This guide is intended to be "hands on" and covers only a specific, practical example. There are other, more formal and comprehensive guides to installing fonts under LaTeX that are also worthy of consideration: 1. "The Simple Guide to Type 1 Fonts in LaTeX" by Matthew Amster-Burton http://www.mamster.net/tex/latex-fontfaq-amster-burton.pdf 2. "Installing PostScript Fonts" by Peter Flynn http://www.silmaril.ie/downloads/documents/installpsfonts.pdf 3. "The No BS Guide to teTeX Font Installation" by Donovan Rebbechi http://www.pegasus.rutgers.edu/~elflord/unix/latex/no-bs.html 4. "fontinst - Font Installation Software for LaTeX" by Alan Jeffrey and Rowland McDonnell http://ctan.tug.org/tex-archive/fonts/utilities/fontinst/doc/ Installing a euro font in LaTeX, although not always trivial, is a straight forward task. Furthermore, it is an instructive exercise for learning how to manually install fonts in LaTeX. Many other fonts are easier to install as they do not require renaming, and/or have parts that have to be obtained from multiple sources. So, if you can get a euro font going, you can probably handle most other fonts you might want to install. Admittedly, there are also those that are more difficult to install, especially if the TeX metric and/or dvips map files have not already been created for them. The installation of such fonts is not completely covered by the information provided here. The five basic steps for manually installing a (type 1) font under LaTeX are: 1. Install the actual PostScript font files; 2. Install the tfm metric files; 3. Install the .sty and .fd files to provide a user interface; 4. Update the dvips/pdftex/yap/xdvi configuration files; 5. Update the LaTeX directory lookup (hash) tables (teTeX and MiKTeX users). The euro font has a number of issues that make it a tad more difficult to install than most LaTeX fonts. The euro standards commission: http://www.europa.eu.int/euro/html/entry.html originally mandated that the official standard euro symbol should always be rendered in the sans style even if the surrounding text uses a different style. This requirement violated traditional typesetting conventions and was later overturned. However, this policy did cause a rift as to what was considered the "proper" thing to do. Also, several different vendors/individuals have made their own versions of the euro symbol using their interpretations of what it meant to have a serf euro. Furthermore, LaTeX is independent of the type of fonts used - it can use bitmap (Type 3), PostScript (Type 1 and 1C) and even fonts of the future that haven't even been thought of yet - LaTeX could care less what is used to describe the glyph shapes, it only needs to know the height, depth, and width of each glyph. All of this results in the fact that there are several types of euro fonts (and LaTeX packages) to choose from. So, I have to make a judgement call as to what to recommend to use here. I assume that you want a Type 1 Postscript font as opposed to anything bitmapped - this will help ensure the best quality rendering possible for a given printer resolution. I will also assume here that the LaTeX system you have does not already have any support for Type 1 euro glyphs - this is often the case. Adobe gives out a FREE set of PostScript Type 1 euro fonts. See: http://www.adobe.com/type/eurofont.html Adobe does not allow its fonts to be bundled with other software products. This is why the fonts cannot be already pre-loaded in the LaTeX distributions and LaTeX users must manually obtain and install them. [Note: Also worthy of consideration is Martin Vogel's marvosym package: http://www.ctan.org/tex-archive/fonts/psfonts/marvosym/ which includes several euro symbols as well as other symbols such as astronomy, structural engineering, zodiac, and the "CE" symbol. The marvosym package is licensed under the GPL.] This guide will focus on the use of the Adobe euro fonts. Now, you do not have to register, but can get the needed Adobe euro font files directly from: Windows and UNIX: ftp://ftp.adobe.com/pub/adobe/type/win/all/ eurofont.exe eurofont.txt Mac: ftp://ftp.adobe.com/pub/adobe/type/mac/all/ eurofont.sea.hqx eurofont.txt Note that the file eurofont.exe is actually a zip file that is self extracting when run under Windows. UNIX users can do a: unzip eurofont.exe to unpack it. STEP #1 - INSTALL THE ACTUAL POSTSCRIPT FONT FILES Now, the eurofont.txt will tell you that you need ATM - ignore this since you are using LaTeX and will have to do a manual install of the font files. You can install them into Windows using Adobe ATM, but even if you do, you will still have to follow the instructions here. The Adobe font files will have strange looking names. You are primarily interested in the ones that end in PFB ("Printer Font Binary" - but "PostScript Font Binary" might be a better name). These contain the PostScript code which describes what the glyphs look like. It is these files (or portions of them) that get embedded into your PostScript or PDF output files. The AFM (Adobe Font Metric) files describe the size of the boxes each glyph takes up. The PFM files do the same thing, but are used only by Windows system. LaTeX does not use AFM or PFM files, but rather uses TFM (TeX Font Metric) files. There is a program (afm2tfm) that can convert AFM to TFM, but you don't need this as the TeX/LaTeX developers have done this for you already. Some font conversion programs (e.g., ps2pk) may require access to the AFM or PFM files. The INF files describe the fonts to Windows - so you don't need them (but, if curious, you can find the formal font names listed within them). Now, rename the PFB files from the archive as follows: _1______.PFB -> zpeurs.pfb _1B_____.PFB -> zpeubs.pfb _1I_____.PFB -> zpeuris.pfb _1BI____.PFB -> zpeubis.pfb _2______.PFB -> zpeurt.pfb _2B_____.PFB -> zpeubt.pfb _2I_____.PFB -> zpeurit.pfb _2BI____.PFB -> zpeubit.pfb _3______.PFB -> zpeur.pfb _3B_____.PFB -> zpeub.pfb _3I_____.PFB -> zpeuri.pfb _3BI____.PFB -> zpeubi.pfb The new names are, more or less, based on Karl Berry's scheme for TeX font names. For more information on this topic, see Karl Berry's "Filenames for TeX Fonts": http://www.ctan.org/tex-archive/info/fontname/ Now, find your texmf directory where your LaTeX system is installed. I'll call this directory "". Go to /fonts/type1/adobe and make a directory called "eurofont". Copy all the renamed .pfb files into /fonts/type1/adobe/eurofont [Note (for fonts other the one in this example): Sometimes PostScript font files come in ASCII, not binary. Such ".pfa" files would go in the same directory as their pfb equivalents. Any virtual font files ".vf" would go in /fonts/vf/ directory tree.] You may also want to do the same with the AFM and PFM files so that certain font conversion programs can access these as well. Put the renamed AFM and PFM files in /fonts/afm/adobe/eurofont and /fonts/pfm/adobe/eurofont, respectively. UNIX users will have to have super user privileges to make system changes like this. Now, LaTeX's configuration will have to be updated so that it knows about the new Adobe euro fonts. Of the several LaTeX packages that do this, I think that two are the best. The most complete, and complex, is Rowland McDonnell's eurofont package: http://www.ctan.org/tex-archive/help/Catalogue/entries/eurofont.html This is an EXTREMELY comprehensive (and high quality) work. The user's guide alone is over 60 pages! But, I'll show here how to install the leaner, LaTeX euro package (this actually consists of two smaller LaTeX packages "europs" and "eurosans"), which you can get in .tar.gz (UNIX) or .zip (Windows) formats: euro.tar.gz or euro.zip http://www.ctan.org/getfile/?filename=fonts/euro/&preferredCTAN=tug.ctan.org&action=/tex-archive/fonts/euro/ [The unarchived euro package home page is at: http://www.ctan.org/tex-archive/fonts/euro/ ] Download and unpack this euro package archive. The readme.txt tells what to do. But, I'll repeat the steps here in my own words. I recommend that you do things manually rather than try to use any automated install scripts. Some these files may already be installed in some LaTeX systems, you don't have to reinstall them if that is the case. STEP #2 - INSTALL THE TFM METRIC FILES The tfm subdirectory (of the unpacked euro.tar.gz or euro.zip archive) contains the tfm files for the Adobe fonts you just installed. These tfm files need to be copied to: /fonts/tfm/adobe/eurofont make this /eurofont directory as needed. STEP #3 - INSTALL THE .sty and .fd FILES TO PROVIDE A USER INTERFACE OK, now at this point the LaTeX system has access to the PostScript descriptions of the glyphs and their size metrics. Now, you need to provide LaTeX with set of names that the euro glyphs will be called by. In the latex subdirectory of the archive there will be two packages: europs and eurosans. eurosans restricts it's use to the sans euro because many knowledgeable in the typographic field feel that the sans euro better matches with most fonts, including many popular serif ones such as Times. eurosans also allows the user to specify an arbitrary scaling factor so that the size of the euro can be adjusted (if needed) to more closely match that of the surrounding text. The europs package allows you to decide if you want a serif euro. It is easy enough to install them both. Now, in your /tex/latex directory, make a directory called "euro" i.e., /tex/latex/euro. Copy the eurosans.sty file into /tex/latex/euro. Now, in the europs package will have a europs.dtx and a europs.ins file. Run latex on the europs.ins (e.g., latex europs.ins) to make the europs.sty and the uzpeu.fd, uzpeus.fd, uzpeut.fd files. Copy these four files into your /tex/latex/euro directory just like you did with eurosans.sty. STEP #4 - UPDATE THE DVIPS/PDFTEX/YAP/XDVI CONFIGURATION FILES OK, now LaTeX understands how to use these new fonts and users have LaTeX commands that refer to them. The next step is to also inform dvips, pdfTeX, Yap, and/or xdvi, etc., so that you can make and view documents with the euro symbol. The file you need is "zpeu.map" which is found in the dvips subdirectory of the archive. Copy zpeu.map to your /dvips/config directory. Now, in your /dvips/config directory, edit your config.ps file (with a simple text editor) and add the following line (somewhere after the "p psfonts.map" line - there will be a bunch of other "p +" lines in this area): p +zpeu.map Save the changes to config.ps. For pdfTeX (and pdfLaTeX), the line: map +zpeu.map should be added to the pdftex.cfg file in the /pdftex/config directory (there is no need to make another copy of the zpeu.map file as pdfTeX will know to look for it in dvips' config directory). MiKTeX users will also want to add to the line: p +zpeu.map to the \miktex\config\config.makepk file so that Yap can find the font if it does not already look at dvips' config.ps file. MiKTeX users may also want to add the lines contained in the zpeu.map to \miktex\dvips\ps2pk\ps2pk.map for other applications that may need it. MetaPost users may want to add the lines contained in the zpeu.map file to the /dvips/config/psfonts.map file as that is what MetaPost relies on. Older versions of xdvi that rely on gsftopk (to convert Type 1 fonts to bitmap form) may also require the psfonts.map file to be updated. Newer versions of (the Kpathsea enabled version "xdvi-k") xdvi are able to render Type 1 fonts directly from the .pfb files. See Stefan Ulrich's xdvi-k site on Sourceforge for details: http://xdvi.sourceforge.net/ Additional information on upgrading xdvi can also be found in the testflow documentation: http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/ Thanks to Dan Luecking for posting much information about map file configuration. STEP #5 - UPDATE THE LATEX DIRECTORY LOOKUP (HASH) TABLES (teTeX and MikTeX users) OK, now all the files are in place. Some TeX systems (most commonly teTeX UNIX and MikTeX Windows) need to be told to rescan their directories in order to add the names of all the newly added files to the lookup cache. In teTeX (and fpTeX), the command to run is "texhash" or "texlsr". In MiKTeX it is "initexmf -u" to refresh the filename database and then "initexmf --mkpsres --search" to rebuild the PostScript resource database. The MiKTeX Options application has a "Refresh Now" button which does the same thing. These are the same commands that you run after you add any package to LaTeX's directories. Run this application/command. OTHER NOTES Note that versions of dvips prior to V5.83 have a bug with partial font downloading that may cause a dvips error when using some types of fonts, like the euro packages. (The error messages can be like: "File ended before all chars have been found" or "xx Subr not found", etc.) If you encounter this, the workaround is to update dvips (see the testflow docs for info) or use the -j0 option: dvips -j0 -o myfile.ps myfile HOW TO USE THE EURO GLYPHS Now, you can use the euro packages. To use eurosans.sty, just: \usepackage{eurosans} and then \euro will produce the euro symbol that will be in sans. The other attributes (series, shape) will vary with that of the surrounding font. To use europs.sty, do a \usepackage{europs} then \EUR will produce a euro symbol that varies with the current font family (serif, sans, or mono). \EURofc will produce an "official" (old commission policy) euro symbol that is always in sans. There is also: \EURhv (Euro-Sans) \EURtm (Euro-Serif) \EURcr (Euro-Mono) That was easy right? Enjoy! ;) Mike Shell ***********************************