ISO/IEC JTC 1/SC 34 Nxxxx
SC34/WG2 N421

Date:  2011-09-29


ISO/IEC FDIS 9541-1  2nd edition

ISO/IEC JTC 1/SC 34/WG 2
Secretariat:  JISC




Information technology — Font information interchange — Part 1: Architecture

Technologies de I'information — Échange d'informations sur les fontes — Partie 1: Architecture



Warning

This document is not an ISO International Standard. It is distributed for review and comment. It is subject to change without notice and may not be referred to as an International Standard.

Recipients of this draft are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.






Copyright notice

This ISO document is a Draft International Standard and is copyright-protected by ISO. Except as permitted under the applicable laws of the user's country, neither this ISO draft nor any extract from it may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, photocopying, recording or otherwise, without prior written permission being secured.

Requests for permission to reproduce should be addressed to either ISO at the address below or ISO's member body in the country of the requester.

ISO copyright office
Case postale 56 · CH-1211 Geneva 20
Tel  + 41 22 749 01 11
Fax  + 41 22 749 09 47
E-mail  [email protected]
Web  www.iso.org
Reproduction may be subject to royalty payments or a licensing agreement.

Violators may be prosecuted.







Contents

Foreword
Introduction
1 Scope
2 Normative references
3 Definitions
4 Notation
5 Data types
5.1 General
5.2 Properties and property-lists
5.3 Values and value-lists
5.4 Stractured-names
5.5 Formal notation
6 Glyph identification
6.1 General
6.2 ISO/IEC 10036 glyph names
6.3 ISO/IEC 10036 glyph registration authority
7 Glyph collection identification
7.1 General
7.2 ISO/IEC 10036 glyph collection names
7.3 ISO/IEC 10036 glyph collection registration authority
8 Font resource
8.1 General
8.2 Glyph coordinate system
8.3 Linear scaling model
8.4 Extensibility
8.5 Specification of font resource name
8.6 Description of font resource description properties
8.7 Specification of font resource modal properties
8.8 Specification of font resource glyph metrics properties
8.9 Specification of font resource extended properties
8.10 Specification of Interlinear/intercharacter object properties
Annex A Typeface design grouping (normative)
Annex B Font concepts (informative)
B.1 General
B.2 Font resource environment
B.3 Application environment
Annex C Examples of property specification for typical interlinear/intercharacter objects (informative)
C.1 Ruby
C.2 Kendot
C.3 Return Mark
C.4 Added Characters
Annex D Examples of rendered images of typical interlinear/intercharacter objects (informative)
D.1 Ruby
D.2 Kendot
D.3 Return Mark and Added Characters



Foreword

ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the specialized system for worldwide standardization. National bodies that are members of ISO or IEC participate in the development of International Standards through technical committees established by the respective organization to deal with particular fields of technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.

International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.

The main task of the joint technical committee is to prepare International Standards. Draft International Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as an International Standard requires approval by at least 75 % of the national bodies casting a vote.

Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights. ISO/IEC 9541-1 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 34, Document description and processing languages.

This second edition cancels and replaces the first edition (ISO/IEC 9541-1:1991), of which it constitutes a minor revision. It also incorporates the following Amendments and Corrigenda:

ISO/IEC 9541 consists of the following parts, under the general title Information technology -- Font information interchange:



Introduction

The use of open networks for the interchange of documents in office and publishing environments has shown the need for a mechanism enabling the interchange of font information.

It is forseen that publishing and document technologies will merge and that this development will be facilitated by definition of a standard font resource architecture and a limited number of standard font resource interchange formats.

At the publication of ISO/IEC 9541-1/Amd.4 and ISO/IEC 9541-2:1991/Amd.2:2009, ISO/CO suggested developing the 2nd editions incorporating all the Amendments and Corrigenda. The editors and ISO/CO discussed and concluded that the 2nd editions of ISO/IEC 9541-1, 2 and 3 should be published after the publication of ISO/IEC 9541-1/Amd.4 and ISO/IEC 9541-2:1991/Amd.2:2009 and that the 2nd editions should incorporate all the Amendments and Corrigenda and include editorial changing syntax to XML(DSDL, ISO/IEC 19757-2) from SGML/DTD and ASN.1.



Information technology — Font information interchange — Part 1: Architecture


1 Scope

ISO/IEC 9541 defines a method of naming glyphs and glyph collections, independent of ant document encoding technique; it assumes that one or more methods of associating document encoding techniques with glyph identifies used in font resources will be provided by text processing systems.

This part of ISO/IEC 9541 specifies the architecture of a font resource, i.e., the font description, font metrics, plyph description and glyph metrics properties required for font references and the interchange of font resources.


2 Normative references

The following standards contain provisions which, through reference in this text, constitute provisions of this part of ISO/IEC 9541. At the time of publication, the editions indicated were valid. All standards are subject to revision, and parties to agreements based on this part of ISO/IEC 9541 are encouraged to investigate the possibility of applying the most recent editions of the standrds indicated below. Members of IEC and ISO maintain registers of currently valid International Standards.

ISO 646:1983, Information processing, — ISO 7-bit coded character set for information interchange.

ISO 3166:1988, Codes for the representation of names of countries.

ISO 6523:1984, Data interchange — Structures for the identification of organizations.

ISO/IEC 19757-2:2008, Information technology — Document Schema Definition Language (DSDL) — Part 2: Regular-grammar-based validation — RELAX NG.

ISO/IEC 9070:1991, Information technology — SGML support facilities — Registration procedures for public text owner identifiers.

ISO/IEC 9541-2:1991, Information technoogy — Font information interchange — Part 2: Interchange Format.

ISO/IEC 10036:1996, Information technology — Procedure for registration of glyph and glyph collection identifiers.


3 Definitions

For the purpose of this part of ISO/IEC 9541, the following definitions apply.

3.1 alignment line:

Imaginary line to which most glyph images of a font seem to align.

3.2 current position:

A point on the presentation surface at which the next glyph representation is to be imaged.

3.3 design size:

Absolute size at which a font is designed to be used.

3.4 escapement:

Movement of the current position on the presentation surface after a glyph representation is imaged.

3.5 escapement point:

A glyph metric; a point in the glyph coordinate system, to which the current position on the presentation surface is usually translated, after the glyph representation is imaged.

3.6 font:

A collection of glyph images having the same basic design, e.g., Courier Bald Oblique.

3.7 font family:

A collection of fonts of common design, e.g., Courier, Courier Bold, Courier Bold Oblique.

3.8 font metrics:

The set of dimensions and positioning information in a font resource common to all glyph representations contained in that font resource.

3.9 font reference:

The information about a font resource in an electronic document representation, and possible procedures and operations on that information, which identify or describe the desired font.

3.10 font resource:

A collection of glyph representation together with descriptive and font metric information which are relevant to the collection of glyph representations as a whole.

3.11 font size:

A scalar reference size relative to which most font metrics, glyph shapes and glyph metrics are specified.

3.12 glyph:

A recognizable abstract graphic symbol which is independent of any specific design.

3.13 glyph collection:

An identified set of glyphs.

3.14 glyph coordinate system:

A two-dimensional Cartesian coordinate system within which glyph shapes, glyph metrics, and font metrics are defined.

3.15 glyph image:

An image of a glyph, as obtained from a glyph representation displayed on a presentation surface.

3.16 glyph metrics:

The The set of information in a glyph representation used for defining the dimensions and positioning of the glyph shape.

3.17 glyph representation:

The glyph shape and glyph metrics associated with a specific glyph in a font resource.

3.18 glyph shape:

The set of information in a glyph representation used for defining the shape which represents the glyph.

3.19 kern:

The extension of a glyph shape beyond its position point or escapement point.

3.20 naming authority:

A portion of a hierarchical naming tree that unambiguously identifies an organizational entity responsible for naming.

3.21 position point:

A glyph metric; a point in the glyph coordinate system, usually translated to the current position on the presentation surface before the glyph shape is imaged.

3.22 posture:

The extent to which the shape of a glyph or set of glyphs appear to incline, including any consequent design or form change.

3.23 presentation surface

A virtual representation of a presentation medium (page, graphics display, etc.), maintained by the presentation process, on which all glyph shapes are to be imaged.

3.24 proporthonate width:

The ratio of a glyph's or set of glyphs' escapement to font hight.

3.25 stem:

The major stroke of a glyph shape.

3.26 weight:

The ratio of a glyph's or set of glyphs" stem width to font height.

3.27 writing mode:

An identified mode for setting of text in a writing system, usually corresponding to a nominal escapement direction of the glyphs in that mode, i.e., left-to-right, right-to-left or top-to-bottom.

3.28 body size:

The font size, measured along the y axis of the glyph coordinate system.

3.29 extended body size:

A reference size with two components, measured respectively along the x and y axes of the glyph coordinate system.

3.30 design frame:

Dimensional expression that specifies the are inside which a set of glyph images can be designed.

3.31 bounding box:

Dimensional expression to specify an actual area that a glyph image occupies within a design frame.

3.32 blackness:

The ratio of the blackened area of a glyph image to the extended body size area of the glyph image.

3.33 interlinear object:

Object between lines or objects inserted between lines.

3.34 intercharacter object:

Object between characters in the writing direction, which is the direction specified by WRMODENAME.

3.35 parent object:

Object with which an interlinear or intercharacter object is associated. This term is used when referring to the relationship between an interlinear/intercharacter object and the object with which the interlinear/intercharacter object is associated.

3.36 child object:

Interlinear or intercharacter object. This term is used when referring to the relationship between an interlinear/intercharactert object and the object with which the interlinear/intercharacter object is associated.

3.37 typeface class:

classification of typefaces for font referencing

3.38 kind:

application field (text, handwritten, decorative, symbol) of font for font referencing

3.39 serif style:

shape (cove, normal sans, rounded, no classification) of serif for font referencing


4 Notation

An extended version of Backus-Naur Form (BNF) notation is used to formally define the data types used throughout this part of ISO/IEC 9541 in a manner independent of the actual abstract data syntax used in the font interchange formats. By convention, basic data types are shown in uppercase.

The components of the extended BNF are:

aaa     rule syntactic element
::= rule definition
| element choice (or)
, element separator
[ ... ] optional element(s)
( ... ) group of elements
( ... )* 0 to n repeat of element(s) in group
( ... )+ 1 to n repeat of element(s) in group
" ... " literal element
-... comment
& unordered conjunction (and)

EXAMPLES

a) a ::= b, c: Element a is defined as/composed of the sequence of element b followed by element c (ordered list);

b) a ::= b | c: Element a is defined as either of the elements b or c;

c) a ::= (b | c), [d]: Element a is defined as the sequence of containing either of the elements b or c, optionally followed by the element d;

d) a ::= (b | c)*: Element a is defined as a sequence of 0 or more instances of either of the elements b or c;

e) a ::= (b, c, "foo")+: Element a is defined as a sequence of 1 or more instances of the sequence of the elements b, c and the literal "foo";

f) a ::= (b & c & [d]): Element a is defined as the sequence of b and c and d occurring in any order, where d is optional.

The formal data type definitions given in clause 8 identify the set of information that may be represented by all font information interchange formats that conform to this International Standard. There is no requirement that an interchange format follow the exact organization of data or structures represented in clause 8, as long as the general architectural principles of extensibility, backward and forward compatibility are not compromised. Each conforming interchange format is free to adopt the most efficient encoding mechanism available in its abstract syntax, and to place limits (not provided for in the BNF notation) on the frequency of property occurrence.

In particular, the actual names of properties and property-lists defined in ISO/IEC 9541 do not have to be encoded directly as data in an interchange format as long as the association between the names and values is maintained.

The fully qualified name of a property or property-list is given by the BNF definition of the structured property name for each property defined in clause 8. It is up to the parsing processes to expand the encoding-specific names into these fully qualified names for use by encoding-independent interfaces.


5 Data types

5.1 General

An elemental data type defines the basic unit of information represented in a font resource for which there is no further part 1 subdivision. A complex data type is a grouping of elemental data types which are used as basic building blocks.

This clause defines the elemental and complex data types used throughout this part of ISO/IEC 9541. The formal syntax and method of encoding these data types are defined in the font information interchange format specified in ISO/IEC 9541-2.

5.2 Properties and property-lists

The principal data type used to represent font resource information is a property. Conceptually, a property is defined to be a name type value tuple, where: name is the unambiguous property name; type is the data type of the property value; and value is the value of the property, the meaning and interpretation of which is specified by the property name and the context in which the property is used.

The font resource properties specified in clause 8 of ISO/IEC 9541 include precise definitions of data type. As a result, the property name is also a specification of the data type and meaning of the corresponding property value. The data type of non-ISO properties, however, shall be explicitly defined using the elemental and complex data types defined in this clause.

For example, a property for identifying the font family name used in a font resource might have a property name FONTFAMILY, whose value is defined to be of data type name, where a particular property value instance might be Courier.

Properties may be grouped together according to the class of object they are associated with into property-lists. A property-list is a set of zero or more properties of an object, all with property names of the same class. Often a class of property names is created specifically for the purpose of naming the objects in a particular type of property-list. For example, the property names WEIGHT and POSTURE might belong to the class of font resource property names created specifically to name descriptive font resource properties.

The value of a property may be itself a property-list (i.e., the data type is property-list) so that one property-list is effectively nested inside another. In general, this nesting may be repeated indefinitely, so as to permit creation of arbitrarily complex hierarchical data structures. In practice, however, the depth of nesting is usually restricted according to the context in which a particular property is defined.

Property-lists, ordered or unordered as appropriate, allow for the definition and general extensibility of both ISO and non-ISO font resource data. A non-ISO property is any font resource property not defined by ISO/IEC 9541.

5.3 Values and value-lists

Each property has an associated value. A value may be terminal, i.e., it represents a simple data type such as integer, it may be a list of values of such simple data types (a value-list), or it may be itself a property-list.

As opposed to property-lists, value-lists are used wherever the content of a property can be prescribed; ordered value-lists are used whenever the exact order of the property values can be prescribed.

The data types of each property value defined in a conforming font resource shall be specified to be one of the following:

5.3.1 property:

A name type value tuple data structure;

5.3.2 property-list:

A list of zero or more related properties, possibly the value of some other higher-level property, which may be specified to be ordered in a particular sequence;

5.3.3 value-list:

A list of zero or more property type value pairs, each usually of the same data type, which may be specified to be ordered in a particular sequence;

5.3.4 proprietary-data:

A data structure containing binary information that is not representable by data types defined in this part of ISO/IEC 9541. Such information is usually proprietary in nature, and is often protected by legal contract. It may be exchanged but will not be necessarily understood by all users of the font resource. Proprietary data contains:

5.3.5 match-string:

An ordered sequence of graphic character and possible character set control codes, of an identified character string universal class, as specified by ISO 8824, such string intended for matching;

5.3.6 message:

An ordered sequence of graphic character and possible character set control codes, of an identified character string universal class, as specified by ISO 8824, which constitute a human understandable message suitable for presentation to a user;

5.3.7 octet-string:

An ordered sequence of octets;

5.3.8 octet:

An 8-bit byte;

5.3.9 integer:

A signed integer number within the range -231 to 231 - 1 inclusive;

5.3.10 cardinal:

An unsigned integer number within the range 0 to 232 - 1 inclusive;

5.3.11 code:

A cardinal within the range 0 to 28 - 1 inclusive;

5.3.12 rational:

A signed rational number expressed as the ratio of two integers, i.e., a numerator/denominator. The denominator is within the range 1 to 231 - 1 inclusive;

5.3.13 rel-rational:

A rational number expressed relative to the glyph coordinate system unit divisor;

5.3.14 angle:

A rational number in degrees, within the range 0 inclusive to ±360 exclusive, rotated counter-clockwise around the origin of the the glyph coordinate system, as measured from the positive x axis;

5.3.15 structured-name:

A structured-name, see 5.4;

5.3.16 boolean:

A boolean value, one of TRUE or FALSE.

5.4 Structured-names

The main vehicle for naming used in ISO/IEC 9541 is a structured-name. A structured-name is an unambiguous identifier for some object suitable for representing that object within a decentralized, distributed computer system, invariant over space and time. The architecture of structured-names is defined in ISO/IEC 9070 and the interchange formats for structured-names are defined in Annex B of ISO/IEC 9541-2:1991.

The remainder of this clause defines the application of ISO/IEC 9070, to structured-names as used in ISO/IEC 9541. For notational convenience in ISO/IEC 9541, a structured-name is notated in the canonical form defined in ISO/IEC 9070:1991.

5.4.1 ISO/IEC 9541 and ISO/IEC 10036 names

ISO/IEC 9541 names are those structured-names with naming authority in the canonical form of "ISO/IEC 9541-1". All ISO/IEC 9541 names are reserved for definition by this part of ISO/IEC 9541. Examples include the font resource properties defined in clause 8 of this part. Portions of the structured-name may be omitted from ISO/IEC 9541 names where context establishes the fully qualified name, thereby leaving only the property name to be interchanged.

NOTE 1 The ASN.1 form of this naming authority is {1 0 9541 1}.

ISO/IEC 10036 names are those structured-names with naming authority in canonical form "ISO/IEC 10036/RA". All ISO/IEC 10036 names are reserved for definition by registries specifically authorized by ISO/IEC 10036. Examples include the glyph names and registry thereof defined in clause 6 of this part of ISO/IEC 9541. Portions of the structured-name may be omitted from structured ISO/IEC 10036 names where context establishes the fully qualified name, thereby leaving only the glyph or glyph collection name(s) to be interchanged.

NOTE 2 The ASN.1 form of this naming authority is {1 1 10036}.

The textual content of ISO/IEC 9541 names and ISO/IEC 10036 names contained in conforming font resources shall be encoded according to the ISO 646 IRV coded character set.

NOTE 3 The character repertoire of ISO/IEC 9541 names and ISO/IEC 10036 names is defined in ISO/IEC 9541-2, Annex B.

NOTE 4 ISO/IEC 9541 names and ISO/IEC 10036 names are so reserved as to provide a set of structured-names which are most widely recognized and supported, while still allowing a distributed naming capability to those who wish to use it. Particular classes of font-related objects and names are defined in the appropriate clauses of this part of ISO/IEC 9541 and in accordance with ISO registration procedures.

NOTE 5 While structured property names, structured glyph collection names and structured glyph names other than those registered as ISO/IEC 9541 or ISO/IEC 10036 names, respectively, are generally supported by the architecture defined here, their meaning is not defined by ISO/IEC 9541.

5.4.2 ICD0010 names

ICD0010 names are those structured-names created by organizations registered with naming authority "ICD0010", whose organizational codes shall consist solely of numbers. All ICD0010 names are reserved for definition by registries specifically authorized by a type industry professional organization naming authority operating under ISO 6523 and having ICD value 0010 in its SIO.

NOTE 6 The ASN.1 form of this naming authority is {1 3 10}.

It is recommended, although not required, that the ICD0010 naming authority be used to register organizations wishing to create registries of font resource information for the purposes of font information interchange. For example, for organization XYZ to create the font resource name "ICDOO10/1234//FontNames::Garamond-Bold-ltalic-Condensed", the object name naming authority 1234 must be issued by naming authority ICD0010 to organization XYZ.

5.5 Formal notation

The formal definition for ISO/IEC 9541 data types is given by the following BNF notation:

 
property ::= property-name, [property-type,] property-value
property-name ::= STRUCTURED-NAME 
property-type ::= -- coded ISO/IEC 9541 data type identifier, one of: 
                     property-list, ordered-property-list, 
                     value-list, ordered-value-list, BOOLEAN, 
                     STRUCTURED-NAME, MATCH-STRING, MESSAGE, 
                     OCTET-STRING, OCTET, INTEGER, CARDINAL, CODE, 
                     RATIONAL, REL-RATIONAL, ANGLE, PROPRIETARY-DATA 
property-value ::= value | complex-value
complex-value ::= value-list | ordered-value-list | 
                   property-list | ordered-property-list 
value-list ::= (value)* -- unordered
ordered-value-list ::= (value)* -- ordered
property-list ::= (property)* -- unordered 

ordered-property-list ::= (property)* -- ordered
value ::= BOOLEAN | STRUCTURED-NAME |
          MATCH-STR¨HNG | MESSAGE | OCTET-STRING | 
          OCTET | INTEGER | CARDINAL | CODE | RATIONAL |
          REL-RAT¨HONAL | ANGLE | PROPRIETARY-DATA 
BOOLEAN ::= -- a boolean value, one of TRUE or FALSE
STRUCTURED-NAME ::= -- see 5.4
MATCH-STRING ::= -- An ordered sequence of graphic character and 
                 possible character set control codes, of an identified 
                 character string universal class, as specified by  
                 ISO 8824, intended for matching
MESSAGE ::= -- An ordered sequence of graphic character and 
               possible character set control codes, of an identified 
               character string universal class, as specified by
               ISO 8824, intended for presentation to a user 

OCTET-STRING ::= (OCTET)*
OCTET ::= -- 8-bit byte 
INTEGER ::= -- a signed integer number, -231 to 231 -1 inclusive
CARDINAL ::= -- an unsigned integer number, 0 to 232 -1 inclusive 
CODE ::= -- a coded, unsigned integer number, 0 to 28 -1 inclusive
RATIONAL ::= numerator[, denominator] -- denominator defaults to 1 
REL-RATIONAL ::= numerator[, denominator] -- denominator defaults to value of glyph 
                 coordinate system unit divisor or 1 if that divisor is not defined 
ANGLE ::= numerator, [denominator] -- an angle, in degrees, 
          0 to ±360 exclusive, rotated counter-clockwise around
          from the positive x axis 
PROPRIETARY-DATA ::= [proprietary-data-message,]
                     [proprietary-data-key,]
                     proprietary-data-blackbox 
numerator ::= -- a signed interger number, -231 to 231 1 inclusive
denominator ::= -- a signed integer number, 1 to 231 -1 inclusive
proprietary-data-message ::= MESSAGE
proprietary-data-key ::= OCTET-STRING 
proprietary-data-blackbox ::= OCTET-STRING 


6 Glyph identification

6.1 General

Glyphs are distinguished by their design-independent shape and their description (e.g., "||" - double bracket, open, piece extender; "||" - center box bar, double vertical). In the general case, glyphs are identified by a structured glyph name, according to the definition of structured-names in clause 5. For example, "ICD0010/1234//A" or "ICD0010/1234//789" might be a name for the capital Latin "A" glyph, at the discretion of naming authority XYZ.

This method of naming is not intended to establish any particular encoding for strings of glyph names, particularly not an encoding where the complete structured glyph name including the registered naming authority object identifier must be encoded for every glyph.

When referencing glyphs with intersecting descriptions, users are generally advised to use the the most specific appropriate glyph available in order to maintain unique glyph identification. For example, use hyphen rather than hyphen-minus if hyphen is intended.

6.2 ISO/IEC 10036 glyph names

ISO/IEC 10036 glyphs are those glyphs named by structured-names for which the owner name identifies the registration authority authorized by ISO/IEC 10036. ISO/IEC 10036 glyph identification has the objective of generating a unique, unambiguous glyph identifier for each glyph defined and used in the world. These glyph identifiers are to be distinct for each combination of glyph shape and description, but will not be different for each design variation. This establishes a structure and registry for identification of ISO/IEC 10036 glyphs.

ISO/IEC 10036 glyphs are identified by structured-names for which the equivalent canonical character string form is "ISO/IEC 10036/RA//Glyphs::nnnn"; where "ISO/IEC 10036/RA" is the Owner Name, "Glyphs" is the first Object Name Component of the Object Name, and "nnn"is a sequence of decimal digits beginning with a non-zero digit, which represents an integer in the range of 1 to 232 - 1.

6.3 ISO/IEC 10036 glyph registration authority

For the purposes of ISO/IEC 9541 and according to the rules for the designation and operation of registration authorities in the ISO/IEC JTC1 Directives, the ISO and IEC Councils shall designate an organization to act as the ISO/IEC 10036 glyph registration authority. The name and address of the registration authority and the registration procedures are to be found in ISO/IEC 10036.


7 Glyph collection identification

7.1 General

A glyph collection is an identified set of glyphs, defined by enumeration of the structured-names of the glyphs in the collection. In the general case, glyph collections are identified by a structured glyph collection name, according to the definition of structured-names in 5.4. For example, "ICD001O/1234//WesternEuropean" or "ICDOO10/1234//6789" might be a name for the Western European glyph collection, at the discretion of naming authority XYZ.

Some or all of the glyphs of a collection might or might not be ISO/IEC 10036 glyphs. However, wherever practical, users are advised to use ISO/IEC 10036 glyphs in defining collections. Further, the structured glyph collection name might or might not be an ISO-registered name. However, wherever practical, users are advised to use ISO/IEC 10036 glyph collections, and composite collections based on ISO/IEC 10036 glyph collections and ISO/IEC 10036 glyphs.

7.2 ISO/IEC 10036 glyph collection names

ISO/IEC 10036 glyph collections are those glyph collections named by structured-names for which the owner name identifies the registration authority authorized by ISO/IEC 10036. ISO/IEC 10036 glyph collections shall consist solely of ISO/IEC 10036 glyphs. Definition of ISO/IEC 10036 glyph collections has the objective of establishing a relatively few widely recognized collections which serve as the basis for efficient generation and use of fonts. The remainder of this clause establishes a structure and registry for identification of ISO/IEC 10036 glyph collections.

ISO/IEC 10036 glyph collections are identified by structured-names for which the equivalent canonical character string form is "ISO/IEC 10036/RA//Collections::nnnn"; where "ISO/IEC 10036/RA" is the Owner Name, "Collections" is the first Object Name Component of the Object Name, and "nnnn" is a squence of decimal digits beginning with a non-zero digit, which represents an integer in the range 1 to 232 - 1.

7.3 ISO/IEC 10036 glyph collection registration authority

For the purposes of ISO/IEC 9541 and according to the rules for the designation and operation of registration authorities in the ISO/IEC JTC1 Directives, the ISO and IEC Councils shall designate an organization to act as the ISO/IEC 10036 glyph collection registration authority. The name and address of the registration authority and the registration procedures are to be found in ISO/IEC 10036.


8 Font resource

8.1 General

A font resource is composed of an arbitrary number of ISO and non-ISO font properties and is unambiguously identified by its device-independent font resource name. The properties of a font resource are defined by a property-list whose property names are structured font resource property names. For example, CAPHEIGHT might be a font resource property name whose corresponding value is a distance in the glyph coordinate system. At the discretion of the font resource supplier, the same font resource name may be assigned to multiple font resources which are equivalent (e.g., containing corrections or additions which do not impact the compatibility of the resource).

The font resource data structure groups writing-mode-dependent properties into sets of values on a per-writing-mode basis, referred to as modal properties. Most glyph and font metrics are specified as modal properties. A font resource may also contain a set of descriptive properties, referred to as description properties, that describe the glyph representations of the resource globally, independent of a particular writing mode. Glyph shape-specific information is grouped into a set of shape properties, referred to as glyph shape representation properties (see ISO/I EC 9541-3).

The structure of a font resource is as follows (where indentation denotes structure nesting):

   Font resource name property 
   Description property-list 
   Modal property-list 
      Writing mode property-list(s) 
         Glyph metrics property-list(s) 
   Glyph shape representations property-list(s) 

While a particular instance of a font resource may contain all the property-lists described above, it is not required to do so. Font suppliers, processing systems or applications may require that a font resource be partitioned into subsets for practical or contractual reasons. For the purposes of ISO/IEC 9541, however, a font resource is viewed conceptually as containing all the property-lists described above.

ISO/IEC 9541 font resource properties are those font resource properties with structured font resource property names having naming authority "ISO/IEC 9541-1".

Within a font resource, a font resource definer should generally supply as many font resource properties as is practical, so that users can make fullest use of the resource.

The remainder of this clause defines the font resource description and modal properties, giving the type and meaning of the corresponding property values. Unless otherwise specified, all dimensions and locations are given in the glyph coordinate system independent of imaging device or shape representation technology.

NOTE 7 It is possible, although not advised, for an otherwise valid font resource to contain font resource property values which are inconsistent with other font resource property values. For example, it is possible for a font resource to contain a POSTURE property with a value of italic even though some or all of the glyphs in the font resource are in fact not of italic design.

8.1.1 Font resource name

The font resource name propety specifies an unambiguous identifier to refer to all information contained in a particular font resource.

The font resource name propertyis specified in 8.5.

8.1.2 Font resource description properties

The description property-list contains those font resource properties that characterize the font resource as a whole, independent of writing mode, including such properties as font family, weight, posture, glyph complement, etc.

The description property-list is specified in 8.6, and is of general interest to font selection, substitution and document composition rocesses.

8.1.3 Font resource modal properties

The font resource architecture described here supports multiple writing modes, but has only one set of values for description properties and glyph shapes. Much of the font metric information is dependent upon writing mode. Therefore the structure of a font resource distinguishes which properties are writing-mode-dependent from those that are not, and provides for the identification of which property values are associated with which writing mode.

Font resource description and modal property-lists taken together are commonly referred to as the metrics of a font resource, and are of general interest to document composition processes. The modal properties are also used by presentation processes to position the glyph shape representations on the presentation surface.

8.1.3.1 Writing mode properties

The writing mode properties describe the limits and measures for the font resource according to a given writing mode.

The writing mode properties are specified in 8.7.

8.1.3.2 Glyph metrics properties

The glyph metrics property-list contains the glyph description and metrics information that give the extents, escapement and other measures for individual glyphs on a per-writing-mode basis.

The glyph metrics property-list is specified in 8.8.

8.1.4 Glyph shape representation properties

The glyph shape representation property-list contains the set of glyph shape representation and technology-specific information of the font resource, independent of writing mode.

The glyph shape representation property-list is specified in ISO/IEC 9541-3 and is of general interest to presentation processes.

8.1.5 Formal data type definition of a font resource

The formal data type definition of a font resource in BNF notation is given below:

fontresource ::= [fontname-property,] 
                 [fontdescription-property-list,] 
                 [wrrnodes-property-list,] 
                 [shapes-property-list,] 
                 [property-list] 

It is recommended, although not required, that non-ISO properties and property-lists be nested in one of the property-lists defined in ISO/IEC 9541 wherever possible.

Throughout the remainder of c1ause 8, the formal data type definition in BNF notation is given with each property and property-list defined in the clause.

8.2 Glyph coordinate system

Glyph shapes and metrics are defined with respect to a single two-dimensional Cartesian coordinate system, called the glyph coordinate system, with positive x axis pointing to the right and positive yaxis pointing up. AII directions, e.g., horizontal or vertical, are given here with respect to the glyph coordinate system, not the presentation surface or document coordinate system. Technology-specific shape descriptions may be defined with respect to a technology-specific shape coordinate system; such descriptions refer to the glyph coordinate system by appropriate specification of the relationship between the technology-specific shape coordinate system and the reference glyph coordinate system.

Font resource definers are strongly encouraged to follow the convention that, in the glyph coordinate system, glyphs are upright, i.e., what is usually the top of the glyph is oriented in the positive y direction.

Within the glyph coordinate system, dimensions are specified as a ratio to the body size of the glyph. Body size is a scalar reference size, often expressed as an integral number of unit sub-divisions equivalent to the x, y grid employed to digitize the font resource, relative to which most metric information of that font resource and its glyph shapes are specified. The glyph coordinate system, therefore, may be continuous or discrete, as indicated by the relative rational units divisor property, which specifies the number of relative rational units equal to the body size (see the RELUNITS) property, 8.6.7.

Distances are specified as unsigned ratios to the body size. Locations are specified as signed x and y coordinates, each coordinate a ratio to the body size, generally specified relative to the origin of the glyph coordinate system. See figure 1.

NOTE 8 The sizes of typographic fonts are traditionally specified in terms of body size, by height measured in printing points or millimeters, so that dimensions may naturally be specified relative to their body size. For fonts whose sizes are not normally specified in terms of body size, e.g., office fonts whose size is usually given in terms of horizontal pitch, the font resource definer must assign some reasonable body size relative to which dimensions may then be specified in the glyph coordinate system; for example, the font Courier 10 pitch, being usually printed 6 lines to the inch, might be assigned a body size equivalent to 1/6 inch for this purpose.


Figure 1 - Glyph coordinate system showing a typical Latin glyph in the LEFT-TO-RIGHGT writing mode

8.3 Linear scaling model

A fundamental aspect of the the font model described in ISO/IEC 9541 is the ability to apply linear geometric transformations to metric and shape representation information contained in a font resource.

Positions and distances in the glyph coordinate system (e.g., glyph position and escapement points, average escapement, etc.) scale uniformly in proportion to the body size of the font resource. For example, a distance that is defined as one-half the body size will be 5 mm at a font size of 10 mm and 50 mm at a font size of 100 mm. All scaling is performed with respect to the origin of the glyph coordinate system.

Anamorphic scaling, i.e., non-uniform scale factors in x and y, may be applied to a font resource according to the limits imposed by the minimum and maximum anamorphic scale factor modal properties (see MINANASCALE and MAXANASCALE, 8.7.1.15). In this case, the x and y components of positions and distances are scaled by their independent x, y scale factors, respectively. Let Sx,y be the x and y components of the scale factor, Px,y and Dx,y be the x and y components of a point and a distance in the glyph coordinate system, respectively; then the scaled point and distance can be represented by:

P'x,y = Sx,y × Px,y

D'x,y = Sx,y × Dx,y

Where warranted, multiple font resource masters of a font design may be defined by a font supplier in order to more faithfully reproduce the size-dependent shape and possible metric variations inherent in certain typeface designs, through the appropriate application of the minimum, design and maximum font size description properties (see DSNSIZE, MINSIZE and MAXSIZE, 8.6.17). Each such font resource continues to follow the linear scaling model presented here over the continuous range of body sizes defined from MINSIZE, inclusive, to MAXSIZE, inclusive.

In general, non-linear scaling artifacts will be introduced from one font resource master to another. Creators of such font resources are strongly encouraged to incorporate some indication of the intended usage of a master in its font resource name, e.g., Notes, Book, Display, etc., to maintain an unambiguous font resource name space (see FONTNAME property, 8.5). Composition processes using such font resources are advised to treat each master as a logically distinct font resource, which although of the same font family, has independent metric and shape representation information.

8.4 Extensibility

As font resource interchange and processing evolves, new features will require new representations in ISO/IRC 9541. As ISO/IEC 9541 will be supported by current and future versions of multiple standards and products developed in conformance with those standards, the font resource architecture defined here is designed to support the reasonable extension of both ISO and non-ISO font resource information. Such extensions shall be made as amendments according to established ISO procedures.

Extensions to ISO/IEC 9541 shall be made in a way that is both forward and backward compatible with the current version of ISO/IEC 9541. An extension is backward compatible if and only if it can be shown that robust implementations conforming to an older version of ISO/I EC 9541 may process without modification font resources that conform to newer versions of ISO/IEC 9541. An extension is forward compatible if and only if it can be shown that any future robust implementation conforming to some future version of ISO/IEC 9541 will be able to process without modification font resources that conform to the existing version of ISO/IEC 9541.

In order to assure backward compatibility, future amendments to ISO/IEC 9541 shall be restricted to the addition of new or partially redundant properties rather than the semantic modification of existing properties. In such cases, the standard version information description property value shall be updated to reflect the amendment (see the standard version information property (STANDARDVERSION), 8.6.2). Forward compatibility is assured by the property-list architecture described herein.

Consumers of font resources are advised to ignore non-ISO properties whose property name or data type is unknown or not locally supported, but are strongly encouraged to make such unaltered data available to third parties during general font resource interchange.

8.5 Specification of font resource name (FONTNAME)

FONTNAME is a structured-name, the device-independent name of the font resource, as assigned by the data source (DATASOURCE).

fontname-property ::= fontname-name, fontname-value 
fontname-name ::= STRUCTURED-NAME 
                     -- ISO/IEC 9541-1//FONTNAME
fontname-value ::= STRUCTURED-NAME

NOTE 9 The FONTNAME property provides an unambiguous method for identifying a given font resource across space and time, within a potentially large decentralized database of the world's font resources.

8.6 Description of font resource description properties (FONTDESCRIPTION)

FONTDESCRIPTION is a property-list. specifying all the properties that globally describethe font resource, independent of a particular writing mode or how the glyph shapes may be represented.

fontdescription-property-list ::= fontdescription-name, 
                                  fontdescription-value-property-list
fontdescription-name ::= STRUCTURED-NAME
                     -- ISO/IEC 9541-1//FONTDESCRIPT¨HON
fontdescription-value-property-list ::=
                     (dataversion-property | standardversion-property |
                      datasource-property | datacopyright-property |
                      dsnsource-property | dsncopyright-property | 
                      relunits-property | typeface-property |
                      fontfamily-property | posture-property |
                      postureangle-property | weight-property | 
                      propwidth-property | structure-property |
                      dsngroup-property | glyphcomp-property-list |
                      dsnsize-property | minsize-property | 
                      maxsize-property | capheight-property |
                      lcheight-property | minfeatsz-property |
                      nomcapstemwidth-property | nomlcstemwidth-property |
                      nomwrmode-property | property-list)* 

The remainder of this clause defines the ISO/IEC 9541 font resource description properties. The order of the description properties as shown here is for convenience only; no order is assumed.

8.6.1 Data Vetsion (DATAVERSION)

DATAVERSION is an ordered-value-list of three values giving the version information for the font resource data. It is composed of two cardinals: the major and minor version number of the data, respectively, and an ISO 8824 Universal Time String, the timestamp of the last update to the data.

dataversion-property ::= dataversion-name, dataversion-value-value-list
dataversion-name ::= STRUCTURED-NAME
                     -- ISO/IEC 9541-11/DATAVERSION
dataversion-value-value-list ::= dataversion-major,
                                 dataversion-minor, 
                                 dataversion-timestamp
dataversion-major ::= CARDINAL
dataversion-minor ::= CARDINAL
dataversion-timestamp ::= -- ISO 8824 Universal Time String 

8.6.2 Standard Version (STANDARDVERSION)

STANDARDVERSION is a cardinal giving the version information of ISO/IEC 9541 that the font resource structure conforms to, as assigned by ISO/IEC 9541-1. Typically, this value is defined to be the year that the standard or an amendment to the standard is published, e.g., 1991.

standardversion-property ::= standardversion-name, standardversion-value
standardversion-name ::= STRUCTURED-NAME
                     -- ISO/IEC 9541-1//STANDARDVERSION 
standardversion-value ::= CARDINAL 

8.6.3 Data Source (DATASOURCE)

DATASOURCE is a structured-name, the name of the supplier of the font resource data, or if different, the name of the organization that last modified the information contained in the font resource.

datasource-property ::= datasource-name, datasource-value 
datasource-name ::= STRUCTURED-NAME 
                    -- ISO/IEC 9541-1//DATASOURCE 
datasource-value ::= STRUCTURED-NAME 

8.6.4 Data Copyright (DATACOPYRIGHT)

DATACOPYRIGHT is a message, the copyright information of the legal owner of the digital font data as represented in the font resource.

datacopyright-property ::= datacopyright-name, datacopyright-value
datacopyright-name ::= STRUCTURED-NAME
                     -- ISO/IEC 9541-1//DATACOPYRIGHT
datacopyright-value ::= MESSAGE 

NOTE 10 Data copyright information may be a required component of a font resource by law or contract, independent of the particular encoding or possible storage format used to represent that information.

8.6.5 Design Source (DSNSOURCE)

DSNSOURCE is a structured-name, the organizational name of the typeface design source.

dsnsource-property ::= dsnsource-name, dsnsource-value
dsnsource-name ::= STRUCTURED-NAME
                 -- ISO/IEC 9541-1//DSNSOURCE
dsnsource-value ::= STRUCTURED-NAME 

8.6.6 Design Copyright (DSNCOPYRIGHT)

DSNCOPYRIGHT is a message, the copyright information of the legal owner of the typeface design as represented in the font resource.

dsncopyright-property ::= dsncopyright-name, dsncopyright-value
dsncopyright-name ::= STRUCTURED-NAME
                    -- ISO/IECC 9541-1//DSNCOPYRIGHT
dsncopyright-value ::= MESSAGE 

NOTE 11 Typeface design and trademark protection laws vary from country to country. As with the data copyright (DATACOPYRIGHT), design copyright information may be a required component of a font resource by law or contract, independent of the particular encoding or possible storage format used to represent that information.

8.6.7 Relative Rational Units (RElUNITS)

RELUNITS is a cardinal, the number of relative units equal to the body size of the font resource, as measured along the yaxis of the glyph coordinate system.

relunits-property ::= relunits-name, relunits-value 
relunits-name ::= STRUCTURED-NAME
                -- ISO/IEC 9541-1//RELUNITS 
relunits-value ::= CARDINAL

NOTE 12 If supplied in a font resource, the RELUNITS property gives the number of discrete glyph coordinate system units equal to the body size, which constitutes the denominator of those properties of the font resource with data type relrational. If not supplied, this implies a continuous unit coordinate space where all measurements are expressed as rational numbers; in this case most properties that use the rel-rational data type will supply both a numerator and denominator. For font resource implemen1ation consistency and for font reference comparison efficiency it is recommended that all font resources specify the Relative Rational Units, and use that specified value as the denominator for all Relative Rational values. For consistency with existing industry practice, it is recommended that a value of 1 000 be used for the Relative Rational Units.

8.6.8 Typeface Name (TYPEFACE)

TYPEFACE is a message, the full name of the typeface design of the font resource.

typeface-property ::= typeface-name, typeface-value
typeface-name ::= STRUCTURED-NAME
                -- ISO/IEC 9541-1//TYPEFACE
typeface-value ::= MESSAGE

NOTE 13 The value for the TYPEFACE property is generally the industrial name of the typeface, as normally used in the type industry, and usualfy implies particular values for the fontfamily name, weight. posture, proportionate width, etc. This name may or may not be unambiguous, but should be suitable for presentation to a human user to identify the typeface used in the font resource.

8.6.9 Font Family Name (FONTFAMILY)

FONTFAMILY is a match-string, the name of the font family of the font resource.

fontfamily-property ::= fontfamily-name, fontfamily-value
fontfamily-name ::= STRUCTURED-NAME
                  -- ISO/IEC 9541-1//FONTFAMILY
fontfamily-value ::= MATCH-STRING 

8.6.10 Posture (POSTURE)

POSTURE is a code, indicating the coded posture of the typeface of the font resource; one of

0 => not applicable; 
1 => upright (e.g., Roman);
2 => oblique; upright design slanted in the direction of the nominal escapement with 
no design or form change;
3 => back slanted oblique; upright design slanted in the direction opposite of the 
nominal escapement with no design or form change;
4 => italic; slanted in the direction of the nominal escapement with change in design or form;
5 => back slanted italic; italic design slanted in the direction opposite to the 
nominal escapement;
6 => other.

All other posture codes are reserved for future standardization.

posture-property ::= posture-name, posture-value
posture-name ::= STRUCTURED-NAME
               -- ISO/IEC 9541-1//P0STURE
posture-value ::= CODE

8.6.11 Posture Angle (POSTUREANGLE)

POSTUREANGLE is an angle, the nominal angle of the posture of the typeface design.

postureangle-property ::= postureangle-name, postureangle-value
postureangle-name ::= STRUCTURED-NAME
                    -- ISO/IEC 9541-1//POSTUREANGLE
postureangle-value ::= ANGLE

NOTE 14 The value for the POSTUREANGLE property will normally be defined in the first and second quadrants of the glyph coordinate system, in the range 75 to 105°. For Latin fonts, the italic and oblique postures usually will be less than 90°.

8.6.12 Weight (WEIGHT)

WEIGHT is a code, indicating the coded weight of the typeface of the font resource relative to all font resources of the same font family (FONTFAMILY) and data source (DATASOURCE), according to the judgment ot the data source; one of

0 => not applicable  
1 => ultra light (lowest ratio of glyph stem width to font height);
2 => extra light;
3 => light;
4 => semilight;
5 => medium;
6 => semi bold;
7 => bold;
8 => extra bold;
9 => ultra bold (highest ratio of glyph stem width to font height).

WEIGHT codes are ordered according to increasing weight. All other weight codes are reserved for future standardization.

weight-property ::= weight-name, weight-value
weight-name ::= STRUCTURED-NAME
              -- ISO/IEC 9541-1//WEIGHT
weight-value ::= CODE

NOTE 15 A font family-independent approximation of absolute weight adequate for matching operations across all font resources and all font suppliers can be derived using the nominal capital stem width (NOMCAPSTEMWIDTH) and capital height (CAPHEIGHT) properties:

AbsoluteWeight = NOMCAPSTEMWIDTH ICAPHEIGHT 

8.6.13 Proportionate Width (PROPWIDTH)

PROPWIDTH is a code, indicating the coded proportionate width of the typeface of the font resource relative to all font resources of the same font family (FONTFAMILY) and data source (DATASOURCE), according to the judgment of the data source; one of

0 => not applicable;
1 => ultra condensed (lowest ratio of glyph width to font height);
2 => extra condensed;
3 => condensed;
4 => semi condensed;
5 => medium;
6 => semi expanded;
7 => expanded;
8 => extra expanded;
9 => ultra expanded (highest ratio of glyph width to font height).

PROPWIDTH codes are ordered according to increasing width. All other proportionate width codes are reserved for future standardization.

propwidth-property ::= propwidth-name, propwidth-value
propwidth-name ::= STRUCTURED-NAME
                 -- ISO/IEC 9541-1//PROPWIDTH
propwidth-value ::= CODE

NOTE 16 A font family-independent approximation of absolute proportionate width adequate formatching operations across all font resources and all font suppliers can be derived using the average capital escapement (AVGCAPESCX or AVGCAPESCY) and capital height (CAPHEIGHT) properties:

AbsolutePropwidth = AVGCAPESC[X or Y]/CAPHEIGHT

8.6.14 Structure (STRUCTURE)

STRUCTURE is a code, indicating the structure of the strokes of the glyph shapes of the font resource, one of

0 => undefinedor not applicable; 
1 => solid, the shape containing no voids or patterns within the strokes;
2 => outline, the shape including only the outer edges of the strokes.

All other structure codes are reserved for future standardization.

structure-property ::= structure-name, structure-value
structure-name ::= STRUCTURED-NAME
                 -- ISO/IEC 9541-1//STRUCTURE
structure-value ::= CODE

NOTE 17 Structure codes are not intended to supplant the design grouping provided by the design group property (DSNGROUP).

8.6.15 Design Group (DSNGROUP)

DSNGROUP is an ordered-value-list of three codes, indicating the design grouping of the typeface of the font resource, according to one or more levels of the grouping scheme defined in ISO/IEC 9541-1, Annex A, in order by level, beginning with the highest, most general level.

All other design group codes are reserved for future standardization.

dsngroup-property ::= dsngroup-name, dsngroup-value-value-list
dsngroup-name ::= STRUCTURED-NAME
                -- ISO/IEC 9541-1//DSNGROUP
dsngroup-value-value-list ::= dsngroup-class, dsngroup-subclass,
                              dsngroup-specific-group
dsngroup-class ::= CODE
dsngroup-subclass ::= CODE
dsngroup-specific-group ::= CODE

NOTE 18 The WEIGHT, PROPWIDTH, POSTURE and STRUCTURE properties specify further typographic design variations on elements of the design group, e.g., Baskerville Roman, Baskerville Bold Italic, Baskerville Expanded Outline, etc.

8.6.16 Glyph Complement (GLYPHCOMP)

GLYPHCOMP is an ordered-property-list, a list of properties that together define the union of distinct glyph identifiers contained in each writing mode of the font resource.

The properties include any or all of the properties defined in this clause, at most once each, and applied in the order here defined so as to construct a specification of the glyph complement.

glyphcomp-property-list ::= glyphcomp-name, 
glyphcomp-value-property-list
glyphcomp-name ::= STRUCTURED-NAME
                 -- ISO/IEC 9541-1//GLYPHCOMP
glyphcomp-value-property-list ::= 
                         [numglyphs-property, ]
                         [incglyphcols-property, ]
                         [excglyphcols-property, ]
                         [incglyphs-property, ]
                         [excglyphs-property, ]
                         [property-list]

NOTE 19 Individual writing modes may contain glyph metrics for fewer glyphs than prescribed by the full glyph complement.

8.6.16.1 Number of Glyphs (NUMGLYPHS)

NUMGLYPHS is a cardinal, the number of distinct glyph identifiers in the glyph complement of the font resource.

numglyphs-property ::= numglyphs-name, numglyphs-value
numglyphs-name ::= STRUCTURED-NAME
                 -- ISO/IEC 9541-1//NUMGLYPHS
numglyphs-value  ::= CARDINAL

8.6.16.2 Included Glyph Collections (lNCGLYPHCOLS)

INCGLYPHCOLS is a value-list of structured glyph collection names, the glyphs in the collections thereby indicated to be included in the glyph complement, subject to modification by the presence of other glyph complement properties (see clause 7 for a description of glyph collections).

incglyphcols-property ::= incglyphcols-name, incglyphcols-value-value-list
incglyphcols-name ::= STRUCTURED-NAME
                    -- ISO/IEC 9541-1//INCGLYPHCOLS
incglyphcols-value-value-list ::= (glyph-collection-name)+
glyph-collection-name ::= STRUCTURED-NAME

8.6.16.3 Excluded Glyph Collections (EXCGLYPHCOLS)

EXCGLYPHCOLS is a value-list of structured glyph collection names, the glyphs in the coliections thereby indicated to be excluded from the glyph complement.

excglyphcols-property ::= excglyphcols-name, excglyphcols-value-value-list
excglyphcols-name ::= STRUCTURED-NAME
                    -- ISO/IEC 9541-1//EXCGLYPHCOLS
excglyphcols-value-value-list ::= (glyph-collection-name)+

8.6.16.4 Included Glyphs (INCGLYPHS)

INCGLYPHS is a value-list of structured glyph names, thereby indicated to be included in the glyph complement, subject to modification by the presence of other glyph complement properties.

incglyphs-property ::= incglyphs-name, incglyphs-value-value-list
incglyphs-name ::= STRUCTURED-NAME
                 -- ISO/IEC 9541-1//INCGLYPHS
incglyphs-value-value-list ::= (glyph-name)+
glyph-name ::= STRUCTURED-NAME

8.6.16.5 Excluded Glyphs (EXCGLYPHS)

EXCGLYPHS is a value-list of structured glyph names, thereby indicated to be excluded from the glyph complement.

excglyphs-property ::= excglyphs-name, excglyphs-value-value-list
excglyphs-name ::= STRUCTURED-NAME
                 -- ISO/IEC 9541-1//EXCGLYPHS
excglyphs-value-value-list ::= (glyph-name)+

8.6.17 Design Size, Recommended Minimum and Maximum Size (DSNSIZE, MINSIZE, MAXSIZE)

DSNSIZE is a rational, the recommended body size at which the font resource is designed to be used, in units of millimeters, according to the judgment of the design source (DSNSOURCE). The value of this propety also establishes a default body size at which the font resource is to be used if no other size is specified in a font reference.

MINSIZE and MAXSIZE are rationals, the recommended minimum and maximum of the range of body sizes over which the font resource is designed to be linearly scaled, each size specified in units of millimeters, according to the judgment of the design source (DSNSOURCE). If both minimum and maximum sizes are the same as the design size, the font resource is designed to be used only at that one size.

In effect, the use of the DSNSIZE, MINSIZE, and MAXSIZE properties allow for the definition of multiple font masters for typeface designs that require this level of typographic specification.

dsnsize-property ::= dsnsize-name, dsnsize-value
dsnsize-name ::= STRUCTURED-NAME
               -- ISO/IEC 9541-1//DSNSIZE
dsnsize-value ::= RATIONAL

minsize-property ::= minsize-name, minsize-value
minsize-name ::= STRUCTURED-NAME
               -- ISO/IEC 9541-1//MINSIZE
minsize-value ::= RATIONAL

maxsize-property ::= maxsize-name, maxsize-value
maxsize-name ::= STRUCTURED-NAME
               -- ISO/IEC 9541-1//MAXSIZE
maxsize-value ::= RATI0NAL

NOTE 20 The size at which the font resource will actually be used and imaged is usually determined, not directly by the font resource, but by the presentation device imaging the font resource, acting under direct or indirect control of the end user, e.g., as specified via the content of a document.

8.6.18 Capital Height (CAPHEIGHT)

CAPHEIGHT is an unsigned rel-rational, the nominal height of the capital (major) glyphs contained in the font resource, as specified by the data source (DATASOURCE). Where applicable, defined to be the nominal height of the capital letter "X" (Latin, Greek, Cyrillic. etc.).

capheight-property ::= capheight-name, capheight-value
capheight-name ::= STRUCTURED-NAME
                 -- ISO/IEC 9541-1//CAPHE1GHT
capheight-value ::= REL-RATIONAL -- unsigned

8.6.19 Lowercase Height (LCHEIGHT)

LCHEIGHT is an unsigned rel-rational, the nominal height of the lowercase (mean) glyphs contained in the font resource, as specified by the data source (DATASOURCE). Where applicable, defined to be the nominal height of the lowercase letter "x" (Latin, Cyrillic, etc.).

lcheight-property ::= lcheight-name, lcheight-value
lcheight-name ::= STRUCTURED-NAME
                -- ISO/IEC 9541-1//LCHE1GHT
lcheight-value ::= REL-RATIONAL -- unsigned

NOTE 21 This property is defined to be equivalent to the capital height (CAPHEIGHT) for font resources which contain no lowercase glyphs (e.g., Ideographic, Hebrew, etc.).

8.6.20 Minimum Feature Size (MINFEATSZ)

MINFEATSZ is an unsigned rel-rational, the size of the smallest non-terminating feature in the glyph shapes of the font resource.

minfeatsz-property ::= minfeatsz-name, minfeatsz-value
minfeatsz-name ::= STRUCTURED-NAME
                 -- ISO/1EC 9541-1//MINFEATSZ
minfeatsz-value ::= REL-RATIONAL -- unsigned

NOTE 22 MINFEATSZ might be the thickness of a stroke, or of a serif if present.

8.6.21 Nominal Capital Stem Width (NOMCAPSTEMWIDTH)

NOMCAPSTEMWIDTH is an unsigned rel-rational, the nominal width of the main stems of the capital (major) glyphs contained in the font resource, measured perpendicular to the posture angle (POSTUREANGLE), as specified by the data source (DATASOURCE). Where applicable, defined to be the nominal stem width of the Latin capital letter "I".

nomcapstemwidth-property ::= nomcapstemwidth-name, nomcapstemwidth-value
nomcapstemwidth-name ::= STRUCTURED-NAME
                       -- ISO/IEC 9541-1//NOMCAPSTEMWIDTH
nomcapstemwidth-value ::= REL-RATI0NAL -- unsigned

8.6.22 Nominal Lowercase Stem Width (NOMLCSTEMWIDTH)

NOMLCSTEMWIDTH is an unsigned rel-rational, the nominal width of the main stems of the lowercase (mean) glyphs contained in the font resource, measured perpendicular to the posture angle (POSTUREANGLE), as specified by the data source (DATASOURCE). Where applicable, defined to be the nominal stem width of the Latin lowercase letter "i".

nomlcstemwidth-property ::= nomlcstemwidth-name, nomlcstemwidth-value
nomlcstemwidth-name ::= STRUCTURED-NAME
                      -- ISO/IEC 9541-1//NOMLCSTEMWIDTH
nomlcstemwidth-value ::= REL-RATI0NAL -- unsigned

NOTE 23 This property is defined to be equivalent to the nominal capital stem width (NOMCAPSTEMWIDTH) for font resources which contain no lowercase glyphs (e.g., Ideographic, Hebrew, etc.).

8.6.23 Nominal Writing Mode (NOMWRMODE)

NOMWRMODE is a structured-name, the name of the nominal writing mode, i.e., the mode in which the font resource is to be used if no other mode is specified in a font reference, one of those writing modes defined in the writing mode name property (WRMODENAME).

nomwrmode-property ::= nomwrmode-name, nomwrmode-value
nomwrmode-name ::= STRUCTURED-NAME
                 -- ISO/IEC 9541-1//NOMWRMODE
nomwrmode-value ..= STRUCTURED-NAME

8.7 Specification of font resource modal properties (WRMODES)

The values of certain font resource properties depend upon the writing mode in which they are nested; this dependence is established to allow the remainder of the font resource information, particularly the glyph shape representations, to be used in multiple modes.

Each writing mode is identified by a structured writing mode name; each mode is associated with the setting of text in a writing system, usually corresponding to a nominal escapement direction of the font in that mode, the direction specified within the glyph coordinate system. Examples of such modes might include left-to-right, top-to-bottom, right-to-Ieft, etc. Refer to figure 1, figure 2, and figure 3.


Figure 2 - A typical Ideographic glyph in the TOP-TO-BOTTOM writing mode

WRMODES is a property-list of writing mode property-list, defining all writing mode properties associated with this font resource.

wrmodes-property-list ::= wrmodes-name, wrmodes-value-property-list
wrmodes-name ::= STRUCTURED-NAME
               -- ISO/IEC 9541-1//WRMODES
wrmodes-value-property-list ::= (wrmode-property-list | property-list)*

8.7.1 Writing Mode (WRMODE)

WRMODE is a property-list of writing mode properties, defining a writing mode and its modal properties. This property-list is repeated for each writing mode supported by the font resource.

wrmode-property-list ::= wrmode-name, wrmode-value-property-list
wrmode-name ::= structured-name
              -- ISO/IEC 9541-1//WRMODE
wrmode-value-property-list ::= wrmodename-property, 
                   (nomescdir-property | escclass-property |
                    avgescx-property | avgescy-property |
                    avglcescx-property | avglcescy-property |
                    avgcpescx-property | avgcpescy-property |
                    tabescx-property | tabescy-property |
                    maxfontext-property | sectors-property-list |
                    escadjs-property-list | minescadjsze-property |
                    maxescadjsze-property | scores-property-list |
                    vscripts-property-list | minlinesp-property |
                    minanascale-property | maxanascale-property |
                    nomalign-property | alignmodes-property-list |
                    copyfits-property-list | dsnwordadd-property |
                    minwordadd-property | maxwordadd-property |
                    dsnwordampl-property | minwordampl-property |
                    maxwordampl-property | dsnletteradd-property |
                    minletteradd-property | maxletteradd-property |
                    dsnletterampl-property | minletterampl-property |
                    maxletterampl-property | glyphmetrics-property-list |
                    property-list)*


Figure 3 - A typical Arabic glyph in the RIGHT-TO-LEFT writing mode

The WRMODENAME property shall be unique within the context of the WRMODES property-list and shall be the first property in its associated property-list; all other properties can appear in any order.

The remainder of this clause defines the ISO/IEC 9541 font properties which may appear within each writing mode property-Iist.

8.7.1.1 Writing Mode Name (WRMODENAME)

WRMODENAME is a structured-name, the name that identifies the writing mode.

The ISO/IEC 9541 writing mode object names are

LEFT-TO-RIGHT => A mode for normal setting of text in a writing system whose nominal
                 escapement is in a left-to-right, horizontal direction, 
                 i.e., 0° (e.g., Latin, Cyrillic, Greek, horizontal Kanji/Kana); 
RIGHT-TO-LEFT => A mode for normal setting of text in a writing system whose nominal
                 escapement is in a right-to-left, horizontal direction,
                 i.e., 180° (e.g., Hebrew, Arabic);
TOP-TO-BOTTOM => A mode for normal setting of text in a writing system whose nominal
                 escapement is in a top-to-bottom, vertical direction,
                 i.e., 270° (e.g., vertical Kanji/Kana).
 
wrmodename-property ::= wrmodename-name, wrmodename-value
wrmodename-name ::= STRUCTURED-NAME
                  -- ISO/IEC 9541-1//WRMODENAME
wrmodename-value ::= STRUCTURED-NAME

NOTE 24 Other structured writing mode names are possible, but their significance is not defined within ISO/IEC 9541.

8.7.1.2 Nominal Escapement Direction (NOMESCDIR)

NOMESCDIR is an angle, the nominal angle of escapement direction of this writing mode of the font resource.

nomescdir-property ::= nomescdir-name, nomescdir-value
nomescdir-name ::= STRUCTURED-NAME
                 -- ISO/IEC 9541-1//NOMESCDIR
nomescdir-value ::= ANGLE

8.7.1.3 Escapement Class (ESCCLASS)

ESCCLASS is a code, indicating the coded escapement class of this writing mode of the font resource; one of

1 => monospaced, the net escapements of all glyphs in this mode of the font resource 
     are the same;
2 => proportional, the net escapements are not all the same.

escclass-property ::= escclass-name, escclass-value
escclass-name ::= STRUCTURED-NAME
                -- ISO/IEC 9541-1//ESCCLASS
escclass-value ::= CODE

NOTE 25 A character cell font is a special case of a monospaced font resource that conforms to thetraditional typewriter character cell model, i.e., glyphs are modeled as rectangular boxes of thesame width and height which can be imaged consecutively to form text strings and text lines. By definition, all glyphs have the same escapement and no glyph shapes extend outside the cell, i.e., the maximum font extents (MAXFONTEXT) do not exceed the box formed by the accumulated glyph position and escapement points (PX, PY, EX, and EY) and the left and right minimum line spacing values (MINLlNESP).

8.7.1.4 Average Escapement (AVGESCX, AVGESCY)

AVGESCX and AVGESCY are rel-rationals, the x and y components, respectively, of the unweighted arithmetic average of the absolute value of the net escapement distances of all glyphs in this writing mode of the font resource. By convention, either of these properties defaults to zero if not specified in a font resource.

avgescx-property ::= avgescx-name, avgescx-value
avgescx-name ::= STRUCTURED-NAME
               -- ISO/IEC 9541-1//AVGESCXavgescx-value ::= REL-RATIONAL

avgescy-property ::= avgescy-name, avgescy-value
avgescy-name ::= STRUCTURED-NAME
               -- ISO/IEC 9541-1//AVGESCY
avgescy-value REL-RATI0NAL

NOTE 26 If this mode of the font resource is monospaced, as indicated by the escapement class property(ESCCLASS), then this average escapement is also the escapement of every glyph in this mode of the font resource.

8.7.1.5 Average Lowercase Escapement (AVGLCESCX, AVGLCESCY)

AVGLCESCX and AVGLCESCY are rel-rationals, the x and y components, respectively, of the unweighted arithmetic average of the absolute value of the net escapement distances of the lowercase (mean) glyphs in this writing mode of the font resource. Where appropriate, lowercase glyphs are defined to be the Latin lowercase letters "a - z" inciusive, and their accented variants. By convention, either of these property values defaults to zero if not specified in a font resource.

avglcescx-property ::= avglcescx-name, avglcescx-value
avglcescx-name ::= STRUCTURED-NAME
                 -- ISO/IEC 9541-1//AVGLCESCX
avglcescx-value ::= REL-RATI0NAL  

avglcescy-property ::= avglcescy-name, avglcescy-value
avglcescy-name ::= STRUCTURED-NAME
                 -- ISO/IEC 9541-1//AVGLCESCY
avglcescy-value ::= REL-RATIONAL

NOTE 27 These property values are defined to be the average capital escapement (AVGCAPESCX, AVGCAPESCY) for font resource writing modes that contain no lowercase glyphs, e.g., Ideographic, Hebrew.

8.7.1.6 Average Capital Escapement (AVGCAPESCX, AVGCAPESCY)

AVGCAPESCX and AVGCAPESCY are rel-rationals, the x and y components, respectively, of the unweighted arithmetic average of the absolute value of the net escapement distances of the capital (major) glyphs in this writing mode of the font resource. Where appropriate, capital glyphs are defined to be the Latin capital letters "A - Z" inclusive, and their accented variants. By convention, either of these property values defaults to zero if not specified in a font resource.

avgcpescx-property ::= avgcpescx-name, avgcpescx-value
avgcpescx-name ::= STRUCTURED-NAME
                 -- ISO/IEC 9541-1//AVGCAPESCX
avgcpescx-value ::= REL-RATIONAL

avgcpescy-property ::= avgcpescy-name, avgcpescy-value
avgcpescy-name ::= STRUCTURED-NAME
                 -- ISO/IEC 9541-1//AVGCAPESCY
avgcpescy-value ::= REL-RATOIONAL

8.7.1.7 Tabular Escapement (TABESCX, TABESCY)

TABESCX and TABESCY are rel-rationals, the signed x and y components, respectively, of the net escapement of the tabular figure and possible currency glyphs, if suitable for tabular setting, for this writing mode of the font resource. For Latin fonts, tabular figures are defined to be the Arabic numerals "0 - 9" inclusive. By convention, property values of zero denote that the figures in this writing mode of the font resource are not suitable for tabular setting applications.

 
tabescx-property ::= tabescx-name, tabescx-value
tabescx-name ::= STRUCTURED-NAME
               -- ISO/IEC 9541-1//TABESCX
tabescx-value ::= REL-RATIONAL

tabescy-property ::= tabescy-name, tabescy-value
tabescy-name ::= STRUCTURED-NAME
               -- ISO/IEC 9541-1//TABESCY
tabescy-value ::= REL-RATIONAL

8.7.1.8 Maximum Font Extents (MAXFONTEXT)

MAXFONTEXT is an ordered-value-list of four rel-rationals, the x and y coordinates of the minimum and maximum font extents, respectively. The minimum and maximum font extents are the signed minimum (most negative, least positive) and signed maximum (most positive, least negative), respectively, of the x and y components of the corresponding glyph extent of all of the glyphs in this writing mode of the font resource.

maxfontext-property ::= maxfontext-name, maxfontext-value-value-list
maxfontext-name ::= STRUCTURED-NAME
                  -- ISO/IEC 9541-1//MAXFONTEXT
maxfontext-value-value-list ::= maxfontext-minx, maxfontext-miny,
                                maxfontext-maxx, maxfontext-maxy
maxfontext-minx ::= REL-RATIONAL
maxfontext-miny ::= REL-RATI0NAL
maxfontext-maxx ::= REL-RATI0NAL
maxfontext-maxy ::= REL-RATI0NAL

8.7.1.9 Sectors-Pairwise Escapement Adjustment Descriptions (SECTORS)

Certain font resources will accomplish most or all glyph pairwise escapement adjustment by defining forward and backward sector data for each glyph. The sectors are defined as bands in the nominal escapement direction, in this writing mode of the font resource. These bands often overlap, and span sections of the glyph shapes which when imaged successively, may visually interact resulting in apparent excessive or insufficient inter-glyph spacing.

SECTORS is an ordered-value-list of sector data structures, describing the number and extents of the sector-pairwise escapement adjustments for this writing mode of the font resource. Each sector is an ordered-value-list of two rel-rationals, the left and right extents defining the sector, respectively, as measured relative to the nominal escapement direction (NOMESCDIR) of this writing mode of the font resource.

SECTORS is ordered according to decreasing values of each sector's left extent; the number and order paralleling that of each glyph's forward and backward sector adjustment extents for this writing mode [see the per-glyph sector-pairwise escapement adjustment extents properties (SPEAFORWDX, SPEAFORWDY, SPEABACKWDX, and SPEABACKWDY), 8.8.1.5.1.3].

sectors-property ::= sectors-name, sectors-value-value-list
sectors-name ::= STRUCTURED-NAME
               -- ISO/IEC 9541-1//SECTORS
sectors-value-value-list ::= (sector)+
               -- ordered by decreasing sector-left-extent
sector ::= sector-left-extent, sector-right-extent
sector-left-extent ::= REL-RATI0NAL
sector-right-extent ::= REL-RATIONAL

8.7.1.10 Escapement Adjustments (ESCADJS)

ESCADJS is a property-list of all c1ass-pairwise and scale escapement adjustment property-lists,suggesting escapement adjustments between successively imaged glyphs in this writing mode of the font resource.

escadjs-property-list ::= escadjs-name, escadjs-value-property-list
escadjs-name ::= STRUCTURED-NAME
               -- ISO/IEC 9541-1//ESCADJS
escadjs-value-property-list ::= (escadj-property-list | property-list)*

8.7.1.10.1 Escapement Adjustment (ESCADJ)

ESCADJ is a property-list, defining the properties for a single escapement adjustment mode for this writing mode of the font resource. This property-list is repeated for each escapement adjustment mode supported by this writing mode of the font resource.

escadj-property-list ::= escadj-name, escadj-value-property-list
escadj-name ::= STRUCTURED-NAME
              -- ISO/IEC 9541-1//ESCADJ
escadj-value-property-list ::= escadjname-property,
                              (cpea-property-list |
                               sec-property-list |
                               property-list)*

The ESCADJNAME propety shall be unique within the context of the ESCADJS property-list and shall be the first property in its associated property-list; all other properties can appear in any order.

8.7.1.10.1.1 Escapement Adjustment Mode Name (ESCADJNAME)

ESCADJNAME is a structured-name, the name that identifies the escapement adjustment mode.

The ISO/IEC 9541 escapement adjustment mode object names, are

LOOSE => Anescapement adjustment mode for loose fit;
NORMAL => Anescapement adjustment mode for normal fit;
KERN => An escapement adjustment mode for kerned fit;
TIGHT => An escapement adjustment mode for tight fit;
TOUCH => An escapement adjustment mode where glyph shapes touch.

 
escadjname-property ::= escadjname-name, escadjname-value

escadjname-name ::= STRUCTURED-NAME
                  -- ISO/IEC 9541-1//ESCADJNAME

escadjname-value ::= STRUCTURED-NAME

NOTE 28 Other structured escapement adjustment mode names are possible, but their significance is not defined within ISO/IEC 9541.

8.7.1.10.1.2 Class-Pairwise Escapement Adjustments (CPEA)

Certain font resources will accomplish most or all glyph pairwise escapement adjustment by clustering similar forward and backward shape profiles into arbitrary numeric pairwise escapement adjustment classes, and by defining two-dimensional arrays of x or y escapement adjustments that correspond to these classes for each named escapement adjustment mode associated with this writing mode of the font resource. Each glyph property-list then includes an indication of the glyph's forward and backward class-pairwise escapement adjustment class, which can be used to retrieve the appropriate escapement adjustment for a given pair of glyphs.

CPEA is a property-list of the class-pairwise escapement adjustment properties for the named escapement adjustment mode associated with this writing mode of the font resource, suggesting the escapement adjustments for successive glyphs according to their respective forward and backward-direction class-pairwise escapement adjustment classes.

cpea-property ::= cpea-name, cpea-value-property-list
cpea-name ::= STRUCTURED-NAME
            -- ISO/IEC 9541-1//CPEA
cpea-value-property-list ::= (ncpeaforwd-property |
                              ncpeabackwd-property |
                              cpeax-property |
                              cpeay-property |
                              property-list)*

The NCPEAFORWD and NCPEABACKWD properties are required.

8.7.10.1.2.1 Number of Class-Pairwise Escapement Adjustment Classes (NCPEAFORWD, NCPEABACKWD)

NCPEAFORWD and NCPEABACKWD are cardinals, the number of forward-direction and backward-direction escapement adjustment classes, respectively, defined for this class-pairwise escapement adjustment property-list.

ncpeaforwd-property ::= ncpeaforwd-name, ncpeaforwd-value
ncpeaforwd-name ::= STRUCTURED-NAME
                  -- ISOIEC 9541-1//NCPEAFORWD
ncpeaforwd-value ::= CARDINAL

ncpeabackwd-property ::= ncpeabackwd-name, ncpeabackwd-value
ncpeabackwd-name ::= STRUCTURED-NAME
                   -- ISO/IEC 9541-1//NCPEABACKWD
ncpeabackwd-value ::= CARDINAL 

8.7.1.10.1.2.2 Class-Pairwise Escapement Adjustment Arrays (CPEAX, CPEAY)

CPEAX and CPEAY are ordered-value-lists of the x and y components, respectively, of the suggested c1ass-pairwise escapement adjustments between glyphs having the forward-direction and backward-direction escapement adjustment classes defined for this class-pairwise escapement adjustment property-list. [See the class-pairwise escapement adjustment indicator glyph property (CPEAI), 8.8.1.6].

Each CPEAX and CPEAY value-Iist effectively defines a fully populated NCPEAFORWD by NCPEABACKWD two-dimensional array of adjustment values, stored such that the second dimension varies most rapidly. The forward-direction escapement adjustment class is represented by the first dimension; the backward-directionescapement adjustment class is represented by the second dimension.

cpeax-property ::= cpeax-name, cpeax-value-value-list
cpeax-name ::= STRUCTURED-NAME
             -- ISO/IEC 9541-1//CPEAX
cpeax-value-value-list ::= (cpea-adj)+ -- n x m array, ordered m first
cpea-adj ::= REL-RATIONAL

cpeay-property ::= cpeay-name, cpeay-value-value-list
cpeay-name ::= STRUCTURED-NAME
             -- ISO/IEC 9541-1//CPEAY
cpeay-value-value-list ::= (cpea-adj)+ -- n x m array, ordered m first

Let CPEAX and CPEAY be two-dimensional arrays giving the x and y components of the class-pairwise escapement adjustments, respectively, for the named escapement adjustment mode; let i and j be the forward and backward class-pairwise escapement adjustment class indicators for glyphs a and b, respectively. The class-pairwise escapement adjustment for glyph a, then, is given by

CPEAX [(i * NCPEABACKWD) + j]
CPEAY [(i * NCPEABACKWD) + j]

8.7.1.10.1.3 Scale Escapement Correction (SEC)

Scale escapement correction suggests the addition or subtraction of a uniform amount of space to or fromthe sides of most glyphs in a writing mode of a font resource to correct for Iinear scaling artifacts. Suchcorrection is usually inversely proportional to the target font size, i.e., inter-glyph space is decreasedas the target font size increases. Unless otherwise specified in a font reference, the target font size isthe size at which the font resource is actually imaged. Multiple such linear functions may be defined, eachcommonly called a track.

SEC is a property-list, of the scale escapement correction properties for the named escapement adjustmentmode associated with this writing mode of the font resource, suggesting a number of inter-glyph escapementadjustments as a function of font size. Only scale-adjusting glyphs may be so adjusted [see the escapementadjustment indicator glyph property (EAI), 8.8.1.7].

sec-property-list ::= sec-narne, sec-value-property-list
sec-name ::= STRUCTURED-NAME
           -- ISO/IEC 9541-1//8EC
sec-value-property-list ::= (secx-property |
                             secy-property |
                             property-list)*

8.7.1.10.1.3.1 Scale Escapement Correction Adjustments (SECX, SECY)

SECX and SECY are ordered-value-lists, of secrange data structures, describing the x and y components, respectively, of the scale escapement corrections for this scale escapement correction propety-list. Each secrange defines an ordered-value-list of secsze and secadj values giving the x or y scale escapement correction for a specific font size.

Secsze is a rational, the recommended font size, in units of millimeters, for which the associated scaleescapement correction value is designed to be applied. Secadj is a rel-rational, the x or y component of the suggested scale escapement correction. This adjustment is to be added half before and half after each glyph's escapement.

In effect, each secrange defines the start or end of a correction range, and the correction valueassociated with the start or end of that range. Linear interpolation should be performed within the correction range to calculate the appropriate escapement correction for font sizes not directly specified. By convention, the first scale escapement correction applies to all font sizes less than or equal to its associated secsze value, and the last scale escapement correction applies to all font sizes greater than or equal to its associated secsze value.

secx-property ::= secx-name, secx-value-value-list
secx-name ::= STRUCTURED-NAME
            -- ISO/IEC 9541-1//SECX
secx-value-value-list ::= (secrange)+
secrange ::= secsze, secadj
secsze ::= RATIONAL
secadj ::= REL-RATIONAL

secy-property ::= secy-name, secy-value-value-list
secy-name ::= STRUCTURED-NAME
            -- ISO/IEC 9541-1//SECY
secy-value-value-list ::= (secrange)+

8.7.1.11 Recommended Pairwise Escapement Adjustment Size (MINESCADJSZE, MAXESCADJSZE)

MINESCADJSZE and MAXESCADJSZE are rationals, the recommended minimum and maximum of the range of font sizes over which the pairwise, class-pairwise and sector-pairwiseescapement adjustment glyph properties are designed to be usable for this writing modeof this font resource, according to the judgment of the design source (DSNSOURCE). Eachsize is specified in units of millimeters.

minescadjsze-property ::= minescadjsze-name, minescadjsze-value
minescadjsze-name ::= STRUCTURED-NAME
                    -- ISO/IEC 9541-1//MINESCADJSZE
minescadjsze-value ::= RATIONAL  

maxescadjsze-property ::= maxescadjsze-name, maxescadjsze-value
maxescadjsze-name ::= STRUCTURED-NAME
                    -- ISO/IEC 9541-1//MAXESCADJSZE
maxescadjsze-value ::= RATIONAL 

8.7.1.12 Scores (SCORES)

A score is a line drawn through or along a line of text, parallel to the escapementdirection, often used for emphasis. Commonly used types of scores include underscores,overscores, and throughscores (the last also known as a strike-out). This property-listis also used to define positioning information for Kanji kendot.

SCORES is a property-list of score property-list, defining the scores for this writing mode of the font resource. Each score property-list usually contains the structured score name and corresponding translation and score thickness properties which when applied to this writing mode or the font resource will produce the associated score.

scores-property-list ::= scores-name, scores-value-property-list
scores-name ::= STRUCTURED-NAME
              -- ISO/IEC 9541-1//SCORES
scores-value-property-list ::= (score-property-list | property-list)*

8.7.1.12.1 Score (SCORE)

SCORE is a property-list, defining a score for this writing mode of this font resource.This property-list is repeated for each score supported by this writing mode of thefont resource.

score-property-list ::= score-name, score-value-property-list
score-name ::= STRUCTURED-NAME
             -- ISO/IEC 9541-1//SCORE
score-value-property-list ::= scorename-property,
                             (scoreoffsetx-property |
                              scoreoffsety-property |
                              scorethick-property |
                              property-list)*

The SCORENAME propety shall be unique within the context of the SCORES property-listand shall be the first propety in its associated property-list; all other properties can appear in any order.

8.7.1.12.1.1 Score Name (SCORENAME)

SCORENAME is a structured-name, the name that identifies the type of score.

The ISO/IEC 9541 score object names, are

RIGHTSCORE  => A score drawn 270° counterclockwise from the escapement 
               direction (i.e., to the right of the path while facing along 
               the path), and near the right font extent of the font resource
               in this writing mode. In a left-to-right writing mode this 
               constitutes an underscore;

LEFTSCORE   => A score drawn 90° counterclockwise from the escapement 
               direction (i.e., to the left of the path), and near the left 
               font extent of the font resource in this writing mode. In a 
               left-to-right writing mode this constitutes an overscore;
 
THROUGHSCOR => A score drawn through the visual centers of the glyphs in this 
               mode, i.e., a throughscore;

KENDOT      => A score placed as a centered dot on a line at 90° to the escapement 
               path and near to the left font extent of the font resource in 
               this writing mode. Intended to be used in Kanji, the kendot 
               constitutes an emphasis and has significance similar to an underscore
               in Latin fonts.

scorename-property ::= scorename-name, scorename-value
scorename-name ::= STRUCTURED-NAME
                 -- ISO/IEC 9541-1//SCORENAME
scorename-value ::= STRUCTURED-NAME

Other structured variant score names are possible, but their significance is notdefined within ISO/IEC 9541.

8.7.1.12.1.2 Score Position Offset (SCOREOFFSETX, SCOREOFFSETY)

SCOREOFFSETX and SCOREOFFSETY are rel-rationals, the signed x and y components, respectively, of the offset distance of the center of the named score, relative to the active position point of regular text, measured in the glyph coordinate system. By convention, either of these properties defaults to zero if not specified in a font resource.

scoreoffsetx-property ::= scoreoffsetx-name, scoreoffsetx-value
scoreoffsetx-name ::= STRUCTURED-NAME
                    -- ISO/IEC 9541-1//SCOREOFFSETX
scoreoffsetx-value ::= REL-RATIONAL

scoreoffsety-property ::= scoreoffsety-name, scoreoffsety-value
scoreoffsety-name ::= STRUCTURED-NAME
                    -- ISO/IEC 9541-1//SCOREOFFSETY
scoreoffsety-value ::= REL-RATIONAL

8.7.1.12.1.3 Score Thickness (SCORETHICK)

SCORETHICK is an unsigned rel-rational, the suggested thickness of the score.

scorethick-property ::= scorethick-name, scorethick-value
scorethick-name ::= STRUCTURED-NAME
                  -- ISO/IEC 9541-1//SCORETHICK
scorethick-value ::= REL-RATIONAL -- unsigned

8.7.1.13 Variant Scripts (VSCRIPTS)

Avariant script is one which varies from regular text by positionai offset, and possible size scale. Commonlyused types of variant scripts include superscripts and subscripts in Latin fonts, and Ruby scripts in Ideographic fonts.

VSCRIPTS is a property-list of variant script property-list, defining the variant scripts for this writing mode of the font resource. Each variant script property-list usually contains the structured variant script name and corresponding translation and scale factors which when applied to this writing mode of the font resource will produce the named variant.

vscripts-property-list ::= vscripts-name, vscripts-value-property-list
vscripts-name ::= STRUCTURED-NAME
                -- ISO/IEC 9541-1//VSCRIPTS
vscripts-value-property-list ::= (vscript-property-list,
                                  property-list)*

8.7.1.13.1 Variant Script (VSCRIPT)

VSCRIPT is a property-list, defining a single variant script for this writing mode of this font resource.This property-list is repeated for each variant script supported by the writing mode.

vscript-property-list ::= vscript-name, vscript-value-property-list
vscript-name ::= STRUCTURED-NAME
               -- ISO/IEC 9541-1//VSCRIPT
vscript-value-property-list ::= vsname-property,
                               (vsoffsetx-property | vsoffsety-property |
                                vsscalex-property | vsscaley-property |
                                property-list)*

The VSNAME property shall be unique within the context of the VSCRIPTS property-list and shall be the first propeerty in its associated property-list; all other properties can appear in any order.

8.7.1.13.1.1 Variant Script Name (VSNAME)

VSNAME is a structured-name, the name that identifies the type of variant script.

The ISO/IEC 9541 variant script object names, are

LEFT-VSCRIPT  => A variant script slightly reduced in size and slightly offset 
                 primarily in a direction 90° counterclockwise from the escapement
                 direction (i.e., to the left of escapement path). In a left-to-right
                 writing mode this constitutes a genenc superscnpt;
 
RIGHT-VSCRIPT => A variant script slightly reduced in size and slightly offset 
                 primarily in a direction 270° counterclockwise from the escapement
                 direction (i.e., offset to the right of the escapement path). In a 
                 left-to-right writing mode this constitutes a generic subscript;
 
RUBY-VSCRIPT  => A variant script reduced in size and offset primarily in a direction 90°
                 counterclockwise from the escapement direction (i.e., offset to the left 
                 of the escapement path). This variant is intended to support Japanese 
                 Ruby text composition.

vsname-property ::= vsname-name, vsname-value
vsname-name ::= STRUCTURED-NAME
              --ISO/IEC 9541-1//VSNAME
vsname-value ::= STRUCTURED-NAME 

NOTE 29 Other structured variant script names are possible, but their significance is not definedwithin ISO/IEC 9541.

8.7.1.13.1.2 Variant Script Position Offset (VSOFFSETX, VSOFFSETY)

VSOFFSETX and VSOFFSETY are rel-rationals, the signed x and y components, respectively, of the offset distance of the named variant script, relative to the current position point of regular text, measured in the glyph coordinate system. By convention, either of these properties defaults to zero if not specified for a variant script.

vsoffsetx-property ::= vsoffsetx-name, vsoffsetx-value
vsoffsetx-name ::= STRUCTURED-NAME
                 -- ISO/IEC 9541-1//VSOFFSETX
vsoffsetx-value ::= REL-RATIONAL

vsoffsety-property ::= vsoffsety-name, vsoffsetyvalue
vsoffsety-name ::= STRUCTURED-NAME
                 -- ISO/IEC 9541-1//VSOFFSETY
vsoffsety-value ::= REL-RATIONAL

NOTE 30 As used with Ruby scripts, these values establish only the offset from the current writingmode's alignment line to the Ruby variant script alignment line, i.e., the offset parallel to the escapementdirection must be determined by the formatting process.

8.7.1.13.1.3 Variant Script Anamorphic Scale Factors (VSSCALEX, VSSCALEY)

VSSCALEX and VSSCALEX are rationals, the x and y components, respectively, of the anamorphic scale factors to be applied to the named variant script, expressed as a ratio of the body size of variant script to the font size of regular text. By convention, this value defaults to 1, indicating that no scaling is to be performed.

vsscalex-property ::= vsscalex-name, vsscalex-value
vsscalex-name ::= STRUCTURED-NAME
                -- ISO/IEC 9541-1//VSSCALEX
vsscalex-value ::= RATIONAL
 
vsscaley-property ::= vsscaley-name, vsscaley-value
vsscaley-name ::= STRUCTURED-NAME
                -- ISO/IEC 9541-1//VSSCALEY vsscaley-value ::= RATIONAL 

8.7.1.14 Recommended Minimum Alignment Line-to-Line Spacing Distance (MINLlNESP)

MINLlNESP is an ordered-value-list of two rel-rationals, the suggested left and right components of the minimum line-to-line spacing distance between successive lines of text. Each distance is measured from the nominal alignment line, perpendicular to the nominal escapement direction of this writing mode of the font resource, in the glyph coordinate system. This distance usually allows for all ascenders, descenders, accents, and a small shoulder, so that successive lines of text at this spacing will be separated bya small amount of white space.

minlinesp-property ::= minlinesp-name, minlinesp-value-value-list
minlinesp-name ::= STRUCTURED-NAME
                 -- ISO/IEC 9541-1//MINLINESP
minlinesp-value-value-list ::= minlinesp-left, minlinesp-right
minlinesp-left ::= REL-RATIONAL
minlinesp-righy ::= REL-RATIONAL 

8.7.1.15 Recommended Minimum and Maximum Anamorphic Scale Factors (MINANASCALE, MAXANASCALE)

MINANASCALE and MAXANASCALE are rationals, the recommended minimum and maximum anamorphic scale factors, respectively, of the range over which this font resource is designed to be scalable in the nominal escapement direction of this writing mode, each factor given as a ratio of the size for that direction to the font size of the font resource. By convention, each of these values defaults to 1, indicating that no anamorphic scaling is recommended.

minanascale-property ::= minanascale-name, minanascale-value
minanascale-name ::= STRUCTURED-NAME
                   -- ISO/IEC 9541-1//MINANASCALE
minanascale-value ::= RATIONAL
 
maxanascale-property ::= maxanascale-name, maxanascale-value
maxanascale-name ::= STRUCTURED-NAME
                   -- ISO/IEC 9541-1//MAXANASCALE
maxanascale-value ::= RATIONAL  

NOTE 31 In a mode which is monospaced, as indicated by its escapement class property (ESCCLASS), these scale factors can be used in conjunction with the average escapement property (AVGESC) to determine the range of spacings over which this font resource may be anamorphically scaled.

8.7.1.16 Nominal Alignment Mode (NOMALlGN)

NOMALlGN is a structured-name, the name of the nominal alignment mode for which this writing mode of the fontresource was designed to be used, according to the judgment of the design source (DSNSOURCE).

nomalign-property ::= nomalign-name, nomalign-value
nomalign-name ::= STRUCTURED-NAME
                -- ISO/IEC 9541-1//NOMAL1GN
nomalign-value ::= STRUCTURED-NAME 

8.7.1.17 Alignment Modes (ALlGNMODES)

Different writing systems generally use one alignment mode when setting lines of text in that mode (usually vertical or horizontal), but sometimes incorporate text using font resources designed for a differentalignment mode (e.g., Japanese text composition often combines Kanji fonts with Latin fonts).

The alignment modes properties define the recommended translation from the nominal alignment mode to all other recognized alignment modes, and possible anamorphic scale factors to be applied to a font resource used in a secondary alignment mode. For example, Latin fonts are generally designed to be visually aligned to a baseline, while Ideographic fonts are generally designed to visually align to a centerline. The alignment modes property-list for an Ideographic font resource, then, would give the recommended offsets from the centerline alignment of the base Ideographic font to the baseline alignment of a secondary Latin font, and the anamorphic scale factors to be applied to the Latin font for proper body size balance, for a given writing mode. See figure 4.

ALlGNMODES is a property-list defining the alignment mode properties for this writing mode of the fontresource. Each alignment mode property-list usuall contains the structured alignment mode name andcorresponding translation and scale factors which define that alignment mode.


Figure 4 - Example of text using multiple alignment modes in the LEFT-TO-RIGHGT writing mode

alignmodes-property-list ::= alignmodes-name,
                             alignmodes-value-property-list
alignmodes-name ::= STRUCTURED-NAME
                  -- ISO/IEC 9541-1//ALIGNMODES
alignmodes-value-property-list ::= (align-property-list |
                                    property-list)*  

8.7.1.17.1 Alignment Mode (ALIGN)

ALIGN is a propertylist, defining a single alignment mode for this writing mode of thefont resource. This property-Iist is repeated for each alignment mode defined for the writing mode.

align-property-list ::= align-name, align-value-property-list
align-name ::= STRUCTURED-NAME
             -- ISO/IEC 9541-1//ALIGN
align-value-property-list ::= alignname-property,
                             (alignoffsetx | alignoffsety |
                              alignscalex | alignscaley | property-list)*

The ALIGNNAME property shall be unique within the context of the ALIGNMODES property-list and shall appear first in its associated property-list; all other properties canappear in any order.

8.7.1.17.1.1 Alignment Mode Name (ALlGNNAME)

ALIGNNAME is a structured-name, the name that identifies the type of alignment mode.

The ISO/IEC 9541 alignment mode object names, are

BASE-ALlGN   => An alignment mode for the setting of text where most glyphs are 
                visually aligned on an imaginary baseline, parallel to the writing
                mode's escapement direction. Some glyphs, such as the Latin lowercase
                "p", may extend past this baseline. Latin fonts are usually 
                designed to be so aligned;
CENTRE-ALlGN => An alignment mode for the setting of text where most glyphs are visually 
                aligned to an imaginary centreline, parallel to the writing mode's escapement
                direction. Ideographic fonts, and Latin glyphs designed to be used with such 
                fonts, are usually designed to be so aligned;
TOP-ALlGN    => An alignment mode for the setting of text where most glyphs are visually aligned
                to an imaginary topline, parallel to the writing mode's escapement direction. 
                Hindi fonts are usually designed to be so aligned;
BOTTOM-ALlGN => An alignment mode for the setting of text where most glyphs are visually 
                aligned to an imaginary bottomline, parallel to the writing mode's escapement
                direction.

alignname-property ::= alignname-name, alignname-value
alignname-name ::= STRUCTURED-NAME
                 --ISO/IEC 9541-1//AL1GNNAME
alignname-value ::= STRUCTURED-NAME

NOTE 32 Other structured alignment mode names are possible, but their significance is not defined within ISO/IEC 9541.

8.7.1.17.1.2 Alignment Line Position Offset (ALIGNOFFSETX, ALIGNOFFSETY)

ALIGNOFFSETX and ALIGNOFFSETY are rel-rationals, the signed x and y components, respectively, of the recommended offset distance of the named alignment mode's alignment line, relative to the nominal alignment line of this writing mode, measured in the glyph coordinate system. By convention, either of these properties defaults to zero if not specified in a font resource.

alignoffsetx-property ::= alignoffsetx-name, alignoffsetx-value
alignoffsetx-name ::= STRUCTURED-NAME
                    -- ISO/IEC 9541-1//ALIGNOFFSETX
alignoffsetx-value ::= REL-RATIONAL

alignoffsety-property ::= alignoffsety-name, alignoffsety-value
alignoffsety-name ::= STRUCTURED-NAME
                    -- ISO/IEC 9541-1//ALIGNOFFSETY
alignoffsety-value ::= REL-RATIONAL 

8.7.1.17.1.3 Alignment Mode Anamorphic Scale Factors (ALIGNSCALEX, ALIGNSCALEY)

ALIGNSCALEX and ALIGNSCALEY are rationals, the x and y components, respectively, of the anamorphic scale factors to be applied to the named alignment mode, expressed as a ratio of the body size of the alignment mode to the font size of regular text. By convention, this value defaults to 1, indicating that no scaling is to be performed.

alignscalex-property ::= alignscalex-name, alignscalex-value
alignscalex-name ::= STRUCTURED-NAME
                   -- IS0/IEC 9541-1//ALIGNSCALEX
alignscalex-value ::= RATIONAL

alignscaley-property ::= alignscaley-name, alignscaley-value
alignscaley-name ::= STRUCTURED-NAME
                   -- ISO/IEC 9541-l//ALIGNSCALEY
alignscaley-value ::= RATIONAL

8.7.1.18 Copy Fit Techniques (COPYFITS)

Copy fitting is the process of determining how many glyphs will occur in a given two dimensional space, typically a column of text, according to some copy fit technique. A copy fit value, as specified in a font resource, identifies the anticipated number of glyphs that would typically occur in a unit of measure according to that copy fit technique, which permits identification of a font resource or a substitute font resource that may satisfy a copy fitting requirement. The actual techniques used to calculate copy fit values vary by font supplier, and are generally language-dependent.

COPYFITS is a property-list, of copy fit property-list, defining named copy fit techniques and associated copy fit values for this writing mode of the font resource. Each copy fit propery-list usually contains the structured copy fit technique name, and a corresponding measure indicating the number of glyphs per centimeter, according to that copy fit technique.

copyfits-property-list ::= copyfits-name, copyfits-value-property-list
copyfits-name ::= STRUCTURED-NAME
                -- ISO/IEC 9541-1//COPYFITS
copyfits-value-property-list ::= (copyfit-property-list |
                                  property-list)*

8.7.1.18.1 Copy Fit Technique (COPYFIT)

COPYFIT is a property-list, defining a single copy fit technique and measure for this writing mode of the font resource. This property-list is repeated for each copy fit technique supported by this writing mode of the font resource.

copyfit-property-list ::= copyfit-name, copyfit-value-property-list
copyfit-name ::= STRUCTURED-NAME
               -- ISO/IEC 9541-1//COPYFIT
copyfit-value-property-list ::= copyfitname-property,
                               (copyfitmeasure-property |
                                property-list)*

The COPYFITNAME property shall be unique with the context of the COPYFITS property-list and shall be first in its associated property-list; all other properties can appear in any order.

8.7.1.18.1.1 Copy Fit Technique Name (COPYFITNAME)

COPYFITNAME is a structured-name, the name that identifies the copy fit technique.

copyfitname-property ::= copyfitname-name, copyfitname-value
copyfitname-name ::= STRUCTURED-NAME
                   -- ISO/IEC 9541-1//COPYFITNAME
copyfitname-value ::= STRUCTURED-NAME

The structured copy fit technique name is assigned by the data source (DATASOURCE); its significance is not defined within ISO/IEC 9541.

8.7.1.18.1.2 Copy Fit Measure (COPYFITMEASURE)

COPYFITMEASURE is an unsigned rational, the number of glyphs per linear centimeter, as measured in the nominal escapement direction of the writing mode, according to the copy fit technique specified by the copy fit name (COPYFITNAME).

copyfitmeasure-property ::= copyfitmeasure-name, copyfitmeasure-value
copyfitmeasure-name ::= STRUCTURED-NAME
                       -- ISO/IEC 9541-1//COPYFITMEASURE
copyfitmeasure-value ::= RATIONAL -- unsigned

8.7.1.19 Design, Recommended Minimum and Maximum Wordspace Adjustments (DSNWORDADD, DSNWORDAMPL, MINWORDADD, MINWORDAMPL, MAXWORDADD, MAXWORDAMPL)

DSNWORDADD, MINWORDADD and MAXWORDADD are rel-rational, the design, recommended minimum and maximum additive escapement adjustments, respectively, which properly may be applied to word-spacing glyphs in this writing mode of the font resource for the purposes of text justification, according to the judgment of the design source (DSNSOURCE). The escapements of all such word-spacing glyphs are modified a constant amount.

DSNWORDAMPL, MINWORDAMPL and MAXWORDAMPL are rational, the design, recommended minimum and maximum multiplicative escapement adjustments, respectively, which properly may be applied to word-spacing glyphs in this writing mode of the font resource, for the purposes of text justification, according to the judgment of the design source (DSNSOURCE). As each glyph potentially has a different escapement, these multiplicative factors will generally modify the escapements of all such word-spacing glyphs an amount proportionate to the escapement of each glyph.

dsnwordadd-property ::= dsnwordadd-name, dsnwordadd-value
dsnwordadd-name ::= STRUCTURED-NAME
                  -- ISO/IEC 9541-1//DSNWORDADD
dsnwordadd-value ::= REL-RAT10NAL

dsnwordampl-property ::= dsnwordampl-name, dsnwordampl-value
dsnwordampl-name ::= STRUCTURED-NAME
                  -- ISO/IEC 9541-1//DSNWORDAMPL
dsnwordampl-value ::= RATIONAL

minwordadd-property ::= minwordadd-name, minwordadd-value
minwordadd-name ::= STRUCTURED-NAME
                  -- ISO/IEC 9541-1//MINWORDADD
minwordadd-value ::= REL-RAT10NAL

minwordampl-property ::= minwordampl-name, minwordampl-value
minwordampl-name ::= STRUCTURED-NAME
                  -- ISO/IEC 9541-1//MINWORDAMPL
minwordampl-value ::= RATIONAL

maxwordadd-property ::= maxwordadd-name, maxwordadd-value
maxwordadd-name ::= STRUCTURED-NAME
                  -- ISO/IEC 9541-1//MAXWORDADD
maxwordadd-value ::= REL-RATIONAL

maxwordampl-property ::= maxwordampl-name, maxwordampl-value
maxwordampl-name  ::= STRUCTURED-NAME
                  -- 1SO/IEC 9541-1//MAXWORDAMPL
maxwordampl-value ::= RATIONAL

NOTE 33 These properties usually increase or decrease the total escapement, in the direction of the unmodified escapement, of the glyph(s) to which they are applied [see the escapement adjustment indicator (EAI) glyph property, 8.8.1.7].

NOTE 34 The escapement adjustment values are relative to the design size (DSNSIZE) and minimum line spacing (MINLlNESP) of the font resource, assuming an appropriate number of glyphs per text line. Modifications to the adjustment values are generally required when scaling the font resource smaller or larger than the design size.

NOTE 35 These properties are not defined for font resources intended for writing systems that do not generaliy support the notion of word, e.g., Ideographic fonts as used in Japanese composition.

8.7.1.20 Design, Recommended Minimum and Maximum Letterspace Adjustments (DSNLETTERADD, DSNLETTERAMPL, MINLETTERADD, MINLETTERAMPL, MAXLETTERADD, MAXLETTERAMPL)

DSNLETIERADD, MINLETIERADD and MAXLETTERADD are rel-rational, the design, recommended minimum and maximum additive inter-glyph escapement adjustments, respectively, which properly may be made to letter-spacing glyphs in this writing mode of the font resource for the purposes of text justification, according to the judgment of the design source (DSNSOURCE). The escapements of all such letter-spacing glyphs are modified a constant amount.

DSNLETTERAMPL, MINLETIERAMPL and MAXLETTERAMPL are rational, the design, recommended minimum and maximum multiplicative escapement adjustments, respectively, which properly may be made to letter-spacing glyphs in this writing mode of the font resource for the purposes of text justification, according to the judgment of the design source (DSNSOURCE). As each glyph potentially has a different escapement, these multiplicative factors will generally modify the escapements of all such letter-spacing glyphs an amount proportionate with the escapement of each glyph.

dsnletteradd-property ::= dsnletteradd-name, dsnletteradd-value
dsnletteradd-name ::= STRUCTURED-NAME
                    -- ISO/IEC 9541-1//DSNLETTERADD
dsnletteradd-value ::= REL-RAT10NAL

dsnletterampl-property ::= dsnletterampl-name, dsnletterampl-value
dsnletterampl-name ::= STRUCTURED-NAME
                    -- ISO/IEC 9541-1//DSNLETTERAMPL
dsnletterampl-value ::= RATIONAL

minletteradd-property ::= minletteradd-name, minletteradd-value
minletteradd-name ::= STRUCTURED-NAME
                    -- ISO/IEC 9541-1//MINLETTERADD
minletteradd-value ::= REL-RATI0NAL

minletterampl-property ::= minletterampl-name, minletterampl-value
minletterampl-name ::= STRUCTURED-NAME
                    -- ISO/IEC 9541-1//MINLETTERAMPL
minletterampl-value ::= RATIONAL

maxletteradd-property ::= maxletteradd-name, maxletteradd-value
maxletteradd-name ::= STRUCTURED-NAME
                    -- ISO/IEC 9541-1//MAXLETTERADD
maxletteradd-value ::= REL-RATIONAL

maxletterampl-property ::= maxletterampl-name, maxletterampl-value
maxletterampl-name ::= STRUCTURED-NAME
                    -- ISO/IEC 9541-1//MAXLETTERAMPL
maxletterampl-value ::= RATI0NAL

NOTE 36 These properties usually increase or decrease the total escapement, the modification to be added half before and half after each glyph in the direction of the unmodified escapement, of the glyph(s) to which they are applied (see the escapement adjustment indicator (EAI) glyph property, 8.8.1.7).

NOTE 37 The escapement adjustment values are relative to the design size (DSNSIZE) and minimum line spacing (MINLINESP) of the font resource, assuming an appropriate number of glyphs per text line. Modifications to the adjustment values are generally required when scaling the font resource smaller or larger than the design size.

8.8 Specification of font resource glyph metrics properties (GLYPHMETRICS)

Each writing mode of a font resource contains a list of glyph metrics properties for each glyph defined in that writing mode of the font resource.

Each glyph metrics property-list usualiy specifies a structured glyph name, the glyph extents, position and escapement points, etc. Specific glyphs may also define ligature relationships,pairwise and sector-pairwise escapement adjustments, etc.

GLYPHMETRICS is a property-list of glyph metrics property-list, defining all glyph metrics properties associated with this writing mode of the font resource.

glyphmetrics-property-list ::= glyphmetrics-name, 
                               glyphmetrics-value-property-list
glyphmetrics-name ::= STRUCTURED-NAME
                    -- ISO/IEC 9541-1//GLYPHMETRICS
glyphmetrics-value-property-list :: (gmetric-property-list |
                                     property-list)*

8.8.1 Glyph Metric (GMETRIC)

GMETRIC is a property-list, defining all the metrics properties associated with this glyph of the font resource, in this writing mode. A modal glyph metrics property-list will normally have a number of such glyph metrics roperties.

gmetric-property-list ::= gmetric-name, gmetric-value-property-list
gmetric-name ::= STRUCTURED-NAME
               -- ISO/IEC 9541-1//GMETRIC
gmetric-value-property-list ::= gname-property,
                            (px-property | py-property |
                             ex-property | ey-property |
                             ext-property | lgs-property-list |
                             peas-property-list | cpeai-property |
                             eai-property | minex-property |
                             miney-property | maxex-property |
                             maxey-property | property-list)*

The GNAME property shall be unique within the context of the GLYPHMETRICS property-list and shall be first in its associated property-list; all other properties can appear in any order.

The remainder of this clause defines the ISO/IEC 9541 modal glyph metrics properties.

8.8.1.1 Glyph Name (GNAME)

GNAME is a structured-name, the structured glyph name that identifies this glyph.

gname-property ::= gname-name, gname-value
gname-name ::= STRUCTURED-NAME
             -- ISO/IEC 9541-1//GNAME
gname-value ::= STRUCTURED-NAME

8.8.1.2 Glyph Position and Escapement Points (PX, PY, EX, EY)

In imaging glyphs in sequence, each glyph is usually first translated so that its scaled position point is at the current position on the presentation surface, then the glyph shape is imaged, then the current position is moved to the glyph's scaled escapement point. The net escapement, i.e., the net change in current position for ordinary imaging of a glyph in this writing mode, is thus the distance from the position point to the escapement point. The escapement direction for the glyph is the direction from its position point to escapement point.

For operational efficiency, however, glyphs should generally be defined within the glyph coordinate system so thatthe most frequently used position point coincides with the origin of the glyph coordinate system, and the escapement points lie on the x or y axis. For example, for Latin fonts, which are normally designed to be used in a left-to-right writing mode, visually aligned on a common baseline, each glyph generally would be positioned in the glyph coordinate system so that the position point coincides with the origin of the glyph coordinate system, and the escapement point lies on the horizontal x axis. In this case, only the EX property need be specified.

Ideographic fonts are often designed to be used in both left-to-right and top-to-bottom writing modes, visually centered on a horizontal or vertical centreline, respectively. Each glyph, then, would generally be positioned in the glyph coordinate system so that the position and escapement points in the left-to right writing mode lie on the horizontal x axis, and conversely, in the top-to-bo ˇŠom writing mode, the position and escapement points would lie on the vertical y axis. For each writing mode, then, only the x or y component of these properties need be defined as the remaining components default to zero. See figure 2.

PX, PY, EX and EY are rel-rational, the x and y coordinates of the position and escapement points, respectively, of the named glyph in this writing mode of the font resource, as measured in the glyph coordinate system. Any of the coordinate values may be zero, i.e., on the glyph coordinate system axis or at its origin. By convention, these property values default to zero if not specified in a font resource.

px-property ::= px-name, px-value
px-name ::= STRUCTURED-NAME
          -- ISO/IEC 9541-1//PX
px-value ::= REL-RATIONAL

py-property ::= py-name, py-value
py-name ::= STRUCTURED-NAME
          -- ISO/IEC 9541-1//PY
py-value ::= REL-RATIONAL

ex-property ::= ex-name, ex-value
ex-name ::= STRUCTURED-NAME
          -- ISO/IEC 9541-1//EX
ex-value ::= REL-RATIONAL

ey-property ::= ey-name, ey-value
ey-name ::= STRUCTURED-NAME
          -- ISO/IEC 9541-1//EY
ey-value ::= REL-RATIONAL

Let Px,y be the current position point on the presentation surface; let PX', PY', EX' and EY' be the scaled x and y components of the position and escapement points of the glyph, respectively. The net displacement of the current position point is given by:

P'x = Px - PX' + EX' 
P'y = Py - PY' + EY'

8.8.1.3 Glyph Extents (EXT)

EXT is an ordered-value-list of four rel-rationals, the x and y coordinates of the minimum and maximum glyph extents, respectively, of the named glyph in this writing mode of the font resource, as measured from the named glyph's position point in the glyph coordinate system. All four extents are zero if the glyph has no shape, i.e., if it is a space.

ext-property ::= ext-name, ext-value-value-list
ext-name ::= STRUCTURED-NAME
           -- ISO/IEC 9541-1//EXT
ext-value-value-list ::= ext-minx, ext-miny,
                         ext-maxx, ext-maxy
ext-minx ::= REL-RATIONAL
ext-miny ::= REL-RATIONAL
ext-maxx ::= REL-RATIONAL
ext-maxy ::= REL-RATIONAL

NOTE 38 Conceptually, an extent is the limit of the inked portion of the glyph shape definition as imaged on a presentation surface, not including any embedded whitespace. Also note that, within the model presented here, glyphs may kern, i.e., their shapes may extend beyond their position and escapement points (see figure 5).

8.8.1.4 Glyph Ligature Relationships (LGS)

LGS is an ordered-property-list of ligature property-list, defining all the possible ligature relationships for the named glyph in this writing mode of the font resource. LGS is ordered according to the successor glyph structured-name and the number of successor glyphs in the ligature relationship, longest successor list first.

lgs-property-list ::= lgs-name, lgs-value-property-list
lgs-name ::= STRUCTURED-NAME
           -- ISO/IEC 9541-1//LGS
lgs-value-property-list ::= (lg-property | property-list)*


Figure 5 - Glyph extents showing a kern for a typical Latin glyph in the LEFT-TO-RIGHT writing mode

8.8.1.4.1 Ligature (LG)

LG is a property-list, specifying a single possible ligature relationship for the named glyph in this writing mode of the font resource. A ligature relationship is composed of the named glyph and a number of successor glyphs (LGSN) which, when occurring in an electronic document in the given sequence, are equivalent to, and may be replaced with, the ligature specified by the LGN property.

lg-property ::= lg-name, lg-value-property-list
lg-name ::= STRUCTURED-NAME
          -- ISO/IEC 9541-1//LG
lg-value-property-list ::= lgn-property,
                          (lgsn-property | property-list)*

The LGN property shall be unique within the context of the LGS property-list and shall be the first property in its associated property-list; all other properties can appear in any order.

NOTE 39 A ligature is consonant(s) and a vowel or consonants joined together and having a different design, but not a different pronunciation or meaning, than if separated. The definition of possible ligature relationships for a given glyph is highly dependent on the writing system and typeface design and will generally vary from one font resource to another.

8.8.1.4.1.1 Ligature Name (LGN)

LGN is a structured-name, the name that identifies the ligature glyph associated with the ligature relationship.

lgn-property ::= lgn-name, lgn-value
lgn-name ::= STRUCTURED-NAME
           -- ISO/IEC 9541-1//LGN
lgn-value ::= STRUCTURED-NAME

8.8.1.4.1.2 Ligature Successor Names (LGSN)

LGSN is an ordered-value-list of structured-name, the names that identify the successor glyphs associated with this ligature relationship, ordered according to the sequence of successor glyphs making up the ligature.

lgsn-property ::= lgsn-name, lgsn-value-value-list
lgsn-name ::= STRUCTURED-NAME
            -- ISO/IEC 9541-1//LGSN
lgsn-value ::= (STRUCTURED-NAME)+

8.8.1.5 Glyph Pairwise Escapement Adjustments (PEAS)

Certain font resources will accomplish most or all pairwise escapement adjustment by defining precise x and y values on a per-glyph basis for either or both pairwise or sector-pairwise adjustments. These per-glyph adjustments are usually designed to work in concert with the class-pairwise and scale escapement correction adjustments given for an entire writing mode of the font resource of the same escapement adjustment mode, if provided for that writing mode (see the escapement adjustments property (ESCADJS), 8.7.1.10).

PEAS is a property-list of pairwise escapement adjustment property-list, defining all the possible pairwise and sector-pairwise escapement adjustment relationships for the named glyph in this writing mode of this font resource.

peas-property-list ::= peas-name, peas-value-property-list
peas-name ::= STRUCTURED-NAME
            -- ISO/IEC 9541-1//PEAS
peas-value-property-list ::= (pea-property-list | property-list)*

8.8.1.5.1 Pairwise Escapement Adjustment (PEA)

PEA is a property-list, defining possible pairwise and sector-pairwise escapement adjustment relationships for the named glyph for a particular escapement adjustment mode. A PEAS property-list may have more than one such glyph pairwise escapement adjustment property-list.

pea-property-list ::= pea-name, pea-value-property-list
pea-name ::= STRUCTURED-NAME
           -- ISO/IEC 9541-1//PEA
pea-value-property-list ::= pean-property,
                           (peax-property | peay-property |
                            speaforwdx-property |
                            speaforwdy-property |
                            speabackwdx-property |
                            speabackwdy-property |
                            property-list)*

The PEAN property shall be unique within the context of the PEAS property-list and shall be the first property in its associated property-list; all other properties can appear in any order.

The remainder of this clause defines the ISO/IEC 9541 modal pairwise and sector-pairwise escapement adjustment propertles.

8.8.1.5.1.1 Pairwise Escapement Adjustment Name (PEAN)

PEAN is a structured-name, the name that identifies the pairwise escapement adjustment mode.

The ISO/IEC 9541 pairwise escapement adjustment mode object names are given in 8.8.1.7.

pean-property ::= pean-name, pean-value
pean-name ::= STRUCTURED-NAME
            -- ISO/IEC 9541-1//PEAN
pean-value ::= STRUCTURED-NAME

Variations on pairwise setting can be approximated by linear interpolation of the x and y escapement adjustment values given for the KERN and TOUCH pairwise escapement adjustment modes.

NOTE 40 Other structured pairwise escapement adjustment mode names are possible, but their significance is not defined within ISO/IEC 9541.

8.8.1.5.1.2 Pairwise Escapement Adjustment (PEAX, PEAY)

PEAX and PEAY are value-lists of peascsr data structures, describing the x and y components, respectively, of the suggested pairwise escapement adjustments between the named glyph and various successor glyphs when imaged successively in this writing mode. No ordering is implied.

Each peascsr defines an ordered pair of peasn and pea-adj values, giving the structured-name for the successor glyph (peasn) and the x or y component of the suggested pairwise escapement adjustment for that successor glyph (pea-adj).

peax-property ::= peax-name, peax-value-value-list
peax-name ::= STRUCTURED-NAME
            -- ISO/IEC 9541-1//PEAX
peax-value-value-list ::= (peascsr)+
peascsr ::= peasn, pea-adj
peasn ::= STRUCTURED-NAME
pea-adj ::= REL-RATIONAL

peay-property ::= peay-name, peay-value-value-list
peay-name ::= STRUCTURED-NAME
            -- ISO/IEC 9541-1//PEAY
peay-value-value-list ::= (peascsr)+

8.8.1.5.1.3 Sector-Pairwise Escapement Adjustment Extents (SPEAFORWDX, SPEAFORWDY, SPEABACKWDX, SPEABACKWDY)

SPEAFORWDX and SPEAFORWDY are ordered-value-lists of ref-rationals, the x and y components, respectively, of the forward sector-pairwise escapement adjustment extents, for the named glyph in this writing mode of the font resource. SPEAFORWDX and SPEAFORWDY values are the designated forward extents of each sector of this glyph, measured in the glyph coordinate system, one extent per sector, in order by sector.

SPEABACKWDX and SPEABACKWDY are ordered-value-lists of rel-rationals, the x and y components, respectively, of the backward sector-pairwise escapement adjustment extents, for the named glyph in this writing mode of the font resource. SPEABACKWDX and SPEABACKWDY values are the designated backward extents of each sector of this glyph, measured in the glyph coordinate system, one extent per sector, in order by sector. See figure 6.


Figure 6 - Example of sector-pairwise escapement adjustment extents

speaforwdx-property ::= speaforwdx-name, speaforwdx-value-value-list
speaforwdx-name ::= STRUCTURED-NAME
                  -- ISO/IEC 9541-1//SPEAFORWDX
speaforwdx-value-value-list ::= (REL-RATIONAL)+

speaforwdy-property ::= speaforwdy-name, speaforwdy-value-value-list
speaforwdy-name ::= STRUCTURED-NAME
                  -- ISO/IEC 9541-1//SPEAFORWDY
speaforwdy-value-value-list ::= (REL-RATIONAL)+

speabackwdx-property ::= speabackwdx-name,
speabackwdx-value-value-list
speabackwdx-name ::= STRUCTURED-NAME
                   -- ISO/IEC 9541-1//SPEABACKWDX
speabackwdx-value-value-list ::= (REL-RATIONAL)+

speabackwdy-property ::= speabackwdy-name,
speabackwdy-value-value-list
speabackwdy-name ::= STRUCTURED-NAME
                   -- ISO/IEC 9541-1//SPEABACKWDY
speabackwdy-value-value-list ::= (REL-RATIONAL)+

Let X, Yi be the sum of glyph a's ith sector-pairwise forward x and y extents and a successor glyph b's ith sector-pairwise backward x and y extents, for all i for which both those extents are given. Let X, Ymax be the signed maximum (most positive or least negative) of all such X, Yi's. Then the suggested escapement adjustment is X, Ymax. This distance will most often be negative so as to reduce the spacing between glyphs.

NOTE 41 It is up to the data source (DATASOURCE) to assure that the number, order and meaning of the forward and backward sector extents are the same for all glyphs of the font resource. However, the number, order and meaning of these property values are not generally the same across all font resources.

8.8.1.6 Class-Pairwise Escapement Adjustment Class Indicator (CPEAI)

Class-pairwise escapement adjustment c1ass information is used to determine a suggested escapement adjustment based upon the forward and backward shape profiles of the named glyph and a possible successor glyph (see the c1ass-pairwise escapement adjustment property (CPEA), 8.7.1.10.1.2).

CPEAI is a an ordered-value-list of two cardinals, indicating the forward and backward pairwise escapement adjustment c1asses to which this glyph belongs, for this writing mode of the font resource.

cpeai-property ::= cpeai-name, cpeai-value-value-list
cpeai-name ::= STRUCTURED-NAME
             -- ISO/IEC 9541-1//CPEAI
cpeai-value-value-list ::= cpeai-forward, cpeai-backward
cpeai-forward ::= CARDINAL
cpeai-backward ::= CARDINAL

In general, a font resource will not provide all escapement adjustment properties, however, if present the exact adjustment given by the PEAX or PEAY property gives better typographic results over those determined from application of the glyph's sector-pairwise escapement or the c1ass-pairwise adjustment modal escapement adjustments.

If escapement adjustment is desired and the various modal and per-glyph escapement adjustment properties are present in a font resource, then these properties shall be added to glyph escapement on a per-escapement adjustment mode basis, according to the following algorithm:

a) scale escapement correction modal properties (SECX, SECY), per 8.7.1.10.1.3;

b) per-glyph pairwise escapement properties (PEAX, PEAY), if defined for the named glyph's successor, per 8.8.1.5. Done;

c) per-glyph sector-pairwise escapement properties (SPEAFORWDX, SPEAFORWDY) for the named glyph and per-glyph sector-pairwise escapement properties for the named glyph's successor (SPEABACKWDX, SPEABACKWDY), per 8.8.1.5. Done;

d) class-pairwise escapement adjustment modal properties (CPEAX, CPEAY), per 8.7.1.10.1.2;

e) Done.

8.8.1.7 Escapement Adjustment Indicator (EAI)

EAI is a code, a coded value indicating whether or not the various forms of escapement adjustments (scale,wordspace or letterspace) are applicable to this glyph, in this writing mode of the font resource.Generally, wordspace-escapement adjustment may only be applied to space glyphs, whereas most glyphs may be letterspace-escapement adjusted (usually excepting multi-dot leaders, dashes, ligatures and other similar glyphs). By convention, this property value defaults to Scale/Letterspace-adjusting if not specified for this glyph metrics property-list.

The EAI property value is one of:

1 => Scale/Letterspace-adjusting;
2 => Wordspace“Æadjusting;
3 => Non-adjusting.

All other escapement adjustment indicator codes are reserved for future standardization.

eai-property ::= eai-name, eai-value
eai-name ::= STRUCTURED-NAME
           -- ISO/IEC 9541-1//EAI
eai-value ::= CODE

8.8.1.8 Minimum and Maximum Adjusted Escapement (MINEX, MINEY, MAXEX, MAXEY)

MINEX, MINEY, MAXEX and MAXEY are rel-rational, the recommended minimum and maximum adjusted escapement of this glyph in this writing mode of the font resource, as specified by the design source (DSNSOURCE). In effect, these properties serve as individual minimum and maximum escapement adjustment refinements to the overall limits imposed by the recommended modal letterspace and wordspace adjustments, according to the glyph's escapement indicator (see 8.7.1.19, 8.7.1.20, and 8.8.1.7).

minex-property ::= minex-name, minex-value
minex-name ::= STRUCTURED-NAME
             -- ISO/IEC 9541-1//MINEX
minex-value ::= REL-RATIONAL

miney-property ::= miney-name, miney-value
miney-name ::= STRUCTURED-NAME
             -- ISO/IEC 9541-1//MINEY
miney-value ::= REL-RATIONAL

maxex-property ::= maxex-name, maxex-value
maxex-name ::= STRUCTURED-NAME
             -- ISO/IEC 9541-1//MAXEX
maxex-value ::= REL-RATIONAL

maxey-property ::= maxey-name, maxey-value
maxey-name ::= STRUCTURED-NAME
             -- ISO/IEC 9541-1//MAXEY
maxey-value ::= REL-RATIONAL

8.9 Specification of font resource extended properties

8.9.1 Vertical Units and Horizontal Units (VUNITS, HUNITS)

VUNITS and HUNITS are cardinals, the number of relative units equal to the extended body size of the font resource, as measured along the y axis and x axis respectively of the glyph coordinate system.

verticalunit-property ::= verticalunit-name, verticalunit-value 
verticalunit-name ::= STRUCTURED-NAME 
                    -- ISO/IEC 9541-1//VUNITS 
verticalunit-value ::= CARDINAL 
horizontalunit-property ::= horizontalunit-name,
                            horizontalunit-value
horizontalunit-name ::= STRUCTURED-NAME 
                    -- ISO/IEC 9541-1//HUNITS 
horizontalunit-value ::= CARDINAL 

NOTE 42 The property RELUNITS specifies body size as measured only along the y axis of the glyph coordinate system. However, in some fonts, e.g., a certain Kanji font, dimensional references of their extended body size have to be defined in both x axis and y axis.

NOTE 43 The typical value of VUNITS should be 1000, so as to harmonize with that of RELUNITS.

8.9.2 Fill Ratio (FILLRATIO)

FILLRATIO is a property-list, specifying a blackness of a glyph image of a reference glyph in the font resource.

fillratio-property ::= fillratio-name,  
                       fillratio-value-property-list  
fillratio-name ::=STRUCTURED-NAME 
               -- ISO/IEC 9541-1//FILLRATIO 
fillratio-value-property-list ::= (blackness)+  
blackness ::= reference-glyph, fillratio-value  
reference-glyph ::= MESSAGE 
               -- specification of a typical glyph
fillratio-value ::= RATIONAL
               -- (blackened area)x1000 /(VUNITS x HUNITS)  

NOTE 44 Fill Ratio is used to determine an appropriate font substitution.

NOTE 45 In Latin fonts, "I" or "i" is used as a reference glyph. In Japanese fonts, reference glyphs may be " " or " ".

8.9.3 Design Areas (DSNAREAS)

DSNAREAS is a property-list consisting of the property-lists that specify the design frames within which sets of glyph images are designed in their extended body sizes.

designareas-property ::= designareas-name,
                        designareas-value-property-list 
designareas-name ::=STRUCTURED-NAME 
               -- ISO/IEC 9541-1//DSNAREAS
designareas-value-property-list ::= (designarea-property |
                                     property-list)+

8.9.3.1 Design Area (DSNAREA)

DSNAREA is a property-list specifying the design frame as measured by rel-rationals along the y axis and x axis in each set of glyphs. The set of glyphs configures a subset of the glyph collection of the font resource.

designarea-property ::= designarea-name,
                        designarea-value-property-list
designarea-name ::=STRUCTURED-NAME
               -- ISO/IEC 9541-1//DSNAREA 
designarea-value-property-list ::= (letter-face)+ 
letter-face ::= dsnarea-glyphset-name, dsnarea-height, dsnarea-width
dsnarea-glyphset-name ::= MESSAGE 
            -- specification of glyph-set name
dsnarea-height ::= REL-RATIONAL 
            -- y value of the design frame
dsnarea-width ::= REL-RATIONAL
            -- x value of the design frame

NOTE 46 A glyph-set need not be a registered glyph collection.

NOTE 47 The property DSNAREA shows an extent of glyph alignment compactness in a composed line or line progression.

8.9.4 Average ESC (AVRESC)

AVRESC is a property-list consisting of the property-lists that specify the average sizes of bounding boxes which the designed glyph shapes actually cover in their design area.

averageesc-property ::= averageesc-name,
                        averageesc-value-property-list  
averageesc-name ::=STRUCTURED-NAME  
               -- ISO/IEC 9541-1//AVRESC
averageesc-value-property-list ::= (averagelen-property | 
                                     property-list)+

8.9.4.1 Average LEN (AVRLEN)

AVRLEN is a property-list specifying the average sizes of bounding box as measured by rel-rationals along the y axis and x axis in each set of glyphs, e.g., a katakana glyph set. The set of glyphs configures a subset of the glyph collection of the font resource.

averagelen-property ::= averagelen-name,
                        averagelen-value-property-list
averagelen-name ::=STRUCTURED-NAME
               -- ISO/IEC 9541-1//AVRLEN
averagelen-value-property-list ::= (average-length)+  
average-length ::= avrlen-glyphset-name, avrlen-height, avrlen-width 
avrlen-glyphset-name ::= MESSAGE 
            -- specification of glyph-set name
avrlen-height ::= REL-RATIONAL 
            -- y value of the bounding box
avrlen-width ::= REL-RATIONAL
            -- x value of the bounding box

NOTE 48 A glyph-set need not be a registered glyph collection. An average escapement of a glyph collection can be specified by the property AVGESCY or AVGESCX. The property AVRLEN can specify an average escapement of a part of the glyph collection.

NOTE 49 The property AVRLEN shows a limit of glyph alignment compactness in a composed line or line progression. The simpler functions can be provided by a-z length in Latin fonts.

NOTE 50 A relationship between VUNITS, HUNITS, DSNAREA and AVRLEN is shown in figure 7.


Figure 7 The relationship between VUNITS, HUNITS, DSNAREA and AVRLEN.

NOTE 51 The figure 5.1 illustrates only the relative positions of extended body size, design frame and bounding box.

8.9.5 Generalized Kendot (GENKENDOT)

In a simple formatting, kendots are supported by using the font property SCORE with specifying KENDOT score object. However, the property SCORE can only describe a simple dot with its specified offset and thickness.

More complicated formatting may require a particular shape for kendot. Generalized Kendot includes the capability to specify dot shape.

genkendot-property ::= genkendot-name, genkendot-value-property-list
genkendot-name ::= STRUCTURED-NAME
                    -- ISO/IEC 9541-1//GENKENDOT
genkendot-value-property-list ::= 
                    (genkendot-offsetx-property | 
                     genkendot-offsety-property | 
                     genkendot-thick-property | 
                     genkendot-shape-property)+
genkendot-offsetx-property ::= genkendot-offsetx-name,
                               genkendot-offsetx-value
genkendot-offsetx-name ::= STRUCTURED-NAME
                           -- ISO/IEC 9541-1//GENKENDOTOFFSETX
genkendot-offsetx-value ::= REL-RATIONAL
genkendot-offsety-property ::= genkendot-offsety-name,
                               genkendot-offsety-value
genkendot-offsety-name ::= STRUCTURED-NAME
                           -- ISO/IEC 9541-1//GENKENDOTOFFSETY
genkendot-offsety-value ::= REL-RATIONAL
genkendot-thick-property ::= genkendot-thick-name,
                             genkendot-thick-value
genkendot-thick-name ::= STRUCTURED-NAME
                           -- ISO/IEC 9541-1//GENKENDOTTHICK
genkendot-thick-value ::= REL-RATIONAL
genekendot-shape-property ::= genkendot-shape-name, 
                              genkendot-shape-value 
genkendot-shape-name ::= STRUCTURED-NAME
                           -- ISO/IEC 9541-1//GENKENDOTSHAPE
genkendot-shape-value ::= STRUCTURED-NAME 
                           -- Dot Glyph Name

8.10 Specification of Interlinear/intercharacter Object Properties (ILCOBJ)

ILCOBJ is a property-list consisting of property-lists that specify type, font size, typeface, rotation, position in writing direction, formatting information in writing direction, and position in line progression direction of an interlinear/intercharacter object.

NOTE 52 that the properties are primitive properties to locate actually an interlinear/intercharacter object. There may be some GUI or convention for specification which can produce the properties.

ILC-property ::= ILC-name, ILC-value-property-list
ILC-name ::= STRUCTURED-NAME
ILC-value-property-list ::= (ILC-type-property|ILC-font-size-property|
ILC-typeface-property|ILC-rotation-property|
ILC-writing-direction-offset-property| ILC-formatting-type-property|
ILC-line-progression-direction-offset-property)+

ILC-type-property ::= ILC-type-name, ILC-type-value
   -- type of Interlinear/intercharacter objects
ILC-type-name ::= STRUCTURED-NAME
ILC-type-value ::= STRUCTURED-NAME

ILC-font-size-property ::= ILC-font-size-name, ILC-font-size-value-type,
ILC-font-size-value
   -- Property for font size
ILC-font-size-name ::= STRUCTURED-NAME
ILC-font-size-value-type ::= "ABS" | "RELATIVE"
ILC-font-size-value ::= REL-RATIONAL 

ILC-typeface-property ::= ILC-typeface-name, ILC-typeface-value
   -- Property for typeface
ILC-typeface-name ::= STRUCTURED-NAME
ILC-typeface-value ::= STRUCTURED-NAME

ILC-rotation-property ::= ILC-rotation-name, ILC-rotation-value
   -- Property for rotation
ILC-rotation-name ::= REL-RATIONAL
ILC-rotation-value ::= 0|90|180|270

ILC-writing-direction-offset-property ::= ILC-writing-direction-offset-name, 
ILC-writing-direction-offset-value, ILC-writing-direction-offset-value
   -- Property for position in writing direction 
ILC-writing-direction-offset-name ::= STRUCTURED-NAME
ILC-writing-direction-offset-value-type ::= "ABS" | "RELATIVE"
ILC-writing-direction-offset-value ::= REL-RATIONAL

ILC-formatting-type-property ::= 
                     ILC-formatting-type-name, ILC-formatting-type-value
   -- Property for formatting information in writing direction
ILC-formatting-type-name ::= STRUCTURED-NAME
ILC-formatting-type-value ::= "HEAD"|"CENTER"|"TAIL"|"JUSTIFICATION"

ILC-line-progression-direction-offset-property ::= 
ILC-line-progression-direction-offset-name,
ILC-line-progression-direction-offset-value,
ILC-line-progression-direction-offset-value-type
   -- Property for position in line progression direction 
ILC-line-progression-direction-offset-name ::= STRUCTURED-NAME
ILC-line-progression-direction-offset-value-type ::= "ABS" | "RELATIVE"
ILC-line-progression-direction-offset-value ::= REL-RATIONAL

NOTE 53 It is required to specify the following character strings for processing an interlinear/intercharacter object:

This Amendment provides no particular schemes to specify those character strings. For example, customized SGML/XML tags may be used for it.

NOTE 54 It is possible to associate multiple interlinear/intercharacter objects with the identical character string.

NOTE 55 ILC-type-property (type) specifies the type of an interlinear/intercharacter object.

NOTE 56 ILC-font-size-property (font size) specifies the font size with its absolute value or relative value with respect to the font size of the parent object.

NOTE 57 ILC-typeface-property (typeface name) specifies the typeface name.

NOTE 58 ILC-rotation-property (rotation) specifies the angle measured counterclockwise from the parent object's writing direction to the child object's writing direction. In many cases, interlinear objects have 0 degree and intercharacter objects have 270 degree (when the main text is horizontally composed) or 90 degree (when the main text is vertically composed).

NOTE 59 ILC-writing-direction-offset-property (offset in writing direction) specifies the offset in writing direction with its absolute value or relative value with respect to the font size of the parent object. This value shows the displacement between the positioning points of child object and parent object (see Figure 8, 9 and 10), and is measured in the parent object's coordinate system.

NOTE 60 ILC-formatting-type-property (formatting type information in writing direction) specifies the formatting information regarding the alignment in writing direction. When this property is specified, other properties for positioning in writing direction are overwhelmed.

NOTE 61 ILC-line-progression-direction-offset-property (offset in line progression direction) specifies the offset in line progression direction with its absolute value or relative value with respect to the font size of the parent object.

This value shows the displacement between the baselines of parent object and child object (see Figure 8, 9 and 10), and is measured in the parent object's coordinate system.

Figure 8 - Offsets in the case where writing direction of the parent object is left-to-right and rotation is 0 degree

Figure 9 - Offsets in the case where writing direction of the parent object is left-to-right and rotation is 270 degree

Figure 10 - Offsets in the case where writing direction of the parent object is top-to-bottom and rotation is 0 degree


 


Annex A
(normative)
Typeface design grouping


This annex defines a typeface design grouping scheme whose purpose is to provide values for the mandatory DSNGROUP property defined in clause 8.6.15. This grouping scheme consists of a three-level hierarchical structure. The highest (most general) level of the hierarchy is the ISO Class, the second level of the hierarchy is the ISO Subclass, and the third (most specific) level of the hierarchy is the ISO Specific Group. Typeface examples for each Specific Group are shown and named wherever possible. These illustrations are intended to serve only as informative examples, not as a comprehensive catalog.

Typefaces which are similar in appearance or which have characteristics that would allow them to be reasonably substituted for each other, are grouped together.

Some type designs could be associated with more than one design group, but it is the responsibility of the type designer or font resource generator to choose the most appropriate group.

This typeface grouping scheme has the following intended purposes:

When using this grouping scheme, it may be necessary to consider properties additional to those described in clause 8 when selecting substitution fonts. Since the grouping value specifies only the style and appearance of a font, additional properties such as NOMCAPSTEMWIDTH, LCHEIGHT, and metrics can prove useful in matching the layout and typographic color of a page, and in achieving the best overall match.

NOTE 62 Throughout this grouping scheme, the term "serif" is used to denote both the traditional concept of the serifs of Roman typefaces, as well as any style of non-plain stroke-ending used in a non-Latin typeface. Although non-Latin typefaces with non-plain stem endings are included in groups with "serif" in their names, it may generally be improper to refer to them as "serif" typefaces. The term "sans serif" is used to denote a plain, unembellished stroke ending.

1.0.0 Uncials class

Typefaces in this class use as a source of their design the Uncial writing hands of Europe used from the 4th to the 10th Century.

1.1.0 Uncials::Single alphabet subclass

These designs are characterized by having one set of alphabetic glyphs having a mixture of both upper and lowercase letter shapes consistent with the historical Uncial book hand.

1.1.1 Uncials::Single alphabet::Sans Serif

Typefaces in this group have the characteristics of Uncial glyph images, but have plain stem endings.


Figure A.1 - Amsterdam SIMPLEX

1.1.2 Uncials::Single alphabet::Serif

Typefaces in this group have the characteristics of Uncial, and have the serifs that were typical of the historical forms.


Figure A.2 - Amsterdam LIBRA

1.2.0 Uncials::Duplex alphabet subclass

The designs of this subclass are characterized primarily by having distinct and separate upper and lowercase letter shapes (a characteristic not found in historical examples).

1.2.1 Uncials::Duplex alphabet::Sans Serif

Typefaces in this group have duplex Uncial forms with plain stem endings.

No Sample Available
Figure A.3 - (---)

1.2.2 Uncials::Duplex alphabet::Serif

Typefaces in this group have duplex Uncial forms with serifs for stem endings.


Figure A.4 - Klingspor AMERICAN UNCIAL

2.0.0 Inscriptionals class

Latin typefaces of this general class have the characteristics of being based on monumental lettering which was cut in stone. Generally they include only uppercase letters and are based on the proportions of the classic Roman inscriptional glyph images, e.g., having a narrow "E", "F", and "L".

2.1.0 Inscriptionals::Solids subclass

These designs have solid stems.

2.1.1 Inscriptionals::Solids::Sans Serif

Typefaces in this group are based on inscriptional styles, have solid stems, and plain stem endings.


Figure A.5 - Adobe LITHOS

2.1.2 Inscriptionals::Solids::Serif

Typefaces in this group are based on inscriptional styles, have solid stems, and non-plain stem endings.


Figure A.6 - Stempel SISTINA

2.2.0 Inscriptionals::Inlines subclass

These designs have a fine line in the stem which gives the appearance that the lettering is incised in stone or wood.

2.2.1 Inscriptionals::Inlines::Sans Serif

Inscriptional style typefaces with inlines and plain stem endings.

No Sample Available
Figure A.7 - (---)

2.2.2 Inscriptionals::Inlines::Serif

Inscriptional style typefaces with inlines and nonplain stem endings.


Figure A.8 - Nebiolo AUGUSTEA INLINE

2.3.0 Inscriptionals::Outlines subclass

The designs of this subclass are characterized by single lines that define the contour or outline of the glyphs.

2.3.1 Inscriptionals::Outlines::Sans Serif

This group consists of outlined inscriptional styles with plain stem endings.

No Sample Available
Figure A.9 - (---)

2.3.2 Inscriptionals::Outlines::Serif

This group consists of outlined inscriptional styles with non-plain stem endings.


Figure A.10 - Bauer COLUMNA


Figure A.11 - Morisawa LINEA

3.0.0 Blackletters class

Designs in this class are characterized by relatively bold, angular, and condensed character shapes. Latin typefaces in this class are generally based on the late medieval European book hands known as the Blackletter style. Some variations include bold rounded styles as well as less formal designs showing cursive influences. Non-Latin typefaces in this class are those based on bold and angular designs.

3.1.0 Blackletters::Formal style subclass

The designs of this subclass are characterized by their condensed appearance; large x-height; with little or no curves, giving an angular look to the lowercase. Latin-alphabet versions of these typefaces were, historically, reserved for Bible printing, and were based on the ecclesiastical writing style.

3.1.1 Blackletters::Formal style::Sans serif

This group consists of formal Blackletter designs with plain stem endings.


Figure A.12 - ITC HONDA

3.1.2 Blackletters::Formal style::Serif

This group consists of formal Blackletter designs with serifs for stem endings.


Figure A.13 - Lanston Monotype GOUDY TEXT


Figure A.14 - Ryobi MIYABI


Figure A.15 - Cimos, KUFI Script

3.1.3 Blackletters::Formal style::Sans serif, engraved

The designs of this specific group have plain stem endings and have a pattern of hatching or shading in the stems.

No Sample Available
Figure A.16 - (---)

3.1.4 Blackletters::Formal style::Serif, engraved

The designs of this specific group have serifs and have hatching or shading in the stems.


Figure A.17 - Klingspor DEUTSCHE ZIERSCHRIFT

3.1.5 Blackletters::Formal style::Simplified, with concave stem endings

Typefaces in this group have concave stem endings, long ascenders, and short descenders.


Figure A.18 - Letraset KUFIC MEDIUM

3.1.6 Blackletters::Formal style::Simplified, concave stem endings with two character twist

Arabic typefaces in this group have concave stem endings, long ascenders, short descenders, and two character twist.


Figure A.19 - Cimos MUSTASIMI

3.1.7 Blackletters::Formal style::Modified, with concave stem endings

Typefaces in this group have concave stem endings, long ascenders, short descenders, and modified lines (especially the base line).


Figure A.20 - Letraset ROYAL KUFI

3.1.8 Blackletters::Formal style::Simplified, with "Fish Tail" stem endings

Typefaces in this group have "Fish Tail" stem endings, long ascenders, and short descenders.


Figure A.21 - Compugraphic KUFI

3.1.9 Blackletters::Formal style::Modified, with "Fish Tail" stem endings

Typefaces in this group have "Fish Tail" stem endings, long ascenders, short descenders, and modified lines (especially the base line).


Figure A.22 - Cimos KUFI

3.1.10 Blackletters::Formal style::One character twist, with "Fish Tail" stem endings

Typefaces in this group have "Fish Tail" stem endings, long ascenders, and one character twist.


Figure A.23 - Boutros KUFI

3.1.11 Blackletters::Formal style::Display, old style black

Typefaces in this group have "Fish Tail" stem endings, a bold weight, and short ascenders and descenders in addition to their classic appearance.


Figure A.24 - Letraset KUFI DISPLAY

3.1.12 Blackletters::Formal style::Display, modern style black

Typefaces in this group have concave stem endings, and represent a modern version of designs classified under 3.1.11.


Figure A.25 - Letraset ANTARAT

3.2.0 Blackletters::Round style subclass

The designs of this subclass have characteristics of the Blackletters class but are less angular.

3.2.1 Blackletters::Round style::Sans serif

The designs of this specific group have plain stem endings.


Figure A.26 - Berthold POST ROMAN

3.2.2 Blackletters::Round style::Serif

The designs of this specific group have non-plain stem endings.


Figure A.27 - Lanston Monotype GOUDY THIRTY

3.2.3 Blackletters::Round style::Sans serif, engraved

The designs of this specific group have no serifs and have a pattern of hatching or shading in the stems.

No Sample Available
Figure A.28 - (---)

3.2.4 Blackletters::Round style::Serif, engraved

The designs of this specific group have serifs and have hatching or shading in the stems.

No Sample Available
Figure A.29 - (---)

3.3.0 Blackletters::Hybrid style subclass

The designs of this subclass are characterized by their mixture of both Blackletters Formal style (3.1.0) and the Serifs style (4.1.1). The historical models for this design are from the late 1400's (Subiaco Monastery; Da Spira Brothers).

3.3.1 Blackletters::Hybrid style::Sans serif

The designs of this specific group have plain stem endings.


Figure A.30 - Klingspor WALLAU

3.3.2 Blackletters::Hybrid style::Serif

The designs of this specific group have non-plain stem endings.


Figure A.31 - Stephenson Blake BOLOGNA

3.3.3 Blackletters::Hybrid style::Sans serif, engraved

The designs of this specific group have no serifs and have a pattern of hatching or shading in the stems.

No Sample Available
Figure A.32 - (---)

3.3.4 Blackletters::Hybrid style::Serif, engraved

The designs of this specific group have serifs and have hatching or shading in the stems.

No Sample Available
Figure A.33 - (---)

3.4.0 Blackletters::Informal style subclass

The designs of this subclass are generally based on medieval European Gothic cursive book hands.

3.4.1 Blackletters::Informal style::Sans serif

Typefaces in this group have characteristics of an informal Blackletters style, but have plain stem endings.

No Sample Available
Figure A.34 - (---)

3.4.2 Blackletters::Informal style::Serif

Designs in this group have cursive Blackletter characteristics and serifs.


Figure A.35 - Bauer LEGEND


Figure A.36 - Cimos SUNBULY

3.4.3 Blackletters::Informal style::Sans serif, engraved

The designs of this specific group have plain stem endings and a pattern of hatching or shading in the stems.

No Sample Available
Figure A.37 - (---)

3.4.4 Blackletters::Informal style::Serif, engraved

The designs of this specific group have serifs and hatching or shading in the stems.

No Sample Available
Figure A.38 - (---)

3.4.5 Blackletters::Informal style::Unjoined

Designs in this group have a light (additional white space) appearance, with unjoined glyphs.


Figure A.39 - Compugraphic ARABIC MATH

4.0.0 Serif class

Typefaces in this class have stems with non-plain stem endings and are ones which are not associated with the other classes. Latin typefaces in this group have the traditional serifs; non-Latin typefaces may have any variety of functional or decorative stem endings.

NOTE 63 Although non-Latin typefaces in this class are grouped here because of their non-plain stem endings, it may generally be improper to refer them as being "serif" typefaces.

4.1.0 Serifs::Oldstyle subclass

The typefaces in this category show characteristics of the typefaces created in Europe between the late 15th Century and the 17th Century.

4.1.1 Serifs::Oldstyle::Venetian

The Latin-alphabet typeface designs in this category have a diagonal bar on the lowercase "e"; relatively monotone stem thickness; a sweeping tail on the uppercase "R"; and are based on the type styles of the early Venetian printers circa 1470-1490's.


Figure A.40 - Ludlow EUSEBIUS

4.1.2 Serifs::Oldstyle::Garalde

These typefaces are generally based on the original typeface designs of printers such as Aldus Manutius and Claude Garamond. General characteristics of the Latin-alphabet typefaces are ascenders taller than the uppercase, and a horizontal bar on the lowercase "e".


Figure A.41 - Monotype GARAMOND

4.1.3 Serifs::Oldstyle::Dutch / English

Latin-alphabet typefaces in this category (based on 17th to 18th century Dutch designs) are characterized in part by a wedge shaped serif on the lowercase "t", spur serif on the capital "G", and a concave apex on the capital "A".


Figure A.42 - Stempel JANSON

4.2.0 Serifs::Transitional subclass

Typefaces in this group have characteristics of the typefaces that followed after W. Caslon (circa 1720) and before G. Bodoni (circa 1800).

4.2.1 Serifs::Transitional::Direct Line

Typefaces in this category are characterized by fine serifs and noticeable contrast in the weight of the thick and thin strokes. In Latin-alphabet typefaces, capital letters are nearly all the same width. These typefaces have characteristics in common with the early English designs from the early 1700's to the 1800's (e.g., Baskerville, Bulmer, Bell).


Figure A.43 - BASKERVILLE

4.2.2 Serifs::Transitional::Modified

These typefaces, although based on the same models as above (European designs of the 1700's), are so significantly different that they cannot fit into the direct line category.


Figure A.44 - Linotype GOUDY OLD STYLE


Figure A.45 - Cimos THULUTH

4.2.3 Serifs::Transitional::Arabic Modified II

Arabic typefaces in this group have long ascenders and descenders, more cursive characteristics, and light strokes.


Figure A.46 - Letraset THULUTH

4.3.0 Serifs::Modern subclass

Typefaces in this group exhibit extreme contrast between the thick and thin strokes, as well as hairline serifs, vertical stress, and a condensed appearance.

4.3.1 Serifs::Modern::Continental

These designs are based on, or exhibit characteristics in common with the typestyles of the Italian printer, Bodoni, or the French printer, Didot.


Figure A.47 - BODONI


Figure A.48 - Monotype SONZINO


Figure A.49 - Gujerathi

4.3.2 Serifs::Modern::Fat Face

Typefaces in this group are based on the modern style type designs of W. Thorowgood.


Figure A.50 - Stephenson Blake THOROWGOOD ROMAN


Figure A.51 - Cyrillic Typestyle


Figure A.52 - Compugraphic OUSBOUH

4.4.0 Serifs::Contemporary subclass

This group does not have any clear recognizable historical model.

4.4.1 Serifs::Contemporary::Eclectic

Typefaces in this group are of a mixed design in which a variety of design sources are recognizable.


Figure A.53 - Monotype PERPETUA

4.4.2 Serifs::Contemporary::Fine serif

The serifs of typefaces in this group are very small and pointed and have small bracketing.


Figure A.54 - ITC QUORUM


Figure A.55 - Sha-ken KASOGO

4.4.3 Serifs::Contemporary::Lettering

Typefaces in this group are based on the lettering styles of American sign painters of the early 20th Century.


Figure A.56 - UNIVERSITY

4.5.0 Serifs::Legibility subclass

Obvious characteristics of Latin-alphabet typefaces of this group are large x-height, short ascenders and descenders. The general characteristics are that they were designed for applications where legibility is a major consideration. They may be based on a variety of historical designs.

4.5.1 Serifs::Legibility::Rounded (traditional)

These designs were originally intended to be used for newspapers and were mostly based on previous typeface models. Some designs, however, were not based on historical models, but were developed to address specific technical printing problems. In Latin-alphabet typefaces of this group, the rounded letters such as "c", "e", "o" are based on traditional rounded forms.


Figure A.57 - Monotype TIMES ROMAN


Figure A.58 - Greek: Monotype TIMES ROMAN


Figure A.59 - Sha-ken SHINBUN TOKUFUTO MINCHO


Figure A.60 - Lotus

4.5.2 Serifs::Legibility::Super-elliptical (square)

The traditionally rounded parts of the glyphs in this group are based on a super-elliptical (squared-off ellipse) design.


Figure A.61 - Stempel MELIOR

4.6.0 Serifs::Square serif subclass

The serifs are relatively heavy and may or may not be bracketed.

4.6.1 Serifs::Square serif::Monotone

The designs of this group are characterized by serifs that are approximately the same weight (thickness) as the stems, with no fillets or brackets connecting the stems and serifs.


Figure A.62 - ATF STYMIE

4.6.2 Serifs::Square serif::Clarendon

The designs of this specific group are characterized by serifs that are much heavier than traditional serifs, but less than the weight of the stems. The serifs have brackets connecting to the stems.


Figure A.63 - Bauer FORTUNE

4.6.3 Serifs::Square serif::French Clarendon

The designs of this specific group are characterized by serifs that are thicker than the stems, and can have brackets between the stems and serifs.


Figure A.64 - ATF P. T. BARNUM

4.6.4 Serifs::Square serif::Short (stub) Serifs

The distinguishing features of this group are small, stubby serifs and relatively bold stems.


Figure A.65 - ATF CHELTENHAM

4.6.5 Serifs::Square serif::Typewriter

Typefaces in this group consist of designs that were originally intended for typewriters or were based on monospaced typewriter styles.


Figure A.66 - ATF BULLETIN TYPEWRITER

4.6.6 Serifs::Square serif::Dot matrix

The typefaces in this group are based on the glyphs produced by a dot matrix output device.

No Sample Available
Figure A.67 - (---)

4.7.0 Serifs::Latin subclass

These designs are characterized by serifs that have angled fillets, giving the appearance of triangular shaded serifs.

4.7.1 Serifs::Latin::Solid

The stems of the typefaces in this group are solid.


Figure A.68 - WIDE LATIN

4.7.2 Serifs::Latin::Inline

The stems of the typefaces in this group have an interior line which evokes the look of lettering incised in stone or wood.


Figure A.69 - Stephenson Blake CHISEL

4.8.0 Serifs::Engraving subclass

Latin-typefaces in this group are based upon the designs of the copper-plate engravers.

4.8.1 Serifs::Engraving::Barbed serif

Typefaces in this group have bifurcated or barbed serifs.


Figure A.70 - NICHOLAS COCHIN


Figure A.71 - Cimos SOUFI

4.8.2 Serifs::Engraving::Straight serif (fine)

The main characteristic of this group is very small and pointed serifs, with small fillets. In alphabetic typefaces in this group, the letters are generally all uppercase.


Figure A.72 - ATF COPPERPLATE GOTHIC


Figure A.73 - HILYAH SOLID

4.9.0 Serifs::Free Form subclass

The typefaces in this group have ornaments and styling derived from, or influenced by the Art Nouveau movement of the late 1800's and the early 1900's. They are often characterized by irregular organic forms, twining fronds, sinuous curves, etc.

4.9.1 Serifs::Free Form::Solid

The stems of typefaces in this group are solid.


Figure A.74 - Weisert ARNOLD BOCKLIN


Figure A.75 - ASRI HEADLINE

4.9.2 Serifs::Free Form::Outline

The typefaces in this group have ornaments and styling derived from Art Nouveau styles; the shapes are outlined by contour lines of a uniform weight.


Figure A.76 - ATF ERRATIC OUTLINE

4.10.0 Serifs::Computer subclass

The primary characteristics of these faces are that they give the appearance of faces associated with computer character recognition styles or LED displays.

4.10.1 Serifs::Computer::OCR

The typefaces in this group are based on designs created to be machine readable.

No Sample Available
Figure A.77 - (---)

4.10.2 Serifs::Computer::Digital

Characters are segmented and composed of straight lines, such as those in LED displays.

No Sample Available
Figure A.78 - (---)

4.11.0 Serifs::Miscellaneous subclass

Any typeface that has serifs and does not fit into any of the previous categories may be in this group.


Figure A.79 - ATF CASLON ANTIQUE

4.12.0 Serifs::Mincho subclass

These typefaces have thick vertical strokes and thin horizontal strokes. There is a noticeable wedge shape ending on the right end of the horizontal strokes.

4.12.1 Serifs::Mincho::Old Style

The features of the stem endings of these typefaces are relatively smooth and rounded. The size difference between the Kana and Kanji is larger than the difference in New Style (4.12.2). The counters are relatively small.


Figure A.80 - Sha-ken SHUEI MINCHO

4.12.2 Serifs::Mincho::New Style

The features of the stem endings are relatively sharp and angular. The size of the Kana is smaller than that of the Kanji, but less so than in the Old Style (4.12.1). The counters are relatively large.


Figure A.81 - Sha-ken HONRAN MINCHO B

4.12.3 Serifs::Mincho::Old Style::Miscellaneous

This class is for any Mincho typeface that does not fall into the New Style or Old Style group.


Figure A.82 - Ryobi NAU MB

5.0.0 Sans serifs class

Typefaces in this class have plain stem endings, and are not in the Uncials, Inscriptionals, Blackletters, or Ornamentals classes.

5.1.0 Sans serifs::Gothic subclass

This subclass contains designs based on the earliest of the Latin-alphabet sans serif printing typefaces (circa 1815).

5.1.1 Sans serifs::Gothic::Grotesque

The Latin-alphabet designs of this group are based on the early sans serif designs, and are characterized by a two story lowercase "a"; and may have a spur serif on the uppercase "G".


Figure A.83 - ATF FRANKLIN GOTHIC


Figure A.84 - Monotype GILL SANS


Figure A.85 - Greek:Monotype GILL SANS

5.1.2 Sans serifs::Gothic::Neo-grotesque

The Latin-alphabet designs of this specific group are based on early sans serif designs, but have been modernized. They are characterized by having a two story lowercase "a" and a one story lowercase "g"; and may have a spur serif on the uppercase "G".


Figure A.86 - Linotype-Hell HELVETICA


Figure A.87 - Sha-ken ISHII FUTO GOTHIC


Figure A.88 - ITC LATIF

5.1.3 Sans serifs::Gothic::Typewriter

Typefaces in this group are based on the monospaced designs used for typewriters.


Figure A.89 - LETTER GOTHIC

5.2.0 Sans serifs::Humanist subclass

Sans serif typefaces based on or inspired by classical Roman proportions for uppercase, and the less geometric quality of lowercase Humanist book hands.

5.2.1 Sans serifs::Humanist::Classical

Characteristics of Latin-alphabet typefaces in this group include stems with subtle stress variation, uppercase letters with classic Roman Inscriptional proportions and a two story lowercase "a".


Figure A.90 - Linotype-Hell OPTIMA


Figure A.91 - ITC BOUTROS MODERN KUFI

5.2.2 Sans serifs::Humanist::Non-classical

Latin-alphabet typefaces in this group have distinct contrast between thick and thin strokes; a two story lowercase "a"; may or may not have the uppercase in the classic Roman Inscriptional proportions.


Figure A.92 - Stephenson Blake BRITANNIC


Figure A.93 - MODERNASKH

5.2.3 Sans serifs::Humanist::Typewriter

This group includes typefaces based on the monospaced designs used for typewriters.

No Sample Available
Figure A.94 - (---)

5.3.0 Sans serifs::Stress variation subclass

These typeface designs have a noticeable variation in the stem thickness.

5.3.1 Sans serifs::Stress variation::Broad Pen

Type designs based on the characteristic style of broad-edge pen lettering.


Figure A.95 - ATF LYDIAN


Figure A.96 - ITC BOUTROS CALLIGRAPHY


Figure A.97 - Devanagari Typestyle

5.3.2 Sans serifs::Stress variation::Casual

Informal designs which do not adhere to classical proportions.


Figure A.98 - ATF ADLIB


Figure A.99 - KABIR

5.3.3 Sans serifs::Stress variation::Typewriter

Typefaces in this group are based on the sans serif designs used for typewriters.

No Sample Available
Figure A.100 - (---)

5.3.4 Sans serifs::Stress variation::Broad pen, curved horizontal strokes

Arabic typefaces in this group have more curvature in the lower side of the horizontal strokes.


Figure A.101 - QADI

5.3.5 Sans serifs::Stress variation::Broad pen, angled horizontal strokes

In Arabic typefaces in this specific group, some horizontal strokes are slightly angled below the baseline, a characteristic which adds aesthetic value to the script.


Figure A.102 - Cimos YAKOUB

5.4.0 Sans serifs::Art Deco subclass

Designs in this subclass are based on the display typeface designs of the 1920's.

5.4.1 Sans serifs::Art Deco::Standard

Extreme contrast, one stem is very bold, arms and bowls are very thin.


Figure A.103 - ATF BROADWAY


Figure A.104 - Sha-ken MIN-CURL


Figure A.105 - Letraset HADD

5.4.2 Sans serifs::Art Deco::Modified

Lines or patterns have been added to the stems of glyphs in this group.


Figure A.106 - Barnhard Bros. & Spindler BOULMICH

5.4.3 Sans serifs::Art Deco::Thin Line

The stems of typefaces in this group consist of very thin strokes.


Figure A.107 - ATF BERNHARD FASHION


Figure A.108 - Ryobi PICO CASUAL


Figure A.109 - Letraset ANTI

5.4.4 (removed; do not use)


5.4.5 Sans serifs::Art Deco::Italic

Typefaces in this group have the visual characteristics of the sub-class and have a slant.


Figure A.110 - Letraset NASIM MEDIUM

5.4.6 Sans serifs::Art Deco::Outline

Typefaces in this group have the visual characteristics of the class and subclass, but are outlined with a thin line rather than having solid stems.


Figure A.111 - MUFARAGH

5.4.7 Sans serifs::Art Deco::Extra distorted, with some stress variation

Typefaces in this group have the visual characteristics of the subclass, but have stylistic distortions of the glyph images.


Figure A.112 - Letraset SALIM

5.4.8 Sans serifs::Art Deco::Miscellaneous

Typefaces in this specific group have the characteristics of the class and subclass, but do not fit into any of the previous specific groups.


Figure A.113 - SCARAB 76

5.5.0 Sans serifs::Geometric subclass

The designs of typefaces in this group are based on geometric shapes, and are generally monotone.

5.5.1 Sans serifs::Geometric::Round, flat stem endings

Designs in this group have a monotone design, the round glyphs are based on a circle, and stem endings are flat. In some instances, the ascenders may be longer than the descenders.


Figure A.114 - Bauer FUTURA


Figure A.115 - Burmese Typestyle


Figure A.116 - NEO-KUFI


Figure A.117 - Thai Typestyle

5.5.2 Sans serifs::Geometric::Round, Rounded stem endings

Designs in this group have a monotone design and rounded stem endings. In some instances the ascenders may be longer than the descenders.


Figure A.118 - VAG ROUNDSCHRIFT


Figure A.119 - Sha-ken NARD


Figure A.120 - Letraset DANIEL

5.5.3 Sans serifs::Geometric::Super-elliptical

In Latin-alphabet designs in this group, the shape of all traditionally rounded letters, such as "o", "c", and "e" are based on the super-ellipse (a squared off ellipse).


Figure A.121 - Nebioli EUROSTILE


Figure A.122 - ZARAFA

5.5.4 Sans serifs::Geometric::Stylized

Designs in this group have a monotone design, but are less formal, may have curves in the stems, and do not appear as structured.


Figure A.123 - ATF HOBO


Figure A.124 - Ryobi MAGIC


Figure A.125 - Compugraphic LAKHDAR

5.5.5 Sans serifs::Geometric::Typewriter

The typefaces in this group are sans serif, have a geometric appearance, and are based on the monospaced designs used for typewriters.

No Sample Available
Figure A.126 - ( --- )

5.5.6 Sans serifs::Geometric::Monotone

Typefaces in this group have heavy near-monotone stems.


Figure A.127 - ARABETICA GARDE

5.5.7 Sans serifs::Geometric::With stress variation

Typefaces in this group have very heavy stems with some variation between the thick and thin stems.


Figure A.128 - ZAITUN

5.5.8 Sans serifs::Geometric::With extra stress variation

Typefaces in this group have very heavy stems with significant variation between the thick and thin strokes.


Figure A.129 - SHARJAH

5.5.9 Sans serifs::Geometric::Round, pointed stem endings

Typefaces in this group have more rounded shapes with pointed stem endings.


Figure A.130 - ARABETICA GARDE II

5.5.10 Sans serifs::Geometric::Square

Typefaces in this group represent sans serif geometric designs which have an extra light (additional white space) appearance.


Figure A.131 - MOZAIQUE

5.5.11 Sans serifs::Geometric::Straight lines


Figure A.132 - NILE

5.5.12 Sans serifs::Geometric::Miscellaneous

Typefaces in this specific group have the characteristics of the class and subclass, but do not fit into any of the previous specific groups.


Figure A.133 - ARABIA

5.6.0 Sans serifs::Computer subclass

Typefaces in this class are those associated with early computerized printing, optical character recognition (OCR), or LED displays.

5.6.1 Sans serifs::Computer::OCR

Typefaces in this group are based on designs originally intended to be machine readable.


Figure A.134 - OCR B / DATA 70


Figure A.135 - Letraset IBI

5.6.2 Sans serifs::Computer::Digital

The glyphs of typefaces in this group are segmented and composed of straight lines, such as those used for LED displays.


Figure A.136 - DIGITAL


Figure A.137 - Letraset AL HARF AL ASRI

5.6.3 Sans serifs::Computer::Modified OCR

Typefaces in this group have stems at right angles to each other, rather than having curved strokes.


Figure A.138 - Letraset MODIFIED MAHDI

5.6.4 Sans serifs::Computer::Modern OCR

Typefaces in this group are lighter, having straight lines against curves.


Figure A.139 - Letraset BAHARNA

5.7.0 Sans serifs::Free From subclass

The typefaces in this subclass have ornaments and styling derived from, or influenced by the Art Nouveau movement of the late 1800's and the early 1900's. They are characterized by having more sinuous curves and less formality than those in related subclasses.

5.7.1 Sans serifs::Free Form::Solid

Based on Art Nouveau designs, typefaces in this group have solid stems.


Figure A.140 - Deberny & Peignot AURIOL

5.7.2 Sans serifs::Free Form::Outline

The typefaces in this group have shapes which are outlined by contour lines of a uniform weight.

No Sample Available
Figure A.141 - ( --- )

5.8.0 Sans serifs::Miscellaneous subclass

Any typeface that is a sans serif and does not fit into any of the previous categories.

6.0.0 Script class

These typefaces are designed to resemble handwriting.

6.1.0 Scripts::Jointed subclass

Typefaces in this subgroup have glyphs with joining strokes so they appear connected.

6.1.1 Scripts::Jointed::Formal

Typefaces in this group are based on a writing style characterized by extreme contrast between the thick and thin strokes.


Figure A.142 - ATF COMMERCIAL SCRIPT


Figure A.143 - Cimos DIWANI SCRIPT

6.1.2 Scripts::Jointed::Informal

A script with informal, cursive characteristics with thick and thin contrast.


Figure A.144 - Olive MISTRAL


Figure A.145 - Ryobi YUKINARI E


Figure A.146 - Cimos RUK'AH

6.1.3 Scripts::Jointed::Monotone

Designs in this group have strokes of uniform thickness.


Figure A.147 - ATF KAUFMANN

6.1.4 Scripts::Jointed::Miscellaneous

Typefaces in this specific group have the characteristics of the class and subclass, but do not fit into any of the previous specific groups.


Figure A.148 - QAWIY

6.2.0 Scripts::Unjointed subclass

Typefaces in this subclass have spaces between adjacent glyphs, making it a less cursive style.

6.2.1 Scripts::Unjointed::Formal

Designs in this group are based on a writing style that is characterized by extreme contrast between the thick and thin parts of the glyphs.


Figure A.149 - Stempel VIRTUOSA

6.2.2 Scripts::Unjointed::Informal

Typefaces in this group are based on rapidly written scripts having significant contrast.


Figure A.150 - Monotype PEPITA


Figure A.151 - Letraset BOUTROS BOLD

6.2.3 Scripts::Unjointed::Monotone

Designs in this group have strokes of uniform thickness.


Figure A.152 - Bauer GILLES GOTHIC


Figure A.153 - MODERN KUFI

6.2.4 Scripts::Unjointed::Brush

Typefaces in this group are based on brush drawn lettering.


Figure A.154 - Klingspor SALTINO


Figure A.155 - Ryobi NOMURA KANTEI


Figure A.156 - Cimos MODERN NASKHI SCRIPT

6.2.5 Scripts::Unjointed::Cursive

Typefaces of this group are characterized by having the appearance of handwriting, but are unjoined.


Figure A.157 - ATF MURRAY HILL

6.2.6 Scripts::Unjointed::Calligraphic

Designs in this group are based on the characteristics of lettering done with a broad-edge pen.


Figure A.158 - ATF THOMPSON QUILLSCRIPT

6.2.7 Scripts::Unjointed::Ronde

Designs in this group are based on the Ronde manuscript hand used in France in the 15th and 16th Centuries.


Figure A.159 - Amsterdam RONDO


Figure A.160 - Letraset FAIRUZ

6.3.0 Scripts::Soft Brush subclass (Japan)

The characteristics of this style are that the strokes are brush like. The designs are not written with a pen and therefore the edges of the stems and strokes are not as sharp.

6.3.1 Scripts::Soft Brush::Kaisho

Because this style is based on a writing style using a soft brush, the stem thickness may vary.


Figure A.161 - Morisawa SHIN SEI KAISHO

6.3.2 Scripts::Soft Brush::Kyokasho

Similar to 6.3.1, typefaces in this group are used mainly for children's books and textbooks. The design is simplified so each glyph's stroke formation and structure can easily be recognized by children to help them master the reading and writing of kanji characters.


Figure A.162 - Morisawa SHIN FUTO KYOKASHO

6.3.3 Scripts::Soft Brush::Gyosho

Gyosho is a brush script style that is written with quick motions of the brush. Because of the speed, some adjacent strokes, which are normally separate, are connected by a thin stroke which represents a trail of ink left by the movement of the brush. The style is simplified, but not as much as that in the Sosho style (6.3.4).


Figure A.163 - Sha-ken IWAKAGE FUTO GYOSHO

6.3.4 Scripts::Soft Brush::Sosho

Most of the strokes are smoothly connected. It is more simplified than Gyosho (6.3.3).

No Sample Available
Figure A.164 - ( --- )

6.3.5 Scripts::Soft Brush::Miscellaneous

Any designs that do not fit in any of the above specific groups.


Figure A.165 - Sha-ken TAN KOIN


Figure A.166 - Letraset AL HARF AL HORR

6.4.0 Scripts::Kana subclass (Japan)

The Kana typefaces in this group are designed to harmonize with the Mincho style (4.12.0).

6.4.1 Scripts::Kana::Old Style

The features of the strokes are relatively smooth, counters are comparatively small, and the metric differences between glyphs are larger than that of the New Style (6.4.2).


Figure A.167 - Ryobi MIDASHI KANA 1

6.4.2 Scripts::Kana::New Style

The features of the strokes are relatively sharp and angular, counters are large, and the metric differences between glyphs are small.


Figure A.168 - Ryobi KOMACHI GU

6.5.0 Scripts::Soucho subclass (China / Japan)

Strokes (horizontal) are inclined slightly upward and to the right. The sharpness of the edges of the strokes is the same as if it had been produced by engraving in wood.


Figure A.169 - Morisawa SOUCHO

6.6.0 Scripts::Hard Brush subclass (Japan)

The strokes have such features as based on a writing style using a hard brush.


Figure A.170 - Morisawa FLT

7.0.0 Ornamentals class

Typefaces in this class were meant for display rather than for text composition. They can be highly decorated or stylized.

7.1.0 Ornamentals::Inline subclass

The stems of the glyphs have a fine line or lines in the stem. The original faces were intended for display purposes. The lines that define the glyph shape may be of two different weights to create the illusion of shading or for a decorative effect.

7.1.1 Ornamentals::Inline::Sans serif

Designs in this group have a single line in the stem and plain stem endings.


Figure A.171 - Klingspor ZEPPELIN

7.1.2 Ornamentals::Inline::Serif

Designs in this group have a single line in the stem and non-plain stem endings.


Figure A.172 - Stephenson Blake OLD FACE OPEN

7.2.0 Ornamentals::Outline subclass

The glyph shapes are outlined by contour lines of a uniform weight.

7.2.1 Ornamentals::Outline::Sans serif

The typefaces in this group are outlined by contour lines of a uniform weight and have plain stem endings.


Figure A.173 - ATF GOTHIC OUTLINE


Figure A.174 - Morisawa ARROW G-LINE

7.2.2 Ornamentals::Outline::Serif

Typefaces in this group have non-plain stem endings.


Figure A.175 - 12 Line Antique Open

7.3.0 Ornamentals::Decorative subclass

Typefaces in this subclass have patterns such as floral or leaf, or the stems are composed of, or made up of, natural elements such as twigs, or animals.

7.3.1 Ornamentals::Decorative::Sans serif

Typefaces in this group use natural elements for decoration and do not have serifs.


Figure A.176 - RUSTIC

7.3.2 Ornamentals::Decorative::Serif

Typefaces in this group use natural elements for decoration and have non-plain stem endings.


Figure A.177 - Stempel SAPHIRE


Figure A.178 - Letraset DECORATIVE KUFI #2

7.4.0 Ornamentals::Three-dimensional subclass

These typefaces have a three dimensional appearance created by means of shading and geometrical effects.

7.4.1 Ornamentals::Three-dimensional::Sans serif

Typefaces in this group have the appearance of being three-dimensional and have plain stem endings.


Figure A.179 - Ludlow UMBRA


Figure A.180 - Sha-ken NAR SHADOW


Figure A.181 - Letraset MARCO POLO

7.4.2 Ornamentals::Three-dimensional::Serif

Typefaces in this group have the appearance of being three-dimensional and have non-plain stem endings.


Figure A.182 - Stephenson Blake THORNE SHADED


Figure A.183 - Morisawa ARROW M-LINE SHADOW


Figure A.184 - Letraset DECORATIVE KUFI #1

7.5.0 Ornamentals::Tuscan subclass

Double curved serifs are characteristic of this subclass; the glyphs may or may not be patterned.

7.5.1 (not applicable)


7.5.2 Ornamentals::Tuscan::Serif

Typefaces in this group have serifs in addition to be Tuscan ornamentation.


Figure A.185 - Nebiolo FONTANESI

7.6.0 Ornamentals::Stencil subclass

Designs in this subclass have the type of disjoint strokes which are characteristic of stencilled lettering.

7.6.1 Ornamentals::Stencil::Sans serif

Typefaces in this group have the stencil appearance and have plain stem endings.


Figure A.186 - FOLIO STENCIL


Figure A.187 - Sha-ken NAMIN

7.6.2 Ornamentals::Stencil::Serif

Typefaces in this group have the stencil appearance and have non-plain stem endings.


Figure A.188 - Ludlow STENCIL


Figure A.189 - Morisawa ARROW R-STENCIL

7.7.0 Ornamentals::Reversed subclass

The designs of this subclass are characterized by having a white image on a black background.

7.7.1 Ornamentals::Reversed::Sans serif

The designs of this group are reversed and have plain stem endings.


Figure A.190 - Monotype GILL CAMEO

7.7.2 Ornamentals::Reversed::Serif

The designs of this group are reversed and have non-plain stem endings.

No Sample Available
Figure A.191 - ( --- )

7.7.3 Ornamentals::Reversed::Modern, with decorated background

Typefaces in this group have a modern style and a decorated background.


Figure A.192 - Letraset PHOENICIA

7.8.0 Ornamentals::Engraved subclass

The stems of the typefaces in this subclass have the hatching or shading patterns used by metal engravers.

7.8.1 Ornamentals::Engraved::Sans serif

The designs of this group have hatching patterns and plain stern endings.


Figure A.193 - ATF JIM CROW


Figure A.194 - Letraset DANIEL CHROME

7.8.2 Ornamentals::Engraved::Serif

The designs of this group have hatching patterns and non-plain stem endings.


Figure A.195 - INVITATION SHADED

7.9.0 Ornamentals::Miscellaneous subclass

This subclass is suitable for all designs which can not placed in one of the previous ornamental groups.

7.9.1 Ornamentals::Miscellaneous::Sans serif

The designs of this group do not fit in the other subclasses and have plain stem endings.


Figure A.196 - SHATTER

7.9.2 Ornamentals::Miscellaneous::Serif

The designs of this group do not fit in the other subclasses and have non-plain stem endings.


Figure A.197 - PAMELA


Figure A.198 - Morisawa HIGEMOJI

7.9.3 Ornamentals::Miscellaneous::Script

The designs of this group have handwritten appearance with some decoration.


Figure A.199 - Sha-ken EKZ INAKUZURE

8.0.0 Symbols and Ornamentals class

(reserved for future assignment)


Annex B
(informative)
Font concepts


B.1  General

This annex provides general information about the font resource and processing environments in which ISO/IEC 9541 is used . See fihure B.1.


Figure B.1 - Font processing model

B.2  Font resource environment

B.2.1 Font production

Font production is the process of designing glyph shapes, converting these shapes into a digital technology format (bit image, vector drawing orders, outline algorithm, etc.), defining the height, width, and escapement values of each individual glyph, recording descriptive and identifying information (for the glyphs and the font in general), and assembling this information into a format that can be used by a text processing system.

Font production is performed in diverse and sometimes changing environments. The font producer may be

B.2.2 Font resource installation, storage and access

The installation, storage and access of font information is fundamental for utilization of font resource information. Installation includes the process of accepting an interchange format of a font resource, possible conversion of the data before storing it in a font resource library. Storage contains the resource library from which font information is made available to a computer application. Access includes the process of locating the desired font information and making it available to another process in a form that is most suitable.

Two factors of critical importance in the storage and access of font information are: maintaining ownership of the data (glyph shapes are not generally shared and/or distributed), and understanding the need for broad distribution of some data (descriptive and metric information must be available to applications, sometimes broadly distributed, which generate or format documents).

When a font resource is generated, information may be contained in a single font file, but this may not be the form most useful to a text processing system. Processing systems or applications may require that a font resource be partitioned into subsets and/or reformatted. Each processing system component or application process can require different subsets of the font resource information.

The following are examples of the purposes for partitioning data differently: