[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: What's the relationship between vfs and tfms?



as berthold said, it's the 3 TFMs & 2 VFs for 3 founts scheme.

1 base TFM : the 8r which gives access to all glyphs in the type 1
fount, although to be effectively accessible, the type 1 fount will
need to be reencoded by the driver before being downloaded. 
This is already a full functionnal TFM that allows typesetting in its
own (ligatures & kerning are present).

1 pair VF+TFM for each one of T1 (8t or 9e) and OT1 (7t or 9t) TeX
encoding, these being only virtual fonts refering to the base one. 
In 2 words, both TFM + VF are needed for them because TeX is happy
(fooled ?) with one TFM, whatever it is related to (real or virtual
or reencoded font), when you typset in free-KA using T1 encoding, tex
will only need the metric information provided by fkar8t.tfm. The
conversion virtual -> real is provided by the VF that is essentially a
collection of fragments of DVI code drawing each individual (virtual)
charachter with DVI opcodes (allowing rules, special, placement of
charachters from some real font, offsets, etc.). Thus it is natural
that the VF refers to the base TFM, and that the base TFM be used in
order to read the metrics from the real font used.

Typically, when asked to deliver some glyphs from a given fount fkar8t,
a driver will _first_ look for the file fkar8t.vf and desassemble it
back to real founts before proceeding, if it doesn't find any virutal
definiton of that fount, it will assume that was a real one, and
proceed. It is only a step further that different type formats are
considered, when it comes to actually print the glyphs (in our case,
it will only attempt to print glyphs from fkar8r). Depending on the 
driver's very nature, it will assume that some format is the default, &
look in a parameter file to see if the peculiar font needs some
special treatment (such as reencoding, downloading outlines rather
than computing PKs, converting truetype to type 3, then batch-running
fontographer to convert it to type1, and using a type1 rasterizer in
the end, or running metapost on MF source to generate outlines that
will be automagically auti-hinted in fontlab--the usual stuff in one
word). 

You should also investigate the expert situation where you have a 4
TFMs + 2 VFS scheme for 2 founts, each virtual fount pointing to 2 base
founts (8r and 8x) and the faked small cap situation where small
accents are built from scaled down versions of cap accents in the 8r
fount so that one VF calls twice the base TFM at 2 different sizes,
which ends up in one download of one reencoded fount.

Hope i helped.

   Thierry Bouche.       -----       thierry.bouche@ujf-grenoble.fr
          http://www-fourier.ujf-grenoble.fr/~bouche/