summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/IEEEtran/font_install_how.txt
blob: 1f4afb529d01590f7ea2ee33d5b515f0a54da697 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388



    *****  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 "<texmf>". Go to <texmf>/fonts/type1/adobe and make
a directory called "eurofont". Copy all the renamed .pfb files into
<texmf>/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 <texmf>/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 <texmf>/fonts/afm/adobe/eurofont and
<texmf>/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: 
<texmf>/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 <texmf>/tex/latex directory, make a directory called
"euro" i.e., <texmf>/tex/latex/euro.

Copy the eurosans.sty file into <texmf>/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 <texmf>/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 <texmf>/dvips/config directory. Now, in
your <texmf>/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 <texmf>/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 <texmf>\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
<texmf>\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 <texmf>/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 <xxx.pfb>
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

***********************************