Fonts

Fonts are the information objects which are used to convey the graphical elements used for the presentation of character text.

General

The SPDL font architecture is based on ISO/IEC 9541. The following are the major elements of that architecture.

Font Resources

The information object defined by ISO/IEC 9541 for the interchange of font information is the Font Resource. A Font Resource includes glyph shape information and metric information. The graphical elements which are specified by a Font Resource are called glyph representations. Font Resource architecture and interchange formats are defined in ISO/IEC 9541.

A Font Resource which conforms to ISO/IEC 9541-1 may be interchanged as either an ASN.1 data structure or an SGML data structure as defined by ISO/IEC 9541-2 and ISO/IEC 9541-3. A Font Resource may also be placed in the environment of the Presentation Process by other means.

The information in a Font Resource which is used for presenting glyph representations is represented in SPDL as part of an Indexed Font Dictionary.

Glyph Index Maps

Glyph representations in a Font Resource which conforms to ISO/IEC 9541 are identified by structured-names as defined by ISO/IEC 9541. For reasons of efficiency, this International Standard defines a data structure which provides for the access of glyph representations and relevant metric information with a mapping which enables access by means of Cardinal numbers called glyph index values. The mapping of glyph index values to glyph identifiers is accomplished by a Glyph Index Map. Data Structures in which glyph representations are identified by numeric values correspond to Indexed Fonts rather than Font Resources.

Indexed Fonts

An Indexed Font provides the information needed for presenting glyph representations from a Font Resource by the Presentation Process. Each Indexed Font includes glyph shape information and metrics and a Glyph Index Map. This information need not be separable.

An Indexed Font may occur as a resource in the environment of the Presentation Process, or it may be specified by a FONT SPECIFICATION.

An Indexed Font is represented and specified in SPDL by an Indexed Font Dictionary as defined in . Data structures containing glyph shape representations which are accessed by Integer values rather than by Glyph Identifiers correspond to Indexed Fonts rather than to Font Resources.

Other Indexed Fonts

In addition to those Indexed Fonts which are constructed by FONT SPECIFICATION structure elements, a Presentation Process may use Indexed Fonts which have been installed in the environment of the Presentation Process by methods which are outside of the scope of this International Standard. The use of such Indexed Fonts is specifically enabled by this International Standard.

Indexed Fonts which are not defined according to the ISO/IEC 9541 architecture may not have the internal structure defined by (for example, there may be no explicit glyph identifiers). Such Indexed Fonts would be represented by "execute only" Indexed Font Dictionaries.

Representation of Glyph Identifiers

Glyph Identifiers occurring in SPDL structure are represented by values of the Glyph Identifier type. Glyph Identifier values may also occur in

In the processing of SPDL structure, and in the installation of Font Resources, Indexed Fonts, or Glyph Index Maps in the environment of the Presentation Process, Glyph Identifier values are converted into Identifier values which are used in the representation of these resources as Dictionaries. Two Glyph Identifier values are converted to the same Identifier value if and only if they are equal as defined in . The conversion of Glyph Identifier values to the Identifier values which occur in these Dictionaries is specified in this clause.

Conversion of ISO10036 Glyph Names

Each ISO10036 Glyph Name is semantically equivalent to a public identifier for which the canonical character string form is of the form "ISO/IEC 10036/RA//Glyphs::nnnn". The ISO10036 Glyph Name which is equivalent to "ISO/IEC 10036/RA//Glyphs::nnnn" is converted to the Identifier which is the result of

  • {glyphnameref ConvertToIdentifier}

    where glyphnameref is an OctetStringReference which references an OctetString which represents the character string "afiinnnn", encoded using ISO 646 IRV. The resulting Identifier is equivalent to the Name "afiinnnn".

    Conversion of Other Structured Glyph Names

    A Structured Glyph Name which is not an ISO10036 Glyph Name is converted to the Identifier which is the result of

  • {structurednameref ConvertToIdentifier}

    where structurednameref is a is an OctetStringReference which references an OctetString which represents the canonical character string form of the public identifier which is semantically equivalent to the Structured Glyph Name, encoded using ISO 646 IRV. The resulting Identifier is not equivalent to any Name.

    Conversion of Simple Glyph Names

    A Simple Glyph Name is converted to the Identifier which is the result of

  • {glyphnameref ConvertToIdentifier}

    where glyphnameref is a is an OctetStringReference which references an OctetString which represents the Simple Glyph Name, encoded using ISO 646 IRV.

  • The resulting Identifier is equivalent to the Name which is specified by the same character string as the Simple Glyph Name.
  • The AFII Glyph Name "afiinnnn" and the ISO10036 Glyph Name "ISO/IEC 10036/RA//Glyphs::nnnn" are equal as a Glyph Identifiers, and are also converted to the same Identifier, the Name "afiinnnn".
  • Font References

    A Font Resource in the environment of the Presentation Process may be referenced for use in document presentation by a Font Reference. A Font Reference may identify a Font Resource by either or both of:

    • a Font Resource Identifier;
    • a set of properties which characterize the Font Resource.

    In addition, a Font Reference can specify a match rules value, which specifies how the Presentation Process determines whether Font Resource property matches a property specified by a Font Reference, and a satisfaction criterion value, which specifies how the Presentation Process determines whether a Font Resource satisfies a Font Reference. The environment of the Presentation Process may be local or may include other processes (e.g. a Font Service) which may be accessed by the Presentation Process.

    Font Resource Identifiers

    A Font Resource in the environment of the Presentation Process is identified by one or more Font Resource Identifiers. A Font Resource Identifier may be a Public Identifier, an Object Identifier, or an Environment Name.

    If the Font Resource is an ISO/IEC 9541 Font Resource, the value of the font resource name property shall be one of the Font Resource Identifiers which identifies the Font Resource in the environment of the Presentation Process. The font resource name property is named by the structured-name which is semantically equivalent to the public identifier whose canonical character string form is ISO/IEC 9541-1//FONTNAME.

    In addition to the font name property (if any), one or more Environment Identifiers may be assigned to a Font Resource as Font Resource Identifiers when it is installed in the environment of the Presentation Process. The assignment of Font Resource Identifiers other than the font resource name property to a Font Resource is outside of the scope of this International Standard.

    Font Properties

    The font properties which can be specified by a Font Reference consist of a set of required properties and a set of advisory properties. The font properties are specified by Font Attribute Sets as defined by ISO/IEC 9541. The advisory properties may be used to select a Font Resource from several Font Resources in the environment of the Presentation Process which satisfy the required properties; or to select a substitute Font Resource when there is no Font Resources in the environment of the Presentation Process which satisfies the required properties. The Presentation Process may also ignore the advisory properties in some or all instances of Font Resource selection. The process of selecting a substitute Font Resource when no Font Resource in the environment of the Presentation Process satisfies the required properties may but need not involve the use of advisory properties. The system may choose to use a single system dependent substitute Font Resource in all such cases.

    Unsatisfied Font References

    Processing a Font Reference always results if the selection of a Font Resource for use in document presentation. No error or warning occurs if the selected Font Resource fails to satisfy the Font Reference: however, a content warning occurs if content processing executes FindFont with an argument which is bound to an Indexed Font for which the Font Resource fails to satisfy the Font Reference.

    FONT SPECIFICATION

    An Indexed Font is specified by a FONT SPECIFICATION structure element. A FONT SPECIFICATION structure element shall be one of the following:

    • a FONT IDENTIFIER FONT SPECIFICATION structure element;
    • a FONT REFERENCE FONT SPECIFICATION structure element;
    • a FONTTYPE1 FONT SPECIFICATION structure element;
    • a REMAPPED FONT SPECIFICATION structure element;
    • a COMPOSITE FONT SPECIFICATION structure element;
    • a USER FONT SPECIFICATION structure element.
    The FONT SPECIFICATION definition is recursive.

    FONT IDENTIFIER FONT SPECIFICATION

    A FONT IDENTIFIER FONT SPECIFICATION structure element shall be an ENVIRONMENT RESOURCE IDENTIFIER structure element as defined in .

    The processing of a FONT IDENTIFIER FONT SPECIFICATION shall consist of identifying the Indexed Font in the environment of the Presentation Process which is identified by the value of the FONT IDENTIFIER FONT SPECIFICATION structure element. If there is no Indexed Font in the environment of the Presentation Process which is identified by the value of the FONT IDENTIFIER FONT SPECIFICATION, a system dependent Indexed Font shall be selected.

    The Indexed Font resource defined by the FONT IDENTIFIER FONT SPECIFICATION shall be the Indexed Font identified or selected as specified in the above paragraph.

    FONT REFERENCE FONT SPECIFICATION

    A FONT REFERENCE FONT SPECIFICATION structure element shall be a composite structure element which shall have the following immediate subordinates:

    • one FONT REFERENCE structure element;
    • one GLYPH INDEX MAP IDENTIFIER structure element.

    The immediate subordinates shall occur in the above order.

    GLYPH INDEX MAP IDENTIFIER

    A GLYPH INDEX MAP IDENTIFIER structure element shall be one of:

    • ENVIRONMENT RESOURCE IDENTIFIER

    FONT REFERENCE FONT SPECIFICATION Processing

    The processing of a FONT REFERENCE FONT SPECIFICATION shall consist of the following:

    1. Selecting a Font Resource in the environment of the Presentation Process by processing the FONT REFERENCE as specified in .
    2. Selecting the Glyph Index Map in the environment of the Presentation Process which is identified by the value of the GLYPH INDEX MAP IDENTIFIER.
      • If the there is no Glyph Index Map in the environment of the Presentation Process which is identified by the value of the GLYPH INDEX MAP IDENTIFIER, a system dependent Glyph Index Map shall be used.
    3. Constructing an Indexed Font Dictionary by combining the Font Resource identified in the first step with the Glyph Index Map identified in the second step.

    The Indexed Font resource defined by FONT REFERENCE FONT SPECIFICATION shall be the Indexed Font defined by the Indexed Font Dictionary constructed in step c. If the referenced Font Resource or identified Glyph Index Map cannot be found, the substituted Font Resource may contain no glyphs at all which are identified by the Glyph Identifiers in the Glyph Index Map used, or the glyph images generated may not be those intended by the document creator.

    FONT REFERENCE

    A FONT REFERENCE identifies a Font Resource by means of a Font Resource Identifier and, optionally, a supplementary set of font properties. FONT REFERENCE processing consists of selecting a Font Resource on the basis of the FONT REFERENCE structure element and identifying whether the selected Font resource satisfies the FONT REFERENCE. The environment of the Presentation Process may be local or may include other processes (e.g. a Font Service) which may be accessed by the Presentation Process.

    A FONT REFERENCE structure element shall be a composite structure element which shall have the following immediate subordinates:

    • zero or one FONT RESOURCE IDENTIFIER structure element;
    • zero or one REQUIRED PROPERTIES structure element;
    • zero or one ADVISORY PROPERTIES structure element;
    • zero or one MATCH RULES structure element;
    • zero or one SATISFACTION CRITERION structure element.

    The immediate subordinates shall occur in the above order.

    FONT RESOURCE IDENTIFIER

    A FONT RESOURCE IDENTIFIER structure element shall be an ENVIRONMENT RESOURCE IDENTIFIER structure element as defined in .

    REQUIRED PROPERTIES

    A REQUIRED PROPERTIES structure element shall be a Font Attribute Set as defined by ISO/IEC 9541. The required properties of the FONT REFERENCE shall be the set of properties specified by the REQUIRED PROPERTIES structure element.

    ADVISORY PROPERTIES

    An ADVISORY PROPERTIES structure element shall be a Font Attribute Set as defined by ISO/IEC 9541. The advisory properties of the FONT REFERENCE shall be the set of properties specified by the ADVISORY PROPERTIES structure element.

    MATCH RULES

    A MATCH RULES structure element shall be a base structure element. The value of a MATCH RULES structure element shall be of type Public Object Identifier.

    The value of a MATCH RULES structure element specifies the criterion which shall be used to determine whether a Font Resource satisfies each of the property specifications in the required properties or the advisory properties. The Object Names for which Public Object Identifier values are defined by this International Standard, and the meaning of those values, are shown in . Object NameMeaning FontReference::MatchRules::SameA Font Resource satisfies a property if a value is specified for the property in the Font Resource, and if that value is the same as the value of the corresponding required or advisory property. FontReference::MatchRules::SameIfSpecifiedA Font Resource satisfies a property if either no value is specified for the property for the Font Resource, or if the value of the property specified in the Font Resource is the same as the value of the corresponding required or advisory property. The default value of the MATCH RULES structure element is FontReference::MatchRules::Same.

    SATISFACTION CRITERION

    A SATISFACTION CRITERION structure element shall be a base structure element. The value of a SATISFACTION CRITERION structure element shall be of type Public Object Identifier.

    The Object Names for which Public Object Identifier values are defined by this International Standard, and the meaning of those values, are shown in . Object NameMeaning FontReference::Satisfaction::NameA Font Resource satisfies the FONT REFERENCE only if the Font Resource is identified by the value of the FONT RESOURCE IDENTIFIER. If there is no FONT RESOURCE IDENTIFIER, no Font Resource satisfies the FONT REFERENCE. FontReference::Satisfaction::NameOrPropsA Font Resource satisfies the FONT REFERENCE if the Font Resource is identified by the value of the FONT RESOURCE IDENTIFIER or if it satisfies all of the required properties. FontReference::Satisfaction::AnyAny Font Resource satisfies the FONT REFERENCE. The default value of the SATISFACTION CRITERION structure element is FontReference::Satisfaction::NameOrProps.

    FONT REFERENCE Processing

    FONT REFERENCE processing consists of

    1. selecting a Font Resource;
    2. deciding whether the selected Font Resource satisfies the FONT REFERENCE.

    The procedure used for selecting a Font Resource shall be as follows:

    1. If there is a Font Resource in the environment of the Presentation Process which is identified by the Font Resource Identifier, that Font Resource shall be selected.
    2. If there is no Font Resource in the environment of the Presentation Process which is identified by the Font Resource Identifier, identify the list of Font Resources in the environment of the Presentation Process which satisfies the required properties.

      A Font Resource satisfies the required properties if it satisfies each of the properties as specified by the value of the MATCH RULES structure element.

    3. If there is exactly one Font Resource in the environment of the Presentation Process which satisfies the required properties, that Font Resource shall be selected.
    4. If there is more than one Font Resource in the environment of the Presentation Process which satisfies the required properties, a selection shall be made from among them. This selection may depend on the advisory properties.
    5. If there is no Font Resource in the environment of the Presentation Process which satisfies the required properties, a substitute Font Resource shall be selected in a system dependent manner. The selection of the substitute Font Resource may depend on any combination of the required properties and the advisory properties.

    Whether the Font Resource which is selected satisfies the FONT REFERENCE depends on the value of the SATISFACTION CRITERION structure element.

    Standard FONT RESOURCE IDENTIFIER Values

    This International Standard defines twelve Public Object Identifier values for the identification of Font Resources. For each of these values, there is a Font Resource in the environment of the Presentation Process which satisfies a FONT REFERENCE consisting solely of a FONT RESOURCE IDENTIFIER whose value is the Public Object Identifier value. The Object Names for which Public Object Identifier values are defined by this International Standard, and the characteristics of the Font Resources identified by those values, are shown in . Object NameFont Resource Characteristics Fonts::ISO-Serif::Regulara regular weight serif Font Resource Fonts::ISO-Serif::Bolda bold weight serif Font Resource Fonts::ISO-Serif::Italica regular weight italic serif Font Resource Fonts::ISO-Serif::BoldItalica bold weight italic serif Font Resource Fonts::ISO-SanSerif::Regulara regular weight sanserif Font Resource Fonts::ISO-SanSerif::Bolda bold weight sanserif Font Resource Fonts::ISO-SanSerif::Italica regular weight italic sanserif Font Resource Fonts::ISO-SanSerif::BoldItalica bold weight italic sanserif Font Resource Fonts::ISO-Monospace::Regulara regular weight monospaced Font Resource Fonts::ISO-Monospace::Bolda bold weight monospaced Font Resource Fonts::ISO-Monospace::Italica regular weight italic monospaced Font Resource Fonts::ISO-Monospace::BoldItalica bold weight italic monospaced Font Resource The specific properties of the Font Resources identified by these values are specified in annex D. These properties include the glyph complement, the escapements for each glyph, and properties which specify the typeface classification. They do not include the specific specific shapes represented by the glyph shape representations.

    FONTTYPE1 FONT SPECIFICATION

    A FONTTYPE1 FONT SPECIFICATION structure element shall be a base structure element. The value of a FONTTYPE1 FONT SPECIFICATION shall be of type Octet String. The value of a FONTTYPE1 FONT SPECIFICATION shall be an instance of the Indexed Font Representation Format specified in of this International Standard.

    The processing of a FONTTYPE1 FONT SPECIFICATION shall consist of interpreting the value of the FONTTYPE1 FONT SPECIFICATION to define an Indexed Font as specified in of this International Standard. The resulting Indexed Font shall be the Indexed Font resource defined by the FONTTYPE1 FONT SPECIFICATION.

    REMAPPED FONT SPECIFICATION

    A REMAPPED FONT SPECIFICATION structure element shall be a composite structure element which shall have the following immediate subordinates:

    • one FONT IDENTIFIER FONT SPECIFICATION structure element;
    • zero or one REMAP structure element.

    The immediate subordinates shall occur in the above order.

    REMAP

    A REMAP structure element shall be one of:

    • a GLYPH INDEX MAP IDENTIFIER structure element;
    • a GLYPH INDEX MAP TRANSLATION TABLE structure element.

    GLYPH INDEX TRANSLATION TABLE

    A GLYPH INDEX TRANSLATION TABLE structure element shall be a composite structure element which shall have the following immediate subordinates:

    • one TABLE SIZE structure element;
    • one or more GLYPH INDEX structure elements.

    The immediate subordinates shall occur in the above order.

    TABLE SIZE

    A TABLE SIZE structure element shall be a base structure element. The value of a TABLE SIZE structure element shall be of type Cardinal.

    GLYPH INDEX

    A GLYPH INDEX structure element shall be a base structure element. The value of a GLYPH INDEX structure element shall be of type Cardinal.

    The number of GLYPH INDEX structure elements shall be the same as the value of TABLE SIZE. The value of each GLYPH INDEX shall be a Cardinal between 0 and the value of TABLE SIZE minus 1.

    GLYPH INDEX TRANSLATION TABLE Processing

    The effect of applying a GLYPH INDEX TRANSLATION TABLE to a Glyph Index Map shall consist of creating a new Encoding Vector as follows:

  • For each index value n between 0 and the value of TABLE SIZE minus 1, the value of the element of the new Encoding Vector whose index is n shall be the value of the element of the old Encoding Vector whose index is the value of the nth GLYPH INDEX in the GLYPH INDEX TRANSLATION TABLE.

    REMAPPED FONT SPECIFICATION Processing

    The processing of the REMAPPED FONT SPECIFICATION shall consist of the following.

    1. Processing the FONT IDENTIFIER FONT SPECIFICATION as specified in to obtain an Indexed Font.
    2. If the REMAP structure element is a GLYPH INDEX MAP IDENTIFIER, selecting the Glyph Index Map in the environment of the Presentation Process which is identified by the value of the GLYPH INDEX MAP IDENTIFIER.
      • If the there is no Glyph Index Map in the environment of the Presentation Process which is identified by the value of the GLYPH INDEX MAP IDENTIFIER, a system dependent Glyph Index Map shall be used.
    3. If the REMAP structure element is a GLYPH INDEX MAP TRANSLATION TABLE, creating a new Glyph Index Map from the Glyph Index Map of the Indexed Font obtained in step a as specified in .
    4. Constructing an Indexed Font Dictionary by replacing the Glyph Index Map in a copy of the Indexed Font Dictionary which represents the Indexed Font identified in step a with the Glyph Index Map selected in step b or created in step c.

    The Indexed Font resource defined by REMAPPED FONT SPECIFICATION shall be the Indexed Font defined by the Indexed Font Dictionary constructed in step d.

    Errors and Warnings

    If there is no Indexed Font in the environment of the Presentation Process which is identified by the value of the FONT IDENTIFIER FONT SPECIFICATION, if the identified Indexed Font is a composite Indexed Font rather than a base Indexed Font, or if there is no Glyph Index Map in the environment of the Presentation Process which is identified by the value of the GLYPH INDEX MAP IDENTIFIER, a structure warning shall occur. If the intended Indexed Font or Glyph Index Map cannot be found, the selected Indexed Font may contain no glyphs at all which are identified by the Glyph Identifiers in the Glyph Index Map used, or the glyph images generated may not be those intended by the document creator.

    COMPOSITE FONT SPECIFICATION

    A COMPOSITE FONT SPECIFICATION structure element shall be a composite structure element which shall have the following immediate subordinates:

    • one FMAPTYPE structure element;
    • zero or one FMAPTYPE PARAMETERS LIST structure element;
    • one FONT INDEX MAP structure element;
    • one FONT LIST structure element.

    The immediate subordinates shall occur in the above order. If the value of FMAPTYPE is 6, the FMAPTYPE PARAMETERS LIST structure element shall be present.

    FMAPTYPE

    An FMAPTYPE structure element shall be a base structure element. The value of an FMAPTYPE structure element shall be of type Cardinal. The value shall be one of the values which identify one of the Composite Font Glyph Mapping algorithms defined in .

    FMAPTYPE PARAMETERS LIST

    An FMAPTYPE PARAMETERS LIST structure element shall be a composite structure element which shall have the following immediate subordinates:

    • zero or one ESCCHAR structure element;
    • zero or one SHIFTOUT structure element;
    • zero or one SHIFTIN structure element;
    • zero or one SUBSVECTOR structure element.

    The immediate subordinates may occur in any order. If the value of FMAPTYPE is 6, the SUBSVECTOR structure element shall be present.

    ESCCHAR

    An ESCCHAR structure element shall be a base structure element. The value of an ESCCHAR structure element shall be of type Cardinal. The value of an ESCCHAR structure element shall be between 0 and 255 inclusive.

    SHIFTOUT

    A SHIFTOUT structure element shall be a base structure element. The value of a SHIFTOUT structure element shall be of type Cardinal. The value of a SHIFTOUT structure element shall be between 0 and 255 inclusive.

    SHIFTIN

    A SHIFTIN structure element shall be a base structure element. The value of a SHIFTIN structure element shall be of type Cardinal. The value of a SHIFTIN structure element shall be between 0 and 255 inclusive.

    SUBSVECTOR

    A SUBSVECTOR structure element shall be a base structure element. The value of a SUBSVECTOR structure element shall be of type Octet String.

    FONT INDEX MAP

    A FONT INDEX MAP structure element shall be a composite structure element whose immediate subordinates shall consist of:

    • one FONT INDEX MAP SIZE structure element;
    • one or more INDEX VALUE structure elements.

    The immediate subordinates shall occur in the above order.

    FONT INDEX MAP SIZE

    A FONT INDEX MAP SIZE structure element shall be a base structure element. The value of a FONT INDEX MAP SIZE structure element shall be of type Cardinal.

    INDEX VALUE

    An INDEX VALUE structure element shall be a base structure element. The value of an INDEX VALUE structure element shall be of type Cardinal. The number of INDEX VALUE structure elements shall be the same as the value of the MAP SIZE structure element.

    FONT INDEX MAP Processing

    The processing of a FONT INDEX MAP shall consist of creating an Encoding Vector, as defined in , whose elements have the same values as the values of the corresponding INDEX VALUE structure elements. The value of the first INDEX VALUE becomes the first element of the Vector, the value of the second INDEX VALUE becomes the second element of the Vector, etc..

    FONT LIST

    A FONT LIST structure element shall be a composite structure element which shall have the following immediate subordinates:

    • one or more FONT SPECIFICATION structure elements.

    COMPOSITE FONT SPECIFICATION Processing

    The processing of a COMPOSITE FONT SPECIFICATION shall consist of creating a Composite Font Dictionary, as defined in , for which

    • the value of FontType is <0: Integer>;
    • the value of FontMatrix is the identity transformation;
    • the value of FMapType is the value of the FMAPTYPE structure element;
    • the value of EscChar is the value of the value of the ESCCHAR structure element which is subordinate to the subordinate FMAPTYPE PARAMETERS LIST if present, or equal to 255 if no such structure element is present;
    • the value of ShiftOut is the value of the value of the SHIFTOUT structure element which is subordinate to the subordinate FMAPTYPE PARAMETERS LIST if present, or equal to 14 if no such structure element is present;
    • the value of ShiftIn is the value of the value of the SHIFTIN structure element which is subordinate to the subordinate FMAPTYPE PARAMETERS LIST if present, or equal to 15 if no such structure element is present;
    • the value of SubsVector is the value of the value of the SUBSVECTOR structure element which is subordinate to the subordinate FMAPTYPE PARAMETERS LIST if present, or is not present if no such structure element is present;
    • the value of an Encoding is a VectorReference which references the Encoding Vector defined by the immediately subordinate FONT INDEX MAP as specified in ;
    • the value of FDepVector is a reference to a Vector of Indexed Fonts, where the Indexed Fonts are generated by processing each of the FONT SPECIFICATION structure elements which are immediately subordinate to the FONT LIST, in turn.

    The Indexed Font defined by the COMPOSITE FONT SPECIFICATION shall be the Indexed Font defined by this Composite Font Dictionary. If the number of FONT SPECIFICATION structure elements subordinate to the FONT LIST is less than the maximum index value in the identified Font Index Map, then Content Processing errors may occur if larger Font Index values are generated during the use of the Composite Indexed Font, as specified in .

    USER FONT SPECIFICATION

    A USER FONT SPECIFICATION structure element shall be a composite structure element which shall have the following immediate subordinates:

    • one or more TOKENSEQUENCE structure elements.

    The processing of a USER FONT SPECIFICATION shall consist of:

    1. Calling the Content Processor with:
      • a content value which is obtained by concatenating the values of the TOKENSEQUENCE structure elements which are immediately subordinate to the USER FONT SPECIFICATION;
      • a Context of Interpretation which is obtained from the Block State of the most immediately superior BLOCK as specified in ;
    2. Upon completion of content processing, verifying that the element on the top of the Operand Stack of the Virtual Machine State of the Context of Interpretation returned by the Content Processor is a DictionaryReference.

    The Indexed Font defined by USER FONT SPECIFICATION shall be the Indexed Font defined by the Indexed Font Dictionary defined in step b.

    A structure error shall occur if element on the top of the Operand Stack of the virtual machine state of the Context of Interpretation returned by the Content Processor is not a DictionaryReference, or if the status returned by the Content Processor is other than OK.

    GLYPH INDEX MAP SPECIFICATION

    A GLYPH INDEX MAP SPECIFICATION structure element shall be a composite structure element which shall have the following immediate subordinates:

    • one GLYPH INDEX MAP SIZE structure element;
    • one GLYPH IDENTIFIER LIST structure element.

    The immediate subordinates shall occur in the above order.

    GLYPH INDEX MAP SIZE

    A GLYPH INDEX MAP SIZE structure element shall be a base structure element. The value of a GLYPH INDEX MAP SIZE structure element shall be of type Cardinal.

    GLYPH IDENTIFIER LIST

    The GLYPH IDENTIFIER LIST structure element shall be a composite structure element which shall have the following immediate subordinates:

    • one or more GLYPH IDENTIFIER structure elements.

    The size of the GLYPH IDENTIFIER LIST shall be the same as the value of the most immediately superior MAP SIZE structure element. The value of each GLYPH IDENTIFIER structure element shall be of type Glyph Identifier.

    GLYPH INDEX MAP SPECIFICATION Processing

    The processing of a GLYPH INDEX MAP SPECIFICATION shall consist of creating an Encoding Vector as defined in . For each index value n between 0 and the value of GLYPH INDEX MAP SIZE minus 1, the value of the element of the Encoding Vector whose index is n shall be generated as specified in .

    The Glyph Index Map defined by the GLYPH INDEX MAP SPECIFICATION shall be the Glyph Index Map defined by the above Encoding Vector.

    Standard Glyph Index Maps

    Standard Glyph Index Maps are defined in . The Object Names for which Public Object Identifier values which identify Glyph Index Maps are defined by this International Standard, and the Glyph Index Maps identified by those values, are shown in . Object NameGlyph Index Map GlyphIndexMap::Latin1PublishingLatin 1 Publishing GlyphIndexMap::Latin1PublishingALatin Publishing (A) GlyphIndexMap::IR::nnnnAlgorithmic Glyph Index Map "nnn ", where "nnn" is either "0" or a sequence of decimal digits beginning with a non-zero digit