When producing this program, I became terribly confused about the variety of dimensions which appear in DVI and PK files. Table 1 is a summary of the sizes which appear, for the benefit of anyone else attempting a project like this. The reference [Dn] refers to section `' of the webbed DVItype document and [Pn] to section `' of the PktoPX document (see Section 5).
If you feel I have misunderstood something here, or got one of the conversion factors wrong (I hate these!), please correct me.
Context | Description | See |
---|---|---|
DVI preamble | num , den : multiply a `DVI unit' by
to obtain a length in units of
| [D17] |
mag : DVI units are actually multiplied by
| [D17] | |
DVI font definition | d : a design size, in DVI units. The nominal size of the font. | [D18] |
s : a `fixed point' scale factor, range
, scaling d (see note). | [D18] | |
PK preamble | ds : the font design size in units of points. | [P12] |
hppp , vppp : number of pixels per point, times
(see note). | [P12] | |
Character | tfmwidth : the width of the character (see note). | [D37], [P9] |
w , h : the width and height, in pixels, of the
character pixel map. | [P21] | |
hoff and voff : offset of the pixel map from the
reference point. | [P21] | |
dm , dx , dy : the pixel escapements.
dm in pixels, dx and dy in pixels times
(see note). | [P21] |
Sizes in TeX
s
scales the design size, so that a font is actually used at
times its normal
size.hppp
and vppp
aren't used as sizes, but can be used
to check you have the right fonts by comparing resolution, etc..tfmwidth
is the `physical' size of a character, and is the
only size that TEX uses in its calculations, and which the DVI
reader uses when working out how far to move the reference point when
it sets a character. This is defined in [P9] to be in units of
FIXes
, where one FIX
is times the design
size in points. [D37] describes how to multiply these widths by
scaling factors without overflowing.tfmwidth
is that the latter is a resolution-independent shift of the DVI
reference point, and the former is the PK file's recommendation of the
number of pixels the DVI processor should actually move. The DVI
processor keeps track of the two reference points, and readjusts the
pixel-based one when rounding errors move it too far from the
resolution-independent one. See [D89] and [D91]; also [D40].A few useful conversions are:
FIX
is a physical size, of length
tfmwidth
parameter is
in units of FIXes
, so that the TFM width is a length of
tfmwidth
fixes, which is equal to points.