2.2.3.3.2 EMRI_TYPE1_FONT Record
The EMRI_TYPE1_FONT record contains embedded PostScript Type 1 fonts. This record and the EMRI_ENGINE_FONT (section 2.2.3.3.1) record have similar structures.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ulID |
|||||||||||||||||||||||||||||||
cjSize |
|||||||||||||||||||||||||||||||
Type1ID |
|||||||||||||||||||||||||||||||
NumFiles |
|||||||||||||||||||||||||||||||
FileEndOffs (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
Padding (optional) |
|||||||||||||||||||||||||||||||
FileContent (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
ulID (4 bytes): A 32-bit unsigned integer that identifies the type of record. The value MUST be 0x00000004, which specifies the EMRI_TYPE1_FONT record type from the RecordType (section 2.1.1) enumeration.
cjSize (4 bytes): A 32-bit unsigned integer that specifies the size, in bytes, of this record, not including the ulID and cjSize fields. The size of each record in EMF spool format MUST be rounded up to a multiple of 4 bytes.
Type1ID (4 bytes): A 32-bit unsigned integer that SHOULD be 0x00000000 and MUST be ignored.<8>
NumFiles (4 bytes): A 32-bit unsigned integer that specifies the number of files included in this record. This value MUST NOT be zero.
FileEndOffs (variable): An array of 32-bit unsigned integers that specify the locations of the font files in this record. For each font file, this value is the byte offset of the end of that file, starting from the beginning of the first file. Thus, the first FileEndOffs value is the size, in bytes, of the first file; the second value is the sum of the sizes of the first and second files, and so on.
-
The FileEndOffs values are limited as follows:
-
FileEndOffs[0] < FileEndOffs[1] < ... < FileEndOffs[NumFiles - 1] <= (cjSize – (8 + (nFiles * 4))
-
-
Each offset value MUST be a multiple of 4 bytes, and each file MUST have a size greater than zero.
Padding (4 bytes): An optional 32-bit field, which is padding used to align the FileContent field on an 8-byte boundary. The contents of this field are indeterminate and MUST be ignored.
FileContent (variable): Variable-size, 32-bit aligned data, which represents the definitions of glyphs in the font. The content is in PostScript Type 1 font format.