Tgif FAQ - 出力と印刷


注意:

このページは、 Tgif ホームページ にある FAQ のページ を、竹野研究室 (主に竹野) が日本語に翻訳したものです。 オリジナルサイトの作者 (Bill Cheng 氏) の許可の元、ここに公開します。

FAQ 以外のページへのリンクは、 ほとんどがオリジナルページへのリンクになっていますので、 日本語訳はされていません (ただし、そのうち主なものは今後日本語訳することも考えています)。 また、ここに書かれているリンク先やソフトウェアなどの情報は、 書かれてからかなり年月が経っていますので、 リンク切れになっていたり、 現在の状況には合わない情報である可能性もあります。

この日本語訳のページに関する意見や質問は、 オリジナルサイトの作者ではなく、 竹野 にお願いいたします。

(05/31 2017)

このページのオリジナルサイト: http://bourbon.usc.edu/tgif/faq/export.html

目次へ戻る


 
出力の基本
tgif には単独の「出力」のコマンドはなく、 出力を行うにはファイルメニューの Print() を使います。 アイコンの並んでいるウィンドウ内の 2 段目の 2 番目のアイコン (訳注: これは tgif-3 の話。tgif-4 では 2 段目の一番左のアイコン) が出力形式を決定します。 その上で左か右のマウスボタンクリックして 利用可能な形式を巡回させることができます。 表示されているものが 現在の出力形式 として使われます。

いくつかの形式には カラー 版もあります。 例えば PostScript はカラーにできますし、 X11 ピクスマップ形式は X11 ビットマップ形式のカラー版と 見ることができます。白黒版とカラー版の切り替えは、 レイアウトメニューの ColorPS() か BlkWhtPS() を選択する (かまたは <Meta><Cntrl>k) ことで行います (訳注: これは tgif-3 の話。tgif-4 にはない)。 アイコンの並んでいるウィンドウ内の 2 段目の 2 番目のアイコンの上で、 マウス中ボタンを押したままにしていてもレイアウトメニューが出てきます (訳注: これは tgif-3 の話。tgif-4 だと形式の一覧のメニューが出る)。 tgif がカラー印刷モードの場合、 2 段目の 2 番目のアイコンは現在の色と同じ色になります。

EPS ファイルの1 行目は "%!PS-Adobe-3.0 EPSF-3.0" のようなものであるべきだと思いますが、 tgif が作る EPS ファイルは "%!" だけみたいです。 何か間違ってますか ?
tgif を対話的に使っている場合、 以下の X デフォルト値を使用してください:

Tgif.UsePsAdobeString: 3.0/3.0

tgif を "-print" コマンドラインオプションで実行している場合、 "-adobe=3.0/3.0" というコマンドラインオプションを 使ってみてください。

Windows 用の EPS ファイルを作りたい場合は、 Windows EPS ファイルへの出力の FAQ ページ を参照してください。

GIF 形式の出力と Tgif.XpmToGif
GIF 形式の画像を出力するには、 まず 現在の出力形式 を GIF/ISMAP に設定する必要があります。 その後でファイルメニューから Print() を実行すれば、 データは GIF 形式で出力されます。 tgif は GIF ファイルを生成するためのライセンスは持っていないので、 GIF を生成するのに netpbm というソフトウェアの xpmtoppm と ppmtogif を使っています。 そのデフォルトの挙動は、Tgif.XpmToGif の X リソース値を使って 別なものに置き換えることが可能です。 そのリソースを指定しなければ Tgif.XpmToGif のデフォルト値は以下の通りです:

Tgif.XpmToGif: xpmtoppm %s | ppmtogif

透過型の GIF 画像を生成したければ、 これを以下のように変更します:

Tgif.XpmToGif: xpmtoppm %s | ppmtogif | giftrans -t gray75

giftrans は http://www-genome.wi.mit.edu/WWW/tools/graphics/giftrans/ にあります。

GIF ファイルを出力するときに出るエラーメッセージ "xpmtoppm: can't open color names database - reconfigure with correct RGBDEF" は何ですか ?
このエラーメッセージは、 xpmtoppm をコンパイルしたコンピュータの rgb.txt のパスと、 実際に実行している xpmtoppm のコンピュータのパスが 違っていることを意味します。 残念なことに、そのパスは xpmtoppm のコンパイル時に埋め込まれてしまっています。 rgb.txt は X のディレクトリ (例えば /usr/openwin とか) の */lib/X11/rgb.txt です。

この問題を解消する簡単な方法は、 システム管理者としてログインし、 rgb.txt がその違うコンピュータでも同じ場所に見つかるように シンボリックリンクを貼ることでしょう。

他には、netpbm パッケージを再 configure、再コンパイル、 再インストールするという方法もあります。 netpbm パッケージは、ftp.x.org の /R5contrib ディレクトリから 取得できます。ただ、再インストールすると、 今度は xpmtoppm が他のコンピュータでは動かなくなる、 ということになりますね (埋め込まれたパスを /usr/openwin/lib/X11/rgb.txt にした場合 -- その場合 SUN のマシンでは動きますが、 HP の計算機では動かないでしょう)。

他には、 tgif ホームページにある netpbm に関するセクション を見て、改良された netpbm (netpbm-15nov1997.tar.gz) を取得するという方法もあります。 それをインストールすると、rgb.txt の場所を RGB_DB という環境変数で設定することができます。 公式な netpbm とこれとの違い、およびそのインストール方法は ftp://bourbon.usc.edu/pub/tgif/tools/netpbm/README.15nov1997 に書いてあります。

Red Hat Linux 7.2 上で GIF ファイルを 出力するときに出るエラーメッセージ "xpmtoppm: missing or invalid format" は何ですか ?
tgif は GIF ファイルを、まず XPM ファイルを作成して、そして netpbm パッケージの xpmtoppmppmtogif などを使って その XPM ファイルを GIF ファイルに変換しています (上の Tgif.XpmToGif も参照)。

デフォルトでは、 tgif は XPM のバージョン 1 の形式のファイルを作りますが、 netpbm パッケージの古い xpmtoppm プログラムは XPM バージョン 1 形式のファイルしか処理できません。 しかし、Red Hat 7.2 (ともしかしたらその後のバージョンでも) に配布されている xpmtoppm は XPM のバージョン 3 形式のファイルしか処理できません。 それがバージョン 1 の XPM ファイルに出会うと このエラーメッセージを出すわけです。

この問題を解消するには、tgif に XPM のバージョン 3 の形式のファイルを作らせればいいわけですが、 それには以下の X リソース値を設定します:

Tgif.XPmOutputVersion: 3
Tgif.UseXPmVersion1ForImageMap: false

システムによっては、 あなたの X のリソースデータベースをリセットするために xrdb を実行する必要があるかもしないことを 覚えておいてください。

SetExportPixelTrim()
tgif がオブジェクトサイズを計算する仕組みのため、 GIF ファイルの回りに余計なピクセルがつくかもしれません。 その余計なピクセルを取り除くには、Print() を実行する前に ファイルメニューの SetExportPixelTrim() を使います。 trim を "1 2 3 4" に設定すると、 左から 1 ピクセル、上から 2 ピクセル、右から 3 ピクセル、 下から 4 ピクセルを削除します。 試してみるなら、"0 0 1 1" (右から 1 ピクセル、下から 1 ピクセル削除) としてみるのがいいのではないかと思います。
 
エラーメッセージ "xpmtoppm: line too long ppmtogif: EOF / read error reading magic number" はどういう意味ですか ?
このエラーメッセージは、多分あなたの作ろうとする画像が 広すぎるのでしょう。 xpmtoppm プログラムには最大行長が 埋めこまれ ています ("xpmtoppm.c"MAX_LINE を探してみてください)。 この MAX_LINE の値を変更して、 xpmtoppm を再コンパイルして再インストールしてください。

そうでないと、広い画像ファイルを使用しない以外には、 この問題を避ける方法は私にはわかりません。

HORI Kuniko <hori@solar.mtk.nao.ac.jp> は、 xpmtoppm の代わりに convert (ImageMagick に含まれる) を使うことを提案しています。 その場合は、以下の 3 行をあなたの .Xdefaults ファイルに追加してください:

Tgif.XPmOutputVersion: 3
Tgif.UseXPmVersion1ForImageMap: false
Tgif.XpmToPng: convert %s png:-