ISO/IEC 8632-3:1992
(Main)Information technology — Computer graphics — Metafile for the storage and transfer of picture description information — Part 3: Binary encoding
Information technology — Computer graphics — Metafile for the storage and transfer of picture description information — Part 3: Binary encoding
Technologies de l'information — Infographie — Métafichier de stockage et de transfert des informations de description d'images — Partie 3: Codage binaire
General Information
Relations
Buy Standard
Standards Content (Sample)
INTERNATIONAL
STANDARD
8632-3
Second edition
1992-l O-01
Information technology - Computer graphics -
Metafile for the storage and transfer of picture
description information -
Part 3:
Binary encoding
Teclwoloqies de I’information - Infoqraphie -- Mhtafichier de stockaqe
c
et de trarisfert des informations de d&cripfion d’images ---
Par-tie 3: Codaqe binaire
.
Reference number
ISOll EC 8632-3: 1992(E)
---------------------- Page: 1 ----------------------
ISO/IEC 8632-3: 1992 (E)
CONTENTS
. . . 1
. . . . . . . . . .
. . .
1 Scope . . . . . .
. . 2
* . . . . . . .
. . . . . .
2 Normative references .
3
. . . . . . .
. . . . . . . . .
3 Notational conventions .
. 4
. . . . e . . . . .
. . . . .
4 Overall structure . . .
. . 4
. . . . . . . . . .
. . . .
4.1 General form of metafile
. . . 4
. . . . . . . . . . * .
.
4.2 General form of pictures
l . . . . . 4
. . . . . . . . .
.
4.3 General structure of the binary metafile
. . . . . . . . 5
. . . . . . . .
4.4 Structure of the command header . .
. . 8
. . . . . . . . . .
. . . .
5 Primitive data forms . . . . . . .
. . . . 8
. . . * . . . . . .
. .
5.1 Signed integer . . . . . . . .
. . . . . . . 8
. . . . . . . . .
5.1.1 Signed integer at &bit precision
. . . . . . . . 8
. . . . . . . .
5.1.2 Signed integer at 1 &bit precision
. . . . . . . . . . 9
. . l . . 0,
5.1.3 Signed integer at 24-bit precision
. . . . . . . . . . . 9
. . . a .
5.1.4 Signed integer at 32-bit precision
n . . . . . . . . 9
. . . . . . .
5.2 Unsigned integer . . . . . . .
. . . . . . . . 9
. . . . . . .
5.2.1 Unsigned integers at &bit precision
. . . . . . * . . 9
. . . . . .
5.2.2 Unsigned integers at 16-bit precision
. . . . . . . . . 9
. . . . . .
5.2.3 Unsigned integers at 24-bit precision
. . . . . . . . . . . . l 10
. .
5.2.4 Unsigned integers at 32-bit precision
10
. . . . . . . . . . . . .
. .
5.3 Character . . . . . . . . . .
. . . . . . * . . . . . 10
. . .
5.4 Fixed point real . . . . . . . .
. . . . . . . . . . . . . 10
. .
5.4.1 Fixed point real at 32-bit precision .
. . . . . . . . . . a . . . 10
. .
5.4.2 Fixed point real at 64-bit precision
11
. . . . . . . . . . . . . .
5.4.3 Value of fixed point reals . . . .
11
. . . . . . . . e . . . . . .
5.5 Floating point . . . . . . . . .
12
. . . . . . . . . . . . . .
5.5.1 Floating point real at 32-bit precision .
. . * . . . . . . . . . 12
. . .
5.5.2 Floating point real at 64-bit precision
. . . 13
. . . . . . . . . . l .
6 Representation of abstract parameter types . .
0 ISO/IEC 1992
All rights reserved. No part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from the
publisher.
ISWIEC Copyright Office l Case postale 56 l CH-1211 Gerkve 20 l Switzerland
Printed in Switzerland
ii
---------------------- Page: 2 ----------------------
ISO/IEC 8632-3: 1992 (E)
. . . . . . . . . . . . . . . 18
7 Representation of each element . . . .
. . . . . . . . . . . . * . . 18
71 . Method of presentation . . . . .
. . . . . . . . . . . . . . . . . . . 19
72 . Delimiter elements
. . 21
. . . . . . . . . . . .
73 . Metafile descriptor elements . . . .
. . 28
. . . . . . . . . . . .
74 . Picture descriptor elements . . . . .
. . 33
. . . . . * . . . . . .
75 . Control elements . . . . . . . .
. . . 36
. . . . . . . . . . . .
76 . Graphical primitive elements . . .
. . . . . . . . . . 43
. . . . .
77 . Attribute elements . . . . . .
. . . . . . . . . . . . 52
. . .
78 . Escape element . . . . . . .
. . . . . . . . . . . 53
. . . .
79 External elements . . . . . . .
. . . . . . . . . . . . 54
.
7'10 . Segment control and segment attribute elements
. . . 58
. . . . . . . . . .
8 Defaults . . . . . . . . . . . l . .
. . 59
. . . . . . . . . . .
9 Conformance . . . . . . . . . . . . .
* . . . . . . . . . . . 60
.
A Formal grammar . . . . . . . . . . . .
. . . . . . . . . . . . . 63
B Examples . . . . . . . . . . . . . .
. . . . . . . . . . . . . 63
B. 1 Example 1 : BEGIN METAFILE ‘Example 1’ .
. . . . . . . . . . . . . 63
B.2 Example 2 : BEGIN PICTURE ‘Test’ . . . .
. . . . . 64
Example 3 : POLYLINE from 0,2 to l,3 to 2,l to 0,2 . . . * . . .
B.3
. . 64
B.4 Example 4 : TEXT ‘Hydrogen’ at 0,l . . . . . . . . . . . . . . .
. . . . . 65
B.5 Example 5 : Partitioned POLYLINE with 50 points . . . . . . .
. . . . . . . 66
B.6 Example 6 : METAFILE DEFAULT REPLACEMENT linewidth 0.5
. . . . . . . . 66
B.7 Example 7 : Application Data # 655 with 1OK octets (chars) of data
. . . . . . . 67
C List of binary encoding metafile element codes . . . . . . . . .
. . .
111
---------------------- Page: 3 ----------------------
ISO/IEC 8632-3: 1992 (E)
Foreword
IS0 (the International Organization for Standardization) and IEC (the International Electrotechnical Conkssion)
National bodies that are members of IS0 or IEC
form the specialized system for worldwide standardization.
participate in the development of International Standards through technical committees established by the
IS0 and IEC technical conhttees
respective organization to deal with particular fields of technical activity.
collaborate in fields of mutual interest. Other international organizations, govemnlental and non-governmental, in
liaison with IS0 and IEC, also take part in the work.
In the field of information technology, IS0 and IEC have established a joint technical committee, ISO/IEC JTC 1.
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.
International Standard ISOIIEC 8632-3 was prepared by Joint Technical Committee ISO/IEC JTC 1, Injhnation
technology.
which has been technically revised.
This second edition cancels and replaces the first edition (IS0 8632-3:1987),
ISOIIEC 8632 consists of the following parts, under the general title Information techology - Compzrtel
graphics - MetaJiIe for the storage and transfer of picture description information :
Part I: Functional specijkation
Part 2: Character encoding
Part 3: Binary encoding
Part 4: Clear text encoding
Annex A fomis an integral part of this part of ISO/IEC 8632. Annexes B and C are for infom~ation only.
iv
---------------------- Page: 4 ----------------------
ISO/IEC 8632-3: 1992 (E)
Introduction
0.1 Purpose of the Binary Encoding
The Binary Encoding of the Computer Graphics Metafile (CGM) provides a representation of the Metafile
syntax that can be optimized for speed of generation and interpretation, while still providing a standard
means of interchange among computer systems. The encoding uses binary data formats that are much more
similar to the data representations used within computer systems than the data formats of the other encod-
ings.
Some of the data formats may exactly match those of some computer systems. In such cases processing is
reduced very much relative to the other standardized encodings. On most computer systems processing
requirements for the Binary Encoding will be substantially lower than for the other encodings.
In cases where a computer system’s architecture does not match the standard formats used in the Binary
Encoding, and where absolute minimization of processing requirements is critical, and where interchange
among dissimilar systems does not matter, it may be more appropriate to use a private encoding, conform-
ing to the rules specified in clause 7 of ISO/IEC 8632-l.
0.2 0 bjectives
This encoding has the following features.
metafile elements are coded in the Binary Encoding by one or
Partitioning of parameter lists:
a>
more partitions (see clause 4); the first (or only) partition of an element contains the opcodc (Ele-
ment Class plus Element Id).
Alignment of elements: every element begins on a word boundary. When the data of an element
b)
(whether partitioned or not) does not terminate on an even-octet boundary, then the following ele-
ment is aligned by padding after the data of the preceding element with zero bits to the next
even-octet boundary, A no-op element is available in this encoding. It is skipped and ignored by
interpreters. It may be used to align data on machine-dependent record boundaries for speed of
processing.
Uniformity of format: all elements have an associated parameter length value. The length is
C>
specified as an octet count. As a result, it is possible to scan the metafile, without interpreting it,
at high speed.
---------------------- Page: 5 ----------------------
ISO/IEC 8632-3: 1992 (E)
Objectives
Introduction
at default precisions and by virtue of alignment of elements, coor-
Alignment of coordinate data:
d)
dinate data always start on word boundaries. This minimizes processing by ensuring, on a wide
class of computing systems, that single coordinates do not have to be assembled from pieces of
multiple computer words.
Efficiency of encoding integer data: other data such as indexes, colour and characters are
e>
encoded as one or more octets. The precision of every parameter is determined by the appropriate
precision as given in the Metafile Descriptor.
Order of bit data: in each word, or unit within a word, the bit with the highest number is the most
significant bit. Likewise, when data words are accessed sequentially, the least significant word
follows the most significant.
Extensibility: the arrangement of Element Class and Element Id values has been designed to
g)
allow future growth, such as new graphical elements.
Format of real data: real numbers are encoded using either IEEE floating point representation or
l-0
a metafile fixed-point representation.
Run length encoding: if many adjacent cells have the same colour (or colour index) efficient
0
encoding is possible. For each run a cell count is specified followed by the colour (or colour
index).
.
Packed list encoding: if adjacent colour cells do not have the same colour (or colour index) the
J)
metafile provides bit-stream lists in which the values are packed as close1 .y as possible.
0.3 Relationship to other International Standards
The floating point representation of real data in this part of ISO/IEC 8632 is that in ANSI/IEEE 754-1986.
The representation of character data in this part of ISO/IEC 8632 follows the rules of ISO/IEC 646 and IS0
2022.
For certain elements, the CGM defines value ranges as being reserved for registration. The values and their
vi
---------------------- Page: 6 ----------------------
ISO/IEC 8632-3: 1992 (E)
Relationship to other International Standards Introduction
vi1
---------------------- Page: 7 ----------------------
This page intentionally left blank
---------------------- Page: 8 ----------------------
INTERNATIONAL STANDARD ISO/IEC 8632-3 : 1992 (E)
Information technology - Computer graphics - Metafile for
the storage and transfer of picture description information -
Part 3 :
Binary encoding
1 Scope
This part of ISO/IEC 8632 specifies a binary encoding of the Computer Graphics Metafile. For each of the
elements specified in ISO/IEC 8632-1, this part specifies an encoding in terms of data types. For each of
these data types, an explicit representation in terms of bits, octets and words is specified. For some data
types, the exact representation is a function of the precisions being used in the metafile, as recorded in the
METAFILE DESCRIPTOR.
This encoding of the Computer Graphics Metafile will, in many circumstances, minimize the effort required
to generate and interpret the metafile.
---------------------- Page: 9 ----------------------
ISO/IEC 863293:1992 (E)
2 Normative references
The following standards contain provisions which, through reference in this text, constitute provisions of
this part of ISO/IEC 8632. 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 8632 are encouraged to investi-
gate the possibility of applying the most recent editions of the standards listed below. Members of IEC and
IS0 maintain registers of currently valid International Standards.
ISOllEC 646: 1991, Information technology - IS0 7-bit coded character set for information interchange.
IS0 7-bit and a-bit coded character sets - Code extension techniques.
IS0 2022: 1986, Information processing -
ANSI/IEEE 754, Standard for Binary Floating Point Arithmetic.
---------------------- Page: 10 ----------------------
ISO/IEC 8632-3: 1992 (E)
3 Notational conventions
“Command Header” is used throughout this part of ISO/IEC 8632 to refer to that portion of a Binary-
Encoded element that contains the opcode (element class plus element id) and parameter length information
(see clause 4).
Within this part, the terms “octet” and “word” have specific meanings. These meanings may not match
those of a particular computer system on which this encoding of the metafile is used.
An octet is an S-bit entity. All bits are significant. The bits are numbered from 7 (most significant) to 0
(least significant).
A word is a 16-bit entity. All bits are significant. The bits are numbered from 15 (most significant) to 0
(least significant).
---------------------- Page: 11 ----------------------
ISO/IEC 8632-3: 1992 (E)
4 Overall structure
4.1 General form of metafile
All elements in the metafile are encoded using a uniform scheme. The elements are represented as variable
length data structures, each consisting of opcode information (element class plus element id) designating
the particular element, the length of its parameter data and finally the parameter data (if any).
The structure of the metafile is as follows. (For the purposes of this diagram only, MF is used as an abbre-
viation for METAFILE.)
BEGIN MF MD
NORME
ISO/CEI
I N TE R NAT I O NA LE
8632-3
Deuxième édition
1992-1 0-01
Technologies de l'information -
Infographie - Métafichier de stockage et
de transfert des informations de
-
description d'images
Partie 3:
Codage binai re
Information technology - Computer graphics - Metafile for the storage
and transfer of picture description information -
Part 3: Binary encoding
Numéro de référence
ISOKEI 86323:1992(F)
---------------------- Page: 1 ----------------------
ISO/CEI 8632-3~1992 (F)
SOMMAIRE
1 Domaine d'application . 1
2 Références normatives . 2
3 Conventions de notation . 3
4 Structure générale . 4
4.1 Forme générale du métafichier . 4
4.2 Forme générale des images . 4
4.3 Structure générale du métafichier en codage binaire . 4
Structure de l'en-tête de commande . 6
4.4
5 Formes de base des données . 9
5.1 Entier signé . 9
5.1.1 Entier signé en précision 8 bits . 9
5.1.2 Entier signé en précision 16 bits . 10
5.1.3 Entier signé en précision 24 bits . 10
5.1.4 Entier signé en précision 32 bits . 10
Entier non signé . 10
5.2
5.2.1 Entier non signé en précision 8 bits . 1 0
5.2.2 Entier non signé en précision 16 bits . 10
5.2.3 Entier non signé en précision 24 bits . 11
5.2.4 Entier non signé en précision 32 bits . 11
5.3 Caractère . 11
Réel en virgule fixe . 11
5.4
5.4.1 Réel en virgule fixe en précision 32 bits . 12
5.4.2 Réel en virgule fixe en précision 64 bits . 12
5.4.3 Valeur des réels en virgule fixe . 12
5.5 Virgule flottante . 12
5.5.1 Réel en virgule flottante en précision 32 bits . 13
5.5.2 Réel en virgule flottante en précision 64 bits . 13
Représentation des types abstraits de paramètres . 15
6
Q ISO/CEI 1992
Droits de reproduction réservés . Aucune partie de cette publication ne peut être reproduite
ni utilisée sous quelque forme que ce soit et par aucun procédé. électronique ou mécanique.
y compris la photocopie et les microfilms. sans l'accord écrit de l'éditeur .
ISO/CEI Copyright Office Case Postale 56 CH-1211 Genève 20 Suisse
Version française tirée en 1993
Imprimé en Suisse
ii
---------------------- Page: 2 ----------------------
ISO/CEI 8632-31992 (F)
7 Représentation de chaque ékment . 20
7.1 Méthode de présentation . 20
7.2 Éléments délimiteurs . . 21
7.3 Éléments descripteurs de métafichier . 23
7.4 Éléments descripteurs d'image . 30
7.5 Éléments de contrôle . 35
7.6 Éléments de primitives graphiques . 38
7.7 Éléments attributs . 45
7.8 Élément d'échappement . 54
7.9 Éléments externes . 55
7.1 O Éléments de contrôle de segment et attributs de segment . 56
8 Valeurs par défaut . 60
9 Conformité . 61
A Grammaire formelle . 62
B Exemples . 64
B.l Exemple 1 : BEGIN METAFILE 'Exemple 1' . 64
B.2 Exemple 2 : BEGIN PICTURE 'Test' . 64
B.3 Exemple 3 : POLYLINE passant par O, 2 , 1, 3 , 2, 1 , O, 2 . 65
B.4 Exemple 4 : TEXT 'Hydrogen' à O, 1 . 65
B.5 Exemple 5 : POLYLINE partitionnée avec 50 points . 66
B.6 Exemple 6 : METAFILE DEFAULT REPLACEMENT épaisseur de trait 0.5 . 67
B.7 Exemple 7 : APPLICATION DATA # 655 avec 10K octets de données . 67
C Liste des codes d'éléments du métafichier en codage binaire . 68
iii
---------------------- Page: 3 ----------------------
ISOICEI 8632-3:1992 (F)
Avant-propos
L'ISO (Organisation internationale de normalisation) et la CE1 (Commission électrotechnique
internationale) forment ensemble un système consacré à la normalisation internationale considérée
comme un tout. Les organismes nationaux membres de I'ISO ou de la CE1 participent au
développement de Normes internationales par l'intermédiaire des comités techniques créés par
l'organisation concernée afin de s'occuper des différents domaines particuliers de l'activité
technique. Les comités techniques de I'ISO et de la CE1 collaborent dans des domaines d'intérêt
commun. D'autres organisations internationales, gouvernementales ou non gouvernementales, en
liaison avec I'ISO et la CE1 participent également aux travaux.
Dans le domaine des technologies de l'information, I'ISO et la CE1 ont créé un comité technique
mixte, I'ISO/CEI JTC 1. Les projets de Normes internationales adoptés par le comité technique
mixte sont soumis aux organismes nationaux pour approbation, avant leur acceptation comme
Normes internationales. Les Normes internationales sont approuvées conformément aux
procédures qui requièrent l'approbation de 75 YO au moins des organismes nationaux votants.
La Norme internationale ISOGEI 8632-3 a été élaborée par le comité technique mixte
ISO/CEI JTC 1, Technologies de l'information.
Cette deuxième édition annule et remplace la premihre édition (IS0 8632-3:1987), qui a fait l'objet
d'une révision technique.
L'ISO/CEI 8632 comprend les parties suivantes, présentées sous le titre général Technologies de
l'information - Infographie - Méta fichier de stockage et de transfert des informations de
description d'images :
Partie 1 : Description fonctionnelle
Codage des caractères
Partie 2 :
Partie 3 : Codage binaire
Partie 4 : Codage en clair des textes
L'annexe A fait partie intégrante de la présente partie de I'ISO/CEI 8632. Les annexes B et C sont
donnees uniquement à titre d'information.
iv
---------------------- Page: 4 ----------------------
ISOCEI 8632-3:1992 (F)
Introduction
0.1 Objet du codage binaire
Le codage binaire du métafichier CGM définit une représentation de la syntaxe du métafichier qui
peut être optimisée pour accélérer la génération et l'interprétation de métafichiers, tout en
constituant un moyen normalisé d'échange entre ordinateurs. Ce codage utilise des formats de
données binaires beaucoup plus proches des représentations internes de données des ordinateurs
que les autres codages.
Certains formats de données peuvent correspondre exactement aux formats propres à certains
d'ordinateurs. Dans ce cas, le traitement est fortement réduit par rapport aux autres codages
normalisés. Pour la plupart des ordinateurs, le traitement du codage binaire est nettement plus
simple que les autres codages.
Lorsque l'architecture d'un ordinateur ne correspond pas aux formats normalisés du codage binaire,
lorsqu'il est absolument nécessaire de minimiser le temps de traitement et, enfin, lorsque les
échanges entre systèmes de natures différentes sont sans importance, il peut être plus approprié
d'utiliser un codage privé conforme aux règles définies a l'article 7 de I'ISO/CEI 8632-1.
0.2 Objectifs
Ce codage a les caractéristiques suivantes :
Morcellement des listes de paramètres : les éléments du métafichier sont représentés en
a)
codage binaire en une ou plusieurs partitions (voir article 4) ; la première (ou la seule)
partition d'un élément contient le code opératoire (classe et identificateur de l'élément).
b) Alignement des éléments 1 chaque élément commence à une frontière de mot. Lorsque les
données dun élément (morcelé ou non) ne se terminent pas sur une frontière d'octet pair,
l'élément suivant est aligné en complétant par des bits à zéro les données de l'élément
précédent, jusqu'à la première frontière d'octet pair rencontrée. Un élément non-opératoire
est disponible dans ce codage. II est sauté et ignoré par les interpréteurs. II peut être utilisé
pour aligner des données sur des limites d'enregistrement dépendant de la machine, afin
d'accélérer le traitement.
V
---------------------- Page: 5 ----------------------
ISO/CEI û632-3:1992 (F)
Objectifs
Introduction
Uniformité du format : à chaque élément est associée une valeur de longueur de
paramètres. Elle est spécifiée par un nombre d'octets. De ce fait, il est possible de lire le
métafichier très rapidement, sans l'interpréter.
Alignement des données de coordonnées : pour les précisions par défaut et compte tenu
de i'alignement des éléments, les données de coordonnées commencent toujours à des
frontières de mots. Ceci réduit le traitement en garantissant, sur une large gamme de
systèmes informatiques, qu'une même coordonnée n'a pas à être reconstituée à partir de
morceaux de plusieurs mots machine.
Efficacité du codage des données entières : d'autres données, comme les index, les
couleurs et les caractères, sont codées sur un ou plusieurs octets. La précision de chaque
paramètre est déterminée par la précision appropriée donnée dans le Descripteur de
Métafichier.
Ordre des bits de données : dans chaque mot ou chaque unité d'un mot, le bit dont le
numéro est le plus élevé est toujours le plus significatif. De même, en accès séquentiel, le
mot le moins significatif est placé après le mot le plus significatif.
Possibilité d'extension : l'organisation des valeurs de Classes d'Éléments et
d'Identificateurs d'Éléments a été conçue pour permettre une extension ultérieure, par
exemple l'adjonction de nouveaux éléments graphiques.
Format des données réelles : les nombres réels sont codés en utilisant soit la
représentation IEEE en virgule flottante soit une représentation en virgule fixe propre au
métafichier.
Codage par séquences : lorsque de nombreuses cellules adjacentes ont la même couleur
(ou le même index de couleur), il est possible d'utiliser un codage efficace. Pour chaque
séquence, un nombre de cellules est spécifié, suivi de la couleur (ou l'index de couleur).
Codage comprimé de listes : si des cellules de couleur adjacentes n'ont pas la même
couleur (ou le même index de couleur), le métafichier comporte des listes de flot binaire
dans lesquelles les valeurs sont comprimées autant que possible.
0.3 Relations avec d'autres Normes internationales
La représentation des données réelles, en virgule flottante de la présente partie de I'ISO/CEI 8632
est celle de la norme ANSMEEE 754-1986.
La représentation des données caractères de la présente partie de I'ISO/CEI 8632, est conforme
aux règles de I'ISOICEI 646 et de I'ISO 2022.
Pour certains éléments, le métafichier CGM définit des intervalles de valeurs qui sont réservés pour
enregistrement. Les valeurs et leurs significations seront définies à l'aide des procédures établies
(voir ISO/CEI 8632-1,4.11).
vi
---------------------- Page: 6 ----------------------
NORME INTERNATIONALE
ISO/CEI 8632-3:1992 (F)
Technologies de l'information - Infographie -
Métafichier de stockage et de transfert des
informations de description d'images -
Partie 3 :
Codage binaire
1 Domaine d'application
La présente partie de I'ISO/CEI 8632 spécifie un codage binaire du métafichier CGM. Pour chacun
des éléments définis dans I'ISO/CEI 8632-1, la présente partie spécifie un codage en termes de
types de données. Chaque représentation de type de données est explicitée en termes d'éléments
(bits), octets et mots. Pour certains types, la représentation exacte est fonction des précisions
utilisées dans le métafichier, telles qu'elles sont enregistrées dans le METAFILE DESCRIPTOR.
Dans de nombreux cas, ce codage du métafichier CGM minimise le traitement de génération et
d'interprétation du métafichier.
1
---------------------- Page: 7 ----------------------
ISO/CEI 8632-3:1992 (F)
2 Références normatives
Les normes suivantes contiennent des dispositions qui, par suite de la référence qui en est faite,
constituent des dispositions valables pour la présente Norme internationale. Au moment de la
publication, les éditions indiquées étaient en vigueur. Toute norme est sujette à révision et les
parties prenantes des accords fondés sur la présente Norme internationale sont invitées à
rechercher la possibilité d'appliquer les éditions les plus récentes des normes indiquées ci-après.
Les membres de la CE1 et de I'ISO possèdent le registre des Normes internationales en vigueur à
un moment donné.
ISO/CEI 646:1991, Technologies de l'information - Jeu IS0 de caractères codés à 7 éléments pour
l'échange d'informations.
IS0 2022:1986, Traitement de l'information - Jeux IS0 de caractères codés à 7 et à 8 éIéments -
Techniques d'extension de code.
a
ANSMEEE 754, Standard for Binary Floating Point Arithmetic.
---------------------- Page: 8 ----------------------
ISOCEI 8632-3:1992 (F)
3 Conventions de notation
L'expression "en-tête de commande'' est utilisée dans la présente partie de I'ISO/CEI 8632 pour
désigner ta partie dun élément codé en binaire qui contient le code opératoire (classe de I'élément
et identificateur de l'élément) et l'information de longueur de paramètres (voir article 4).
Dans cette partie, les expressions "octet" et "mot" ont des significations spécifiques. II est possibte
que ces significations ne correspondent pas à celles d'un ordinateur particulier sur lequel ce codage
du métafichier est utilisé.
Un octet est une entité de 8 bits. Tous les bits sont significatifs. Les bits sont numérotés de 7 (le
plus significatif) à O (le moins significatif).
Un mot est une entité de 16 bits. Tous les bits sont significatifs. Les bits sont numérotés de 15 (le
plus significatif) à O (le moins significatif).
3
---------------------- Page: 9 ----------------------
ISO/CEI 8632-3:1992 (F)
4 Structure générale
4.1 Forme générale du métafichier
Tous les éléments du métafichier sont codés suivant un schéma uniforme. Les éléments sont
représentés par des structures de données de longueur variable, chacune étant composée du code
opératoire (classe de I'élémenl et identificateur de I'élément) désignant l'élément particulier, de la
longueur de ses paramètres et, enfin des paramètres (s'il y en a).
La structure du métafichier est la suivante. (Pour ce schéma uniquement, MF est utilisé comme
abréviation de METAFICHIER).
I BEGIN MF I MD I . IENDMF I
L'éikment BEGiM METAFILE est suivi du descripteur de métafichier (MD). Viennent ensuite les
images, chacune étant logiquement indépendante des autres. Enfin, le métafichier se termine par
I'alérnent END METAFILE.
4.2 Forme générale des images
En dehors des éléments BEGIN METAFILE, END METAFILE et des éléments descripteurs di
métafichier, le métafichier est composé d'images. Toutes les images sont indépendantes les unes
des autres. Une image est composée dun élément BEGIN PICTURE, dun descripteur d'image
(PD), dun élément BEGIN PICTURE BODY, d'un nombre arbitraire d'éléments de contrôle,
d'Blhents graphiques et d'attributs et, enfin, d'un élément END PICTURE. (Pour le schéma
suivant seulement, PIC est 6 comme abréviation de PICTURE et BEGIN BODY comme
abréviation de BEGIN PICTURE BODY).
1 BEGIN' PIC I PD I BEGIN BODY I <élément> . I END PIC I
4.3 Structure genérale du métafichier en codage binaire
Le codage binaire du métafichier est une structure logique composée d'une séquence de bits. Pour
faciliter la description de la longueur et de l'alignement des éléments du métafichier, des champs de
deux tailles différentes sont définis dans la structure. Ces champs sont utilisés dans la suite de la
présente partie de l'ISO/CEI 8632 pour illustrer le contenu et la structure des éléments et des
paramètres.
Pour mesurer la longueur des éléments, le métafichier est divisé en octets, c'est-à-dire en champs
de 8 bits.
4
---------------------- Page: 10 ----------------------
ISO/CEI 86329~1992 (F)
Structure générale Structure générale du métafichier en codage binaire
La structure est également divisée en champs de 16 bits appelés mots (ce sont des mots logiques
du métafichier). Pour optimiser le traitement du métafichier binaire sur une large gamme
d'ordinateurs, les éléments du métafichier doivent nécessairement commencer sur des frontières
de mots dans la structure de données binaires (cet alignement peut nécessiter de compléter un
élément à l'aide de bits jusqu'à une frontière de mot, si les données des paramètres de l'élément
n'atteignent pas cette frontière).
L'octet est i'unité de base d'organisation du métafichier en codage binaire.
Les bits dun octet sont numérotés de 7 à O, 7 étant le bit le plus significatif (msb), O le bit le moins
significatif (Isb).
Les bits d'un mot sont numérotés de 15 à O, 15 étant le bit le plus significatif (msb), O le bit le moins
significatif (Isb).
b7 bO
+- +- +- +- +- +- +- +- +
octet : I I
+- +- +- +- +- +- +- +- +
msb lsb
b15 b8 b7 bO
+- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +
mot : I I I
+- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +
msb lsb
Si les bits consécutifs de la structure de données binaires sont numérotés de 1 à N, si les octets
consécutifs sont numérotés de 1 à N/8, et enfin, si les mots consécutifs sont numérotés de 1 à
N/16, la correspondance logique des bits, octets et mots dans la structure de données binaires est
illustrée dans le tableau suivant :
numéro du bit numéro du numéro du
du métafichier bit de I'octet bit du mot
1 b7ioctetl bl5/mOtl
8 b0ioctet 1 b8/motl
9 b7/octet2 b7/motl
16 bO/octet2 bO/motl
17 b7/octet3 bl5/mot2
24 bO/octet3 b8/mot2
25 b7/octet4 b7/mot2
5
---------------------- Page: 11 ----------------------
ISO/CEI 8632-3:1992 (F)
Structure générale du métafichier en codage
Structure de l'en-tête de commande
binai re
4.4 Structure de l'en-tête de commande
Dans ce paragraphe, le mot "commande" sert à désigner un élément codé en binaire. Les éléments
du métafichier sont codés en binaire selon l'une des deux formes suivantes : commande de forme
courte et commande de forme longue. II y a deux différences entre ces deux formes :
- une commande de forme courte contient toujours un élément complet ; une commande de
forme longue peut contenir des éléments partiels (les listes des données des éléments
peuvent être morcelées) ;
- une commande de forme courte ne peut contenir que des listes de paramètres dont la
longueur ne dépasse pas 30 octets ; une commande de forme longue peut contenir des
listes de longueur allant jusqu'à 32767 octets par partition de données.
Ces formes diffèrent dans le format de l'en-tête de commande qui précède la liste des paramètres.
La forme de la commande d'un élément (de forme courte ou longue) est définie par le premier mot
de l'élément. Pour une commande de forme courte, l'en-tête de commande est composé d'un seul
mot divisé en trois champs : classe de l'élément, identificateur de l'élément et longueur de la liste
des paramètres.
Mot 1 classe d'élém id d'élém long liste param
Figure 1 - Format de l'en-tête d'une commande de forme courte
Les champs de l'en-tête dune commande de forme courte sont les suivants :
bits 15 à 12 classe de l'élément (intervalle de valeurs O à 15)
identificateur de l'élément (intervalle de valeurs O à 127)
bits 1 1 à 5
bits 4 à O longueur de la liste des paramètres : le nombre d'octets de paramètres qui
suivent pour cette commande (intervalle de valeurs O à 30).
Cet en-tête de commande est ensuite suivi de la liste des paramètres.
Le premier mot d'une commande de forme longue a la même structure que le premier mot d'une
commande de forme courte. La présence de la valeur binaire 11 1 11 (31 en décimal) dans le champ
de longueur de la liste des paramètres signifie que la commande est une commande de forme
longue. L'en-tête de commande d'une commande de forme longue est composé de deux mots. Le
deuxième mot contient la longueur effective de la liste des paramètres. Les deux mots de l'en-tête
sont alors suivis par la liste des paramètres.
En plus de l'utilisation de listes de paramètres plus longues, la commande de forme longue permet
de morceler la liste des paramètres. Le bit 15 du deuxième mot indique si les données spécifiées
représentent un élément complet ou si d'autres données suivent. Pour les partitions suivantes des
données de l'élément, le premier mot de l'en-tête de commande de forme longue (contenant la
classe de l'élément et son identificateur) est omis ; seul le deuxième mot précisant la longueur de la
liste des paramètres est présent. La longueur de la liste des paramètres de chaque partition donne
la longueur de cette partition et non la longueur de l'élément complet. La dernière partition d'un
élément est repérée par le fait que le bit 15 du mot de longueur de la liste de paramètres est à zéro.
6
---------------------- Page: 12 ----------------------
ISO/CEI 8632-3:1992 (F)
Structure générale
Structure de l'en-tête de commande
Mot 1 classedélém id d'élém 11111
I I
P
Mot2 longueur de la liste des paramètres
Figure 2 - Format de I'en-tête d'une commande de forme longue
:
Les champs de l'en-tête de commande de forme longue sont les suivants
Mot 1
bits 15 à 12 classe de l'élément (intervalle de valeurs O à 15)
bits 1 1 à 5 identificateur de l'élément (intervalle de valeurs O à 127)
bits 4 à O valeur binaire 11 11 1 (31 en décimal) indiquant qu'il s'agit d'une commande
de forme longue
Mot 2
bit 15 indicateur de partition
- O pour "dernière" partition
- 1 pour "autre" partition
longueur de la liste des paramètres : le nombre d'octets de données de
bits 14 à O
paramètres qui suivent, pour cette commande ou cette partition (intervalle
de valeurs O à 32767).
Le valeurs des paramètres sont placées après la longueur de ta liste des paramètres, que ce soit
pour les commandes de forme courte ou de forme longue. Le nombre de valeurs est déterminé à
partir de la longueur de la liste des paramètres, du type et de la précision des opérandes. Ces
valeurs de paramètres sont codées suivant le format présenté à l'article 5 de la présente partie de
I'ISO/CEI 8632. Le type de paramètre des coordonnées est indiqué dans le Descripteur du
Metafichier. Pour les paramètres autres que les coordonnées, le type du paramètre est spécifié à
l'article 5 de I'ISO/CEI 8632-1. Si le type du paramètre dépend du codage, son code est spécifié
dans les tables de codage de I'article 7 de la présente partie de I'ISO/CEI 8632. Sauf indication
contraire, l'ordre des paramètres est celui qui a été défini à l'article 5 de I'ISO/CEI 8632-1.
Chaque commande doit obligatoirement commencer sur une frontière de mots. Ceci nécessite de
compléter la commande par un octet nul placé à la fin de la commande, lorsque cette dernière
contient un nombre impair d'octets de données de paramètres. De plus, pour les éléments dont les
paramètres ont une précision plus courte qu'un octet (c'est-à-dire ceux contenant un paramètre
'précision locale de couleur'), il faut compléter le dernier octet de données par des bits nuls si les
données ne remplissent pas cet octet. Dans tous les cas, la longueur de la liste des paramètres est
le nombre d'octets contenant réellement des données de paramètres ; cette longueur ne comprend
pas l'octet de remplissage s'il y en a un. C'est uniquement à la fin d'une commande que le
remplissage a lieu, à une seule exception près, l'élément CELL ARRAY.
7
---------------------- Page: 13 ----------------------
lSO/CEl8632-3:1992 (E)
Structure de l'en-tête de commande
Structure générale
Le but de cette contrainte d'alignement des commandes est d'optimiser le traitement pour une large
gamme d'ordinateurs. Aux précisions par défaut du métafichier, les paramètres supposés
apparaitre le plus fréquemment (coordonnées, etc.), et les en-têtes de commande sont alignés sur
des frontières de 16 bits. Ainsi, pour les précisions par défaut, les entités les plus fréquemment
analysées se trouvent entièrement sur des mots machine pour un nombre important d'architectures
d'ordinateurs. Le fait d'éviter d'avoir à assembler un même paramètre du métafichier à partir de
plusieurs mots machine se traduit par une réduction de 50 % environ du traitement nécessaire pour
générer les champs des en-têtes de commandes et les paramètres des éléments dans un flot de
données binaires de métafichier.
Cette optimisation peut être compromise ou réduite à néant si les précisions du métafichier sont
modifiées, c'est-à-dire ne sont pas les précisions par défaut. Les commandes doivent néanmoins
être alignées sur des frontières de 16 bits mais les paramètres qui apparaissent le plus
fréquemment ne sont plus nécessairement alignés sur ces frontières, comme c'est le cas pour les
précisions par défaut.
L'en-tête de commande de forme courte, avec classe d'élément 15, identificateur d'élément 127 et
longueur de liste de paramètres O, est réservé pour une extension du nombre de classes
d'éléments dans de futures révisions de la présente partie I'ISO/CEI 8632. En ce qui concerne
l'analyse, les interpréteurs doivent le traiter comme tout autre élément. L'élément "normal" suivant
rencontré aura une classe réelle différente de celle figurant dans le champ "classe d'élément" de
l'en-tête de commande. Elle sera ajustée par une valeur appropriée à définir dans une future
extension de la présente partie de I'ISO/CEI 8632.
8
---------------------- Page: 14 ----------------------
ISO/CEI 8632-3:1992 (F)
5 Formes de base des données
Le codage binaire du métafichier CGM utilise cinq formes de base de données pour représenter les
différents types abstraits de données utilisés pour décrire les paramètres dans I'ISO/CEI 8632-1.
:
Les formes et les symboles de base utilisés pour cette représentation sont les suivants
SI Entier signé
UI Entier non signé
C Caractère
FX Réel en virgule fixe
FP Réel en virgule flottante
Chacune de ces formes de base (sauf caractère) peut être utilisée avec plusieurs précisions. Les
définitions des formes de base données aux paragraphes 5.1 à 5.5 indiquent les précisions
autorisées pour chaque forme de base. Les définitions sont exprimées en 'mots de métafichier',
c'est-à-dire en unités de 16 bits.
Les expressions suivantes sont utilisées dans Les schémas ci-après pour représenter la forme des
valeurs numériques :
msb bit le plus significatif
Isb bit le moins significatif
S bit de signe
L'illustration des types de données dans les diagrammes suivants correspond au cas où le
paramètre commence sur une frontière de mot de métafichier. En général, les paramètres peuvent
commencer à des adresses paires ou
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.