Installing type1 and true type fonts in tetex-latex
This document is not intended to explain how things work. For that,
you should read the fontinst documentation with your tetex system.
See /usr/share/texmf/doc/fontinst/base
( replace /usr/share/texmf with the root directory of your tetex
installation ).
If you don't have the tex docs on your system, you can
download from CTAN.
This document explains all about what the .vpl, .pl, .vf and .tfm files
are, the finer points of the font naming convention and all the details
ommitted from here.
The purpose of this document is to summarise
as cleanly as possible what one has to do to get their true type and
type 1 fonts available under tetex/latex.
ttf2pt1
utility on each of your true type
fonts.
If you are using the fonts for tex, you need to rename them.
For example, if I am renaming the arial fonts for tex,
I rename as follows:
arial farr8a
arialbd farb8a
ariali farri8a
arialbi farbi8a
Arialn farr8an
The first letter, f
is the foundry. ( You can use
f
for all the fonts you add yourself. ) The second
two are an abbreviation for the font name ( ar ). This is followed
by the font weight ( r or b in this case ), then optionally a
variant. In the case of true type fonts, the only
variant you will encounter is i
for italic.
This is followed by the encoding scheme ( 8a ) and optionally
an n
to specify the font width.
So to generate the appropriate Type1 fonts from the arial fonts, you would issue the following commands:
ttf2pfa arial.ttf farr8a
ttf2pfa arialbd.ttf farb8a
ttf2pfa ariali.ttf farri8a
ttf2pfa arialbi.ttf farbi8a
ttf2pfa Arialn.ttf farr8an
This should spit out a lot of .pfa and .afm files. The .pfa files are the fonts, the .afm files are the font metrics.
latex `kpsewhich fontinst.sty`
Then you need to tell fontinst to build a font by the name of your
font family ( the first three letters of the font ) in the following
manner:
\latinfamily{far}{}\bye
To do this, you simply run the following commands:
for X in *.pl; do pltotf $X; done
for X in *.vpl; do vptovf $X; done
This should generate one .tfm
file for ever .pl
file and one .vf
file for every .vpl
file.
The vpl, pl
, and mtx
files generated by fontinst can be deleted now.
rm *.vpl *.pl *.mtx
You need to edit your psfonts.map file to tell dvips about the new
font. To find this file, issue the command
kpsewhich psfonts.map
Add lines to it that look something like this:
farr8r ArialMT <8r.enc <farr8a.pfa
farbi8r Arial_BoldItalicMT <8r.enc <farbi8a.pfa
farb8r Arial_BoldMT <8r.enc <farb8a.pfa
farri8r Arial_ItalicMT <8r.enc <farri8a.pfa
farr8rn Arial_Narrow <8r.enc <farr8an.pfa
pfa
file
( ie each type1 font in your font family ).
The first row is same as the full name of the font, but with 8a
replaced by 8r
. The second column is the name of the
font. It is essential to get this right !!! To find out the
name of the font, look in the corresponding .afm
file.
\documentclass{article}
\begin{document}
\usefont{T1}{far}{m}{n}\selectfont
\huge
Testing a new font \dots the quick red fox jumped over the lazy brown dogs
\end{document}
There are a number of possibilities that you can try in the
usefont command depending on what variants are available. {m}{n}
is a plain vanilla font weight/shape. To see what other shapes/weights
are available, look in the .fd
file.
In my experience, a lot of the ``backyard'' public domain Type1 fonts don't work. Don't waste your time with things that don't work. I recommend that you start out with true type fonts from relatively respectable sources ( Adobe, Bitstream, Monotype and Microsoft ). These shouldn't give you any trouble. For example, the Arial font worked like charm for me. Start with something that has a good chance of working, this is difficult enough to do right without you having to worry about whether the font will work or not.
The tex root directory may vary ( replace /usr/share/texmf with your tex root directory ). You should make appropriate subdirectories under these directories, and place the files in them.
Update A reader brought it to my attention that you need to run texconfig after placing the files in the system directories. This is necessary so that the application can find your new font files. Thanks to Mauricio Klein for feedback on this matter.
You may also wish to make some of your own .sty files to act as a more ``user friendly'' front end to font selection. Look at some of the existing *.sty files in your psnfss directory for inspiration