This structure defines the format or the character definition records that follow it:
typedef struct_FONTDEFINITIONHEADER { ULONG ulIdentity; ULONG ulSize; SHORT fsFontdef; SHORT fsChardef; SHORT usCellSize; SHORT xCellWidth; SHORT yCellHeight; SHORT xCellIncrement; SHORT xCellA; SHORT xCellB; SHORT xCellC; SHORT pCellBaseOffset; } FONTDEFINITIONHEADER; typedef FONTDEFINITIONHEADER FAR *PFONTDEFINITIONHEADER;
Where:
ulIdentity
Must be equal to 2.
Size of this structure in bytes.
Indicates which fields are present in the font definition data in the header.
Type 1
Bit 0
Bit 0
Bit 0
Indicates which fields are present on a per character basis.
Type 1
Bit 0
Bit 0
Bit 0
Indicates the length in bytes of each character definition record (the per character data).
Type 1
The width of the characters, in pels for image fonts, and relative units for outline fonts.
Type 1
The height of the characters, in pels for image fonts, and relative units for outline fonts.
Type 1
The distance along the character baseline required to step from one character to the next (when forming a character string).
Type 1
The width of the space before a character in the inline direction (the a-space).
Type 1
The width of a character (inline direction). The b-space.
Type 1
The width of the space after a character in the inline direction (the c-space).
Type 1
The position of the top of a character definition relative to the baseline in the direction perpendicular to the baseline.
Type 1
The following fields may or may not be present, according to the font character definition fields flags. If a field is present, it is present for each character and the value applies to that character only.
There are usLastChar+2 such records for raster fonts. The final one is for the null character.
The offset into the Font File at which the character definition begins.
Data for a single character raster or vector should not span two segments; that is, if a character is too big to fit into a segment it should be put in the next segment.
This field should be set to zero if the character being defined is a blank character.
The width of the character definition in pels.
The height of the character definition in pels.
The length along the character baseline required to step from this character to the next (when forming a character string).
The width of the space before the character in the inline direction.
The width of the character shape (inline direction).
The width of the space after the character in the inline direction.
The position of the top of a character definition relative to the baseline in the direction perpendicular to the baseline.
Note: Type 1 fonts have offset/width pairs (like type 2); however, the usCellSize and xCellIncrement are nonzero. In the fsType field of the font metrics, the proportional-space flag, bit 0, is set.