ISO/IEC 9541-3:1994
(Main)Information technology — Font information interchange — Part 3: Glyph shape representation
Information technology — Font information interchange — Part 3: Glyph shape representation
Specifies the architecture and interchange formats of glyph shape representations. The encoding of font resource information as defined in this part is specified in both ASN.1 and SGML representations for consistent generation of font resources for use in these processing environments.
Technologies de l'information — Échange d'informations sur les fontes — Partie 3: Représentation de la forme de glyphes
General Information
Relations
Standards Content (Sample)
INTERNATIONAL
ISO/IEC
STANDARD 9541-3
First edition
1994-05-0 1
Information technology - Font
information interchange -
Part 3:
Glyph shape representation
Technologies de I’informa tion - khange d’informations sur les
fontes -
Partie 3: Repksentation de Ia forme de glyphes
Reference number
ISO/1 EC 9541-3: 1994(E)
---------------------- Page: 1 ----------------------
ISO/IEC 9541-3: 1994(E)
Contents
Page
1
Section 1 General .
1
1.1 Scope .
1
...............................................................................
1.2 Conformance
1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Normative references
2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 Notation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.5 Overview of glyph shape representation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.6 Specification of glyph shapes (GSHAPES)
............................ 3
1.7 Extensions to the font interchange format
3
...................................................................................
1.7.1 ASN.l
3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*.
1.7.2 SGML
. . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Section 2 Type 1 glyph shape representation
4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1 Scope
4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Definitions
5
2.3 Overview of Type 1 glyph shape representation architecture
5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Type 1 glyph shape concepts
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4.1 Glyph coordinate System
6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.2 Glyph procedure language
6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.3 Glyph procedure interpreter
6
. . . . . . . . . . . . . . . . . . . . . . . .*.
2.4.4 Alignment Position
6
2.4.5 Flat Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.6 Overshoot Position
6
.......................................................
2.4.7 Overshoot suppression
6
....................................................................
2.4.8 Alignment zone
7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.9 Hints
9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.10 Hint zone
o ISO/IEC 1994
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced
or utilized in any form or by any means, electronie or mechanical, including photocopying and
microfilm, without Permission in writing from the publisher.
I SO/l EC Copyright Office l Case Postale 56 l CH-l 211 Geneve 20 l Switzerland
Printed in Switzerland
ii
---------------------- Page: 2 ----------------------
0 lSO/lEC
ISO/IEC 9541=3:1994(E)
2.4.11 Path direction . 9
2.4.12 Reference Point . 9
2.4.13 Flex mechanism . 10
2.4.14 Hint Substitution . 10
2.4.15 Bezier curve . 10
2.5 Glyph procedure interpreter model . 11
2.6 Type 1 shape properties (TISHAPES) . 11
2.6.1 General properties (Tl GENERAL) . 11
2.6.1.1 Password (PASSWORD) . 12
2.6.1.2 Paint type (PAINTTYPE) . 12
2.6.1.3 Unique identifier (UNIQUEID) . 12
2.6.2 Typographie color properties (Tl COLOR) . 13
2.6.2.1 Top alignment zones (BLUEVALUES) . 13
2.6.2.2 Bottom alignment zones (OTHERBLUES) . 14
........................... 14
2.6.2.3 Family top alignment (FAMILYBLUES)
2.6.2.4 Family bottom alignment zones (FAMILYOTHERBLUES) 15
2.6.2.5 Overs hoot suppression size (B LU ESCALE) . 16
2.6.2.6 Overshoot enforcement extent (BLUESHIFT) . 16
........................................... 17
2.6.2.7 Zone tolerante (BLUEFUZZ)
2.6.2.8 Stern width information (STEMWIDTHPROPS) . 17
2.6.2.8.1 Standard horizontal width (STDHW) . 17
2.6.2.8.2 Standard vertical width (STDVW) . 18
2.6.2.8.3 Stern snap horizontal (STEMSNAPH) . 18
2.6.2.8.4 Stern snap vertical (STEMSNAPV) . 18
2.6.2.8.5 Forte bold (FORCEBOLD) . 19
........................ 19
2.6.2.8.6 Language group (LANGUAGEGROUP)
.............................................
2.6.3 G lyph properties (Tl G LY PH) 20
2.6.3.1 Glyph procedure encryption (GLYPHENCRYPT) . 20
2.6.3.2 Glyph prefix length (LENIV) . . . . . . . . . . . . . . . . . . . 20
2.6.3.3 Accent Component Table (ACCENTENCODI . 20
NG)
......................... 21
2.6.3.4 Subroutines (SUBRS) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . .
Ill
---------------------- Page: 3 ----------------------
0 lSO/IEC
lSO/lEC 9541=3:1994(E)
........ 21
2.6.3.5 Glyph procedure properties (GLYPHPROCPROPS)
2.6.3.5.1 Glyph name property (GNAME) . 21
.................................. 21
2.6.3.5.2 Glyph procedure (GLYPHPROC)
22
2.7 Glyph procedure semantics .
2.7.1 Virtual machine . 22
2.7.1.1 Glyph procedure tokens . 23
2.7.1.2 Glyph procedure interpreter . 23
..................................................................... 24
2.7.1.3 Operand list
24
2.7.1.4 State variables .
2.7.1.4.1 Current Point . . 24
2.7.1.4.2 Escapement . 24
................................................................. 24
2.7.1.4.3 Current path
24
2.7.1.4.4 Horizontal Sterns .
24
2.7.1.4.5 Vertical Sterns .
2.7.1.4.6 Dot section . 24
....................................................... 25
2.7.1.5 Implicit results Stack
25
2.7.2 Data types .
25
2.7.2.1 Object types .
25
2.7.2.1.1 Integer .
............................................... ......................... 25
2.7.2.1.2 Number
................................................ 25
2.7.3 Glyph procedure Operators
26
2.7.3.1 Operators for starting and finishing .
27
2.7.3.1 .l Reference Point and escapement (rpe) .
27
....
2.7.3.1.2 Horizontal reference Point and escapement (xrpe)
2.7.3.1.3 End glyph (endglyph) . 28
(siag) 28
2.7.3.1.4 Standard indexed accented glyph .
............................................ 28
2.7.3.2 Path construction Operators
29
2.7.3.2.1 Closepath (closepath) . .
2.7.3.2.2 Horizontal lineto (hlineto) . 29
2.7.3.2.3 Horizontal moveto (hmoveto) . 29
29
Horizontal-vertical curveto (hvcurveto) .
2.7.3.2.4
---------------------- Page: 4 ----------------------
0 ISO/IEC
ISO/IEC 9541=3:1994(E)
2.7.3.2.5 Relative lineto (rlineto)
................................................ 29
2.7.3.2.6 Relative moveto (rmoveto) . 29
2.7.3.2.7 Relative relative curveto (rrcurveto) . 29
2.7.3.2.8 Vertical-horizontal curveto (vhcurveto) . 30
2.7.3.2.9 Vertical lineto (vlineto) . 30
2.7.3.2.10 Vertical moveto (vmoveto) . 30
30
2.7.3.2.11 Set current Point (setcurrentpoint) .
2.7.3.3 Hint Operators . 30
2.7.3.3.1 Dot section (dotsection) . 30
............................................. 31
2.7.3.3.2 Horizontal stem (hstem)
31
2.7.3.3.3 Horizontal stem 3 (hstem3) .
31
2.7.3.3.4 Vertical stem (vstem) .
2.7.3.3.5 Vertical stem 3 (vstem3) . 32
......................................................... 32
2.7.3.4 Arithmetic Operator
.................................................................. 32
2.7.3.4.1 Divide (div)
................. 32
2.7.3.5 Subroutine and subroutine-related Operators
............................................. 32
2.7.3.5.1 Call subroutine (callsubr)
33
2.7.3.5.2 Return (return) .
.............................. 33
2.7.3.5.3 Call Utility subroutine (callutilsubr)
.................................................... 33
2.7.3.5.4 Return value (retval)
.......................................................................... 33
2.8 Subroutines
34
2.8.1 Calling Utility subroutines .
.............................................. 34
2.8.1.1 Calling Utility subroutine 0
.............................................. 34
2.8.1.2 Calling Utility subroutine 1
35
2.8.1.3 Calling Utility subroutine 2 .
35
2.8.1.4 Calling Utility subroutine 3 .
............................... 35
2.8.2 Hint Substitution (Utility subroutine 3)
................................................................ 36
2.8.3 Flex mechanism
...................................................... 38
2.8.4 First four Subrs entries
39
2.8.5 Composite glyphs .
. . . . .
39
2.8.5.1 Using the siag Operator to create composite glyphs
V
---------------------- Page: 5 ----------------------
0 ISO/IEC
ISO/IEC 9541=3:1994(E)
. . . . . . . . . . . . . . 39
2.8.5.2 Using subroutines to create composite glyphs
. . . . . . . . . . . . . . . . . . .~~.~~~.~~.~.~. 39
2.9 Interchange format
2.9.1 Extensions to font interchange format for type 1 glyph shape
39
information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
2.9.1 .l ASN. 1 interchange format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
2.9.1.2 SGML- interchange format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 43
2.9.2 Interchange format for glyph procedures
2.9.2.1 Glyph procedure number representation . . . . . . . . . . . . . . . . . . . . . . . . 43
. . . . . . . . . . . . . . . . . . . . 43
2.9.2.2 Glyph Operator interchange representation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.9.2.3 Glyphs procedure encryption
Annexes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
A Default Accent Component Table
. . . . . . . . . . .*. 51
B Compatibility with the installed base
B.l Compatibility with installed base of glyph procedure
51
interpreters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
(GLYPHENCRYPT) . . . . . . . . . . . . . . . . . . . . . . .
B.l.l GlyphEncrypt property
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
8.1.2 IenlV property (LENIV)
.,. 51
B.1.3 Hint zone values for ghost Sterns
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
B.l.4 Round stem up (ROUNDSTEMUP)
52
B.1.5 MinFeature (MINFEATURE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.1.6 Password (PASSWORD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
B.1.7 Accent Component Table . 52
B.l.8 Interchange format . 52
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
B.l.8.1 ASN.l interchange format
B.1.8.2 SGML interchange format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
C Composite glyphs . 54
................................................................ 54
C.l Composite glyphs
. . . . . . . . 54
C.1.1 Using the siag Operator to create composite glyphs
................ 55
C.l.2 Using subroutines to create composite glyphs
D Interchange Sample . 57
Alphabetical index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
---------------------- Page: 6 ----------------------
0 lSO/IEC
ISO/IEC 954%3:1994( E)
Foreword
ISO (the International Organization for Standardization) and IEC (the Inter-
national 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 commit-
tees collaborate in fields of mutual interest. Other international organiza-
tions, 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, lSO/IEC JTC 1. Draft International Standards adopted
by the joint technical committee are circulated to national bodies for vot-
ing. Publication as an International Standard requires approval by at least
75 % of the national bodies casting a vote.
International Standard lSO/IEC 9541-3 was prepared by Joint Technical
Committee lSO/IEC JTC 1, Information technology, Subcommittee SC 18,
Document processing and related communication.
lSO/lEC 9541 consists of the following Parts, under the general title In-
forma tion technology - Fon t in forma tion in terchange:
- Part 1: Architecture
- Part 2: Interchange Format
- Part 3: Glyph shape representation
- Part 4: Application-specific requiremen ts
Part 1 of lSO/IEC 9541 specifies the architecture of a font resource, i.e.,
the font description, font metrics, glyph description and glyph metrics
properties required for font references and the interchange of font re-
sources.
Part 2 of lSO/IEC 9541 specifies the interchange formats for font infor-
mation, and the minimum subsets of that information required for inter-
Change.
Part 3 of lSO/lEC 9541 specifies the architecture and interchange formats
for glyph shape representations.
Part 4 of lSO/lEC 9541 specifies the architecture and interchange format
extensions for application specific (e.g. typesetting of mathematics) re-
quirements.
Annex A forms an integral part of this patt of lSO/IEC 9541. Annexes B,
C and D are for Information only.
---------------------- Page: 7 ----------------------
0 ISO/IEC
ISO/IEC 9541-3: 1994(E)
Introduction
The use of open networks for the interchange of documents in both Office
and publishing environments has shown the need for a mechanism ena-
bling the interchange of font information.
lt is foreseen that publishing and Office technologies will merge and that
this development will be facilitated by definition of a Standard font re-
Source architecture and a limited number of Standard font resource inter-
Change formats.
. . .
VIII
---------------------- Page: 8 ----------------------
INTERNATIONAL STANDARD 0 lSO/IEC ISO/IEC 9541-3: 1994(E)
Information technology - Font information
interchange -
Part 3:
Glyph shape representation
Section 1: General
1.1 Scope
lSO/IEC 9541, as a whole, specifies the architecture of font resources, as well as the formats for font interchange
among information processing Systems. lt also specifies the architecture and formats that tan be used to construct
font references in general electronie document interchange.
This part of lSO/IEC 9541 specifies the architecture and interchange formats of glyph shape representations.
Font resources represented using the architecture and interchange formats defined in park 1 and 2 of lSO/IEC
9541 are used in various document processing environments in which ASN.l or SGML parsing algorithms are re-
cognized. The encoding of font resource information as defined in this part of lSO/IEC 9541 is specified in both
ASN.l and SGML representations for consistent generation of font resources for use in these processing envi-
ronments.
1.2 Conformance
A font resource conforming to this part of lSO/IEC 9541 is a conforming lSO/IEC 9541 font resource. The font
resource must conform to the conformance conditions stated in clause 2 of lSO/IEC 9541-2:1991. A conforming
implementation of the glyph procedure interpreter shall have the following minimum capabilities:
- represent at least numbers in the range of -8 000 to +8 000 with at least 12 bits of fractional information;
- hold at least 24 objects in the Operand list.
1.3 Normative references
The following Standards contain provisions which, through reference in this text, constitute provisions of this patt
of lSO/IEC 9541. At the time of publication, the editions indicated wer-e valid. All Standards are subject to revision,
and Parties to agreements based on this part of lSO/IEC 9541 are encouraged to investigate the possibility of ap-
plying the most recent editions of the Standards indicated below. Members of IE@ and ISO maintain registers of
currently valid International Standards.
1
---------------------- Page: 9 ----------------------
0 lSO/IEC
ISO/IEC 9541-3: 1994(E)
I SO/l EC 8824: 1990, Information technology - Open Systems Interconnection - Specification of Abstract Syntax
Notation One (ASN. 1):.
ISO/1 EC 8825: 1990, Information technology - Open Systems lnterconnection - Specification of Basic Encoding
Rules for Abstract Syntax Notation One (ASN. 1).
ISO 8879:1986, Information processing - Text and Office Systems - Standard Generalized Markup Language
(SGML).
lSO/lEC 9070:1991, Information technology - SGML support facilities - Registration procedures for public text
o wner iden tifiers.
ISO/1 EC 9541-1: 1991, Information technology - Font information interchange - Part 1: Architecture.
I SO/1 EC 954 l-2: r1.99 1, Information technology - Font informa tion interchange - Part 2: In terchange Format.
ISO/1 EC 10036: 1993, Information technology - Fon t in forma tion in terchange - Procedure for regis tra tion of glyph
and glyph collection identifiers.
1.4 Notation
The formal structure of glyph shape properties is specified using the BNF notation described in clause 4 of
ISO/IEC 9541.
1.5 Overview of glyph shape representation
Esch glyph shape representation technique makes use of different properties in specifying glyph shapes and
therefore has its own architecture and interchange format. In this part of lSO/IEC 9541 each glyph shape repre-
sentation technique is defined in a separate section. The glyph shape representation currently defined is
- ISO Standard Type 1 Glyph Shape Representation (specified in section 2)
ThiS part of ISO/IEC 9541 may be extended in the future by the addition of further sections specifying additional
NOTE 1
glyph shape representation techniques.
Glyph shape representations are divided into two broad categories: outline and bitmap representations of glyph
shapes.
An outline representation describes a glyph using a mathematical description of the edges of glyph shapes. This
has the advantage of allowing transformations such as scaling, rotation, and skewing, and permits many variations
of style without additional storage requirements. An outline format also facilitates incorporation of added scaling
information, called hints, which aid in the preservation of proportions for all sizes of raster grids (however, their
usefulness is not confined to raster devices). Hints tan also aid in achieving nonlinear scaling as an Optical cor-
rection for different absolute sizes of presented glyphs.
For raster devices, outline fonts are converted, after adjustments for scaling requirements, to bitmap represent-
ations for final imaging and presentation. However, the presentation of outline glyph shape descriptions is not
limited to raster devices; it may also include vector devices such as plotters, signage Cutters, engraving machines,
or variable spot size raster and gravure devices. Different shape representation techniques may vary in their ap-
propriateness for different presentation devices.
Bitmap representations describe the Pattern of pels which are required for printing on raster devices. Bitmap glyph
representations are less capable of being scaled or transformed in arbitrary ways while retaining a high Standard
of typqgraphic quality. Bitmaps of glyph shapes tan be represented either as ordered columns or rows of dots,
or by a variety of schemes designed to provide more compact representations, particularly for larger sizes.
2
---------------------- Page: 10 ----------------------
0 ISO/IEC
ISO/IEC 9541=3:1994(E)
1.6 Specification of glyph shapes (GSHAPES)
Any font resource conforming to lSO/IEC 9541 and containing glyph shape information shall contain a GSHAPES
property. GSHAPES is a property-list of shape-property-lists defining the sets of shape information associated with
this font resource.
shapes-property-list ::= shapes-name, shapes-value-property-list
shapes-name ::= STRUCTURED-NAME
-- ISO/IEC 9541-3//GSHAPES
shapes-value-property-list ::=
(tl-shape-property-list 1 property-list)*
This architecture allows any glyph shape representation to be defined. The architecture for lSO/IEC 9541 Standard
Shape Representation Type 1 is defined in section 2.
1.7 Extensions to the font interchange format
lSO/IEC 9541 font information shall be interchanged using either the ASN.1 or SGML forms defined in
lSO/IEC 9541-2. These interchange formats include “markers” to include a definition for interchange formats for
glyph shape information. These formats are defined in this clause with further definitions of the detailed format
for each glyph shape representation included in equivalent clauses in each of the following sections.
1.7.1 ASN.1
ISO9541-GSHAPES { 1 0 9541 3 0 ) DEFINITIONS ::= BEGIN
IMPORTS Tl-Shape-Property-List FROM IS09541-GSTl ( 1 0 9541 3 0 0 }
Glyph-Shapes ::= SET {
tl-shape-property-list [o] EXTERNAL Tl-Shape-Property-List
OPTIONAL,
-- see Section 2 of this part
non-iso-properties
[99] IMPLICIT Property-List OPTIONAL )
1 m7.2 SGML
(tlshapes ? & niprop*) -- GLYPHSHAPES -->
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.