Printer Font Metric Structure
The following structure is used by all Printer Font Metrics (PFM) files used
by drivers supported by the Microsoft Windows Universal Driver.
typedef struct
{
short sSize;
short iVersion;
WORD fCaps;
short iFontID;
short sYAdjust;
short sYMoved;
short iTransTab;
short sUnderlinePos;
short sDoubleUnderlinePos;
short sStrikeThruPos;
LOCD locdSelect;
LOCD locdUnSelect;
WORD wPrivateData;
short sShift;
} DRIVERINFO;
Members
-
sSize
-
Size, in bytes, of the structure.
-
iVersion
-
Version number of the structure. This documentation describes version 0x0301
(implied decimal for version 3.01).
-
fCaps
-
Bit flags describing capabilities. Currently, cCaps can only be DF_BKSP_OK to
indicate that this fonts uses a CTT_WTYPE_PAIRED character-translation table
to determine how to overstrike characters. If it is set, it is assumed that a
single backspace character can be used to move the cursor to the start of the
bounding box of the previous character prior to overstriking. If it is not
set, it is assumed that explicit x-movement commands are required to
position the cursor for an overstrike. If the font does not use a
CTT_WTYPE_PAIRED translation table, this flag is ignored.
-
iFontID
-
Reserved; do not use.
-
sYAdjust
-
Distance to move the current y position, as expressed in master units,
before printing characters in this font and size. This member is primarily
used for double-height characters, and the specified distance to align the
baseline accurately.
-
sYMoved
-
Distance to move the y position, as expressed in master units, after
printing with this font and size. This member is also used to compensate for
fonts that do not restore the cursor to the correct y position. It is
primarily used for double-height characters.
-
iTransTab
-
Index of character-translation table resource for this font. This may zero, a
positive, or negative number. If this is zero, use the character-translation
table referred to in the ModelData dialog box for this model. If this is a
negative number, the Universal Printer Driver will take the absolute value and
use its own character-translation table resource with this identifier. If this
is a positive value, the Universal Printer Driver will use the driver-defined
character-translation table resource with this identifier value.
-
sUnderlinePos
-
Position of the hardware underline created by FS_OCD_ST_UNDERLINE_ON from the
bottom of the character-bounding box. This member is measured in master units.
-
sDoubleUnderlinePos
-
Position of the hardware double underline created by
FS_OCD_ST_DOUBLEUNDERLINE_ON from the bottom of the character-bounding box.
This member is measured in master units.
-
sStrikeThruPos
-
Position of the hardware strikethrough created by FS_OCD_ST_STRIKETHRU from
the bottom of the character-bounding box. This member is measured in master
units.
-
locdSelect
-
Offset to the command descriptor to select this font.
-
locdUnSelect
-
Offset to the command descriptor to cancel the selection of this font. This
member is NOOCD if not used.
-
wPrivateData
-
Private data to be used by the minidriver.
-
sShift
-
Number of pixels to shift each character to the left or right. Negative
numbers shift to the right; positive numbers shift to the left.