Hans Hagen wrote:
> Now, tex itself only needs the tfm file but dvips and the pdftex backend
> need the vf file in order to construct composed or manipulated glyphs. So,
> when vf was introduced, tex was not adapted, but dvips was,
>
> I must admit that this model is not that clear -)
Ah! I think I see it now. This means the examples on my help page were
wrong also; I was referencing raw files when I shouldn't have. I've
corrected that now.
To summarize:
My mistake was thinking that the font names used in a tex job had to be
those listed in the map file. (And this happened to be true in my early
tests because the fonts I was using were not virtual). But, as you point
out, the map file is for the backend: associating a tfm file with the
glyph repository (pfb).
Tex (I have just learned), given a font name, searches in the usual font
places for a tfm file. Magically, it knows when a tfm has virtual vf
file of the same name. The vf file contains references to other tfm or
vf files. Eventually, when the backend runs, it needs the mapping from a
tfm to a pfb.
Using a real example:
Texfont produced for me:
texmf/fonts/tfm/adobe/sabon/texnansi-raw-sar.tfm
texmf/fonts/tfm/adobe/sabon/texnansi-sar.tfm
texmf/fonts/vf/adobe/sabon/texnansi-sar.tfm
and a map file which contains:
texnansi-raw-sar Sabon-Roman 4 < sar_____.pfb texnansi.enc
In my setup for this font, I use:
\definefontsynonym[Sabon-Roman][texnansi-sar][encoding=texnansi]
Tex finds and uses the virtual font, which has the ligature info (the
raw file doesn't!)
The virtual font has a link to the raw font:
vftovp texnansi-sar | grep FONTNAME
(FONTNAME texnansi-raw-sar)
When the backend needs to generate the glyphs, it uses the
texnansi-raw-sar entry in the map file to find the pfb and encoding.
Simple, eh? (Honestly, bundling resources together has been a problem on
many systems I have used. Anyone ever program the Macintosh?)
-Bill