# xfig の入手とインストール

- インストール
  - xfig のインストール
  - transfig/fig2dev のインストール
  - その他のソフトウェアのインストール
- 関連するソフトウェア
  - ライブラリ
  - アプリケーション

# インストール

## xfig のインストール

xfig のインストールの手順は、おおむね次のようになります。 詳細については `README` ファイルなどを参照して下さい。 また、xfig の国際化機能を有効とする方法については 国際化 も参照して下さい。

1. xfig のソース (`xfig.3.2.3x.full.tar.gz`) を入手して、展開します。 ソースの展開は、

   > `gunzip -c xfig.3.2.3x.full.tar.gz | tar xvf -`

   あるいは、

   > `gunzip xfig.3.2.3x.tar.gz; tar xvf xfig.3.2.3x.tar`

   のような方法で行なうことができます。

   xfig のソースは、 ftp://www-epb.lbl.gov/xfig、 ftp://ftp.x.org/contrib/applications/drawing_tools/xfig や その ミラー・サイト、 もしくは任意の CTAN マシン (例えば ftp://ftp.tex.ac.uk/pub/archive/graphics) から入手することができます。 日本国内では Ring Server や SunSITE などにも ミラーされていますので、 できるだけ近くのサイトから入手するようにして下さい。

   `xfig.3.2.3x.full.tar.gz` 以外に、 `xfig.3.2.3x.code_only.tar.gz`、 `xfig.3.2.3x.docs_only.tar.gz`、 及び `xfig.3.2.3x.libraries_only.tar.gz` として、それぞれソース・コード、ドキュメント、 及びライブラリのみを含んだものも用意されています。

2. 必要に応じて `Imakefile` を編集します。

   - もし xfig を X11 のデフォルトのバイナリ・ディレクトリ以外に インストールしたいのであれば、 ```BINDIR = ...`'' のコメント・アウトを解除 (`XCOMM` を削除) し、そのディレクトリの指定を xfig をインストールしたいディレクトリに書き換えます。 また、`MKDIRHIER` の定義が `BINDIR` の変更の影響を受けるため、 ```MKDIRHIER = ...`'' のコメント・アウトも解除し、 `mkdirhier` コマンドのパスを指定する必要があるかも知れません。

   - JPEG サポート機能を使用する場合には ```#define USEJPEG`'' がコメント・アウトされていないことを確認し、 また必要に応じて `USEINSTALLEDJPEG`、 `JPEGLIBDIR` などの設定を変更します。 この機能を使用するためには、 JPEG ライブラリ (Version 5b 以降のもの) が必要となります。 もしあなたのシステムに既に JPEG ライブラリがインストールされているならば、 `USEINSTALLEDJPEG` がコメント・アウトされていないことを確認します。 もし JPEG ライブラリがインストールされていない、 あるいは古いバージョンのものがインストールされているならば、 ftp://ftp.uu.net/graphics/jpeg や ftp://ftp.x.org/contrib/libraries などから JPEG ライブラリのソースを入手し、 `USEINSTALLEDJPEG` をコメント・アウトし、 JPEG ライブラリのソースを展開したディレクトリを `JPEGLIBDIR` で指定します。 古いバージョンの JPEG ライブラリがインストールされている場合、 それを削除するか、あるいはその名前を変更する必要があるかも知れません。 Linux システムの一部は、xfig で使用することのできない、 古いバージョンの JPEG ライブラリを含んでいるようです。

     JPEG サポート機能を使用しない場合には、```#define USEJPEG`'' を `XCOMM` ディレクティブを用いてコメント・アウト (`XCOMM #define USEJPEG`) します。

   - PNG のサポートが不要であれば、 ```#define USEPNG`'' をコメント・アウトします。

     PNG イメージの取り込みを可能としたい (デフォルト) のであれば、 ```#define USEPNG`'' がコメント・アウトされていないことを確認します。 PNG ライブラリ (-lpng)、及び zlib (-lz) 圧縮ライブラリが必要となります。 PNG ライブラリのソースは http://www.libpng.org/pub/png/libpng.html で、 zlib ライブラリのソースは ftp://ftp.cdrom.com/pub/infozip/zlib で見付けることができます。

   - XPM サポート機能を使用する場合には ```#define USEXPM`'' のコメント・アウトを解除し (`XCOMM` を削除)、 また必要に応じて `XPMLIBDIR` などの設定を変更します。 この機能を使用するためには、 XPM3 パッケージ (Version 3.4c 以降のもの) が必要となります。

     XPM サポート機能を使用しない場合には、```#define USEXPM`'' が `XCOMM` ディレクティブを用いてコメント・アウトされている (`XCOMM #define USEXPM`) ことを確認します。

   - Xaw3d (Three-D Athena Widget) ライブラリ を使用する場合には、 ```XAWLIB = -lXaw3d`'' のコメント・アウトを解除します。 Xaw の代わりに Xaw3d を用いるとボタンなどの表示が立体的となります。 Xaw3d は、`-DARROW_SCROLLBAR` を指定せずに コンパイルされていなければなりません。

   - あなたのシステムの printcap ファイルが `/etc/printcap` 以外である場合には、 それに応じて `PRINTCAP` 変数を変更します。

   - 小さいディスプレイ (例えば 800x600 程度の) を使っている場合には、 xfig のボタンを小さくしたいと思われるかも知れません。 もしそうであれば、```#define USESMALLICONS`'' の コメント・アウトを解除して下さい。

   - システムが `strcasecmp()`、 及び/もしくは `strncasecmp()` をサポートしていないならば、

     > `HAVE_NO_STRCASECMP = -DHAVE_NO_STRCASECMP`

     及び/もしくは

     > `HAVE_NO_STRNCASECMP = -DHAVE_NO_STRNCASECMP`

     のコメント・アウトを解除します。

   - システムが `strstr()` をサポートしていないならば、 ```#define NOSTRSTR`'' のコメント・アウトを解除します。

   - システムが `strerror()` をサポートしていない (しかし `sys_errlist` をサポートしている) ならば、 ```NEED_STRERROR = -DNEED_STRERROR`'' のコメント・アウトを解除します。

   - xfig の国際化機能を有効としたい場合には、 ```#define I18N`'' のコメント・アウトを解除 (`XCOMM` を削除) します。 詳細については、国際化を参照して下さい。

     パッケージ・メンテナへの要望： バイナリ形式で配布するためのパッケージを用意する際には、 そのパッケージが日本や韓国などでも使用できるように 国際化機能を有効としておくことが望まれます。

   より詳細な情報は、`README` ファイルなどを参照して下さい。

3. `xmkmf` を実行し、`Makefile` を生成します。

4. `make` を実行し、xfig をコンパイルします。

5. コンパイルが完了したならば `make install` を実行し、 作成したコマンドなどを所定のディレクトリにコピーします。

   `make install` を行なわず、ファイルを手でコピーする場合には:

   - `xfig` コマンド (実行可能ファイル) は、 コマンド検索パスに含まれているディレクトリにコピーする
   - `Fig.ad`、及び `Fig-color.ad` を、 `app-defaults` ディレクトリに、 それぞれ `Fig`、及び `Fig-color` という名前でコピーする
   - `CompKeyDB`、`Doc/html` ディレクトリ、 `xfig-howto.pdf`、及び `xfig.pdf` は、`Imakefile` の `XFIGLIBDIR` で指定されたディレクトリにコピーする

6. `make install.man` を実行し、 マニュアル・ページを所定のディレクトリにコピーします。

## transfig/fig2dev のインストール

transfig (fig2dev) のインストールの手順は、 おおむね次のようになります。 詳細については `README` ファイルなどを参照して下さい。 また、fig2dev の国際化機能を有効とする方法については 国際化 も参照して下さい。

1. transfig のソース (`transfig.3.2.3x.tar.gz`) を入手して、展開します。 これは、xfig と同じサイトから入手することができます。

2. 必要に応じて `fig2dev/Imakefile`、 及び `fig2dev/dev/Imakefile` を編集します。 トップ・レベルの `Imakefile` を修正する必要はない筈です。

   - LaTeX での出力に際して NFSS2 フォントを使用しない場合には、 ```DDNFSS = -DNFSS`'' を `XCOMM` ディレクティブを用いてコメント・アウトします。 また、LaTeX2e の `epsfig` マクロを使用しない場合には、 ```DDEPSF = -DEPSF`'' をコメント・アウトします。

     おそらく、LaTeX2e のユーザーはこれらの双方を指定し、 また LaTeX 2.09 のユーザーはいずれも指定しないべきでしょう。

   - JPEG サポート機能を使用するならば、 ```#define USEJPEG`'' がコメント・アウトされていないことを確認し、 必要に応じて `USEINSTALLEDJPEG`、 及び `JPEGLIBDIR` の定義を変更します。 この機能を使用するためには、 JPEG ライブラリ (Version 5b 以降のもの) が必要となります。 JPEG ライブラリが既にシステムにインストールされている場合には、 ```#define USEINSTALLEDJPEG`'' が コメント・アウトされていないことを確認します。 もし JPEG ライブラリがインストールされていない、 あるいは古いバージョンのものがインストールされているならば、 ftp://ftp.uu.net/graphics/jpeg や ftp://ftp.x.org/contrib/libraries などから JPEG ライブラリのソースを入手し、 `USEINSTALLEDJPEG` をコメント・アウトし、 JPEG ライブラリのソースを展開したディレクトリを `JPEGLIBDIR` で指定します。

     JPEG サポート機能を使用しないならば、```#define USEJPEG`'' を `XCOMM` ディレクティブを用いてコメント・アウト (`XCOMM #define USEJPEG`) します。

   - PNG のサポートが不要であれば、 ```#define USEPNG`'' をコメント・アウトします。

     PNG イメージの取り込みを可能としたい (デフォルト) のであれば、 ```#define USEPNG`'' がコメント・アウトされていないことを確認します。 PNG ライブラリ (-lpng)、及び zlib (-lz) 圧縮ライブラリが必要となります。 PNG ライブラリのソースは http://www.libpng.org/pub/png/libpng.html で、 zlib ライブラリのソースは ftp://ftp.cdrom.com/pub/infozip/zlib で見付けることができます。

   - XPM サポート機能を使用する場合には ```#define USEXPM`'' がコメント・アウトされていないことを確認し、 また必要に応じて `XPMLIBDIR` などの設定を変更します。 この機能を使用するためには、 XPM3 パッケージ (Version 3.4c 以降のもの) が必要となります。

     XPM サポート機能を使用しない場合には、 ```#define USEXPM`'' をコメント・アウト (`XCOMM #define USEXPM`) します。

   - システムが `strcasecmp()`、 及び/もしくは `strncasecmp()` をサポートしていないならば、

     > `HAVE_NO_STRCASECMP = -DHAVE_NO_STRCASECMP`

     及び/もしくは

     > `HAVE_NO_STRNCASECMP = -DHAVE_NO_STRNCASECMP`

     のコメント・アウトを解除します。

   - システムが `strstr()` をサポートしていないならば、 ```#define NOSTRSTR`'' のコメント・アウトを解除します。

   - システムが `strerror()` をサポートしていない (しかし `sys_errlist` をサポートしている) ならば、 ```NEED_STRERROR = -DNEED_STRERROR`'' のコメント・アウトを解除します。

   - Solaris 2 においては、 `LOCAL_LIBRARIES` に `-lnsl` を追加する必要があります。 また、HP-UX においては、 最適化のレベルを `+O2` に下げることが必要となるかも知れません。

   - fig2dev の国際化機能を有効としたい場合には、 ```#define I18N`'' のコメント・アウトを解除 (`XCOMM` を削除) します。 詳細については、国際化を参照して下さい。

     パッケージ・メンテナへの要望： バイナリ形式で配布するためのパッケージを用意する際には、 そのパッケージが日本や韓国などでも使用できるように 国際化機能を有効としておくことが望まれます。

   詳細は、`README` や `Imakefile` を参照して下さい。

3. `xmkmf` を実行します。

4. `make Makefiles` を実行します。

5. `make` を実行し、 transfig、及び fig2dev をコンパイルします。

6. コンパイルが完了したならば `make install` を実行し、 作成したコマンドなどを所定のディレクトリにコピーします。

7. `make install.man` を実行し、 マニュアル・ページを所定のディレクトリにコピーします。

## その他のソフトウェアのインストール

通常、xfig、及び transfig (fig2dev) に加え、 Ghostscript、 及び netpbm をインストールしておく必要があります。

- xfig は、PostScript のイメージの表示や いくつかのフォーマットでの図のエクスポートに際して、 Ghostscript (`gs` コマンド) を呼び出します。

  Ghostscript は、pbmraw、ppmraw、pcx256、jpeg、及び tiff24nc ドライバを 組み込んでコンパイルされている必要があります。

  Ghostscript は、 ftp://prep.ai.mit.edu/pub/gnu やそのミラー・サイト、 あるいは ftp://ftp.cs.wisc.edu/ghost/aladdin などから入手することができます。

- fig2dev は、図のビットマップ形式での エクスポート に際して netpbm パッケージの所定のコマンドを呼び出します。

  実際に使用されることがあるコマンドは、 pbmtoxbm、 pgmtopbm、pnmdepth、pnmscale、pnmtopng、pnmtotiff、 ppmquant、ppmtoacad、ppmtogif、ppmtopcx、ppmtopgm、及び ppmtoxpm です。

  netpbm は、 ftp://ftp.x.org/contrib/utilities や その ミラー・サイト の `/contrib/utilities`、 あるいは ftp://ftp.cdrom.com/pub/X11/contrib/utilities から入手することができます。

# 関連するソフトウェア

## ライブラリ

- Xaw3d (Three-D Athena Widget) ライブラリ
  通常の Xaw の代わりに Xaw3d を用いると、 ボタンなどを立体的に表示することが可能となります。 これは、 ftp://ftp.x.org/contrib/widgets や その ミラー・サイト の `/contrib/widgets` から入手することができます。

- XPM3 パッケージ
  XPM フォーマットのイメージを取り扱うためのパッケージです。 これは、 ftp://ftp.x.org/contrib/libraries や その ミラー・サイト の `/contrib/libraries` から入手することができます。

- JPEG ライブラリ
  JPEG フォーマットのイメージを取り扱うためのパッケージです。 この公式ディストリビューション・サイトは ftp://ftp.uu.net/graphics/jpeg です。 これは、 ftp://ftp.x.org/contrib/libraries や その ミラー・サイト の `/contrib/libraries` から入手することもできます。

## アプリケーション

ここでは、関連するアプリケーションのリストを示します。 Scientific Applications on Linux (SAL) からは、 Linux 用のアプリケーション (その多くは、他の UNIX 互換プラットホーム上でも動作するかも知れない) についての情報を得ることができます。 また、Ian MacPhedran がメンテナンスしている http://duke.usask.ca/~macphed/soft/fig/ には、FIG に関連したアプリケーションへのリンクがあります。

- fig2dev (transfig)
  fig2dev は、 xfig で作成した図を種々のフォーマットに変換する機能を提供します。 xfig は Export や Print に際して fig2dev を呼び出しますので、これは必須となります。 fig2dev は transfig パッケージの一部であり、 xfig と同様の場所から入手することができます。

- Ghostscript
  xfig は、PostScript のイメージの表示や いくつかのフォーマットでの図のエクスポートに際して、 Ghostscript (`gs` コマンド) を呼び出します。 Ghostscript の著作権は Aladdin Enterprises が所有していますが、 これ (少なくとも古いバージョン) は GPL に従って配布されており、 ftp://prep.ai.mit.edu/pub/gnu やそのミラー・サイト、 あるいは ftp://ftp.cs.wisc.edu/ghost/aladdin などから入手することができます。

  日本語を含んだ図を取り扱うためには、 日本語を扱うことのできる Ghostscript が必要となります。 これについては、 Ghostscript の日本語化情報 などを参照して下さい。

- cdraw2fig
  ``Cheap Draw'' フォーマットから Fig フォーマットへの変換プログラムです。 Cheap Draw 2.0 は Bob Pratt によって作成されたものであり、 osu-cis の UNIXPC アーカイブから入手することが可能です。

- GIMP
  http://www.gimp.org/ からは、 フリーの強力なイメージ操作ソフトウェアである GIMP (GNU Image Manipulation Program) についての情報を得ることができます。

- gnuplot
  gnuplot はグラフ作成パッケージであり、 Fig フォーマットやその他のフォーマットでの出力を生成することができます。 公式のディストリビューション・サイトは ftp://ftp.dartmouth.edu/pub/gnuplot ですが、 近くの `comp.sources.misc` アーカイブから入手することなども可能です。

- gzip (gunzip)
  xfig は、gzip によって圧縮されたファイルの読み込みに際して gunzip を呼び出します。 gzip (gunzip) は Free Software Foundations のプロダクトであり、 ftp://prep.ai.mit.edu/pub/gnu やそのミラー・サイト から入手することができます。

- hp2xx
  hp2xx を用いると、HP-GL ファイルを PostScript、LaTeX、Fig などのフォーマットに変換することが可能です。 これは、 ftp://ftp.engr.usask.ca/pub/hp2xx/ から入手することができます。

- chemtool
  Fig フォーマットでの出力を行なう (そして XBM よりも凝った出力のために transfig に頼っている) X11 用の化学構造エディタであり、 http://www.uni-ulm.de/~s_tvolk/chemtool から入手することができます。

- mifXfig
  mifXfig は MIF フォーマット (Framemaker(TM) のファイル) と Fig フォーマットとのコンバータです。 詳細は、 http://www.ida.liu.se/~vaden/teaching/m2f/ を参照して下さい。

- Msphinx
  衛星のイメージを扱うための使いやすいパッケージ。
  主な機能：
    Msphinx は２種類の分析／処理機能を含んでいる：
    - 基本的な地理データや投射プレーンの処理
    - 画像表示／印刷出力の操作／変更
  通信機能：
    - 外部のユーザー・プログラム (C や Fortran) から メモリー・プレーンへのデータの書き込み
    - ユーザー間でのデータ交換 (テキスト、あるいは画像)
    - ユーザー・イメージ・データベースの視覚化
    - 他のパッケージとの直接的な接続：
      - Mgraph (2d and contouring plotting)
      - HDFLook (HDF read write files)
      - Xfig (Facility for Interactive Generation of figures)
      - mpeg_encode (mpeg format nimations)
  これは、 http://loasys.univ-lille1.fr/Msphinx/Msphinx_gb.html で見付けられる。

- netpbm
  fig2dev は、図のビットマップ形式での エクスポート に際して netpbm パッケージの所定のコマンドを呼び出します。 netpbm は、 ftp://ftp.x.org/contrib/utilities や その ミラー・サイト の `/contrib/utilities`、 あるいは ftp://ftp.cdrom.com/pub/X11/contrib/utilities から入手することができます。

- figbuild
  figbuild は Fig ファイル (Version 3.x ― 3.1 と 3.2 でテスト) と 高さのためのコンフィギュレーション・ファイルを読み込み、 Radiance の入力ファイルを生成します。 Written by Peter Apian-Bennewitz at Fraunhofer ISE, Germany. See: http://www.ise.fhg.de/radiance/pabs-toolbox/figbuild/figbuild.html

- pic2fig
  troff や ditroff などで用いられる PIC フォーマットから Fig フォーマットへの変換プログラムです。 これは、 ftp://ftp.cs.orst.edu/localsrc/graphics、 あるいは ftp://ftp.x.org/contrib/utilities や その ミラー・サイト の `/contrib/utilities` から入手することができます。

- plot2fig
  UNIX の plot フォーマットから Fig フォーマットへの変換プログラムです。 これは、任意の GNU サイト から入手することができます。

- plotutils (GNU)
  XY プロット (graph)、plot フィルタ (plot)、 Tektronix トランスレータ (tek2plot)、 フォント・キャラクタ・マップ表示プログラム (plotfont)、 及び 2D ベクタ・グラフィックの描画のためのライブラリ (libplot) を含んでおり、全てが Fig フォーマットでの出力を生成することができる。 by Robert S. Maier <rsm@math.arizona.edu>. http://www.gnu.org/software/plotutils/plotutils.html を参照。

- pstoedit
  pstoedit は、PostScript ファイルを fig フォーマットに変換するために用いることができます。 これは、 ftp://ftp.x.org/contrib/applications/tgif/pstoedit や その ミラー・サイト の `/contrib/applications/tgif/pstoedit` から入手することができます。

- xfigbar and xfigpie
  棒グラフ、及びパイ・チャートを Fig ファイルとして生成するための 2つの C プログラム。 John Conover <john@johncon.johncon.com> によって書かれたもので、 e-mail によって入手できます：
  `mail info-request@johncon.com
  Subject: archive
  get xfigutilities.shar`

- xgraph
  xgraph は X11 上で動作するグラフ作成パッケージです。 ftp://iworks.ecn.uiowa.edu の `comp.hp` には、 Fig ファイルを生成することのできるバージョンが置かれています。

- xpaint
  xpaint は X11 上で動作するペイント・プログラムです。 これは、 http://www.danbbs.dk/~torsten/xpaint や、 ftp://sunsite.unc.edu/pub/Linux/apps/graphics/draw/ などの任意の SunSite から入手することができます。

- xv
  xv は、種々のフォーマットのイメージを表示し、 また種々の操作を行なうために用いることができます。 デフォルトでは、xfig は PICTURE オブジェクトの編集 に際して xv を起動します。 xv はシェアウェアであり、 ftp://ftp.cis.upenn.edu/pub/xv から anonymous ftp によって入手することができます。

[ Contents | Introduction | Credits ]