next up previous contents
Next: 34.49.10 Corel Up: 34.49 Terminal Previous: 34.49.8 Cgi

34.49.9 Cgm

cgm ドライバは CGM 出力 (Computer Graphics Metafile Version 1) を生 成します。このファイルフォーマットは ANSI 規格書 X3.122-1986 "Computer Graphics - Metafile for the Storage and Transfer of Picture Description Information" で定義されているものの一部分です。cgm には多くのオプシ ョンがあります。

書式:

     set terminal cgm {<mode>} {<color>} {<rotation>} {solid | dashed}
                      {width <plot_width>} {linewidth <line_width>}
                      {"<font>"} {<fontsize>}
                      {<color0> <color1> <color2> ...}

ここで、$<$mode$>$landscape, portrait, default のいずれか; $<$color$>$color, monochrome のいずれか; $<$rotation$>$rotate, norotate のいずれか; solid は全ての曲線を実線で描き、どんな点線パターンも塗りつぶします; $<$plot_width$>$ はポイント単位でのグラフの仮定されている幅; $<$line_width$>$ はポイント単位での線幅 (デフォルトは 1); $<$font$>$ はフォントの名前; そして $<$fontsize$>$ はポイント単位でのフォントのサイズ (デフォルトは 12) です。

デフォルトでは cgm は Y 軸の見出しに 90 度回転した文字を使用します。

最初の 6 つのオプションはどの順番で指定しても構いません。default を 選択すると、全てのオプションをそのデフォルトの値にします。

各カラー (color) は 'xrrggbb' の形式です。ここで、x は文字 'x' そのも の、'rrggbb' は 16 進数での赤、緑、青の成分です。例えば 'x00ff00' は 緑になります。背景色が最初に設定され、以下は描画色となります。

例:

     set terminal cgm landscape color rotate dashed width 432 \
                    linewidth 1  'Helvetica Bold' 12       # デフォルト
     set terminal cgm linewidth 2  14  # やや広い線とやや大きいフォント
     set terminal cgm portrait "Times Italic" 12
     set terminal cgm color solid    # 面倒な点線など消えてしまえ !

Font CGM (Computer Graphics Metafile) ファイルの最初の部分、メタファイルの 記述部分には、フォントリスト (font table) が含まれています。画像の本体 部では、フォントはこのリストにある番号で指定されます。デフォルトではこ のドライバは以下の 35 個のフォントリストを生成し、さらにこのリストの Helvetica, Times, Courier の各フォントの italicoblique で置き換えたもの、およびその逆による 6 つの追加のフォントが含まれます (Microsoft Office と Corel Draw CGM の import フィルタは italicoblique を同じものとして扱うからです)。

CGM fonts
  Helvetica  
  Helvetica Bold  
  Helvetica Oblique  
  Helvetica Bold Oblique  
  Times Roman  
  Times Bold  
  Times Italic  
  Times Bold Italic  
  Courier  
  Courier Bold  
  Courier Oblique  
  Courier Bold Oblique  
  Symbol  
  Hershey/Cartographic_Roman  
  Hershey/Cartographic_Greek  
  Hershey/Simplex_Roman  
  Hershey/Simplex_Greek  
  Hershey/Simplex_Script  
  Hershey/Complex_Roman  
  Hershey/Complex_Greek  
  Hershey/Complex_Script  
  Hershey/Complex_Italic  
  Hershey/Complex_Cyrillic  
  Hershey/Duplex_Roman  
  Hershey/Triplex_Roman  
  Hershey/Triplex_Italic  
  Hershey/Gothic_German  
  Hershey/Gothic_English  
  Hershey/Gothic_Italian  
  Hershey/Symbol_Set_1  
  Hershey/Symbol_Set_2  
  Hershey/Symbol_Math  
  ZapfDingbats  
  Script  
  15  
これらのフォントの最初の 13 個は WebCGM で要求されているものです。 Microsoft Office の CGM import フィルタはその 13 個の標準フォントと 'ZapfDingbats' と 'Script' をサポートしています。しかし、そのスクリプ ト (script) フォントは '15' という名前でしかアクセスできません。 Microsoft の import フィルタの font の置き換えに関するより詳しい情報に ついては、
 C:\Program Files\Microsoft Office\Office\Cgmimp32.hlp

のヘルプファイル、または
 C:\Program Files\Common Files\Microsoft Shared\Grphflt\Cgmimp32.cfg

の設定ファイルなどをチェックしてください。

set term コマンドでデフォルトのフォントリストにないフォント名を指定 することも可能です。その場合、その指定したフォントが最初に現われる新 しいフォントリストが作られます。そのフォント名に関して、スペル、単語 の先頭の大文字化やどこにスペースが入るかなどが、作られる CGM ファイル を読むアプリケーションにとって適切なものであるかをちゃんと確認する必要 があります。(gnuplot と任意の MIL-D-28003A 準拠アプリケーションは、フ ォント名の大文字小文字の違いは無視します。) 新しいフォントをいくつも追 加したい場合は、set term コマンドを繰り返し使用してください。

例:

     set terminal cgm 'Old English'
     set terminal cgm 'Tengwar'
     set terminal cgm 'Arabic'
     set output 'myfile.cgm'
     plot ...
     set output

set label コマンドでは新しいフォントを導入することはできません。 Fontsize フォントは、ページが 6 インチの幅であると仮定して縮尺されます。size コマンドでページの縦横比が変更されていたり、CGM ファイルが異なる幅に変 換されている場合、結果としてフォントのサイズも拡大されたり縮小されたり することになります。仮定されている幅を変更するには、width オプション を使用してください。 Linewidth linewidth オプションは線の幅をポイント単位 (pt) で設定します。デフォ ルトの幅は 1 pt です。fontsizewidth オプションのところで説明さ れているように、ページの実際の幅によってその縮尺は影響を受けます。 Rotate norotate オプションはテキストの回転をしないようにします。例えば Word for Windows 6.0c 用の CGM 入力フィルタは回転された文字列を受け付けます が、Word に付属する DRAW エディタはそれを受け付けることができず、グラ フを編集すると (例えば曲線に見出しをつける)、全ての回転された文字列は 水平方向になって保存されてしまい、Y 軸の見出しはクリップされる境界線を 越えてしまうでしょう。norotate オプションを使えば、見栄えの良くない 場所から Y 軸の見出しが始まってしまいますが、編集によってダメージを受 けることはなくなります。rotate オプションはデフォルトの挙動を保証し ます。 Solid solid オプションは描画の点線の線描画スタイルを無効するのに使います。 これは、カラーが有効である場合、また点線にすることでグラフが見にくくな る場合に有用でしょう。dashed オプションはデフォルトの挙動を保証し、 この場合個々のグラフに異なる点線のパターンが与えられます。 Size CGM グラフのデフォルトのサイズは、横置き (landscape) では幅 32599, 縦 23457、縦置き (portrait) では幅 23457, 縦 32599 です。 Width CGM ファイルの全ての長さは抽象的な単位を持ち、そのファイルを読むアプリ ケーションが最終的なグラフのサイズを決定します。デフォルトでは最終的な グラフの幅は 6 インチ (15.24 cm) であると仮定されています。この幅は正 しいフォントサイズを計算するのに使われ、width オプションで変更できま す。キーワード width の後に幅をポイント単位で指定します。(ここで、ポ イントは PostScript と同様 1/72 インチを意味します。この単位は TeX では "big point" と呼ばれています。) 他の単位から変換するには、gnuplot の数 式が使えます。

例:

     set terminal cgm width 432            # デフォルト
     set terminal cgm width 6*72           # 上と同じ値
     set terminal cgm width 10/2.54*72     # 10 cm の幅

Nofontlist デフォルトのフォントリスト (font table) は WebCGM で勧告されているフォ ントを含んでいて、これは Microsoft Office と Corel Draw の CGM (Computer Graphics Metafile) 入力フィルタに適合しています。他のアプリケーション は異なるフォント、あるいは異なるフォント名を使用するかも知れませんが、 それはマニュアルには書かれていないかも知れません。そのための回避策とし て、オプション nofontlist を使用して CGM ファイルからフォントリスト を削除するという方法があります。この場合、読み込んだアプリケーションは デフォルトのフォントリストを使用するでしょう。gnuplot はその場合でも フォント番号の選択のために自分のデフォルトのフォントリストを使用します。 よって、'Helvetica' が 1 番になり、それがあなたの使用するアプリケーシ ョンのデフォルトフォントリストの最初のものになります。'Helvetica Bold' がそのフォントリストの 2 番目のフォントに対応し、他も同様となります。

以前の winword6 オプションは今は nofontlist の同意語に成り下がりま した。winword6 オプションが回避策として使われていた、色やフォントリ ストに関する問題は、結局 gnuplot のバグであるとわかり、それは今では修 正されています。


next up previous contents
Next: 34.49.10 Corel Up: 34.49 Terminal Previous: 34.49.8 Cgi
Shigeharu TAKENO
2003年 10月 21日