CGM仕様の実装状況

AH Formatter V6.6 は、ISO/IEC 8632:1999 の CGM および W3Cの WebCGM 2.1 を独自開発したエンジンにより描画します。そのため、PDF中へのイメージを高い解像度で描画することが可能です。 CGMの利用方法については、グラフィクスを参照してください。

CGMを独自描画するためには、「AH Formatter CGM オプション」をご購入していただく必要があります。 詳しくは、弊社ウェブサイトを参照してください。

以下に、CGMの各要素の実装状況を示します。

ISO8632欄とWebCGM欄は、各要素の準拠状況を示します。

Class-ID 要素 実装状況 備考 / 対応属性 ISO8632 WebCGM
0-0 NOP

v1
0-1 BEGIN METAFILE

複数の BEGIN METAFILE が含まれていても、最初のものだけが有効です。

v1
0-2 END METAFILE

END METAFILE 以降に要素が存在しても、無視されます。

v1
0-3 BEGIN PICTURE

WebCGM のとき、BEGIN PICTURE ~ END PICTURE はメタファイル中にひとつしか含められません。

v1
0-4 BEGIN PICTURE BODY

v1
0-5 END PICTURE

v1
0-6 BEGIN SEGMENT ×

v2 ×
0-7 END SEGMENT ×

v2 ×
0-8 BEGIN FIGURE

v2
0-9 END FIGURE

v2
0-13 BEGIN PROTECTION REGION

v3
0-14 END PROTECTION REGION

v3
0-15 BEGIN COMPOUND LINE

v3
0-16 END COMPOUND LINE

v3
0-17 BEGIN COMPOUND TEXT PATH ×

v3
0-18 END COMPOUND TEXT PATH ×

v3
0-19 BEGIN TILE ARRAY

cell path direction, line progression direction は無視されます。

v3
0-20 END TILE ARRAY

v3
0-21 BEGIN APPLICATION STRUCTURE

WebCGM では、次のタイプが定義されています。これらに対して構造上の違反があるとき、あるいはこれら以外のタイプに対しては警告を出力します。

  • layer
  • grobject
  • para
  • subpara
  • grnode

タイプの意味解釈はしません。内容がそのまま評価されて表示されます。 inheritance flag は無視され、statelist とみなされます。

WebCGM では、HTMLからECMAScriptなどを用いて APPLICATION STRUCTURE を動的に制御することが想定されています。AH Formatter V6.6 ではそのようなことは行いません。WebCGM Intelligent ContentWebCGM XML Companion File を参照してください。

v4
0-22 BEGIN APPLICATION STRUCTURE BODY

v4
0-23 END APPLICATION STRUCTURE

v4
1-1 METAFILE VERSION

バージョン情報は利用されません。

v1
1-2 METAFILE DESCRIPTION

"ProfileId:WebCGM" の指定があるときに WebCGM であるとして動作します。 ただし、METAFILE DESCRIPTION の指定内容は揺れが大きく、正確に WebCGMかどうか判定できないことがあります。次のように content-type で WebCGM を明示し、WebCGM を強制することができます。 WebCGM Intelligent Content を参照してください。

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

v1
1-4 INTEGER PRECISION

v1
1-5 REAL PRECISION

v1
1-6 INDEX PRECISION

v1
1-7 COLOUR PRECISION

v1
1-8 COLOUR INDEX PRECISION

v1
1-9 MAXIMUM COLOUR INDEX

v1
1-10 COLOUR VALUE EXTENT

v1
1-11 METAFILE ELEMENT LIST

無視されます。

v1
1-12 METAFILE DEFAULTS REPLACEMENT

v1
1-13 FONT LIST

v1
1-14 CHARACTER SET LIST

無視されます。

v1
1-15 CHARACTER CODING ANNOUNCER

無視されます。

v1
1-16 NAME PRECISION

v2 ×
1-17 MAXIMUM VDC EXTENT

無視されます。

v2
1-18 SEGMENT PRIORITY EXTENT ×

v2 ×
1-19 COLOUR MODEL

RGB にのみ対応しています。

v3
1-20 COLOUR CALIBRATION ×

v3 ×
1-21 FONT PROPERTIES

以下の属性のみ評価されます。

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

v3 ×
1-23 SYMBOL LIBRARY LIST ×

v3 × ×
1-24 PICTURE DIRECTORY ×

v4 ×
2-1 SCALING MODE

v1
2-2 COLOUR SELECTION MODE

v1
2-3 LINE WIDTH SPECIFICATION MODE

v1
2-4 MARKER SIZE SPECIFICATION MODE

v1
2-5 EDGE WIDTH SPECIFICATION MODE

v1
2-6 VDC EXTENT

v1
2-7 BACKGROUND COLOUR

v1
2-8 DEVICE VIEWPORT ×

v2 × ×
2-9 DEVICE VIEWPORT SPECIFICATION MODE ×

v2 × ×
2-10 DEVICE VIEWPORT MAPPING ×

v2 × ×
2-11 LINE REPRESENTATION

v2 ×
2-12 MARKER REPRESENTATION

v2 ×
2-13 TEXT REPRESENTATION

v2 ×
2-14 FILL REPRESENTATION

v2 ×
2-15 EDGE REPRESENTATION

v2 ×
2-16 INTERIOR STYLE SPECIFICATION MODE

v3
2-17 LINE AND EDGE TYPE DEFINITION

v3
2-18 HATCH STYLE DEFINITION

v3
2-19 GEOMETRIC PATTERN DEFINITION ×

v3 ×
2-20 APPLICATION STRUCTURE DIRECTORY ×

v4 ×
3-1 VDC INTEGER PRECISION

v1
3-2 VDC REAL PRECISION

v1
3-3 AUXILIARY COLOUR

v1
3-4 TRANSPARENCY

hatch と 非solid line に反映されます。

v1
3-5 CLIP RECTANGLE

v1
3-6 CLIP INDICATOR

v1
3-7 LINE CLIPPING MODE

shape にのみ対応しています。

v2 ×
3-8 MARKER CLIPPING MODE

shape にのみ対応しています。

v2 ×
3-9 EDGE CLIPPING MODE

shape にのみ対応しています。

v2 ×
3-10 NEW REGION

v2
3-11 SAVE PRIMITIVE CONTEXT ×

v2 ×
3-12 RESTORE PRIMITIVE CONTEXT ×

v2 ×
3-17 PROTECTION REGION INDICATOR

複数のREGIONを有効にした際、それらのREGIONの和領域をREGIONとして採用せずに、新しく有効になったREGIONを採用します。

v2
3-18 GENERALIZED TEXT PATH MODE ×

v3
3-19 MITRE LIMIT

v3
3-20 TRANSPARENT CELL COLOUR

以下の圧縮形式のときに反映されます。

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

v1
4-2 DISJOINT POLYLINE

v1
4-3 POLYMARKER

v1
4-4 TEXT

v1 ×
4-5 RESTRICTED TEXT

v1
4-6 APPEND TEXT

v1
4-7 POLYGON

v1
4-8 POLYGON SET

v1
4-9 CELL ARRAY

v1
4-10 GENERALIZED DRAWING PRIMITIVE ×

v1 × ×
4-11 RECTANGLE

v1
4-12 CIRCLE

v1
4-13 CIRCULAR ARC 3 POINT

v1
4-14 CIRCULAR ARC 3 POINT CLOSE

v1
4-15 CIRCULAR ARC CENTRE

v1
4-16 CIRCULAR ARC CENTRE CLOSE

v1
4-17 ELLIPSE

v1
4-18 ELLIPTICAL ARC

v1
4-19 ELLIPTICAL ARC CLOSE

v1
4-20 CIRCULAR ARC CENTRE REVERSED

v2
4-21 CONNECTING EDGE

v2
4-22 HYPERBOLIC ARC

近似曲線を描画します。

v3 ×
4-23 PARABOLIC ARC

v3 ×
4-24 NON-UNIFORM B-SPLINE

非有理3次ベジェ曲線に変換して描画します。

v3
4-25 NON-UNIFORM RATIONAL B-SPLINE

非有理3次ベジェ曲線に変換して描画します。

v3
4-26 POLYBEZIER

v3
4-27 POLYSYMBOL ×

v3 × ×
4-28 BITONAL TILE

以下の圧縮形式に対応しています。

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
4-29 TILE v3
5-1 LINE BUNDLE INDEX

v1 ×
5-2 LINE TYPE

LINE TYPE=1~14 に対応しています。 LINE TYPE=6, 7, 8, 14 は、POLY LINE にのみ適用されます。 LINE TYPE=6, 8 のとき、矢じりの長さが線分の長さに満たないときまたは矢じりの幅が線の幅に満たないときは矢じりは描かれません。 LINE TYPE=7 のとき、円の直径が線分の長さまたは線の幅に満たないときは円は描かれません。

v1
5-3 LINE WIDTH

v1
5-4 LINE COLOUR

v1
5-5 MARKER BUNDLE INDEX

v1 ×
5-6 MARKER TYPE

v1
5-7 MARKER SIZE

v1
5-8 MARKER COLOUR

v1
5-9 TEXT BUNDLE INDEX

v1 ×
5-10 TEXT FONT INDEX

v1
5-11 TEXT PRECISION

無視されます。

v1
5-12 CHARACTER EXPANSION FACTOR

v1
5-13 CHARACTER SPACING

v1
5-14 TEXT COLOUR

v1
5-15 CHARACTER HEIGHT

v1
5-16 CHARACTER ORIENTATION

v1
5-17 TEXT PATH

v1
5-18 TEXT ALIGNMENT

v1
5-19 CHARACTER SET INDEX

無視されます。

v1
5-20 ALTERNATE CHARACTER SET INDEX

無視されます。

v1
5-21 FILL BUNDLE INDEX

v1 ×
5-22 INTERIOR STYLE

geometric pattern には対応していません。

v1
5-23 FILL COLOUR

v1
5-24 HATCH INDEX

v1
5-25 PATTERN INDEX

v1
5-26 EDGE BUNDLE INDEX

v1 ×
5-27 EDGE TYPE

v1
5-28 EDGE WIDTH

v1
5-29 EDGE COLOUR

v1
5-30 EDGE VISIBILITY

v1
5-31 FILL REFERENCE POINT

v1
5-32 PATTERN TABLE

v1
5-33 PATTERN SIZE

v1
5-34 COLOUR TABLE

v1
5-35 ASPECT SOURCE FLAGS

v1 ×
5-36 PICK IDENTIFIER ×

v2 ×
5-37 LINE CAP

triangle には対応していません。

v3
5-38 LINE JOIN

v3
5-39 LINE TYPE CONTINUATION

無視されます。

v3
5-40 LINE TYPE INITIAL OFFSET

v3
5-41 TEXT SCORE TYPE ×

v3
5-42 RESTRICTED TEXT TYPE

v3
5-43 INTERPOLATED INTERIOR

triangular には対応していません。

v3
5-44 EDGE CAP

triangle には対応していません。

v3
5-45 EDGE JOIN

v3
5-46 EDGE TYPE CONTINUATION

無視されます。

v3
5-47 EDGE TYPE INITIAL OFFSET

v3
5-48 SYMBOL LIBRARY INDEX ×

v3 × ×
5-49 SYMBOL COLOUR ×

v3 × ×
5-50 SYMBOL SIZE ×

v3 × ×
5-51 SYMBOL ORIENTATION ×

v3 × ×
6-1 ESCAPE

以下に対応しています。他の ESCAPE は無視されます。

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

エラーレベル1のメッセージが出力されます。

v1 ×
7-2 APPLICATION DATA ×

v1 ×
8-1 COPY SEGMENT ×

v2 ×
8-2 INHERITANCE FILTER ×

v2 ×
8-3 CLIP INHERITANCE ×

v2 ×
8-4 SEGMENT TRANSFORMATION ×

v2 ×
8-5 SEGMENT HIGHLIGHTING ×

v2 ×
8-6 SEGMENT DISPLAY PRIORITY ×

v2 ×
8-7 SEGMENT PICK PRIORITY ×

v2 ×
9-1 APPLICATION STRUCTURE ATTRIBUTE

WebCGM では、次の属性が定義されています。

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

これらの指定は評価されますが、必ずしも利用されません。 visibility が off のとき、その APPLICATION STRUCTURE は表示されません。

v4

WebCGM Intelligent Content

URI のフラグメントを利用して描画を制御する機能に、一部対応しています。 例えば、FO中で次のように指定します。

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

フラグメントの文法については、WebCGM Intelligent Content を参照してください。 AH Formatter V6.6 は、behavior には対応していません。無視されます。

content-type の指定で、次のようにパラメタを付けることができます。

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

評価されるパラメタは、VersionProfileId です。それぞれメタファイル中の METAFILE VERSIONMETAFILE DESCRIPTION 内の情報よりも優先して採用されます。

Application Structure (APS) については、BEGIN APPLICATION STRUCTUREAPPLICATION STRUCTURE ATTRIBUTE を参照してください。

WebCGM XML Companion File

WebCGM XML Companion File (XCF) に、一部対応しています。 XCFは、フラグメントを利用して、FO中で次のように指定します。

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

また、<fo:external-graphic> の子要素にXCFを直接指定することもできます。

<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.6 は、以下に対応しています。

<wegcgm> <layer> <grobj> <para> <subpara> <bindById> <bindByName> 備考
id ×
version ×
filename ×
background-color
pictureVisibility
intensity
raster-intensity
text-size RESTRICTED TEXT では、指定された領域に合わせて文字サイズが変倍されてしまうため、ここでの指定はほとんど効果がありません。TEXT ではそのようなことはありません。
text-color
text-font
fill-color
fill-offset
stroke-color
stroke-weight
stroke-type
stroke-offset
edge-visibility
interior-style
hatch-index
pattern-index
apsid apsid は、BEGIN APPLICATION STRUCTURE の application structure identifier を指定します。
apstargetname apstargetname は、APPLICATION STRUCTURE ATTRIBUTE の name属性または layername属性の値を指定します。
screentip × × × × ×
region × × × × ×
viewcontext
layerdesc × ×
visibility
interactivity × × × × × ×
<linkuri> × × × × ×

Application Configurable Items

CGM 仕様では、属性の初期値が規定されていないことがあります。 WebCGM 仕様にある Application Configurable Items (ACI) は、そのような初期値を指定して、CGM の動作を制御します。 オプション設定ファイルでも同様に初期値が指定できます。 これらは、次のような順序で評価されます。

  1. 環境変数 WebCGM_ACI_File で指定された ACI ファイル。
  2. オプション設定ファイルの aci で指定された ACI ファイル。
  3. オプション設定ファイルの aci 以外の内容。
  4. CGMがファイルのとき、そのディレクトリにあるCGMファイル名と同じで .aci という拡張子を持つ ACI ファイル。