2.2.1 Record Syntax
The Record Syntax is specified as follows.
-
<emf_spool_format> ::= <Header_record> [ <EMRI_PS_JOB_DATA_record> ] { <other_records> } <page_offset_records> <other_records> ::= <page_content_records> | <font_definition_records> | <font_offset_records> | <EMRI_DEVMODE_record> | <EMRI_PRESTARTPAGE_record> <page_content_records> ::= <EMRI_METAFILE_record> | <EMRI_FORM_METAFILE_record> | <EMRI_BW_METAFILE_record> | <EMRI_BW_FORM_METAFILE_record> | <EMRI_METAFILE_DATA_record> <page_offset_records> ::= <EMRI_METAFILE_EXT_record> | <EMRI_BW_METAFILE_EXT_record> <font_definition_records> ::= <EMRI_ENGINE_FONT_record> | <EMRI_TYPE1_FONT_record> | <EMRI_DESIGNVECTOR_record> | <EMRI_SUBSET_FONT_record> | <EMRI_DELTA_FONT_record> <font_offset_records> ::= <EMRI_ENGINE_FONT_EXT_record> | <EMRI_TYPE1_FONT_EXT_record> | <EMRI_DESIGNVECTOR_EXT_record> | <EMRI_SUBSET_FONT_OFFSET_record> | <EMRI_DELTA_FONT_EXT_record> | <EMRI_EMBED_FONT_EXT_record>
These record types perform the following roles:
An <EMRI_PS_JOB_DATA_record> stores injected PostScript code at the document level. If an <EMRI_PS_JOB_DATA_record> is present in the metafile, it MUST be the first EMF spool format record after the <Header_record>.
<page_content_records> store drawing commands for rendering and formatting individual pages of output. Within a <page_content_record>, a complete EMF metafile can be defined, as specified in [MS-EMF].
<page_offset_records> point to <page_content_records>, which MUST precede the <page_offset_records> in the metafile. Two types of <page_offset_records> are provided, for color and monochrome pages.
<font_definition_records> store font information within an EMF EMR_COMMENT_EMFSPOOL record that is identified with the signature "TONF", as specified in [MS-EMF] section 2.3.3.3. The EMR_COMMENT_EMFSPOOL record is part of an EMF metafile that is embedded in a <page_content_record>.
<font_offset_records> point to the embedded font definitions within preceding <page_content_records>.
An <EMRI_DEVMODE_record> stores device settings and information about device capabilities.
An <EMRI_PRESTARTPAGE_record> stores encapsulated PostScript (EPS).
All record types are specified in section 2.2.