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

Status
Withdrawn
Publication Date
04-Nov-1992
Withdrawal Date
04-Nov-1992
Current Stage
9599 - Withdrawal of International Standard
Completion Date
16-Dec-1999
Ref Project

Relations

Buy Standard

Standard
ISO/IEC 8632-3:1992 - Information technology -- Computer graphics -- Metafile for the storage and transfer of picture description information
English language
71 pages
sale 15% off
Preview
sale 15% off
Preview
Standard
ISO/IEC 8632-3:1992 - Technologies de l'information -- Infographie -- Métafichier de stockage et de transfert des informations de description d'images
French language
72 pages
sale 15% off
Preview
sale 15% off
Preview

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 . . . END MF
The BEGIN METAFILE element is followed by the METAFILE DESCRIPTOR (MD). After this the pic-
Finally the Metafile is ended with an END
tures follow, each logically independent of each other.
METAFILE element.
4.2 General form of pictures
Apart from the BEGIN METAFILE, END METAFILE and Metafile Descriptor elements, the metafile is
partitioned into pictures. All pictures are mutually independent. A picture consists of a BEGIN PICTURE
element, a PICTURE DESCRIPTOR (PD) element, a BEGIN PICTURE BODY element, an arbitrary
number of control, graphical and attribute elements and finally an END PICTURE element. (For the pur-
pose of this diagram only, PIC is used as an abbreviation for PICTURE and BEGIN BODY for BEGIN
PICTURE BODY .)
1 BEGIN PIG 1 PD 1 BEGIN BODY 1 . . . I END PIG I
4.3 General structure of the binary metafile
The binary encoding of the metafile is a logical data structure consisting of a sequential collection of bits.
For convenience in describing the length and alignment of metafile elements, fields of two different sizes
are defined within the structure. These fields are used in the remainder of this part of ISO/IEC 8632 for
illustrating the contents and structure of elements and parameters.
For measuring the lengths of elements the metafile is partitioned into octets, which are 8-bit fields.
The structure is also partitioned into 16-bit fields called words (these are logical metafile words). To optim-
ize processing of the binary metafile on a wide collection of computers, metafile elements are constrained to
start on word boundaries within the binary data structure (this alignment may necessitate padding an ele-
ment with bits to a word boundary if the parameter data of the element does not fill to such a boundary).
The octet is the fundamental unit of organization of the binary metafile.
The bits of an octet are numbered 7 to 0, with 7 being the most significant bit. The bits of a word are num-
bered 15 to 0, with 15 being the most significant bit.

---------------------- Page: 12 ----------------------
ISO/IEC 8632-3: 1992 (E)
General structure of the binary metafile
Overall structure
b7 b0
+-+-+-+-+-+-+-+-+
octet:
I I
+-+-+-+-+-+-+-+-+
msb Isb
b15 b8.b7 b0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
word:
I I I
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
msb lsb
If the consecutive
bits of the binary data structure are numbered 1 .N, and the consecutive octets are num-
bered l.N/8, and the consecutive words are numbered l.N/16, then the logical correspondence of bits,
octets, and words in the binary data structure is as illustrated in the following table:
octet word
metafile
. . .
bit bit bit
number number number
1 b7/octet 1 bl5/wordl
. . .
.
8 bO/octet 1 b8/word 1
9 b7/octet2 b7/word 1
.
.
16 bO/octet2 bO/word 1
17 b7/octet3 bl5/word2
.
.
24 bO/octet3 b8/word2
b7/word2
25 b7/octet4
.
.
4.4 Structure of the command header
Throughout this sub-clause, the term “command” is used to denote a binary-encoded element. Metafile ele-
ments are represented in the Binary Encoding in one of two forms - short-form commands and long-form
commands. There are two differences between them:
- a short-form command always contains a complete element; the long-form command can accommo-
date partial elements (the data lists of elements can be partitioned);
- a short-form command only accommodates parameter lists up to 30 octets in length; the long-form
command accommodates lengths up to 32767 octets per data partition.
The forms differ in the format of the Command Header that precedes the parameter list. The command
form for an element (short or long) is established by the first word of the element. For the short-form, the
Command Header consists of a single word divided into three fields: element class, element id and parame-
ter list length.

---------------------- Page: 13 ----------------------
ISO/IEC 8632-3: 1992 (E)
Overall structure
Structure of the command header
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
__-----------------_----------------
-------
element id I parm list lenl
1 elem class1
Word 1
____ _-----_------------- -_________---- I
_------ I I
I
Format of a short-form Command Header
Figure l-
The fields in the short-form Command Header are as follows:
element class (value range 0 to 15)
bits 15 to 12
element id (value range 0 to 127)
bits 11 to 5
parameter list length: the number of octets of parameter data that follow for this com-
bits 4 to 0
mand (value range 0 to 30)
This Command Header is then followed by the parameter list.
The first word of a long-form command is identical in structure to the first word of a short-form command.
The presence of the value 11111 binary (decimal 3 1) in parameter list length field indicates that the com-
mand is a long-form command. The Command Header for the long-form command consists of two words.
The second word contains the actual parameter list length. The two header words are then followed by the
parameter list.
In addition to allowing longer parameter lists, the long-form command allows the parameter list to be parti-
tioned. Bit 15 of the second word indicates whether the given data complete the element or more data fol-
low. For subsequent data partitions of the element, the first word of the long-form Command Header (con-
taining element class and element id) is omitted; only the second word, containing the parameter list length,
is given. The parameter list length for each partition specifies the length of that partition, not the length of
the complete element. The final partition of an element is indicated by bit 15 of the parameter list length
word being zero.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
-------------------------------___--___________
Word 1 1 elem class1 element id I1 11 111
----------- -------------------_ I -----_________
I I I
Word 2 parameter list length
I p I I
I s-s I ------------------------------------------- I
Figure 2 - Format of a long-form Command Header
The fields in the long-form Command Header are as follows:
Word 1
bits 15 to 12 element class (value range 0 to 15)
bits 11 to 5
element id (value range 0 to 127)
bits 4 to 0 binary value 11111 (decimal 31) indicating long-form
Word 2
bit 15 partition flag
- 0 for ‘last’ partition
- 1 for ‘not-last’ partition
bits 14 to 0
parameter list length: the number of octets of parameter data that follow for
this command or partition (value range 0 to 32767).
6

---------------------- Page: 14 ----------------------
ISO/IEC 8632-3: 1992 (E)
Structure of the command header
Overall structure
The parameter values follow the parameter list length for either the long-form or short-form commands.
The number of values is determined from the parameter list length and the type and precision of the
operands. These parameter values have the format illustrated in clause 5 of this part of ISO/IEC 8632. The
For non-coordinate parameters, the
parameter type for coordinates is indicated in the Metafile Descriptor.
parameter type is as specified in clause 5 of ISO/IEC 8632-l. If the parameter type is encoding dependent,
Unless otherwise stated, the order of
its code is specified in the coding tables of clause 7 of this part.
parameters is as listed in clause 5 of ISO/IEC 8632-l.
Every command is constrained to begin on a word boundary. This necessitates padding the command with
a single null octet at the end of the command if the command contains an odd number of octets of parame-
ter data. In addition, in elements with parameters whose precisions are shorter than one octet (i.e., those
containing a ‘local colour precision’ parameter) it is necessary to pad the last data-containing octet with null
bits if the data do not fill the octet. In all cases, the parameter list length is the count of octets actually con-
taining parameter data - it does not include the padding octet if one is present. It is only at the end of a
command that padding is performed, with the single exception of the CELL ARRAY element.
The purpose of this command alignment constraint is to optimize processing on a wide class of computers.
At the default metafile precisions, the parameters which are expected to occur in greatest numbers (coordi-
nates, etc) will align on 16-bit boundaries, and Command Headers will align on l6-bit boundaries. Thus, at
the default precisions the most frequently parsed entities will lie entirely within machine words in a large
The avoidance of assembling single metafile parameters from pieces of
number of computer designs.
several computer words will approximately halve the amount of processing required to recover element
parameters and command header fields from a binary metafile data stream.
This optimization may be compromised or destroyed altogether if the metafile precisions are changed from
default. Commands are still constrained to begin on 16-bit boundaries, but the most frequently expected
parameters may no longer align on such boundaries as they do at the default precisions.
The short form command header with element class 15, element id 127, and parameter list length 0 is
reserved for extension of the number of available element classes in future revisions of this part of ISO/IEC
8632. It should be treated by interpreters as any other element, as far as parsing is concerned. The next
“normal” element encountered will have an actual class value different from that encountered in the “ele-
ment class” field of the command header - it will be adjusted by a bias as will be defined in a future revi-
sion of this part of ISO/IEC 8632.

---------------------- Page: 15 ----------------------
ISO/IEC 8632-3: 1992 (E)
5 Primitive data forms
The Binary Encoding of the CGM uses five primitive data forms to represent the various abstract data types
used to describe parameters in ISO/IEC 8632-l.
The primitive data forms and the symbols used to represent them are as follows.
SI Signed Integer
UI Unsigned Integer
C Character
FX Fixed Point Real
FP Floating Point Real
Each of these primitive forms (except Character) can be used in a number of precisions. The definitions of
the primitive data forms in 5.1 to 5.5 show the allowed precisions for each primitive data form. The
definitions are in terms of ‘metafile words’ which are 16-bit units.
The following terms are used in the following diagrams when displaying the form of numeric values.
msb most significant bit
lsb least significant bit
sign bit
S
The data types in the following data diagrams are illustrated for the case that the parameter begins on a
metafile word boundary. In general, parameters may align on odd or even octet boundaries, because they
may be preceded by an odd or even number of octets of other parameter data. Elements containing the
local colour precision parameter may have parameters shorter than one octet. It is possible in such cases
that the parameters will not align on octet boundaries.
5.1 Signed integer
Four precisions may be specified for signed
Signed integers are represented in “two’s complement” format.
integers: &bit, 16-bit, 24-bit and 32-bit. (Integer coordinate data encoded with this primitive data form do
not use the 8-bit precision.) In the diagrams of the following subsections, ‘value’ indicates the value for
positive integers and the two’s complement of the value for negative integers.
5.1.1 Signed integer at S-bit precision
Each value occupies half a metafile word (one octet).
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
___-----e-s- ___--------------_________-_------
value i 1sblSlmsb value i+l IsbJ
1 S lmsb
- ___________---------- I - I -----_____---_____-- I
I I
5.1.2 Signed integer at 16,bit precision
Each value occupies one metafile word.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
_______________-------------------------------
value lsbl
ISlmsb
- ____________-------------------------------- I
I I
8

---------------------- Page: 16 ----------------------
ISO/IEC 8632-3: 1992 (E)
Primitive data forms Signed integer
5.1.3 Signed integer at 24-bit precision
Each value straddles two successive metafile words.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
__-__--------_____----------------------------
Word 1 ISlmsb value i
I I _---_--___________-----------------------___
value i lsb(Slmsb value i+l
Word 2 -
-------___________--- ___ - -_-----------_______
I I
Word 3 value i+l lsbl
____________________---------------------------
I
5.1.4 Signed integer at 32-bit precision
Each value fills two complete metafile words.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
_______________----------------------------- --
value i
Word 1 ISlmsb
_____________----------------------------
I I
Word 2 value i lsbl
-
_________________------------------------------
I
5.2 Unsigned integer
Four precisions may be specified for unsigned integers: 8-bit, 16-bit, 24-bit and 32-bit.
5.2.1 Unsigned integers at S-bit precision
Each value occupies half a metafile word.
15 14 13 12 11 10 9 8 7 6 4 2
5 3 1 0
_________________------------------------------
value i lsblmsb value i+l lsbl
lmsb
I __________________--____ I --____---__----___---- I
5.2.2 Unsigned integers at 16-bit precision
Each value occupies one metafile word.
15 14 13 12 11 10 9 8
7 6 5 4 3 2 1 0
_-________________-_---------------------------
value lsbl
Imsb
_________________------------------------------
I I
5.2.3 Unsigned integers at 24.bit precision
Each value straddles two successive metafile words.

---------------------- Page: 17 ----------------------
ISO/IEC 8632-3:1992 (E)
Primitive data forms
Unsigned integer
151413121110 9 8 7 6 5 4 3 2 10
_-__-- __-_-_________------ _______-_______-_----
Word 1 Imsb value i
________------_--__-~-~---~
_______-----__-____-
I
value i+l
value i 1 sb lmsb
Word 2
____-_------_-_____ ---
______---------_-__- I
value i+l lsbl
Word 3
_________-_--__-____------ _______-----------___ I
5.2.4 Unsigned integers at 32-bit precision
Each value fills two complete metafile words.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
_________________-------------------- --_-_-_-_-
value i
Word 1 Imsb
_________-______-_--- --------___-________------
I
value i lsbl
Word 2
-____________________
___________-_--_-__------- I
5.3 Character
Each character is stored in 1 or more consecutive octets, depending upon the coding of the partkular char-
acter set. The following illustrates characters which are coded with 1 octet each.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
____________________------------ -_-_-_-____-___
Character i+l
Character i
I I
I
-_-___-__-_-_--____---
_____________-_--------- I I
I
5.4 Fixed point real
Fixed point real values are stored as two integers; the first represents the “whole part” and has the same
form as a Signed Integer (SI; see 5.1); the second represents the “fractional part” and has the same form as
an Unsigned Integer (UI; see 5.2). Two precisions may be specified for Fixed Point Reals: 32-bit or 64-bit.
5.4-l Fixed point real at 32-bit precision
Each Fixed Point Red occupies 2 complete metafile words; the first has the form of a 16-bit Signed Integer
and the second the form of a 16-bit Unsigned Integer.
15 14 13 12 11 10 9 8 7
6 5 4 3 2 1 0
--_-_------------- _---_--__--___-__-__________c
Word 1 1 Slmsb Whole
part lsbl
I __ I ________________ ----__--~--_------_----~~-~~l
Word 2 Fraction part
Imsb lsbl
I ________________-_---------------- ---______-_-- I
5.4.2 Fixed point real at 64-bit precision
Each Fixed Point Real occupies 4 complete metafile words; the first has the form of a 32-bit Signed Integer
and the second the form of a 32-bit Unsigned Integer.
10

---------------------- Page: 18 ----------------
...

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.