CGM Conformance

AH Formatter V6.5 conforms to ISO/IEC 8632 CGM and W3C WebCGM 2.1 and supports to display CGM images with a newly developed engine. This makes it possible to output high quality CGM images as vectors in the CGM. See also Graphics to learn how to utilize CGM.

Customers must purchase "AH Formatter CGM Option" to render CGM originally. See also Antenna House website for more details.

The below table shows the implemented CGM elements.

The ISO8632 and WebCGM columns show the conformance status of the associated element.

Class-ID Element Condition Comments / Attributes ISO8632 WebCGM
0-0 NOP yes

v1 Y Y
0-1 BEGIN METAFILE yes

When multiple BEGIN METAFILE elements are included, only the first one is effective.

v1 R R
0-2 END METAFILE yes

If the element exists after END METAFILE, it is ignored.

v1 R R
0-3 BEGIN PICTURE yes

With WebCGM, only one from BEGIN PICTURE to END PICTURE can be included in the metafile.

v1 Y R
0-4 BEGIN PICTURE BODY yes

v1 Y R
0-5 END PICTURE yes

v1 Y R
0-6 BEGIN SEGMENT no

v2 Y N
0-7 END SEGMENT no

v2 Y N
0-8 BEGIN FIGURE yes

v2 Y Y
0-9 END FIGURE yes

v2 Y Y
0-13 BEGIN PROTECTION REGION yes

v3 Y Y
0-14 END PROTECTION REGION yes

v3 Y Y
0-15 BEGIN COMPOUND LINE yes

v3 Y Y
0-16 END COMPOUND LINE yes

v3 Y Y
0-17 BEGIN COMPOUND TEXT PATH no

v3 Y Y
0-18 END COMPOUND TEXT PATH no

v3 Y Y
0-19 BEGIN TILE ARRAY partial

cell path direction, line progression direction are ignored.

v3 Y Y
0-20 END TILE ARRAY yes

v3 Y Y
0-21 BEGIN APPLICATION STRUCTURE partial

In WebCGM, the following types are defined. When these types have structural violation or the types are outside the defined one, a warning message will be shown.

  • layer
  • grobject
  • para
  • subpara
  • grnode

The semantic interpretation of the type is not performed. The content is evaluated as is. inheritance flag is ignored and considered as statelist.

In WebCGM, it is assumed to control APPLICATION STRUCTURE dynamically using ECMAScript from HTML. AH Formatter V6.5 doesn't handle such behavior. See also WebCGM Intelligent Content and WebCGM XML Companion File.

v4 Y Y
0-22 BEGIN APPLICATION STRUCTURE BODY yes

v4 Y Y
0-23 END APPLICATION STRUCTURE yes

v4 Y Y
1-1 METAFILE VERSION yes

The version information isn't used.

v1 R R
1-2 METAFILE DESCRIPTION yes

Behaves as WebCGM when "ProfileId:WebCGM" is specified. However, the setting contents of METAFILE DESCRIPTION swing widely, whether it is WebCGM may not be judged correctly. It's possible to enforce WebCGM by specifying WebCGM with content-type explicitly as follows: See also WebCGM Intelligent Content.

<fo:external-graphic src="sample.cgm" content-type="image/cgm;ProfileId=WebCGM"/>
v1 R R
1-3 VDC TYPE yes

v1 Y Y
1-4 INTEGER PRECISION yes

v1 Y Y
1-5 REAL PRECISION yes

v1 Y Y
1-6 INDEX PRECISION yes

v1 Y Y
1-7 COLOUR PRECISION yes

v1 Y Y
1-8 COLOUR INDEX PRECISION yes

v1 Y Y
1-9 MAXIMUM COLOUR INDEX yes

v1 Y Y
1-10 COLOUR VALUE EXTENT yes

v1 Y Y
1-11 METAFILE ELEMENT LIST partial

Ignored.

v1 Y Y
1-12 METAFILE DEFAULTS REPLACEMENT yes

v1 Y Y
1-13 FONT LIST yes

v1 Y Y
1-14 CHARACTER SET LIST partial

Ignored.

v1 Y Y
1-15 CHARACTER CODING ANNOUNCER partial

Ignored.

v1 Y R
1-16 NAME PRECISION yes

v2 Y N
1-17 MAXIMUM VDC EXTENT partial

Ignored.

v2 Y Y
1-18 SEGMENT PRIORITY EXTENT no

v2 Y N
1-19 COLOUR MODEL partial

Supported only for RGB.

v3 Y Y
1-20 COLOUR CALIBRATION no

v3 Y N
1-21 FONT PROPERTIES partial

Only the attributes listed below are evaluated.

  1. font index
  2. font family
  3. posture
  4. weight
  5. proportionate width
v3 Y Y
1-22 GLYPH MAPPING no

v3 Y N
1-23 SYMBOL LIBRARY LIST no

v3 N N
1-24 PICTURE DIRECTORY no

v4 Y N
2-1 SCALING MODE yes

v1 Y R
2-2 COLOUR SELECTION MODE yes

v1 Y Y
2-3 LINE WIDTH SPECIFICATION MODE yes

v1 Y Y
2-4 MARKER SIZE SPECIFICATION MODE yes

v1 Y Y
2-5 EDGE WIDTH SPECIFICATION MODE yes

v1 Y Y
2-6 VDC EXTENT yes

v1 Y Y
2-7 BACKGROUND COLOUR yes

v1 Y Y
2-8 DEVICE VIEWPORT no

v2 N N
2-9 DEVICE VIEWPORT SPECIFICATION MODE no

v2 N N
2-10 DEVICE VIEWPORT MAPPING no

v2 N N
2-11 LINE REPRESENTATION yes

v2 Y N
2-12 MARKER REPRESENTATION yes

v2 Y N
2-13 TEXT REPRESENTATION yes

v2 Y N
2-14 FILL REPRESENTATION yes

v2 Y N
2-15 EDGE REPRESENTATION yes

v2 Y N
2-16 INTERIOR STYLE SPECIFICATION MODE yes

v3 Y Y
2-17 LINE AND EDGE TYPE DEFINITION yes

v3 Y Y
2-18 HATCH STYLE DEFINITION yes

v3 Y Y
2-19 GEOMETRIC PATTERN DEFINITION no

v3 Y N
2-20 APPLICATION STRUCTURE DIRECTORY no

v4 Y N
3-1 VDC INTEGER PRECISION yes

v1 Y Y
3-2 VDC REAL PRECISION yes

v1 Y Y
3-3 AUXILIARY COLOUR yes

v1 Y Y
3-4 TRANSPARENCY partial

Reflected on hatch and non-solid line.

v1 Y Y
3-5 CLIP RECTANGLE yes

v1 Y Y
3-6 CLIP INDICATOR yes

v1 Y Y
3-7 LINE CLIPPING MODE partial

Supported only for shape.

v2 Y N
3-8 MARKER CLIPPING MODE partial

Supported only for shape.

v2 Y N
3-9 EDGE CLIPPING MODE partial

Supported only for shape.

v2 Y N
3-10 NEW REGION yes

v2 Y Y
3-11 SAVE PRIMITIVE CONTEXT no

v2 Y N
3-12 RESTORE PRIMITIVE CONTEXT no

v2 Y N
3-17 PROTECTION REGION INDICATOR yes

When multiple REGION are made effective, adopts REGION that is newly made effective, without adopting the total of these regions as REGION.

v2 Y Y
3-18 GENERALIZED TEXT PATH MODE no

v3 Y Y
3-19 MITRE LIMIT yes

v3 Y Y
3-20 TRANSPARENT CELL COLOUR partial

Reflected when the compression types are the following:

0.null background
1.null foreground
2.T6
3.T4 1-dimensional
4.T4 2-dimensional
5.bitmap
6.run length
v3 Y Y
4-1 POLYLINE yes

v1 Y Y
4-2 DISJOINT POLYLINE yes

v1 Y Y
4-3 POLYMARKER yes

v1 Y Y
4-4 TEXT yes

v1 Y N
4-5 RESTRICTED TEXT yes

v1 Y Y
4-6 APPEND TEXT yes

v1 Y Y
4-7 POLYGON yes

v1 Y Y
4-8 POLYGON SET yes

v1 Y Y
4-9 CELL ARRAY yes

v1 Y Y
4-10 GENERALIZED DRAWING PRIMITIVE no

v1 N N
4-11 RECTANGLE yes

v1 Y Y
4-12 CIRCLE yes

v1 Y Y
4-13 CIRCULAR ARC 3 POINT yes

v1 Y Y
4-14 CIRCULAR ARC 3 POINT CLOSE yes

v1 Y Y
4-15 CIRCULAR ARC CENTRE yes

v1 Y Y
4-16 CIRCULAR ARC CENTRE CLOSE yes

v1 Y Y
4-17 ELLIPSE yes

v1 Y Y
4-18 ELLIPTICAL ARC yes

v1 Y Y
4-19 ELLIPTICAL ARC CLOSE yes

v1 Y Y
4-20 CIRCULAR ARC CENTRE REVERSED yes

v2 Y Y
4-21 CONNECTING EDGE yes

v2 Y Y
4-22 HYPERBOLIC ARC yes

Approximated curve is drawn.

v3 Y N
4-23 PARABOLIC ARC yes

v3 Y N
4-24 NON-UNIFORM B-SPLINE yes

Drawn by transforming to non-rational cubic Bézier curves.

v3 Y Y
4-25 NON-UNIFORM RATIONAL B-SPLINE yes

Drawn by transforming to non-rational cubic Bézier curves.

v3 Y Y
4-26 POLYBEZIER yes

v3 Y Y
4-27 POLYSYMBOL no

v3 N N
4-28 BITONAL TILE partial

The following compression types are supported.

0.null background
1.null foreground
2.T6
3.T4 1-dimensional
4.T4 2-dimensional
5.bitmap
6.run length
7.baseline jpeg
9.png
v3 Y Y
4-29 TILE partial v3 Y Y
5-1 LINE BUNDLE INDEX yes

v1 Y N
5-2 LINE TYPE yes

LINE TYPE=1 to 14 are supported. LINE TYPE=6, 7, 8, 14 are adopted only with POLY LINE. When LINE TYPE=6, 8, and the length of the arrowhead is less than the length of the segment or the width of the arrowhead is less than the width of a line, an arrowhead isn't drawn. When LINE TYPE=7 and a circular diameter is less than the length of the segment or the width of a line, a circle isn't drawn.

v1 Y Y
5-3 LINE WIDTH yes

v1 Y Y
5-4 LINE COLOUR yes

v1 Y Y
5-5 MARKER BUNDLE INDEX yes

v1 Y N
5-6 MARKER TYPE yes

v1 Y Y
5-7 MARKER SIZE yes

v1 Y Y
5-8 MARKER COLOUR yes

v1 Y Y
5-9 TEXT BUNDLE INDEX yes

v1 Y N
5-10 TEXT FONT INDEX yes

v1 Y Y
5-11 TEXT PRECISION partial

Ignored.

v1 Y Y
5-12 CHARACTER EXPANSION FACTOR yes

v1 Y Y
5-13 CHARACTER SPACING yes

v1 Y Y
5-14 TEXT COLOUR yes

v1 Y Y
5-15 CHARACTER HEIGHT yes

v1 Y Y
5-16 CHARACTER ORIENTATION yes

v1 Y Y
5-17 TEXT PATH yes

v1 Y Y
5-18 TEXT ALIGNMENT yes

v1 Y Y
5-19 CHARACTER SET INDEX partial

Ignored.

v1 Y Y
5-20 ALTERNATE CHARACTER SET INDEX partial

Ignored.

v1 Y Y
5-21 FILL BUNDLE INDEX yes

v1 Y N
5-22 INTERIOR STYLE partial

geometric pattern is not supported.

v1 Y Y
5-23 FILL COLOUR yes

v1 Y Y
5-24 HATCH INDEX yes

v1 Y Y
5-25 PATTERN INDEX yes

v1 Y Y
5-26 EDGE BUNDLE INDEX yes

v1 Y N
5-27 EDGE TYPE yes

v1 Y Y
5-28 EDGE WIDTH yes

v1 Y Y
5-29 EDGE COLOUR yes

v1 Y Y
5-30 EDGE VISIBILITY yes

v1 Y Y
5-31 FILL REFERENCE POINT yes

v1 Y Y
5-32 PATTERN TABLE yes

v1 Y Y
5-33 PATTERN SIZE yes

v1 Y Y
5-34 COLOUR TABLE yes

v1 Y Y
5-35 ASPECT SOURCE FLAGS yes

v1 Y N
5-36 PICK IDENTIFIER no

v2 Y N
5-37 LINE CAP partial

triangle is not supported.

v3 Y Y
5-38 LINE JOIN yes

v3 Y Y
5-39 LINE TYPE CONTINUATION partial

Ignored.

v3 Y Y
5-40 LINE TYPE INITIAL OFFSET yes

v3 Y Y
5-41 TEXT SCORE TYPE no

v3 Y Y
5-42 RESTRICTED TEXT TYPE yes

v3 Y Y
5-43 INTERPOLATED INTERIOR partial

triangular is not supported.

v3 Y Y
5-44 EDGE CAP partial

triangle is not supported.

v3 Y Y
5-45 EDGE JOIN yes

v3 Y Y
5-46 EDGE TYPE CONTINUATION partial

Ignored.

v3 Y Y
5-47 EDGE TYPE INITIAL OFFSET yes

v3 Y Y
5-48 SYMBOL LIBRARY INDEX no

v3 N N
5-49 SYMBOL COLOUR no

v3 N N
5-50 SYMBOL SIZE no

v3 N N
5-51 SYMBOL ORIENTATION no

v3 N N
6-1 ESCAPE partial

The following functions are supported. The other functions of ESCAPE element are ignored.

  1. Transparent Cell Colour
  2. Alpha Transparency
v1 Y Y
7-1 MESSAGE yes

A message with the error level 1 is outputted.

v1 Y N
7-2 APPLICATION DATA no

v1 Y N
8-1 COPY SEGMENT no

v2 Y N
8-2 INHERITANCE FILTER no

v2 Y N
8-3 CLIP INHERITANCE no

v2 Y N
8-4 SEGMENT TRANSFORMATION no

v2 Y N
8-5 SEGMENT HIGHLIGHTING no

v2 Y N
8-6 SEGMENT DISPLAY PRIORITY no

v2 Y N
8-7 SEGMENT PICK PRIORITY no

v2 Y N
9-1 APPLICATION STRUCTURE ATTRIBUTE partial

In WebCGM, the following attributes are defined:

  • region
  • viewcontext
  • linkuri
  • layername
  • layerdesc
  • screentip
  • name
  • content
  • visibility
  • interactivity

These settings are evaluated, but these are not always used. When visibility is off, its APPLICATION STRUCTURE is not shown.

v4 Y Y

WebCGM Intelligent Content

The feature of controlling the drawing using a URI fragment is partially supported. For example, specify as follows in FO.

<fo:external-graphic src="sample.cgm#name(targetName,newHighlight)"/>

See also WebCGM Intelligent Content to learn more about the fragment grammar. AH Formatter V6.5 does not support behavior. This is ignored.

When specifying content-type, the parameter can be given as follows:

<fo:external-graphic src="sample.cgm" content-type="image/cgm;Version=4;ProfileId=WebCGM"/>

The evaluated parameters available are Version and ProfileId. These are adopted in preference to the information in METAFILE VERSION, METAFILE DESCRIPTION in the metadata for each.

See also BEGIN APPLICATION STRUCTURE, APPLICATION STRUCTURE ATTRIBUTE to learn more about Application Structure (APS).

WebCGM XML Companion File

Supports WebCGM XML Companion File (XCF) partially. XFC can be specified in FO using the fragment as follows:

<fo:external-graphic src="sample.cgm#xcf(sample.xcf)"/>

It's also available to specify XCF directly as a child element of <fo:external-graphic>. V6.5

<fo:external-graphic src="sample.cgm">
 <webcgm xmlns="http://www.cgmopen.org/schema/webcgm/">
  <bindByName apstargetname="hidden-aps" visibility="off"/>
 </webcgm>
</fo:external-graphic>

AH Formatter V6.5 supports the following:

<wegcgm> <layer> <grobj> <para> <subpara> <bindById> <bindByName> Comments
id no
version no
filename no
background-color yes
pictureVisibility yes V6.5
intensity yes yes yes yes yes yes yes
raster-intensity yes yes yes yes yes yes yes
text-size yes yes yes yes yes yes yes With RESTRICTED TEXT, since the font size is variably zooming according to the specified region, there is no effect if it is specified there. With TEXT, there is nothing like that.
text-color yes yes yes yes yes yes yes
text-font yes yes yes yes yes yes yes
fill-color yes yes yes yes yes yes yes
fill-offset yes yes yes yes yes yes yes
stroke-color yes yes yes yes yes yes yes
stroke-weight yes yes yes yes yes yes yes
stroke-type yes yes yes yes yes yes yes
stroke-offset yes yes yes yes yes yes yes
edge-visibility yes yes yes yes yes yes yes
interior-style yes yes yes yes yes yes yes
hatch-index yes yes yes yes yes yes yes
pattern-index yes yes yes yes yes yes yes
apsid yes yes yes yes yes apsid specifies the application structure identifier of BEGIN APPLICATION STRUCTURE.
apstargetname yes apstargetname specifies the value of the name attribute or the layername attribute of APPLICATION STRUCTURE ATTRIBUTE.
screentip no no no no no
region no no no no no
viewcontext yes yes yes yes yes
layerdesc no no
visibility yes yes yes yes yes yes
interactivity no no no no no no
<linkuri> no no no no no

Application Configurable Items

In the CGM specification, the default value of the attribute is sometimes not defined. Application Configurable Items (ACI) in the WebCGM specification specifies such defaults and controls the behavior of CGM. The default value can also be specified in the Option Setting File as well. These are evaluated by the following order.

  1. ACI file specified by the environment variable, WebCGM_ACI_File.
  2. ACI file specified by aci in the Option Setting File.
  3. Contents other than aci in the Option Setting File.
  4. ACI file that has the .aci extension and the file name is the same as CGM file in the directory when CGM is a file.