Features - SwissAS/jcgm-core GitHub Wiki
File Formats
Binary CGM files as defined in ISO/IEC 8632-3 are supported. Clear text encoding is not supported.
CGM Commands
The following is a list of CGM commands and their level of support in jcgm.
Legend for the Status column:
O: supported
X: unsupported
~: partially supported, see remarks
Delimiter Elements: Class 0
Class |
Element Code |
Element Name |
Status |
Remarks |
0 |
0 |
no-op |
O |
|
0 |
1 |
BEGIN METAFILE |
O |
|
0 |
2 |
END METAFILE |
O |
|
0 |
3 |
BEGIN PICTURE |
O |
|
0 |
4 |
BEGIN PICTURE BODY |
O |
|
0 |
5 |
END PICTURE |
O |
|
0 |
6 |
BEGIN SEGMENT |
X |
|
0 |
7 |
END SEGMENT |
X |
|
0 |
8 |
BEGIN FIGURE |
X |
|
0 |
9 |
END FIGURE |
X |
|
0 |
13 |
BEGIN PROTECTION REGION |
X |
|
0 |
14 |
END PROTECTION REGION |
X |
|
0 |
15 |
BEGIN COMPOUND LINE |
X |
|
0 |
16 |
END COMPOUND LINE |
X |
|
0 |
17 |
BEGIN COMPOUND TEXT PATH |
X |
|
0 |
18 |
END COMPOUND TEXT PATH |
X |
|
0 |
19 |
BEGIN TILE ARRAY |
O |
|
0 |
20 |
END TILE ARRAY |
O |
|
0 |
21 |
BEGIN APPLICATION STRUCTURE |
X |
|
0 |
22 |
BEGIN APPLICATION STRUCTURE BODY |
X |
|
0 |
23 |
END APPLICATION STRUCTURE |
X |
|
Metafile Descriptor Elements: Class 1
Class |
Element Code |
Element Name |
Status |
Remarks |
1 |
1 |
METAFILE VERSION |
O |
|
1 |
2 |
METAFILE DESCRIPTION |
O |
|
1 |
3 |
VDC TYPE |
O |
|
1 |
4 |
INTEGER PRECISION |
O |
|
1 |
5 |
REAL PRECISION |
O |
|
1 |
6 |
INDEX PRECISION |
O |
|
1 |
7 |
COLOUR PRECISION |
O |
|
1 |
8 |
COLOUR INDEX PRECISION |
O |
|
1 |
9 |
MAXIMUM COLOUR INDEX |
O |
|
1 |
10 |
COLOUR VALUE EXTENT |
O |
|
1 |
11 |
METAFILE ELEMENT LIST |
O |
It is not checked whether all elements required are really implemented. |
1 |
12 |
METAFILE DEFAULTS REPLACEMENT |
O |
|
1 |
13 |
FONT LIST |
O |
|
1 |
14 |
CHARACTER SET LIST |
X |
|
1 |
15 |
CHARACTER CODING ANNOUNCER |
X |
|
1 |
16 |
NAME PRECISION |
O |
|
1 |
17 |
MAXIMUM VDC EXTENT |
X |
|
1 |
18 |
SEGMENT PRIORITY EXTENT |
X |
|
1 |
19 |
COLOUR MODEL |
O |
|
1 |
20 |
COLOUR CALIBRATION |
X |
|
1 |
21 |
FONT PROPERTIES |
X |
|
1 |
22 |
GLYPH MAPPING |
X |
|
1 |
23 |
SYMBOL LIBRARY LIST |
X |
|
1 |
24 |
PICTURE DIRECTORY |
X |
|
Picture Descriptor Elements: Class 2
Class |
Element Code |
Element Name |
Status |
Remarks |
2 |
1 |
SCALING MODE |
O |
|
2 |
2 |
COLOUR SELECTION MODE |
O |
|
2 |
3 |
LINE WIDTH SPECIFICATION MODE |
O |
|
2 |
4 |
MARKER SIZE SPECIFICATION MODE |
O |
|
2 |
5 |
EDGE WIDTH SPECIFICATION MODE |
O |
|
2 |
6 |
VDC EXTENT |
O |
|
2 |
7 |
BACKGROUND COLOUR |
O |
|
2 |
8 |
DEVICE VIEWPORT |
X |
|
2 |
9 |
DEVICE VIEWPORT SPECIFICATION MODE |
O |
|
2 |
10 |
DEVICE VIEWPORT MAPPING |
X |
|
2 |
11 |
LINE REPRESENTATION |
X |
|
2 |
12 |
MARKER REPRESENTATION |
X |
|
2 |
13 |
TEXT REPRESENTATION |
X |
|
2 |
14 |
FILL REPRESENTATION |
X |
|
2 |
15 |
EDGE REPRESENTATION |
X |
|
2 |
16 |
INTERIOR STYLE SPECIFICATION MODE |
X |
|
2 |
17 |
LINE AND EDGE TYPE DEFINITION |
O |
|
2 |
18 |
HATCH STYLE DEFINITION |
X |
|
2 |
19 |
GEOMETRIC PATTERN DEFINITION |
O |
|
2 |
20 |
APPLICATION STRUCTURE DIRECTORY |
X |
|
Control Elements: Class 3
Class |
Element Code |
Element Name |
Status |
Remarks |
3 |
1 |
VDC INTEGER PRECISION |
O |
|
3 |
2 |
VDC REAL PRECISION |
O |
|
3 |
3 |
AUXILIARY COLOUR |
X |
|
3 |
4 |
TRANSPARENCY |
X |
|
3 |
5 |
CLIP RECTANGLE |
O |
|
3 |
6 |
CLIP INDICATOR |
O |
|
3 |
7 |
LINE CLIPPING MODE |
X |
|
3 |
8 |
MARKER CLIPPING MODE |
X |
|
3 |
9 |
EDGE CLIPPING MODE |
X |
|
3 |
10 |
NEW REGION |
X |
|
3 |
11 |
SAVE PRIMITIVE CONTEXT |
X |
|
3 |
12 |
RESTORE PRIMITIVE CONTEXT |
X |
|
3 |
17 |
PROTECTION REGION INDICATOR |
X |
|
3 |
18 |
GENERALIZED TEXT PATH MODE |
X |
|
3 |
19 |
MITRE LIMIT |
X |
|
3 |
20 |
TRANSPARENT CELL COLOUR |
X |
|
Graphical Primitive Elements: Class 4
Class |
Element Code |
Element Name |
Status |
Remarks |
4 |
1 |
POLYLINE |
O |
|
4 |
2 |
DISJOINT POLYLINE |
O |
|
4 |
3 |
POLYMARKER |
O |
|
4 |
4 |
TEXT |
O |
|
4 |
5 |
RESTRICTED TEXT |
O |
|
4 |
6 |
APPEND TEXT |
O |
|
4 |
7 |
POLYGON |
O |
|
4 |
8 |
POLYGON SET |
O |
|
4 |
9 |
CELL ARRAY |
~ |
Only cell arrays with orthogonal axis are supported |
4 |
10 |
GENERALIZED DRAWING PRIMITIVE |
X |
|
4 |
11 |
RECTANGLE |
O |
|
4 |
12 |
CIRCLE |
O |
|
4 |
13 |
CIRCULAR ARC 3 POINT |
O |
|
4 |
14 |
CIRCULAR ARC 3 POINT CLOSE |
O |
|
4 |
15 |
CIRCULAR ARC CENTRE |
O |
|
4 |
16 |
CIRCULAR ARC CENTRE CLOSE |
O |
|
4 |
17 |
ELLIPSE |
O |
|
4 |
18 |
ELLIPTICAL ARC |
O |
|
4 |
19 |
ELLIPTICAL ARC CLOSE |
O |
|
4 |
20 |
CIRCULAR ARC CENTRE REVERSED |
X |
|
4 |
21 |
CONNECTING EDGE |
X |
|
4 |
22 |
HYPERBOLIC ARC |
X |
|
4 |
23 |
PARABOLIC ARC |
X |
|
4 |
24 |
NON-UNIFORM B-SPLINE |
X |
|
4 |
25 |
NON-UNIFORM RATIONAL B-SPLINE |
X |
|
4 |
26 |
POLYBEZIER |
O |
|
4 |
27 |
POLYSYMBOL |
X |
|
4 |
28 |
BITONAL TILE |
~ |
Only cell path direction 0 and line progression 90 supported; only compression type JPEG, PNG and T6 supported. For T6, an ImageIO plug-in able to handle TIFF images with T6 compression is required on the classpath. |
4 |
29 |
TILE |
~ |
See Bitonal Tile |
Attribute Elements: Class 5
Class |
Element Code |
Element Name |
Status |
Remarks |
5 |
1 |
LINE BUNDLE INDEX |
X |
|
5 |
2 |
LINE TYPE |
O |
|
5 |
3 |
LINE WIDTH |
~ |
Only for LINE WIDTH SPECIFICATION MODE ABSOLUTE and SCALED |
5 |
4 |
LINE COLOUR |
O |
|
5 |
5 |
MARKER BUNDLE INDEX |
X |
|
5 |
6 |
MARKER TYPE |
O |
|
5 |
7 |
MARKER SIZE |
~ |
Only for MARKER SIZE SPECIFICATION MODE ABSOLUTE and SCALED |
5 |
8 |
MARKER COLOUR |
O |
|
5 |
9 |
TEXT BUNDLE INDEX |
X |
|
5 |
10 |
TEXT FONT INDEX |
X |
|
5 |
11 |
TEXT PRECISION |
X |
|
5 |
12 |
CHARACTER EXPANSION FACTOR |
X |
|
5 |
13 |
CHARACTER SPACING |
X |
|
5 |
14 |
TEXT COLOUR |
O |
|
5 |
15 |
CHARACTER HEIGHT |
O |
|
5 |
16 |
CHARACTER ORIENTATION |
O |
|
5 |
17 |
TEXT PATH |
X |
|
5 |
18 |
TEXT ALIGNMENT |
X |
|
5 |
19 |
CHARACTER SET INDEX |
X |
|
5 |
20 |
ALTERNATE CHARACTER SET INDEX |
X |
|
5 |
21 |
FILL BUNDLE INDEX |
X |
|
5 |
22 |
INTERIOR STYLE |
~ |
Only HOLLOW, SOLID, HATCH, EMPTY |
5 |
23 |
FILL COLOUR |
O |
|
5 |
24 |
HATCH INDEX |
O |
|
5 |
25 |
PATTERN INDEX |
X |
|
5 |
26 |
EDGE BUNDLE INDEX |
X |
|
5 |
27 |
EDGE TYPE |
O |
|
5 |
28 |
EDGE WIDTH |
~ |
Only for EDGE WIDTH SPECIFICATION MODE ABSOLUTE and SCALED |
5 |
29 |
EDGE COLOUR |
O |
|
5 |
30 |
EDGE VISIBILITY |
O |
|
5 |
31 |
FILL REFERENCE POINT |
X |
|
5 |
32 |
PATTERN TABLE |
X |
|
5 |
33 |
PATTERN SIZE |
X |
|
5 |
34 |
COLOUR TABLE |
O |
|
5 |
35 |
ASPECT SOURCE FLAG |
X |
|
5 |
36 |
PICK IDENTIFIER |
X |
|
5 |
37 |
LINE CAP |
~ |
Only BUTT and ROUND |
5 |
38 |
LINE JOIN |
O |
|
5 |
39 |
LINE TYPE CONTINUATION |
X |
|
5 |
40 |
LINE TYPE INITIAL OFFSET |
X |
|
5 |
41 |
TEXT SCORE TYPE |
X |
|
5 |
42 |
RESTRICTED TEXT TYPE |
O |
|
5 |
43 |
INTERPOLATED INTERIOR |
X |
|
5 |
44 |
EDGE CAP |
~ |
Only BUTT and ROUND |
5 |
45 |
EDGE JOIN |
O |
|
5 |
46 |
EDGE TYPE CONTINUATION |
X |
|
5 |
47 |
EDGE TYPE INITIAL OFFSET |
X |
|
5 |
48 |
SYMBOL LIBRARY INDEX |
X |
|
5 |
49 |
SYMBOL COLOUR |
X |
|
5 |
50 |
SYMBOL SIZE |
X |
|
5 |
51 |
SYMBOL ORIENTATION |
X |
|
Escape Elements: Class 6
Class |
Element Code |
Element Name |
Status |
Remarks |
6 |
1 |
ESCAPE |
X |
|
External Elements: Class 7
Class |
Element Code |
Element Name |
Status |
Remarks |
7 |
1 |
MESSAGE |
O |
|
7 |
2 |
APPLICATION DATA |
O |
|
Segment Elements: Class 8
Class |
Element Code |
Element Name |
Status |
Remarks |
8 |
1 |
COPY SEGMENT |
X |
|
8 |
2 |
INHERITANCE FILTER |
X |
|
8 |
3 |
CLIP INHERITANCE |
X |
|
8 |
4 |
SEGMENT TRANSFORMATION |
X |
|
8 |
5 |
SEGMENT HIGHLIGHTING |
X |
|
8 |
6 |
SEGMENT DISPLAY PRIORITY |
X |
|
8 |
7 |
SEGMENT PICK PRIORITY |
X |
|
Application Structure Descriptor Elements: Class 9
Class |
Element Code |
Element Name |
Status |
Remarks |
9 |
1 |
APPLICATION STRUCTURE ATTRIBUTE |
X |
|