Article View: comp.text.tex
Article #10421Font aliasing under DVIPS
From: John Galt
Date: Fri, 21 Jun 1991 19:43
Date: Fri, 21 Jun 1991 19:43
159 lines
8277 bytes
8277 bytes
Tony Cooper <tony%marcam.dsir.govt.nz@SHSU.BITNET> asked some questions.
As I am going through the exact thing he is, I thought I would attempt to
answer some of the questions. If anyone is clearer on all of this, then
I would like to be enlightened as well... :-)
>I am new to the TeX installation process and I have just installed
>TeX3.14 and dvips 5.47 on our SunOS 4.1 Sparc. No problems. Everything
>works fine.
Not according to what you say next... ;-)
>The problem is that we used to use old font names for Postscript fonts
>and I want those files to still work. Eg the new name for Helvetica is
>rphvr but we used to use ppshlv since that is what our Vax/VMS system
>uses. My question is simple: how do I set things up so that both rphvr
>and ppshlv are recognised as being Helvetica?
What DVI driver did you used to use and what is being used
on the VAX? Might have to drag them kicking and screaming
into the new scheme...
>The psfonts.map file has the line
>
>rphvr Helvetica
>
>in it and the tfm and vf files rphvr.tfm and phvr.vf exist. I tried
>adding the line
>
>rphvr ppshlv
In this context, DVIPS will try to look for a font called
ppshlv to be resident in the Postscript printer.
There are two ways of approaching this:
1) Change that line to:
ppshlv Helvetica
and then create a .tfm file by copying the rphvr.tfm
to ppshlv.tfm.
(OR)
2) Take that line out completely and create .tfm and .vf
files for ppshlv. This may be as simple as just copying
the phvr.vf and phvr.tfm files to ppshlv.vf and ppshlv.tfm.
If there is no phvr.tfm, you will have to create one by
using afm2tfm and vptovf on the .afm file. (Should be
something like "Helvetica.afm" or some such...) For exact
instructions, see later in this message, in the section about
small caps, but before doing either of the above, read on...
>and used dvips on an old (version 2.991) dvi file. The printout was
>lousy. The fonts were wrong, the spacing terrible, and the ligatures
>were missing. What did I do wrong?
If I understand the DVIPS documentation correctly, the
"rphvr" file is a "raw" tfm file which has a one to one
correspondence with the Postscript font. Since Postscript
fonts have a different positioning for the characters than
TeX does, the ligatures are normally unavailable. That is why
the "phvr" font is neccessary, as it is a remapped file which
points to the correct locations for the ligatures. Try
using the phvr font as a test. This is why you might prefer
to use method 2 above.
>So I TeX'ed a new (version 3.14) dvi file. TeX couldn't find
>ppshlv.tfm. I made a link to rphvr.tfm. Then TeX couldn't find
>ppstime.tfm. I gave up at that stage cos there was no equivalent new
>file. ppstime refers to Times-Extension - I don't have that in the new
>tfm or afm files. I have Times-Extended and/or Times-Expanded (I don't
>know the difference) but I'm not sure which is which.
Create ppshlv.tfm as above. Also sounds like ppstime.tfm is
another font that you will have to create in much the same
way; that is, by using some other font files and renaming them,
or by building the files with afm2tfm from the .afm files. To
be honest, this is where I start to scratch my head... I have
read page 13 of the DVIPS manual, and can only guess that
Times-Extended is an actual font and that Times-Expanded is
a horizontally stretched version of Times-Roman.
>Also I need a
>Small Caps font but don't know how to make a tfm file using the 5.47
>afm2tfm. I could make a Small Caps vf file but don't know how to get
>TeX to recognize it without a tfm file.
Decide which font you want to use for the small caps, and
come up with some name for it that you can use. Read section
6 in the DVIPS manual for naming conventions. For instance,
if you want to use Helvetica for a small caps font, use the
name "phvrc" (Postscript, HelVetica, Regular weight, small
Caps). After deciding on the font and name, use AFM2TFM on
the Adobe Font Metric (.afm) file to make the "virtual
property list" file. For instance, with a Helvetica.afm file:
afm2tfm Helvetica -V phvrc
Make sure it is a capital V, to create the small caps. If
you are creating a "normal" font, use a lower case "v".
( Sheesh do I hate UNIX sometimes! )
Then you need to convert the newly created phvrc.vpl file
into the virtual font (.vf) and TeX font metric (.tfm)
files. Use the VPtoVF program:
vptovf phvrc.vpl phvrc.vf phvrc.tfm
Now copy the phvrc.tfm file into the directory with the
other .tfm files, and copy the phvrc.vf file into the
directory with the other .vf files. Now you can use the
font phvrc and have small caps.
>Basically I'm confused over vf and tfm files, 3 names for the same
>font, Extended vs Extension vs Expanded, why does the psfonts.map file
>allow creation of afm Extended (Oblique etc) files but not afm Small
>Caps files and can I do the aliasing without creating both old name and
>new name .tfm files? And why didn't it work when I tried the old dvi
>file?
I was confused, too. Think of .vf files as corresponding to
.pk files, but you only need one, because Postscript fonts
can be scaled. These .vf and .pk files actually "contain"
the fonts. The .tfm files are just descriptions of what is
in the .vf and .pk files. The psfonts.map file is like a
.vf or .pk file in that it "contains" the fonts that are
resident in the printer. They are "exact" fonts that point
directly to the fonts in the printer without the remapping
of ligatures, or TeX style spacing (kerning). If you want
the TeX style kerning and ligatures, you have to use a mapped
font file (.vf). Note that those "extended fonts" in the
psfonts.map file are the "exact" fonts that do not have the
mapping to the ligatures. The psfonts.map file allows "on-
the-fly" modifications to existing fonts inside the printer.
Since there don't appear to be any small caps fonts resident
in the printer, you have to create a different mapping to
only the capital letters, which must be contained in a separate
.vf file. I don't think that you can do any aliasing of old
versus new fonts without .tfm files, unless you actually put it
inside of each document (something like the pslatex stuff that
comes with DVIPS). As to the Extended vs. Expanded, I'll
let someone else tackle that. (Sounds like something a DOS
person should handle... [GRIN] )
P.S. If you want to save a LOT of time creating .tfm and .vf
files, get Tom Rokicki's dvipslib.tar.Z file from Neon.Stanford.EDU.
It contains a lot of pre-made .vf and .tfm files.
Hope this has helped!
If you have any questions, don't hesitate to ask...
-John
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% "Dr. John Galt" Internet : johngalt@ccit.arizona.edu %
% University of Arizona BITNET : johngalt@arizrvax %
% P.O. Box 3328 Voice : (602) 623-5444 %
% Tucson, AZ 85722 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Technical Details
Message-ID:
<4E0A4AB0CAA01DBA@Arizona.edu>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!sdd.hp.com!spool.mu.edu!agate!ucbvax!ARIZONA.BITNET!JOHNGALT%UACCITShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!sdd.hp.com!spool.mu.edu!agate!ucbvax!ARIZONA.BITNET!JOHNGALT%UACCIT From: JOHNGALT%UACCIT@ARIZONA.BITNET (John Galt) Newsgroups: comp.text.tex Subject: Font aliasing under DVIPS Message-ID: <4E0A4AB0CAA01DBA@Arizona.edu> Date: 21 Jun 91 19:43:00 GMT Sender: daemon@ucbvax.BERKELEY.EDU Lines: 159