- APPENDIX G -
This section provides detailed information about the contents
of the buffer returned by the vqt_fontheader() call. First,
here are some general notes about the values you will be using:
Character strings are only NULL terminated if they do
not completely fill their assigned field.
All integers are signed (unless otherwise noted) and in Big-Endian
format (most significant byte first).
SPEEDO FONTS
The Speedo Font Header
| Field | Meaning |
---|---|---|
| Format Identifier | An 8-byte character string consisting of "D1.0" CR LF NULL NULL |
| Font Size | A LONG specifying the size of the font file in bytes. |
| Minimum Font Buffer Size | A LONG specifying the minimum size buffer required to load the non-image data of the font. |
| Minimum Character Buffer Size | A WORD specifying the minimum size buffer required to hold the largest character in the font. |
| Header Size | A WORD specifying the size of the font header. |
| Font ID | A WORD containing the Bitstream font ID number. |
| Font Version Number | A WORD containing the font revision number. |
| Font Full Name | A 70-byte character string containing the full name of the font. |
| Manufacturing Date | A 10-byte character string containing the manufacturing date of the font as DD Mon YY. |
| Character Set Name | A 66-byte character string containing the name of the character set used for the font (ex: "Bitstream International Character Set"). |
| Vendor ID | A 2-byte character string identifying the manufacturer of the font. This is usually the first two characters in the font filename. Bitstream fonts use 'BX'. |
| Character Set ID | A 2-byte character string identifying the character set used for this font. This is usually the second 2 characters in the font filename. The Bitstream International Character Set is '00'. |
| Copyright Notice | A 78-byte character string containing the copyright notice for the font. |
| Number of Character Indexes in Character Set | A WORD specifying the number of character indexes available in the font's character set. This does not necessarily mean that every index is actually used. |
| Total Number of Character Indexes in Font | A WORD indicating the number of character indexes available in the font's character set in addition to any supplementary characters needed to create compound characters. |
| Index of First Character | A WORD containing the first available character in a font. |
| Number of Kerning Tracks | A WORD specifying the total number of kerning tracks. |
| Number of Kerning Pairs | A WORD specifying the total number of kerning pairs. |
| Font Flags | Bit 0 of this BYTE is set to indicate extended mode. Extended mode fonts require a higher quality of font rendering (such as chess pieces). If Bit 0 is clear, the font is in Compact mode (the default). Bits 1-7 are currently reserved. |
| Classification Flags | A BYTE value whose bits indicate the font classification as follows: Bit Meaning
0 Italic 1 Monospace 2 Serif 3 Display 4-7 Reserved |
| Family Classification | A BYTE indicating the family classification of the font as follows: Value Meaning
0 Don't Care 1 Serif 2 Sans Serif 3 Monospace 4 Script 5 Decorative |
| Font Form Classification | A BYTE classifying the width and weight of characters in the font as follows: Bits 0-3 Meaning
0-3 (Reserved) 4 Condensed 5 (Reserved for ¾ condensed) 6 Semi-Condensed 7 (Reserved for ¼ condensed) 8 Normal 9 (Reserved for ¾ expanded) 10 Semi-Expanded 11 (Reserved for ¼ expanded) 12 Expanded 13-15 (Reserved) Bits 4-7 Meaning 0 (Reserved) 1 Thin 2 Ultralight 3 Extralight 4 Light 5 Book 6 Normal 7 Medium 8 Semibold 9 Demibold 10 Bold 11 Extrabold 12 Ultrabold 13 Heavy 14 Black 15 (Reserved) |
| Short Font Name | A 32-byte character string containing the abbreviation of the name of the Postscript compatible font. |
| Short Face Name | A 16-byte character string containing the abbreviation of the typeface family name. |
| Font Form | A 14-byte character string containing the font form classification (as above). |
| Italic Angle | A WORD indicating the number of 1/256 degrees that characters are slanted clockwise. |
| ORUs per Em | A WORD indicating the number of Outline Resolution Units (ORUs) per Em. |
| Width of Word Space | A WORD value which expresses the width of a 'word space' (i.e. ASCII 32) in ORUs. |
| Width of Em Space | A WORD value which expresses the width of Em space in ORUs (this is not always the same as the number of ORUs in the letter 'M'). |
| Width of En Space | A WORD value which expresses the width of En space in ORUs. This is always half the width of Em space (not the width of the letter 'N'). |
| Width of Thin Space | A WORD value which expresses the width of 'thin space' in ORUs. This is the width applied between two words and is normally the same as 'word space'. |
| Width of Figure Space | A WORD value which expresses the width of 'figure space' in ORUs. This is the width of tabular characters in the font. |
| XMIN (Min X coordinate in font) | A WORD indicating the minimum X coordinate used in the font.
|
| YMIN (Min Y coordinate in font) | A WORD indicating the minimum Y coordinate used in the font. |
| XMAX (Max X coordinate in font) | A WORD indicating the maximum X coordinate used in the font. |
| YMAX (Max Y coordinate in font) | A WORD indicating the maximum Y coordinate used in the font. |
| Underline Position | A WORD value indicating the distance the center of an underline should be applied from the baseline of the font. |
| Underline Thickness | A WORD value indicating the thickness an underline applied to this font should be (in ORUs). |
| Small Caps | A 6-byte Transformation Parameter used for small capitals (eg: abcdefg). |
| Display Superiors | A 6-byte Transformation Parameter used for display superiors (eg: $350). |
| Footnote Superiors | A 6-byte Transformation Parameter used for footnote superiors (eg: see footnote1). |
| Alpha Superiors | A 6-byte Transformation Parameter used for alpha superiors (eg: Sra). |
| Chemical Inferiors | A 6-byte Transformation Parameter used for chemical inferiors (eg: H20). |
| Small Numerators | A 6-byte Transformation Parameter used for small numerators (eg: ). |
| Small Denominators | A 6-byte Transformation Parameter used for small denominators (see above). |
| Medium Numerators | A 6-byte Transformation Parameter used for medium numerators (eg: ). |
| Medium Denominators | A 6-byte Transformation Parameter used for medium denominators (see above). |
| Large Numerators | A 6-byte Transformation Parameter used for large numerators (eg: ). |
| Large Denominators | A 6-byte Transformation Parameter used for large denominators (see above). |