CGM仕様の実装状況

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

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

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

  • ]は機能が実装されている要素を表します。
  • ]は部分的実装要素を表します。
  • ×]は未実装の要素を表します。

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

  • ]は要素が必須であることを表します。
  • ]は要素が使用できることを表します。
  • ×]は要素が禁止されていることを表します。
Class-ID要素実装状況備考 / 対応属性ISO8632WebCGM
0-0NOP

v1
0-1BEGIN METAFILE

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

v1
0-2END METAFILE

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

v1
0-3BEGIN PICTURE

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

v1
0-4BEGIN PICTURE BODY

v1
0-5END PICTURE

v1
0-6BEGIN SEGMENT×

v2 ×
0-7END SEGMENT×

v2 ×
0-8BEGIN FIGURE

v2
0-9END FIGURE

v2
0-13BEGIN PROTECTION REGION

v3
0-14END PROTECTION REGION

v3
0-15BEGIN COMPOUND LINE

v3
0-16END COMPOUND LINE

v3
0-17BEGIN COMPOUND TEXT PATH×

v3
0-18END COMPOUND TEXT PATH×

v3
0-19BEGIN TILE ARRAY

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

v3
0-20END TILE ARRAY

v3
0-21BEGIN APPLICATION STRUCTURE

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

  • layer
  • grobject
  • para
  • subpara
  • grnode

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

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

v4
0-22BEGIN APPLICATION STRUCTURE BODY

v4
0-23END APPLICATION STRUCTURE

v4
1-1METAFILE VERSION

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

v1
1-2METAFILE DESCRIPTION

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

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

WebCGM Intelligent Content を参照してください。

v1
1-3VDC TYPE

v1
1-4INTEGER PRECISION

v1
1-5REAL PRECISION

v1
1-6INDEX PRECISION

v1
1-7COLOUR PRECISION

v1
1-8COLOUR INDEX PRECISION

v1
1-9MAXIMUM COLOUR INDEX

v1
1-10COLOUR VALUE EXTENT

v1
1-11METAFILE ELEMENT LIST

無視されます。

v1
1-12METAFILE DEFAULTS REPLACEMENT

v1
1-13FONT LIST

v1
1-14CHARACTER SET LIST

無視されます。

v1
1-15CHARACTER CODING ANNOUNCER

無視されます。

v1
1-16NAME PRECISION

v2 ×
1-17MAXIMUM VDC EXTENT

無視されます。

v2
1-18SEGMENT PRIORITY EXTENT×

v2 ×
1-19COLOUR MODEL

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

v3
1-20COLOUR CALIBRATION×

v3 ×
1-21FONT PROPERTIES

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

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

v3 ×
1-23SYMBOL LIBRARY LIST×

v3× ×
1-24PICTURE DIRECTORY×

v4 ×
2-1SCALING MODE

v1
2-2COLOUR SELECTION MODE

v1
2-3LINE WIDTH SPECIFICATION MODE

v1
2-4MARKER SIZE SPECIFICATION MODE

v1
2-5EDGE WIDTH SPECIFICATION MODE

v1
2-6VDC EXTENT

v1
2-7BACKGROUND COLOUR

v1
2-8DEVICE VIEWPORT×

v2× ×
2-9DEVICE VIEWPORT SPECIFICATION MODE×

v2× ×
2-10DEVICE VIEWPORT MAPPING×

v2× ×
2-11LINE REPRESENTATION

v2 ×
2-12MARKER REPRESENTATION

v2 ×
2-13TEXT REPRESENTATION

v2 ×
2-14FILL REPRESENTATION

v2 ×
2-15EDGE REPRESENTATION

v2 ×
2-16INTERIOR STYLE SPECIFICATION MODE

v3
2-17LINE AND EDGE TYPE DEFINITION

v3
2-18HATCH STYLE DEFINITION

v3
2-19GEOMETRIC PATTERN DEFINITION×

v3 ×
2-20APPLICATION STRUCTURE DIRECTORY×

v4 ×
3-1VDC INTEGER PRECISION

v1
3-2VDC REAL PRECISION

v1
3-3AUXILIARY COLOUR

v1
3-4TRANSPARENCY

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

v1
3-5CLIP RECTANGLE

v1
3-6CLIP INDICATOR

v1
3-7LINE CLIPPING MODE

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

v2 ×
3-8MARKER CLIPPING MODE

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

v2 ×
3-9EDGE CLIPPING MODE

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

v2 ×
3-10NEW REGION

v2
3-11SAVE PRIMITIVE CONTEXT×

v2 ×
3-12RESTORE PRIMITIVE CONTEXT×

v2 ×
3-17PROTECTION REGION INDICATOR

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

v2
3-18GENERALIZED TEXT PATH MODE×

v3
3-19MITRE LIMIT

v3
3-20TRANSPARENT 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-1POLYLINE

v1
4-2DISJOINT POLYLINE

v1
4-3POLYMARKER

v1
4-4TEXT

v1 ×
4-5RESTRICTED TEXT

v1
4-6APPEND TEXT

v1
4-7POLYGON

v1
4-8POLYGON SET

v1
4-9CELL ARRAY

v1
4-10GENERALIZED DRAWING PRIMITIVE×

v1× ×
4-11RECTANGLE

v1
4-12CIRCLE

v1
4-13CIRCULAR ARC 3 POINT

v1
4-14CIRCULAR ARC 3 POINT CLOSE

v1
4-15CIRCULAR ARC CENTRE

v1
4-16CIRCULAR ARC CENTRE CLOSE

v1
4-17ELLIPSE

v1
4-18ELLIPTICAL ARC

v1
4-19ELLIPTICAL ARC CLOSE

v1
4-20CIRCULAR ARC CENTRE REVERSED

v2
4-21CONNECTING EDGE

v2
4-22HYPERBOLIC ARC

近似曲線を描画します。

v3 ×
4-23PARABOLIC ARC

v3 ×
4-24NON-UNIFORM B-SPLINE

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

v3
4-25NON-UNIFORM RATIONAL B-SPLINE

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

v3
4-26POLYBEZIER

v3
4-27POLYSYMBOL×

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

v1 ×
5-2LINE TYPE

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

v1
5-3LINE WIDTH

v1
5-4LINE COLOUR

v1
5-5MARKER BUNDLE INDEX

v1 ×
5-6MARKER TYPE

v1
5-7MARKER SIZE

v1
5-8MARKER COLOUR

v1
5-9TEXT BUNDLE INDEX

v1 ×
5-10TEXT FONT INDEX

v1
5-11TEXT PRECISION

無視されます。

v1
5-12CHARACTER EXPANSION FACTOR

v1
5-13CHARACTER SPACING

v1
5-14TEXT COLOUR

v1
5-15CHARACTER HEIGHT

v1
5-16CHARACTER ORIENTATION

v1
5-17TEXT PATH

v1
5-18TEXT ALIGNMENT

v1
5-19CHARACTER SET INDEX

無視されます。

v1
5-20ALTERNATE CHARACTER SET INDEX

無視されます。

v1
5-21FILL BUNDLE INDEX

v1 ×
5-22INTERIOR STYLE

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

v1
5-23FILL COLOUR

v1
5-24HATCH INDEX

v1
5-25PATTERN INDEX

v1
5-26EDGE BUNDLE INDEX

v1 ×
5-27EDGE TYPE

v1
5-28EDGE WIDTH

v1
5-29EDGE COLOUR

v1
5-30EDGE VISIBILITY

v1
5-31FILL REFERENCE POINT

v1
5-32PATTERN TABLE

v1
5-33PATTERN SIZE

v1
5-34COLOUR TABLE

v1
5-35ASPECT SOURCE FLAGS

v1 ×
5-36PICK IDENTIFIER×

v2 ×
5-37LINE CAP

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

v3
5-38LINE JOIN

v3
5-39LINE TYPE CONTINUATION

無視されます。

v3
5-40LINE TYPE INITIAL OFFSET

v3
5-41TEXT SCORE TYPE×

v3
5-42RESTRICTED TEXT TYPE

v3
5-43INTERPOLATED INTERIOR

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

v3
5-44EDGE CAP

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

v3
5-45EDGE JOIN

v3
5-46EDGE TYPE CONTINUATION

無視されます。

v3
5-47EDGE TYPE INITIAL OFFSET

v3
5-48SYMBOL LIBRARY INDEX×

v3× ×
5-49SYMBOL COLOUR×

v3× ×
5-50SYMBOL SIZE×

v3× ×
5-51SYMBOL ORIENTATION×

v3× ×
6-1ESCAPE

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

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

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

v1 ×
7-2APPLICATION DATA×

v1 ×
8-1COPY SEGMENT×

v2 ×
8-2INHERITANCE FILTER×

v2 ×
8-3CLIP INHERITANCE×

v2 ×
8-4SEGMENT TRANSFORMATION×

v2 ×
8-5SEGMENT HIGHLIGHTING×

v2 ×
8-6SEGMENT DISPLAY PRIORITY×

v2 ×
8-7SEGMENT PICK PRIORITY×

v2 ×
9-1APPLICATION 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 V7.2 は、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 V7.2 は、以下に対応しています。

<wegcgm><layer><grobj><para><subpara><bindById><bindByName>備考
id×
version×
filename×
background-color
pictureVisibility
intensity
raster-intensity
text-size  注1
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  注2
apstargetname  注3
screentip× × × × ×
region× × × × ×
viewcontext
layerdesc× ×
visibility
interactivity× × × × × ×
<linkuri>× × × × ×
注1:
RESTRICTED TEXT でも、text-sizeの文字サイズが採用され、領域に合わせた変倍は行われません。
注2:
apsid は、BEGIN APPLICATION STRUCTURE の application structure identifier を指定します。
注3:
apstargetname は、APPLICATION STRUCTURE ATTRIBUTEname属性または layername属性の値を指定します。

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 ファイル。