CGM Conformance

CGM option is implemented based on the ISO/IEC 8632 CGM, W3C WebCGM 2.0 specification.

The legends of element, attribute condition column are as follows.

The number in the ISO/IEC 8632 and WebCGM column refers to the CGM version. Other legends of ISO/IEC 8632 and WebCGM column are as follows.

Delimiter

No. Element Elem cond. Attribute Attr cond. Notes ISO/IEC 8632 WebCGM
Ver Ver
1 BEGIN METAFILE yes metafile name yes When CGM contains multiple METAFILES, only the first one is converted, others are ignored. The metafile name is used for referencing a library, but it is not used in rendering. 1 required 1 required
2 END METAFILE yes 1 required 1 required
3 BEGIN PICTURE yes picture name yes 1 permitted 1 required
4 BEGIN PICTURE BODY yes 1 permitted 1 required
5 END PICTURE yes 1 permitted 1 required
6 BEGIN SEGMENT no segment identifier no 2 permitted 1 prohibit
7 END SEGMENT no 2 permitted 1 prohibit
8 BEGIN FIGURE partial Depending on the combination of figure elements, occasionally rendition and filling is not accurately accomplished. 2 permitted 1 permitted
9 END FIGURE yes 2 permitted 1 permitted
10 BEGIN PROTECTION REGION partial region index yes Depending on the combination of figure elements, Occasionally an area shape is not accurately accomplished. 3 permitted 2 permitted
11 END PROTECTION REGION yes 3 permitted 2 permitted
12 BEGIN COMPOUND LINE no 3 permitted 1 permitted
13 END COMPOUND LINE no 3 permitted 1 permitted
14 BEGIN COMPOUND TEXT PATH no 3 permitted 1 permitted
15 END COMPOUND TEXT PATH no 3 permitted 1 permitted
16 BEGIN TILE ARRAY partial position yes This element is implemented when the TILE is specified as rectangle only. When the TILE is specified as parallelogram, it is outputted as rectangle. 3 permitted 1 permitted
cell path direction partial
line progression direction partial
number of tiles in path direction yes
number of tiles in line direction yes
number of cells/tile in path direction yes
number of cells/tile in line direction yes
cell size in path direction yes
cell size in line direction yes
image offset in path direction yes
image offset in line direction yes
image number of cells in path direction yes
image number of cells in line direction yes
17 END TILE ARRAY yes 3 permitted 1 permitted
18 BEGIN APPLICATION STRUCTURE no application structure identifier no 4 permitted 1 permitted
application structure type no
inheritance flag no
19 BEGIN APPLICATION STRUCTURE BODY no 4 permitted 1 permitted
20 END APPLICATION STRUCTURE no 4 permitted 1 permitted
21 NOP yes 1 permitted 1 permitted

Metafile Descriptor

No. Element Elem cond. Attribute Attr cond. Notes ISO/IEC 8632 WebCGM
Ver Ver
22 METAFILE VERSION yes metafile version number yes Program checks the version number. But element is not limited by version number. 1 required 1 required
23 METAFILE DESCRIPTION yes metafile description string no 1 required 1 required
24 VDC TYPE yes VDC TYPE yes 1 permitted 1 permitted
25 INTEGER PRECISION yes integer precision yes 1 permitted 1 permitted
26 REAL PRECISION yes form of representation for real value yes 1 permitted 1 permitted
field width for exponent or whole part yes
field width for fraction or fraction part yes
27 INDEX PRECISION yes index precision yes 1 required 1 required
28 COLOUR PRECISION yes colour precision yes 1 permitted 1 permitted
29 COLOUR INDEX PRECISION yes index precision yes 1 permitted 1 permitted
30 MAXMUM COLOUR INDEX yes maximum colour index that may be encountered in the model yes 1 permitted 1 permitted
31 COLOUR VALUE EXTENT partial minimum colour value yes Color spaces other than RGB are not implemented. 1 permitted 1 permitted
maximum colour value yes
scale and offset pair for first component yes
scale and offset for second component yes
scale and offset for third component yes
32 METAFILE ELEMENT LIST yes number of elements specified yes 1 required 2 required
list of metafile elements in metafile yes
33 METAFILE DEFAULTS REPLACEMENT yes parameter that itself contains metafile elements yes 1 permitted 1 permitted
34 FONT LIST partial font names yes Sometimes font name is incorrectly interpreted when it is not encoded with 8bit. 1 permitted 1 permitted
35 CHARACTER SET LIST yes CHARACTER SET TYPE yes 1 permitted 1 permitted
designation sequence tail yes
36 CHARACTER CODING ANNOUNCER yes character coding announcer yes 1 permitted 1 required
37 NAME PRECISION yes name precision yes 2 permitted 1 prohibit
38 MAXMUM VDC EXTENT yes first corner yes 2 permitted 1 permitted
second corner yes
39 SEGMENT PRIORITY EXTENT no minimum segment priority value no 2 permitted 1 prohibit
maximum segment priority value no
40 COLOUR MODEL partial colour model partial Color spaces other than RGB are not implemented. 3 permitted 1 permitted
41 COLOUR CALIBRATION no calibration selection no 3 permitted 1 prohibit
reference white value X component no
reference white value Y component no
reference white value Z component no
3x3 RGB calibration matrix no
3x3 ABC transformation matrix no
number of lookup table entries(=n) no
2n red lookup table entries: R, R' no
2n green lookup table entries: G, G' no
2n blue lookup table entries: B, B' no
number of grid locations (=m) no
m CMYK grid locations no
m XYZ grid locations, each being no
42 FONT PROPERTIES no property indicator no 3 permitted 1 permitted
priority no
property value record no
43 GLYPH MAPPING no character set index no 3 permitted 1 prohibit
basis set character set type no
basis set designation sequence tail no
octets per code (=m) no
glyph source no
glyph-code associations no
44 SYMBOL LIBRARY LIST no n symbol library names no 3 prohibit 1 prohibit
45 PICTURE DIRECTORY no location data type selector no 4 permitted 1 prohibit
list of 3-tuples no

Picture Descriptor

No. Element Elem cond. Attribute Attr cond. Notes ISO/IEC 8632 WebCGM
Ver Ver
46 SCALING MODE yes scaling mode yes 1 permitted 1 permitted
metric scaling factor yes
47 COLOUR SELECTION MODE yes colour selection mode yes 1 permitted 1 permitted
48 LINE WIDTH SPECIFICATION MODE yes line width specification mode yes 1 permitted 1 permitted
49 MARKER SIZE SPECIFICATION MODE yes marker size specification mode yes 1 permitted 1 permitted
50 EDGE WIDTH SPECIFICATION MODE yes edge width specification mode yes 1 permitted 1 permitted
51 VDC EXTENT yes first corner yes 1 permitted 1 permitted
second corner yes
52 BACKGROUND COLOUR yes background colour yes 1 permitted 1 permitted
53 DEVICE VIEWPORT no first corner no 2 prohibit 1 prohibit
second corner no
54 DEVICE VIEWPORT SPECIFICATION MODE no VC specifier no 2 prohibit 1 prohibit
metric scale factor no
55 DEVICE VIEWPORT MAPPING no isotropy flag no 2 prohibit 1 prohibit
horizontal alignment flag no
vertical alignment flag no
56 LINE REPRESENTATION yes line bundle index yes If the line type is out of range or implementation-defined, it is outputted as solid. 2 permitted 1 prohibit
line type yes
line width yes
line colour yes
57 MARKER REPRESENTATION yes marker bundle index yes If the marker type is out of range or implementation-defined, it is outputted as asterisk. 2 permitted 1 prohibit
marker type yes
marker size yes
marker colour yes
58 TEXT REPRESENTATION partial text bundle index yes Color spaces other than RGB are not implemented. Italic and oblique are not supported. 2 permitted 1 prohibit
text font index partial
text precision yes
character spacing yes
character expansion factor yes
text colour partial
59 FILL REPRESENTATION partial fill area bundle index yes Occasionally fill for some FIGURE element combinations is incorrect. Color spaces other than RGB are not implemented. Interior style that is out of range is outputted as solid. A hatch index that is out of range is outputted as horizontal. Sometimes the pattern size is incorrect with patterned fill. 2 permitted 1 prohibit
interior style yes
fill colour partial
hatch index yes
pattern index partial
60 EDGE REPRESENTATION partial edge bundle index yes Color spaces other than RGB are not implemented. 2 permitted 1 prohibit
edge type yes
edge width yes
edge colour partial
61 INTERIOR STYLE SPECIFICATION MODE no style specification mode no 3 permitted 1 permitted
62 LINE AND EDGE TYPE DEFINITION yes line type yes 3 permitted 1 permitted
dash cycle repeat length yes
list of n dash elements yes
63 HATCH STYLE DEFINITION partial hatch index partial 3 permitted 1 permitted
style indicator partial
hatch direction vectors specifier (x,y,x,y) partial
duty cycle length partial
number of hatch lines (=n) partial
list of n gap widths partial
list of n line types partial
64 GEOMETRIC PATTERN DEFINITION no geometric pattern index no 3 permitted 1 prohibit
segment identifier no
first corner point no
second corner point no
65 APPLICATION STRUCTURE DIRECTORY no location data type selector no 4 permitted 1 prohibit
list of pairs consisting no

Control

No. Element Elem cond. Attribute Attr cond. Notes ISO/IEC 8632 WebCGM
Ver Ver
66 VDC INTEGER PRECISION yes VDC integer precision yes 1 permitted 1 permitted
67 VDC REAL PRECISION yes form of representation for real values yes 1 permitted 1 permitted
field width for exponent or whole part yes
field width for fraction or fractional part yes
68 AUXILIARY COLOUR partial auxiliary colour partial Color spaces other than RGB are not implemented. 1 permitted 1 permitted
69 TRANSPARENCY partial on-off indicator yes This is not effective for CELL ARRAY element. 1 permitted 1 permitted
70 CLIP RECTANGLE yes first corner yes 1 permitted 1 permitted
second corner yes
71 CLIP INDICATOR yes clip indicator yes 1 permitted 1 permitted
72 LINE CLIPPING MODE partial clipping mode partial Sometimes locus then shape mode is not processed correctly. 2 permitted 1 prohibit
73 MARKER CLIPPING MODE partial clipping mode partial Sometimes locus then shape mode is not processed correctly. 2 permitted 1 prohibit
74 EDGE CLIPPING MODE partial clipping mode partial Sometimes locus then shape mode is not processed correctly. 2 permitted 1 prohibit
75 NEW REGION yes 2 permitted 1 permitted
76 SAVE PRIMITIVE CONTEXT yes context name yes 2 permitted 1 prohibit
77 RESTORE PRIMITIVE CONTEXT yes context name yes 2 permitted 1 prohibit
78 PROTECTION REGION INDICATOR yes region index yes 3 permitted 1 permitted
region indicator yes
79 GENERALIZED TEXT PATH MODE no text path mode no 3 permitted 1 permitted
80 MITRE LIMIT yes mitre limit yes 3 permitted 1 permitted
81 TRANSPARENT CELL COLOUR partial transparency indicator yes Color spaces other than RGB are not implemented. 3 permitted 1 permitted
transparent cell colour specifier partial

Graphical Primitive

No. Element Elem cond. Attribute Attr cond. Notes ISO/IEC 8632 WebCGM
Ver Ver
82 POLYLINE yes n (X,Y) polyline vertices yes 1 permitted 1 permitted
83 DISJOINT POLYLINE yes n (X,Y) line segment endpoints yes 1 permitted 1 permitted
84 POLYMARKER yes n (X,Y) marker positions yes 1 permitted 1 permitted
85 TEXT yes text position yes 1 permitted 1 permitted
final/not-final flag yes
text string yes
86 RESTRICTED TEXT yes delta width yes 1 permitted 1 permitted
delta height yes
text position yes
final/not-final flag yes
text string yes
87 APPEND TEXT yes final/not-final flag yes 1 permitted 1 permitted
text string yes
88 POLYGON yes n (X,Y) polygon vertices yes 1 permitted 1 permitted
89 POLYGON SET yes (X,Y) polygon vertex yes 1 permitted 1 permitted
edge out flag yes
90 CELL ARRAY partial corner point P partial This element is implemented only when CELL form is rectangle. If a CELL is specified as parallelogram, the CELL is outputted as rectangle. Color spaces other than RGB are not implemented. Occasionally a CELL ARRAY element that is described as run-length form is not read correctly. 1 permitted 1 permitted
corner point Q partial
corner point R partial
nx yes
ny yes
local colour precision yes
cell representation mode yes
array of cell colour values partial
91 GENERALIZED DRAWING PRIMITIVE no GDP identifier no 1 prohibit 1 prohibit
n, number of points in 'list of points no
list of points no
GDP data record no
92 RECTANGLE yes first corner yes 1 permitted 1 permitted
second corner yes
93 CIRCLE yes centre of circle yes 1 permitted 1 permitted
radius of circle yes
94 CIRCULAR ARC 3 POINT yes starting point yes 1 permitted 1 permitted
intermediate point yes
ending point yes
95 CIRCULAR ARC 3 POINT CLOSE yes starting point yes 1 permitted 1 permitted
intermediate point yes
ending point yes
type of arc closure yes
96 CIRCULAR ARC CENTRE yes centre of circle yes 1 permitted 1 permitted
delta X for start vector yes
delta Y for start vector yes
delta X for end vector yes
delta Y for end vector yes
radius of circle yes
97 CIRCULAR ARC CENTRE CLOSE yes centre of circle yes 1 permitted 1 permitted
delta X for start vector yes
delta Y for start vector yes
delta X for end vector yes
delta Y for end vector yes
radius of circle yes
type of arc closure yes
98 ELLIPSE yes centre of ellipse yes 1 permitted 1 permitted
endpoint of first conjugate diameter yes
endpoint of second conjugate diameter yes
99 ELLIPTICAL ARC yes centre of ellipse yes 1 permitted 1 permitted
endpoint of first conjugate diameter yes
endpoint of second conjugate diameter yes
delta X for start vector yes
delta Y for start vector yes
delta X for end vector yes
delta Y for end vector yes
100 ELLIPTICAL ARC CLOSE yes centre of ellipse yes 1 permitted 1 permitted
endpoint of first conjugate diameter yes
endpoint of second conjugate diameter yes
delta X for start vector yes
delta Y for start vector yes
delta X for end vector yes
delta Y for end vector yes
type of arc closure yes
101 CIRCULAR ARC CENTRE REVERSED yes centre of circle yes 2 permitted 1 permitted
delta X for start vector yes
delta Y for start vector yes
delta X for end vector yes
delta Y for end vector yes
radius of circle yes
102 CONNECTING EDGE yes 2 permitted 1 permitted
103 HYPERBOLIC ARC no centre point no 3 permitted 1 prohibit
transverse radius end point no
conjugate radius end point no
start vector x component no
start vector y component no
end vector x component no
end vector y component no
104 PARABOLIC ARC no tangent intersection point no 3 permitted 1 prohibit
start point no
end point no
105 NON-UNIFORM B-SPLINE no spline order (=m) no 3 permitted 1 permitted
number of control points (=n) no
array of control points no
list of knots, of length n+m no
parameter start value no
parameter end value no
106 NON-UNIFORM RATIONAL B-SPLINE no spline order (=m) no 3 permitted 1 permitted
number of control points (=n) no
array of control points no
list of knots, of length n+m no
parameter start value no
parameter end value no
list of weights, of length n no
107 POLYBEZIER yes continuity indicator yes 3 permitted 1 permitted
list of point sequences yes
108 POLYSYMBOL no symbol index no 3 prohibit 1 prohibit
n symbol position points no
109 BITONAL TILE partial compression type partial
Compression TypeSupported
0: null background yes
1: null foreground yes
2: T6 yes
3: T4 1-dimensional no
4: T4 2-dimensional no
5: bitmap (compressed) yes
6: run length yes
7: baseline JPEG yes
8: LZW no
9: PNG compression method 0 yes
3 permitted 1 permitted
row padding indicator yes
cell background colour yes
cell foreground colour yes
method-specific parameters yes
compressed cell colour specifiers yes
110 TILE partial compression type partial Same as BITONAL TILE. 3 permitted 1 permitted
row padding indicator yes
cell colour precision yes
method-specific parameters yes
compressed cell colour specifiers yes

Attribute

No. Element Elem cond. Attribute Attr cond. Notes ISO/IEC 8632 WebCGM
Ver Ver
111 LINE BUNDLE INDEX yes line bundle index yes 1 permitted 1 prohibit
112 LINE TYPE yes line type yes 1 permitted 1 prohibit
113 LINE WIDTH yes line width yes 1 permitted 1 permitted
114 LINE COLOUR partial line colour partial Color spaces other than RGB are not implemented. 1 permitted 1 permitted
115 MARKER BUNDLE INDEX yes marker bundle index yes 1 permitted 1 prohibit
116 MARKER TYPE yes marker type yes 1 permitted 1 permitted
117 MARKER SIZE yes marker size yes 1 permitted 1 permitted
118 MARKER COLOUR partial marker colour partial Color spaces other than RGB are not implemented. 1 permitted 1 permitted
119 TEXT BUNDLE INDEX partial text bundle index yes Occasionally character width becomes incorrect. 1 permitted 1 prohibit
120 TEXT FONT INDEX yes text font index yes 1 permitted 1 permitted
121 TEXT PRECISION yes text precision yes 1 permitted 1 permitted
122 CHARACTER EXPANSION FACTOR yes character expansion factor yes 1 permitted 1 permitted
123 CHARACTER SPACING yes additional inter-character space yes 1 permitted 1 permitted
124 TEXT COLOUR yes text colour yes 1 permitted 1 permitted
125 CHARACTER HEIGHT yes character height yes 1 permitted 1 permitted
126 CHARACTER ORIENTATION yes X character up component yes This element is fully implemented. 1 permitted 1 permitted
Y character up component yes
X character base component yes
Y character base component yes
127 TEXT PATH yes text path yes 1 permitted 1 permitted
128 TEXT ALIGNMENT yes horizontal alignment yes 1 permitted 1 permitted
vertical alignment yes
continuous horizontal alignment yes
continuous vertical alignment yes
129 CHARACTER SET INDEX yes character set index yes 1 permitted 1 permitted
130 ALTERNATE CHARACTER SET INDEX yes alternate character set index yes 1 permitted 1 permitted
131 FILL BUNDLE INDEX yes fill bundle index yes 1 permitted 1 prohibit
132 INTERIOR STYLE partial interior style partial Interior style is not implemented when it is a geometric pattern or interpolated. 1 permitted 1 permitted
133 FILL COLOUR partial fill colour partial Color spaces other than RGB are not implemented. 1 permitted 1 permitted
134 HATCH INDEX yes hatch index yes 1 permitted 1 permitted
135 PATTERN INDEX yes pattern index yes 1 permitted 1 permitted
136 EDGE BUNDLE INDEX yes edge bundle index yes 1 permitted 1 prohibit
137 EDGE TYPE yes edge type yes 1 permitted 1 permitted
138 EDGE WIDTH yes edge width yes 1 permitted 1 permitted
139 EDGE COLOUR partial edge colour partial Color spaces other than RGB are not implemented. 1 permitted 1 permitted
140 EDGE VISIBILITY yes edge visibility yes 1 permitted 1 permitted
141 FILL REFERENCE POINT yes fill reference point yes 1 permitted 1 permitted
142 PATTERN TABLE yes pattern table index yes 1 permitted 1 permitted
nx yes
ny yes
local colour precision yes
pattern definition yes
143 PATTERN SIZE partial pattern height vector, x component partial This element is not implemented when pattern is specified as parallelogram 1 permitted 1 permitted
pattern height vector, y component partial
pattern width vector, x component partial
pattern width vector, y component partial
144 COLOUR TABLE partial starting colour table index partial Color spaces other than RGB are not implemented. 1 permitted 1 permitted
list of direct colour values yes
145 ASPECT SOURCE FLAGS yes 18 parameter-pairs, corresponding to each attribute that may be bundled yes 1 permitted 1 prohibit
146 PICK IDENTIFIR no pick identifier no 2 permitted 1 prohibit
147 LINE CAP partial line cap indicator partial This element is not implemented when line cap is specified as a projecting square or diamond. 3 permitted 1 permitted
dash cap indicator no
148 LINE JOIN yes line join indicator yes 3 permitted 1 permitted
149 LINE TYPE COTINUATION no continuation mode no 3 permitted 1 permitted
150 LINE TYPE INITIAL OFFSET no line pattern offset no 3 permitted 1 permitted
151 TEXT SCORE TYPE no list of score type no 3 permitted 1 permitted
152 RESTRICTED TEXT TYPE yes restriction type yes 3 permitted 1 permitted
153 INTERPOLATED INTERIOR no style no 3 permitted 1 permitted
reference geometry no
number of stages (=m) no
array of m stage designators no
array of k colour specifiers: k=3 for triangular, m+1 otherwise no
154 EDGE CAP partial edge cap indicator partial This element is not implemented when edge cap is specified as projecting square or triangle. 3 permitted 1 permitted
dash cap indicator no
155 EDGE JOIN yes edge join indicator yes 3 permitted 1 permitted
156 EDGE TYPE CONTINUATION no continuation mode no 3 permitted 1 permitted
157 EDGE TYPE INITIAL OFFSET no edge pattern no 3 permitted 1 permitted
158 SYMBOL LIBRARY INDEX no symbol library index no 3 prohibit 1 prohibit
159 SYMBOL COLOUR no symbol colour no 3 prohibit 1 prohibit
160 SYMBOL SIZE no scale indicator no 3 prohibit 1 prohibit
symbol height no
symbol width no
161 SYMBOL ORIENTATION no up vector x component no 3 prohibit 1 prohibit
up vector y component no
base vector x component no
base vector y component no

Escape

No. Element Elem cond. Attribute Attr cond. Notes ISO/IEC 8632 WebCGM
Ver Ver
162 ESCAPE no escape identifier no 1 permitted 1 permitted
escape data record no

External

No. Element Elem cond. Attribute Attr cond. Notes ISO/IEC 8632 WebCGM
Ver Ver
163 MESSAGE no action-required flag no 1 permitted 1 prohibit
message string no
164 APPLICATION DATA no identifier no 1 permitted 1 prohibit
application data record no

Segment Control and Segment Attribute

No. Element Elem cond. Attribute Attr cond. Notes ISO/IEC 8632 WebCGM
Ver Ver
165 COPY SEGMENT no segment identifier no 2 permitted 1 prohibit
transformation matrix no
segment transformation application no
166 INHERITANCE FILTER no list of attribute or group designators no 2 permitted 1 prohibit
setting no
167 CLIP INHENTANCE no clip inheritance no 2 permitted 1 prohibit
168 SEGMENT TRANSFORMATION no segment identifier no 2 permitted 1 prohibit
transformation matrix no
169 SEGMENT HIGHLIGHTING no segment identifier no 2 permitted 1 prohibit
highlighting no
170 SEGMENT DISPLAY PRIORITY no segment identifier no 2 permitted 1 prohibit
segment display priority no
171 SEGMENT PICK PRIORITY no segment identifier no 2 permitted 1 prohibit
segment pick priority no

Application Structure Descriptor

No. Element Elem cond. Attribute Attr cond. Notes ISO/IEC 8632 WebCGM
Ver Ver
172 APPLICATION STRUCTURE ATTRIBUTE no application structure attribute type no 4 permitted 1 permitted
data record no