XFIG Users Manual

FAQ

一般的な質問

  1. xfig/transfig はどこから入手することができるのか?

  2. 古い Fig ファイルを 新しいバージョンに変換する必要があるのか?
    (xfigfig2dev は古い Fig ファイルを読めるのか?)

  3. xfig で PostScript ファイルを編集することはできるのか?

  4. オブジェクトの描画の順序を指定することはできるのか?

  5. スプライン曲線が xfig 3.1 のものと 少し違っているが?

  6. xfig を自分のディレクトリにインストールする方法は?

  7. xfig 専用の メーリング・リストやニューズグループはあるのか?

xfig の実行に際しての問題

  1. xfig のボタンに色が付かない

  2. 横や下のパネルにあるアイコンが一度表示された後で見えなくなる

  3. ``Warning: Actions not found: ModeOpenCompound'' などの警告が出力される

  4. リクエスト X_SetClipRectangles に対する X のエラーが報告される、 あるいは特定の向きの矢印の近くに太い線が表示される

  5. xfig 上で LaTeX フォントを指定しても、 Computer Modern フォントではなく PostScript フォントで出力される

  6. エクスポートした PostScript ファイルを Ghostscript で表示させた際に、Arc-box が正しく表示されない

  7. OpenWindows が xfig のアイコンを見失うことがある

  8. HP のマシンにおいて、 テキスト・オブジェクトに対する Edit ポップアップ・パネル上で いくつかの文字の大文字と小文字が誤って処理される

  9. PostScript でエクスポートしたファイルに 誤った %%BoundingBox が書かれる

  10. エクスポートした PostScript ファイルを Ghostscript 5.50 で表示すると、パターンが全て黒くなる

  11. METAFONT フォーマットでエクスポートしたファイルが、 私が持っていない grafbase.mf ファイルを参照している

  12. CDE 上でプルダウン・メニューが機能しない

  13. LaTeX テキストで ``mn'' と出力される

  14. EPS や GIF などでエクスポートした際に、 パターンでの塗りつぶしが多角形の境界を超えてしまう

  15. xfig が、 ``Warning: Representation size 4 must match superclass's to override underline'' と報告する

  16. fig2dev が、 ``can't open file: /usr/X11R6/lib/X11/fig2dev/en_US.ps'' などと報告する

  17. XAPPLRESDIR 環境変数を設定しても、 xfig が個人のディレクトリにある app-defaults ファイルを見付けない

  18. TEXT オブジェクトのためのポップアップ・パネルで a-umlaute などの特殊な文字を入力できない

xfig のコンパイルに際しての問題

  1. DEC Alpha において、コンパイラが u_bound.c に対して ``.mask must have pcreg from .frame set if any bits are set in .mask or .fmask'' などと文句を言う

  2. コンパイルに際して XPointer が未定義であると報告される

  3. Sun のマシンで、リンカが _get_applicationShellWidgetClass_get_wmShellWidgetClass が未定義であるという誤ったエラー・メッセージを出力する

  4. HP のマシンで、 コンパイラが u_undo.c で bus error を起こすことがある

  5. HP のマシンで標準の cc コンパイラを使うと、 +O3 の最適化で問題を起こすことがある

  6. コンパイルに際して、 ``Unresolved: jpeg_std_error / jpeg_create_decompress / jpeg_destroy_decompress / jpeg_stdio_src'' などのエラーが出る

  7. コンパイルに際して、 ``w_menuentry.c: In function `Redisplay': / w_menuentry.c:129: structure has no member named `fontset' / w_menuentry.c:143: structure has no member named `international' '' などのエラーが出る

xfig/transfig はどこから入手することができるのか?

xfig/transfigフリーウェアであり、 いくつかの場所から入手することができます。 これについては、 xfig のインストール を参照して下さい。

古い Fig ファイルを新しいバージョンに変換する必要があるのか?

いいえ。 どのバージョンの xfigtransfig (fig2dev) も、 それ以前のバージョンの Fig ファイルを読み込むことができます。 xfig はそのようなファイルを読み込むと その xfig が対応している最新のバージョンに変換し、 セーブに際してはそのバージョンでのセーブを行ないます。

xfig で PostScript ファイルを編集することはできるのか?

いいえ。 ですが、その上に他の Fig オブジェクトを描画することはできますので、 図に説明を書き加えたりすることなどは可能です。 また、pstoedit などを用いて 図を Fig ファイルに変換すれば、 通常の方法で xfig 上での編集を行なえるようになります。

オブジェクトの描画の順序を制御することはできるのか?

複数のオブジェクトが重なり合っており、描画の順序が重要である場合には、 描画の順序に応じてそれぞれのオブジェクトの depth を設定する必要があります。

スプライン曲線が xfig 3.1 のものと 少し違っているが?

xfig 3.2 では、X-Spline と呼ばれる 新しいスプラインを使用しています。 X-spline では1つの曲線の中で補間や近似を混在させることが可能であり、 それぞれの点の近傍での曲線の挙動は shape factor と呼ばれる1つのパラメータによって制御されます。

注意: 以前のスプラインのモデル (quadratic B-splines、及び Bezier with hidden points) はもはやサポートされていないため、 xfig version 3.1 以前のファイルに含まれているスプライン曲線は 自動的に X-spline に変換されます。 この変換は近似に過ぎませんので、 変換された曲線は元のものと完全に同一ではありません。 通常はそれらは充分に似ているものとなりますが、 微妙なケースにおいては手での調整が必要となるかも知れません。


xfig を自分のディレクトリにインストールする方法は?

xfig が必要とするいくつかのファイルがありますので、 それらのファイルを見つけられるように適切な設定を行なうことが必要となります。

xfig, fig2dev
これらはコマンド検索パスに含まれているディレクトリに置く必要があります
CompKeyDB
ImakefileXFIGLIBDIR を このファイルを置きたいディレクトリに設定して xfig をコンパイルするか、 もしくはリソース ``Fig*keyFile: your_lib_area/CompKeyDB'' によってそのファイルの場所を指定して下さい
Fig、及び Fig-color
xfig コマンドの実行に先立って、 環境変数 XAPPLRESDIR をこれらのファイルを置いたディレクトリに設定します
Doc/html
このディレクトリ (そしてそのサブ・ディレクトリ) 全体を Imakefile の XFIGLIBDIR が指すディレクトリにコピー (cp -r を使う) すべきです。
Doc/xfig-howto.pdf、及び Doc/xfig.pdf
これらのファイルは Imakefile の XFIGLIBDIR が指すディレクトリにコピーすべきです。

xfig 専用の メーリング・リストやニューズグループはあるのか?

xfig のためのメーリング・リストはありませんが、 メールを bvsmith@lbl.gov へ送る、あるいはそれに関する質問を comp.windows.xcomp.windows.x.appscomp.os.linux.xcomp.os.linux、 あるいは comp.os.linux.misc へポストすることができます。 fig2dev に関する質問は、 comp.text.tex へポストすることもできます。

(日本のユーザーは、バグ・レポートは VEF00200@nifty.ne.jp (T.Sato) へ送られても結構です。 また、質問は fj.comp.x11 などへ ポストしても良いでしょう。)


xfig のボタンに色が付かない

POSSIBLE CAUSE:
app-defaults ファイルを正しくインストールしていないか、 もしくは customization リソースを設定していないのでしょう。

SOLUTION:
リソース・ファイル Fig、及び Fig-color (xfig のソース配布においては、それぞれ Fig.ad、及び Fig-color.ad という名前となっている) を所定のディレクトリにインストールして下さい。 また、X サーバーにロードされる共通リソース・ファイル (.Xdefaults) に ``*customization: -color'' を追加して、 X サーバーを再起動して下さい。

解説: X11R5 以降では、 汎用のリソース *customization-color に設定することによって、 サフィックス -color を付けた app-defaults ファイル (例えば Fig-color) を 通常のもの (例えば Fig) の代わりに読み込むように指定することが可能となっています。 Fig-color の中には、色に関係しない設定を行なうために、 通常の app-defaults ファイルを読み込むための #include ステートメントが含まれています。


横や下のパネルにあるアイコンが一度表示された後で見えなくなる

POSSIBLE CAUSE:
一部の Linux システム (少なくとも 2.0.29) において、 Athena ウィジェット・セット (libXaw) の変種である libNextaw がこの問題を引き起こすようです。

SOLUTION:
通常の libXaw か libXaw3d を使ってリンクし直して下さい。

``Warning: Actions not found: ModeOpenCompound'' などの警告が出力される

POSSIBLE CAUSE:
xfig のバージョンに対応した app-defaults ファイルを インストールしていないものと思われます。

POSSIBLE CAUSE:
xfig と共に配布されている app-defaults ファイル (Fig.ad、及び Fig-color.ad) を 所定のディレクトリにインストールして下さい。 この最も容易な方法は、``make install'' を用いることです。

リクエスト X_SetClipRectangles に対する X のエラーが報告される、 あるいは特定の向きの矢印の近くに太い線が表示される

POSSIBLE CAUSE:
X11R5 の Xlib のクリッピング・アルゴリズムに関するバグによるものです。

SOLUTION:
X11R6 に切り替えるか、 もしくは X11R5 のライブラリの mit/lib/X/XPolyReg.c に 次のパッチを適用して下さい。
*** XPolyReg.c.orig     Tue Dec 15 12:01:22 1992
--- XPolyReg.c  Wed Nov 15 09:41:13 1995
***************
*** 402,408 ****
            if (numRects && pts->x == rects->x1 && pts->y == rects->y2 &&
                pts[1].x == rects->x2 &&
                (numRects == 1 || rects[-1].y1 != rects->y1) &&
!               (!i || pts[2].y > pts[1].y)) {
                rects->y2 = pts[1].y + 1;
                continue;
            }
--- 402,409 ----
            if (numRects && pts->x == rects->x1 && pts->y == rects->y2 &&
                pts[1].x == rects->x2 &&
                (numRects == 1 || rects[-1].y1 != rects->y1) &&
!               /* Fixed version from X11 R6 */
!               (i && pts[2].y > pts[1].y)) {
                rects->y2 = pts[1].y + 1;
                continue;
            }

xfig 上で LaTeX フォントを指定しても、 Computer Modern フォントではなく PostScript フォントで出力される

POSSIBLE CAUSE AND SOLUTION:
PostScript での出力を行なう際にフォントを LaTeX の制御下に置くためには、 そのテキスト・オブジェクトを ``special'' に設定し、 また出力フォーマットとして Combined PostScript/LaTeX (pstex) を指定する必要があります。 このモードは、special に設定されたテキスト・オブジェクトを LaTeX に渡し、 ユーザーが LaTeX の数式モード、Computer Modern フォント、その他の機能を 使用することを可能とします。

エクスポートした PostScript ファイルを Ghostscript で表示させた際に、Arc-box が正しく表示されない

POSSIBLE CAUSE:
Ghostscript version 4.01 には、 arcto オペレータに関するバグがあります。

SOLUTION:
Ghostscript 4.03 以降を 入手して下さい。

OpenWindows が xfig のアイコンを見失うことがある

POSSIBLE CAUSE:
原因は不明です。

SOLUTION:
.Xdefaults ファイルに

    Fig*iconPixmap:  your_lib_area/fig.icon.X

のような行を追加し、ファイル fig.icon.X を ディレクトリ your_lib_area にコピーすることによって 回避できるでしょう。


HP のマシンにおいて、 テキスト・オブジェクトに対する Edit ポップアップ・パネル上で いくつかの文字の大文字と小文字が誤って処理される

POSSIBLE CAUSE AND SOLUTION:
CompKeyDB ファイルの中で、 小文字の定義が大文字の定義の前に置くようにして下さい。 この問題は、xfig 2.1.5 以降に含まれている CompKeyDB ファイルで発生することがあります。

PostScript でエクスポートしたファイルに 誤った %%BoundingBox が書かれる

POSSIBLE CAUSE AND SOLUTION:
Solaris の cc コンパイラ version 4.2 は、 オプティマイザにバグがあるようです。 fig2dev を、-O2、あるいは -O1 の最適化レベルで 再コンパイルして下さい。

エクスポートした PostScript ファイルを Ghostscript 5.50 で表示すると、パターンが全て黒くなる

POSSIBLE CAUSE AND SOLUTION:
Ghostscript Version 5.10〜5.50 には、これを引き起こすバグがあります。 新しいバージョンの Ghostscript を入手して下さい。

METAFONT フォーマットでエクスポートしたファイルが、 私が持っていない grafbase.mf ファイルを参照している

POSSIBLE CAUSE AND SOLUTION:
grafbase.mf ファイルがないならば、 ftp://ctan.tug.org/tex-archive/graphics/fig2mf/ から入手することがっできます。

CDE 上でプルダウン・メニューが機能しない

POSSIBLE CAUSE AND SOLUTION:
CDE や、その他の一部のシステムにおいては、 プルダウン・メニューを機能させるためには、 Num Lock、及び Caps Lock キーを解除する必要があります。

LaTeX テキストで ``mn'' と出力される

POSSIBLE CAUSE AND SOLUTION:
この問題は、LaTeX パートに出力される \smash における問題です。 もしあなたのシステムで \mddefault\updefault が 正しくセットアップされていないならば、 それらを何もしないように定義する必要があります。

EPS や GIF などでエクスポートした際に、 パターンでの塗りつぶしが多角形の境界を超えてしまう

POSSIBLE CAUSE AND SOLUTION:
Ghostscript versions 7.00 には、 これを引き起こすバグ (#418928) があります。 新しいバージョンの Ghostscript を入手して下さい。

xfig が、 ``Warning: Representation size 4 must match superclass's to override underline'' と報告する

POSSIBLE CAUSE AND SOLUTION:
3D Menu ウィジェット (SmeBSBObject) が 2D バージョンの代わりに使われ、 あるいはその逆となっています (Imakefile/Makefile の -DXAW3D を確認して下さい)。 2D と 3D のウジェット・ライブラリ (Xaw と Xaw3d)、 そしてヘッダ・ファイルを混ぜないで下さい。

fig2dev が、 ``can't open file: /usr/X11R6/lib/X11/fig2dev/en_US.ps'' などと報告する

POSSIBLE CAUSE AND SOLUTION:
これは、RedHat システムのみにおける問題のようです。 私は、国際化機能を有効とすべきでない時にそれが有効とされており、 存在していないファイルを探しているものと考えています。 RedHat から新しいバージョンの xfig と transfig をダウンロードして下さい。

XAPPLRESDIR 環境変数を設定しても、 xfig が個人のディレクトリにある app-defaults ファイルを見付けない

POSSIBLE CAUSE AND SOLUTION:
もし Sun の OpenWindows X サーバーを使っているならば、 個人用の app-defaults ディレクトリを示すために、 そのパスに ``%N'' を付けたものを、別の環境変数、 XUSERFILESEARCHPATH に設定する必要があります。 例えば:
setenv XUSERFILESEARCHPATH $HOME/app-defaults/%N

TEXT オブジェクトのためのポップアップ・パネルで a-umlaute などの特殊な文字を入力できない

POSSIBLE CAUSES AND SOLUTIONS:
CompKeyDB ファイルがインストールされていない。
これは、xfig に a-umlaute、c-cedilla などの Latin-1 キャラクタを生成するために マルチ・キー・シーケンスをどのように扱うかを告げるファイルです。 xfig とそれに関連するファイルを完全にインストールするために、 make install を実行すべきです。

キーボードに Multi_key キーがない。
ある種のシステム (例えば、SPARCstation) は、 このシーケンスのための Compose キー、 あるいは Multi_key を持っています。 もしあなたのキーボードにそのようなキーがないならば、 他のキーを Multi_key に割り当て直して下さい。 例えば、X サーバーに Super_L、及び Super_R として認識されている 「Windows」キーを Multi_key に割り当て直すためには、 xmodmap プログラムを用いて次のようにします:

xmodmap -e "keysym Super_L = Multi_key"
xmodmap -e "keysym Super_R = Multi_key"


DEC Alpha において、コンパイラが u_bound.c に対して ``.mask must have pcreg from .frame set if any bits are set in .mask or .fmask'' などと文句を言う

POSSIBLE CAUSE AND SOLUTION:
そのファイルについてだけでも、最適化レベルを -O1 に設定して下さい。

コンパイルに際して XPointer が未定義であると報告される

POSSIBLE CAUSE:
おそらく、XPointer の定義を含まない 古い OpenWindows システム上で xfig をコンパイルしようとしているものと思われます。

SOLUTION:
新しいバージョンの OpenWindows にアップグレードするか、 もしくは X11R5 や X11R6 (ソースは Open Group から入手可能) に切り替えるべきです。

Sun のマシンで、リンカが _get_applicationShellWidgetClass_get_wmShellWidgetClass が未定義であるという誤ったエラー・メッセージを出力する

POSSIBLE CAUSE:
これは Sun の共有ライブラリと X11 の Xmu 共有ライブラリの構築方法による問題です。

SOLUTION:
これは xfig の動作には影響しませんので、無視しても構いません。

あるいは、``-Bstatic -lXmu -Bdynamic'' と指定してコンパイルすることもできます。

OpenWindows 3.0 (X11R4 ベース) を使っており、 この問題をきちんと解決したいのであれば、 Sun のオフィスと連絡を取って以下のパッチを入手して下さい。

     Patch i.d.      Description
     100512-02       4.1.x OpenWindows 3.0 libXt Jumbo patch
     100573-03       4.1.x OpenWindows 3.0 undefined symbols when using
			     shared libXmu

MIT X11R4 ライブラリのためのソース・パッチは Conrad Kimball (cek@sdc.boeing.com) によって作成されました; これはこの問題を回避するために R5 で行なわれたいくつかの修正を R4 に反映させたものです。 このパッチは、 contrib/X11R4_sunos4.1.2_patch_version3.Z として公開されています。

他の選択肢は、X11R5、もしくは X11R6 を使うことです。


HP のマシンで、 コンパイラが u_undo.c で bus error を起こすことがある

POSSIBLE CAUSE:
HP のコンパイラの問題です。 この問題は、HP-UX 8.05 を実行している HP 750 を含む、 いくつかの HP のマシンで発生する可能性があります。

SOLUTION:
この問題を回避するためには、 次のように u_undo.c に行を挿入して下さい。

Original:
undo_glue()
{
    list_delete_compound(&objects.compounds, saved_objects.compounds);
    tail(&objects, &object_tails);

New:
undo_glue()
{
    list_delete_compound(&objects.compounds, saved_objects.compounds);
>>>	    /* HP-UX 8.05 compiler bug fix -- don't ask */
>>>	    last_action = last_action;
    tail(&objects, &object_tails);

HP のマシンで標準の cc コンパイラを使うと、 +O3 の最適化で問題を起こすことがある

POSSIBLE CAUSE:
HP のコンパイラの問題です。

SOLUTION:
+O3 の代わりに +O2 を使うか、 http://support.mayfield.hp.com/ に接続して Patch Browsing and Downloading を選択し、 HP からコンパイラのパッチを入手して下さい。

コンパイルに際して、 ``Unresolved: jpeg_std_error / jpeg_create_decompress / jpeg_destroy_decompress / jpeg_stdio_src'' などのエラーが出る

POSSIBLE CAUSE:
多くの Linux マシンには古い JPEG ライブラリがインストールされていますが、 xfig は Version 5b よりも古い JPEG ライブラリを使用することはできません。

SOLUTION:
そのライブラリ・ファイル (通常は /usr/local/lib/libjpeg.so、 及び /usr/local/lib/libjpeg.a) と、 ヘッダ・ファイル (通常は /usr/local/include/jpegdata.h) を削除して下さい。

コンパイルに際して、 ``w_menuentry.c: In function `Redisplay': / w_menuentry.c:129: structure has no member named `fontset' / w_menuentry.c:143: structure has no member named `international' '' などのエラーが出る

POSSIBLE CAUSE:
おそらく、fontsetinternational のコンポーネントを 含んでいない古いバージョンの 3D Athena ウィジェット・セット (Xaw3d) を持っているのに、 Intrinsics ライブラリがそれらのコンポーネントを含んでいるのでしょう。

SOLUTION:
ftp://ftp.x.org/contrib/widgets/Xaw3d から新しいバージョンの Xaw3d を入手するか、 システムの 2D Athena ウィジェットをを使って下さい。

後者は次の手順で行なえます:

  1. Imakefile の ``XAWLIB = -lXaw3d'' をコメント・アウトする
  2. ``rm w_menuentry.o'' を実行する
  3. ``make Makefile''
  4. ``make''


[ Contents | Introduction | Credits ]