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