international iso/iec standard 9541-3 - vde … · 2.6.2.7 zone tolerante ... iso (the...

10
INTERNATIONAL STANDARD ISO/IEC 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)

Upload: vothuan

Post on 13-Apr-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INTERNATIONAL ISO/IEC STANDARD 9541-3 - VDE … · 2.6.2.7 Zone tolerante ... ISO (the International Organization for Standardization) and IEC (the Inter- national Electrotechnical

INTERNATIONAL STANDARD

ISO/IEC 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 2: INTERNATIONAL ISO/IEC STANDARD 9541-3 - VDE … · 2.6.2.7 Zone tolerante ... ISO (the International Organization for Standardization) and IEC (the Inter- national Electrotechnical

ISO/IEC 9541-3: 1994(E)

Contents Page

Section 1 General ............................................................................ 1

1.1 Scope ........................................................................................... 1

1.2 Conformance ............................................................................... 1

1.3 Normative references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.4 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.5 Overview of glyph shape representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..*........................................ 3

Section 2 Type 1 glyph shape representation . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

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 .................................................................... 6

2.4.9 Hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.4.10 Hint zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

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 3: INTERNATIONAL ISO/IEC STANDARD 9541-3 - VDE … · 2.6.2.7 Zone tolerante ... ISO (the International Organization for Standardization) and IEC (the Inter- national Electrotechnical

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

2.6.2.3 Family top alignment (FAMILYBLUES) ........................... 14

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

2.6.2.7 Zone tolerante (BLUEFUZZ) ........................................... 17

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

2.6.2.8.6 Language group (LANGUAGEGROUP) ........................ 19

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) . . . . . . . . . . . . . . . . . .

2.6.3.3 Accent Component Table (ACCENTENCODI

2.6.3.4 Subroutines (SUBRS) . . . . . . . . . . . . . . . . . . . . . . . . . . . .

......................... 20

NG) ........... 20

......................... 21

. . . Ill

Page 4: INTERNATIONAL ISO/IEC STANDARD 9541-3 - VDE … · 2.6.2.7 Zone tolerante ... ISO (the International Organization for Standardization) and IEC (the Inter- national Electrotechnical

lSO/lEC 9541=3:1994(E) 0 lSO/IEC

2.6.3.5 Glyph procedure properties (GLYPHPROCPROPS) ........ 21

2.6.3.5.1 Glyph name property (GNAME) ................................... 21

2.6.3.5.2 Glyph procedure (GLYPHPROC) .................................. 21

2.7 Glyph procedure semantics ................................................. 22

2.7.1 Virtual machine .................................................................. 22

2.7.1.1 Glyph procedure tokens .................................................. 23

2.7.1.2 Glyph procedure interpreter ............................................ 23

2.7.1.3 Operand list ..................................................................... 24

2.7.1.4 State variables ................................................................. 24

2.7.1.4.1 Current Point ............................... ................................. 24

2.7.1.4.2 Escapement ................................................................. 24

2.7.1.4.3 Current path ................................................................. 24

2.7.1.4.4 Horizontal Sterns .......................................................... 24

2.7.1.4.5 Vertical Sterns .............................................................. 24

2.7.1.4.6 Dot section ................................................................... 24

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 ................................................ 25

2.7.3.1 Operators for starting and finishing ................................ 26

2.7.3.1 .l Reference Point and escapement (rpe) ...................... 27

2.7.3.1.2 Horizontal reference Point and escapement (xrpe) .... 27

2.7.3.1.3 End glyph (endglyph) ................................................... 28

2.7.3.1.4 Standard indexed accented glyph (siag) ..................... 28

2.7.3.2 Path construction Operators ............................................ 28

2.7.3.2.1 Closepath (closepath) ..................................... ............ 29

2.7.3.2.2 Horizontal lineto (hlineto) ............................................. 29

2.7.3.2.3 Horizontal moveto (hmoveto) ...................................... 29

2.7.3.2.4 Horizontal-vertical curveto (hvcurveto) ......................... 29

Page 5: INTERNATIONAL ISO/IEC STANDARD 9541-3 - VDE … · 2.6.2.7 Zone tolerante ... ISO (the International Organization for Standardization) and IEC (the Inter- national Electrotechnical

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

2.7.3.2.11 Set current Point (setcurrentpoint) ........................... 30

2.7.3.3 Hint Operators ................................................................. 30

2.7.3.3.1 Dot section (dotsection) ............................................. 30

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) .................................................. 31

2.7.3.3.5 Vertical stem 3 (vstem3) ............................................ 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) ............................................. 32

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 .......................................................................... 33

2.8.1 Calling Utility subroutines .................................................. 34

2.8.1.1 Calling Utility subroutine 0 .............................................. 34

2.8.1.2 Calling Utility subroutine 1 .............................................. 34

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) ............................... 35

2.8.3 Flex mechanism ................................................................ 36

2.8.4 First four Subrs entries ...................................................... 38

2.8.5 Composite glyphs .............................................................. 39

2.8.5.1 Using the siag Operator to create composite glyphs . . . . . 39

V

Page 6: INTERNATIONAL ISO/IEC STANDARD 9541-3 - VDE … · 2.6.2.7 Zone tolerante ... ISO (the International Organization for Standardization) and IEC (the Inter- national Electrotechnical

ISO/IEC 9541=3:1994(E) 0 ISO/IEC

2.8.5.2 Using subroutines to create composite glyphs . . . . . . . . . . . . . . 39

2.9 Interchange format . . . . . . . . . . . . . . . . . . ..~~...~~~..~~.~.....................~....... 39

2.9.1 Extensions to font interchange format for type 1 glyph shape information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2.9.1 .l ASN. 1 interchange format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.9.1.2 SGML- interchange format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

2.9.2 Interchange format for glyph procedures . . . . . . . . . . . . . . . . . . . . . . . . . 43

2.9.2.1 Glyph procedure number representation . . . . . . . . . . . . . . . . . . . . . . . . 43

2.9.2.2 Glyph Operator interchange representation . . . . . . . . . . . . . . . . . . . . 43

2.9.2.3 Glyphs procedure encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Annexes

A Default Accent Component Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

B Compatibility with the installed base . . . . . . . . . . ..*........................ 51

B.l Compatibility with installed base of glyph procedure interpreters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

B.l.l GlyphEncrypt property (GLYPHENCRYPT) . . . . . . . . . . . . . . . . . . . . . . . 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) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

B.1.5 MinFeature (MINFEATURE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

B.1.6 Password (PASSWORD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

B.1.7 Accent Component Table ................................................. 52

B.l.8 Interchange format ............................................................ 52

B.l.8.1 ASN.l interchange format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

B.1.8.2 SGML interchange format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

C Composite glyphs .................................................................. 54

C.l Composite glyphs ................................................................ 54

C.1.1 Using the siag Operator to create composite glyphs . . . . . . . . 54

C.l.2 Using subroutines to create composite glyphs ................ 55

D Interchange Sample ............................................................... 57

Alphabetical index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Page 7: INTERNATIONAL ISO/IEC STANDARD 9541-3 - VDE … · 2.6.2.7 Zone tolerante ... ISO (the International Organization for Standardization) and IEC (the Inter- national Electrotechnical

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 8: INTERNATIONAL ISO/IEC STANDARD 9541-3 - VDE … · 2.6.2.7 Zone tolerante ... ISO (the International Organization for Standardization) and IEC (the Inter- national Electrotechnical

ISO/IEC 9541-3: 1994(E) 0 ISO/IEC

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 9: INTERNATIONAL ISO/IEC STANDARD 9541-3 - VDE … · 2.6.2.7 Zone tolerante ... ISO (the International Organization for Standardization) and IEC (the Inter- national Electrotechnical

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 10: INTERNATIONAL ISO/IEC STANDARD 9541-3 - VDE … · 2.6.2.7 Zone tolerante ... ISO (the International Organization for Standardization) and IEC (the Inter- national Electrotechnical

ISO/IEC 9541-3: 1994(E) 0 lSO/IEC

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)

NOTE 1 ThiS part of ISO/IEC 9541 may be extended in the future by the addition of further sections specifying additional 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