XFIG Users Manual

オブジェクトの描画

描画モード・パネルには新たなオブジェクトの入力のためのボタンが置かれており、 いずれかの描画モードを選択した後にキャンバス上で操作を行なうことによって オブジェクトを入力することができます。

描画モードには以下のものがあります。

[Circle by rad] [Circle by diam] Circles (円)
[Ellipse by rad] [Ellipse by diam] Ellipses (楕円)
[Closed Approx Spline] [Open Approx Spline] [Closed Interp Spline] [Open Approx Spline] Spline Curves (スプライン曲線)
[Polyline] Polylines (折れ線)
[Polygon] Polygons (多角形)
[Regular Polygon] Regular Polygons (正多角形)
[Box] Boxes (長方形)
[Arc Box] Arc Boxes (角を丸めた長方形)
[Arc] Arcs (円弧)
[Picture] Picture Objects (イメージの取り込み)
[Text] Texts (文字列)
[Libraries] Libraries (ライブラリ)

描画モードの選択は対応するボタンをクリックすることによって行ないます。 選択された描画モードのボタンは反転して表示されます。 新たに生成されたオブジェクトの属性は 属性パネル で設定されているものとなりますので、 オブジェクトの入力に先立って属性の設定を行なっておくべきです。 ですが、オブジェクトの属性は、オブジェクトを入力した後で EDITUPDATE によって 変更することも可能です。

マウスボタンの機能は 選択されている描画モードやその時の状況に応じて変わりますが、 マウス機能インジケーター には常に各マウスボタンの機能が表示されています。 オブジェクトの入力は主にマウスボタン1を用いて行ないますが、 しばしばマウスボタン2も使用します。 多くの状況では、マウスボタン3 (`cancel') は 操作を取り消すために用いることができます。


(CIRCLE)
円を入力します。 円の中心と半径を指定する方法と、円の直径を指定する方法とがあります。

前者では、まず円の中心でマウスボタン1 (`center point') をクリックし、 次に円周上の任意の点で再びマウスボタン1 (`set radius') をクリックします。

後者では、まず円周上の任意の点でマウスボタン1 (`diameter point') をクリックし、 次に円周上の反対側の点で再びマウスボタン1 (`final point') をクリックします。

[Circle Example]

FILL STYLE で 塗りつぶしが指定されている場合には、 円の内部はその指定に従って塗りつぶされます。 ごく小さな塗りつぶされた円を入力したい場合には、 POLYLINE を用いることもできます。

入力に際して、 メッセージ・パネル には 円の大きさ (半径、もしくは直径) が逐次表示されます。

Related Attributes:
depth, pen color, fill color, fill style, line width, line style

(ELLIPSE)
楕円を入力します。 CIRCLE と同様、 楕円の中心と半径を指定する方法と楕円の直径を指定する方法とがありますが、 縦と横の2つの寸法を指定する必要があることから 操作方法は CIRCLE とは若干異なっています。

前者では、まず楕円の中心でマウスボタン1 (`center point') をクリックし、 次に楕円を囲む (外接する) 仮想的な矩形の任意の角の点で 再びマウスボタン1 (`corner point') をクリックします。

後者では、楕円を囲む仮想的な矩形の任意の角の点で マウスボタン1 (`first corner') をクリックし、 次にその対角の点で再びマウスボタン1 (`final corner') をクリックします。

[Ellipse Example]

TEXT/ELLIPSE ANGLE で 0 以外の角度が設定されている場合には、楕円はその角度だけ (角度が正であれば反時計方向へ) 回転します。

Related Attributes:
depth, pen color, fill color, fill style, line width, line style, text/ellipse angle

(CLOSED APPROXIMATED SPLINE)
閉じた近似スプライン曲線 (指定された点を近似するなめらかな閉曲線) を入力します。 操作手順は POLYGONCLOSED INTERPORATED SPLINE と同様です。

SPLINE、POLYGON、 及び POLYLINE でフリーハンドでの入力を行なうためには、 最初の点でマウスボタン2 (`freehand') をクリックし、 マウスをドラグすることによって線を入力します。 マウスを動かすと、線に点が追加されていきます。 最後に、入力を終えるためにマウスボタン2 (`final point') を もう一度クリックします。

スプライン曲線について も参照して下さい。

Related Attributes:
depth, pen color, fill color, fill style, line width, line style

(APPROXIMATED SPLINE)
開いた近似スプライン曲線 (2つの端点を通り、他の点を近似するなめらかな曲線) を入力します。 操作手順は POLYLINEINTERPORATED SPLINE と同様です。

スプライン曲線について も参照して下さい。

Related Attributes:
depth, pen color, fill color, fill style, line width, line style, cap style, arrow mode, arrow type, arrow size

(CLOSED INTERPOLATED SPLINE)
閉じた補間スプライン曲線 (指定された点を通過するなめらかな閉曲線) を入力します。 操作手順は POLYGONCLOSED APPROXIMATED SPLINE と同様です。

スプライン曲線について も参照して下さい。

Related Attributes:
depth, pen color, fill color, fill style, line width, line style

(INTERPOLATED SPLINE)
開いた補間スプライン曲線 (指定された点を通過するなめらかな曲線) を入力します。 操作手順は POLYLINEAPPROXIMATED SPLINE と同様です。

スプライン曲線について も参照して下さい。

Related Attributes:
depth, pen color, fill color, fill style, line width, line style, cap style, arrow mode, arrow type, arrow size

(POLYLINE)
折れ線 (一連の点をつないだ線分の列) を入力します。 単純な直線や点も、これを用いて入力することができます。

折れ線や直線を入力する場合には、 最初の点でマウスボタン1 (`first point') をクリックし、 次に途中の点をマウスボタン1 (`next point') のクリックを 繰り返すことによって指定していきます。 最後に、マウスボタン2 (`final point') で最後の点を指定します。 この操作は、POLYGONSPLINE でも同様です。

POLYLINE、POLYGON、 あるいは SPLINE で フリーハンドの線を入力する場合には、 最初の点でマウスボタン2 (`freehand') をクリックし、 マウスをドラグすることによって線を入力します。 マウスを動かすと、線に点が追加されていきます。 最後に、入力を終えるためにマウスボタン2 (`final point') を もう一度クリックします。

単一の点を入力する場合には、 マウスボタン3 (`single point') をクリックします。 入力される点の形状は、 CAP STYLEROUND が選択されている場合には塗りつぶされた円に、 それ以外の場合には塗りつぶされた正方形になります。 いずれの場合でも、点の大きさは 線の太さと同一となります。

FILL STYLE で 塗りつぶしが指定されている場合には、 その折れ線で囲まれた領域 (最初の点と最後の点は結ばれているものと考える) は その指定に従って塗りつぶされます。 複雑な領域を塗りつぶす際には、 塗りつぶすべき部分を「奇遇規則」によって決定します。

[Polyline Example]

どのオブジェクトの入力に際しても、 入力の途中でマウスボタン3 (`cancel') をクリックすることによって すべての入力を取り消すことができます。 3つ以上の点を持つオブジェクトにおいては、 SHIFT キーを押した状態で マウスボタン1 (`del point') をクリックすることによって、 入力された点を1つづつ取り消すこともできます。

折れ線、スプライン、及び多角形の入力に際して、 メッセージ・パネル には 入力された点の数と 直前の点からの距離(length、dx、及び dy) が逐次表示されます。

端の開いたオブジェクトについては、 ARROW MODENone 以外に設定されている場合には 線の片端、もしくは両端に矢印が付けられます。

Show line lengths が ON に設定されている場合 (Global Settings パネルView メニュー を参照) には、入力中の線の長さについてより多くの情報が表示されます。 他の大半のオブジェクトの入力についても同様です。

Related Attributes:
depth, pen color, fill color, fill style, line width, line style, join style, cap style, arrow mode, arrow type, arrow size

(POLYGON)
多角形を入力します。 これは、最初と最後の点のあいだに線が引かれることを除いては POLYLINE と同様です。

Related Attributes:
depth, pen color, fill color, fill style, line width, line style, join style

(REGULAR POLYGON)
正多角形を入力します。

まず正多角形の中心でマウスボタン1 (`center point') をクリックし、 次に頂点の1つで再びマウスボタン1 (`final point') をクリックします。 辺の数は、あらかじめ NUM SIDES で 設定しておく必要があります。

実際に入力されたオブジェクトは 単なる POLYGON オブジェクトであり、 入力した後では個々の頂点を独立に 移動させられる (そしてその編集の結果は一般には正多角形とはならない) ようになります。

Related Attributes:
depth, pen color, fill color, fill style, line width, line style, join style, num sides

(BOX)
長方形を入力します。

まず長方形の任意の角でマウスボタン1 (`corner point') をクリックし、 次にその対角で再びマウスボタン1 (`final point') をクリックします。

FILL STYLE で 塗りつぶしが指定されている場合には、 長方形の内部はその指定に従って塗りつぶされます。

この機能で入力した長方形を 回転させられる角度は 90度の倍数に制限されており、 それ以外の角度で回転させることはできません。 傾斜した、もしくは任意の角度で回転させることのできる長方形を入力したい場合には、 POLYGON によって入力する (多分、傾斜していない長方形を入力してから ROTATE で回転させるのが楽) 必要があります。 傾斜した正方形は、 REGULAR POLYGON で入力することもできます。

Related Attributes:
depth, pen color, fill color, fill style, line width, line style, join style

(ARC-BOX)
丸めた角を持つ長方形を入力します。 これは、長方形の角が BOX CURVE で設定された 半径の円弧となることを除いては BOX と同様です。

BOX <-> ARC-BOX を用いて、 BOXARC-BOX とを 切り替えることも可能です。

Related Attributes:
depth, pen color, fill color, fill style, line width, line style, join style, box curve

(ARC)
円弧を入力します。

入力の方法は2つあります。

円弧には open arc と pie-wedge とがあり、 そのいずれを生成するかは ARC TYPE で設定することができます。

[Arc Example]

Related Attributes:
depth, pen color, fill color, fill style, line width, line style, cap style*, arrow mode*, arrow type*, arrow size*, arc type*
(* これらの属性は OPEN ARC に対してのみ効果を持ちます)

(IMPORTING PICTURE OBJECTS)
イメージ・ファイルを取り込み、PICTURE オブジェクトを生成します。

まず、イメージを張り付けたい領域の1つの角で マウスボタン1 (`corner point') をクリックし、 次にその対角で再びマウスボタン1 (`final corner') をクリックします。 取り込まれたイメージは、角の入力の順序に応じて自動的に回転させられます。 例えば、先に右下の角を、次に左上の角を指定した場合には、 そのイメージは 180度回転させられます。 同様に、先に左下を、次に右上を指定した場合には、 そのイメージは逆時計方向に 90度回転させられます。 イメージの大きさや縦横比などは後で修正することができますので、 ここで正確な大きさを指定する必要はありません。 この後、Edit パネル が開かれますので、 そのパネルの上でイメージの格納されているファイルの指定などを行ないます。 また、Edit パネルの Screen Capture ボタン を用いて、画面上に表示されているイメージを取り込むことも可能です。

以下のフォーマットのイメージ・ファイルを読み込むことが可能です。

この機能を用いて読み込んだイメージを 移動スケーリング、 あるいは回転させることはできますが、 その内容そのものを編集することはできません。 イメージを編集したい場合には、 xpaintGIMP などのアプリケーションを使用して下さい。 Edit パネルEdit Image ボタン は 外部のイメージ・エディタ (デフォルトは xv) を起動しますが、これは Fig.image_editor リソースを変更する、 あるいは xfig の起動に際して -image_editor オプションの後にイメージ・エディタの名前を付けることにより、 好みのイメージ・エディタ (例えば xpaint) に変更することが可能です。

PostScript や HP-GL などで書かれた図を 通常の図と同様に xfig 上で編集したい場合には、 まず pstoedithp2xx を用いて それらの図を Fig ファイルに変換して、その出力を Load や Merge してみて下さい。

EPSF ファイルに対しては、 xfig はイメージを描画するために Ghostscript を呼び出します。 Ghostscript には、``pcx256''、及び ``pbmraw'' ドライバが 組み込まれている必要があります。 ``pcx256'' ドライバはカラーのイメージを生成するために、 ``pbmraw'' ドライバはモノクロームのイメージを生成するため (xfig がモノクロームの X サーバー上で動作しているか、 もしくは -mono オプションを付けて起動された場合) に用いられます。

JPEG や XPM のサポートは、 xfig のコンパイルの際の指定 に従って組み込まれ、あるいは取り除かれます。

xfigcompress (サフィックス *.Z)、 もしくは gzip (サフィックス *.gz、もしくは *.z) によって 圧縮されたファイルも読み込むことができますが、 このためには uncompress、及び gunzip コマンドが 使用可能である必要があります。

PICTURE オブジェクトの取り扱いの方法については、 Edit パネル も参照して下さい。

Related Attributes:
depth, pen color (only for XBM image)

(TEXT)
テキストを入力します。

キャンバス上の任意の点で マウスボタン1 (`posn cursor') をクリックすることによって テキストを入力する位置を指定した後に、 キーボードからテキストを入力するか、 もしくは F18 (Sun Workstations では `Paste' キー) か F20 を押して PRIMARY カット・バッファ (xterm の cut/paste バッファ) からテキストを挿入します。 この操作に用いるキーは Fig*canvas.translations リソースによって 指定することができます。 詳細についてはリソース・ファイル (Fig.ad) を参照して下さい。 PRIMARY カット・バッファからのテキストの挿入は、 Edit メニューPaste Text によって行なうこともできます。

既に存在しているテキストの任意の箇所を マウスボタン1 (`posn cursor') でクリックすることにより、 新しいテキストを入力する代わりにそのテキストの編集を行なうこともできます。

TEXT/ELLIPSE ANGLE で 0 以外の角度が設定されている場合には、 テキストはその角度だけ (角度が正であれば反時計方向に) 傾斜します。

``a umlaut'' や ``c cedilla'' などの Latin-1 キャラクタ (Compose キャラクタ) を、 COMPOSE (META) キーを用いて入力することができます。 これについては、 Latin-1 キャラクタ を参照して下さい。

[I18N] 国際化 xfig では、この機能を用いて 日本語の入力などを行なうことも可能です。

単純な添字入力機能も用意されています。 テキストの入力中に Control-^ が押されると、 上付き添字となる小さい文字列の入力が 現在の文字列のベースラインよりも上で開始されます。 また、Control-_ が押されたならば、 下付き添字となる小さい文字列の入力が 現在の文字列のベースラインよりも下で開始されます。 これらは、4段階までの添字を作成するために入れ子にすることもできます。

次にこの例を示します:

super/subscript example
There are several caveats:

テキストの入力に際しては、以下の編集機能が使用可能です。

Control-H (Backspace)
カーソルの左側の文字を1文字削除します。
Control-D (Delete)
カーソルの右側の文字を1文字削除します。
Control-X
カーソルの左側の文字すべてを削除します。
Control-K
カーソルの右側の文字すべてを削除します。
Control-A (Home)
カーソルを文字列の先頭に移動します。
Control-E (End)
カーソルを文字列の最後に移動します。
Control-B (←)
カーソルを左へ1文字移動します。
Control-F (→)
カーソルを右へ1文字移動します。
Control-M (Return)
現在入力中のテキストを終了させ、次の行の入力を開始します。 TEXT STEP も参照して下さい。
F18 or F20 (Paste)
PRIMARY カット・バッファ (xterm の cut/paste バッファ) の 文字列を挿入します。 Edit メニューPaste Text も同じ意味を持ちます。
Compose (Alt or Meta)
これを用いて、``a umlaut'' や ``c cedilla'' などの Latin-1 キャラクタを入力することができます。 これについては、 Latin-1 キャラクタ を参照して下さい。

テキストに対して、 検索や置換、 あるいはスペルチェック を行なうこともできます。

Related Attributes:
depth, pen color, text font, text size, text step, text flags, text/ellipse angle, text justification

(LIBRARIES)
ライブラリからオブジェクトを選択し、キャンバスに入力します。

このボタンをクリックすると、 オブジェクトのライブラリを選択するためのパネルが開かれます。 それらのライブラリの中からオブジェクトを選択して キャンバス上のそれを置きたい位置でクリックすることにより、 そのオブジェクトのコピーをキャンバスに入力することができます。

[Library Panel]

このパネルには使用可能なライブラリ のリストを示す Library メニューが置かれています。 その中からいずれかのライブラリを選択するとそのライブラリがロードされ、 いくつのオブジェクトが含まれているかがステータス・ウィンドウに、 またライブラリに含まれているオブジェクトのアイコンが 表示ボックスに表示されます。 いずれかのアイコンをダブル・クリックするか、 あるいはクリックした後に Select Object ボタンを押すと、 そのオブジェクトが選択されてパネルが閉じられます。

オブジェクトを選択すると、 選択したオブジェクトがカーソルの位置に追従して表示されるようになりますので、 キャンバス上の任意の位置でマウスボタン1 (`place object') をクリックして その位置にそのオブジェクトを入力します。 これは、同一のオブジェクトに対して繰り返して行なうことができます。

オブジェクトのアイコンの大きさは、プルダウン・メニューによって 40、60、80、100、及び 120ピクセルの中から選択することができます。

ライブラリ・オブジェクトのリスト表示も可能であり、 これは View: ラベルの次のプルダウン・メニューから List View を選択することによって選ぶことができます。

[Library Panel]

このモードでは、リスト領域にオブジェクトの名前が表示されます。 オブジェクトの名前を1回クリックすると右側の小さいキャンバスに プレビューが表示されます。 入力したいオブジェクトを選択した後に Select Object ボタンを押すと、 パネルが閉じられます。 あるいは、オブジェクトの名前をダブル・クリックすることにより、 これを1回の操作で行なうこともできます。

SHIFT キーを押した状態でマウスボタン1 (`place and edit') を クリックした場合には、オブジェクトに付けられたコメントを編集できるように Edit パネルが開かれます。

オブジェクトは、キャンバス上に配置する前に、 回転させたり、反転させたりすることもできます。 左に回転させるためには l を、 右に回転させるためには r を、 左右を反転させるためには h を、 また上下を反転させるためには v を押して下さい。

ライブラリから他のオブジェクトを選択するためには、 マウスボタン2 (`new object') をクリックするか、 もしくは描画モード・パネルの Library ボタンをもう一度クリックします。

表示が遅い場合や複雑なライブラリ・オブジェクトがある場合などには、 オブジェクトを配置する前にマウスを動かした際に そのオブジェクトの大きさを示す矩形のみを表示するようにすることもできます。 このモードを切り替えるためには、 SHIFT キーを押した状態でマウスボタン2 (`change draw mode') を クリックして下さい。

オブジェクト入力モードから抜けるためには、 マウスボタン3 (`cancel library') をクリックするか、 もしくは他の描画モードや編集モードに切り替えて下さい。


使用可能な Fig オブジェクト・ライブラリ

xfig は、いくつかの fig オブジェクトのライブラリと共に配布されています:

全ての xfig ユーザーの利益のため、 ユーザーの方々が Fig オブジェクトをライブラリへコントリビュートし、 それを拡張していくことが期待されます。 何らかの Fig オブジェクトを既存の、あるいは新しいライブラリへ コントリビュートしようと思われる方は、それを xfigmail@www-epb.lbl.gov へ送って下さい。 もし必要であればその用途を制限しても構いませんが、 そのコピーや公表されるレポートでの使用などを含めた自由な使用が許されれば、 全ての人にとっての利益となるでしょう。

個人用の Fig オブジェクト・ライブラリの作成

xfig で自分のライブラリを作る方法には、 単に全てのライブラリを特定のディレクトリの下に格納する方法と、 ライブラリのパスを列挙したファイルを用いる方法とがあります。

方法 1

最初の方法では、全てのライブラリ (Fig ファイルを含むディレクトリ) を 適当なディレクトリの下に置くようにします。 他のディレクトリにあるライブラリ (例えば他の人のライブラリ) を使用したい場合には、単にそのディレクトリの下に それらのディレクトリへのシンボリック・リンクを作成します。

その後、-library_dir オプション、 もしくは Fig.library_dir リソースで そのトップ・レベルのディレクトリを指定して xfig を起動すると、 そのディレクトリの下に置かれた全てのライブラリが使用できるようになります。

library_dir のデフォルトは ``$XFIGLIBDIR/Libraries'' であり、 ここには xfig と共に配布されたライブラリが xfig のインストール に際して 自動的にインストールされます。 ですから、xfig と共に配布されたライブラリを使用する際には、 library_dir の指定は不要となります。

この方法では単にトップ・レベルのディレクトリの下 (あるいはそのサブ・ディレクトリの下) に新たなディレクトリを作成するだけで 新しいライブラリを作成することができ、 ライブラリのリストを含んだファイルを編集する必要もありませんので、 2番目の方法よりも簡単でしょう。

この方法を使った場合には、 ライブラリ名はそのディレクトリ名と同一となります。 例えば、リソース ``Fig.library_dir: /xfig/Libraries'' が 定義されている場合には、 /xfig/Libraries/Flowchart ディレクトリに対応する ライブラリ名は ``Flowchart''、 /xfig/Libraries/Electrical/Physical ディレクトリに対応する ライブラリ名は ``Electrical - Physical'' となります。

方法 2

2番目の方法では、 ライブラリ (Fig ファイルを含むディレクトリ) の絶対パスの後に そのライブラリの名前 (空白を含んでも良い) を空白を挟んで書いたものを書き並べた テキスト・ファイルを作成します。

その後、-library_dir、 もしくは Fig.library_dir リソースでそのファイルを指定して、 xfig を起動します。

このファイルは、例えば次のようなものとなります:

  /xfig/Libraries/Electrical/Logic    Electrical Parts (Logic)
  /xfig/Libraries/Electrical/Analog   Electrical Parts (Analog)
  /home/tim/lib/Flowchart             Tim's Flowchart Elements
  /home/chim/xfig/Buildings           Computer Clipart

この方法の利点は柔軟性です: 異なったディレクトリの下にあるライブラリを ライブラリのリストに含めることが容易であり、 またそれぞれのライブラリに そのディレクトリ名とは無関係に任意の名前を付けることができます。

補足: いずれの方法を用いた場合でも、 *.fig ファイルを含む全てのサブ・ディレクトリが リストに含められます。

制限

ライブラリに関しては次のような制限があります。 この制限は、上記のいずれの方法を用いて ライブラリを作成したかとは無関係です。


スプライン曲線について

スプライン曲線は、 指定された点によって制御されるなめらかな曲線です。

xfig描画モード・パネルでは、 次の4種類のスプライン曲線を選択することができます。 また、スプライン曲線を入力した後で、 SPLINE <-> LINE 機能 を用いてスプライン曲線の種類を変更することや、 それぞれの点の ``shape factor'' を調整して 曲線の形状を制御することもできます。

[Spline Curves]

スプラインを用いると、次のような曲線を容易に描画することができます。

[Spline Example]

X-Spline について

xfig の新しい X-Spline は、 より柔軟なものです。 スプライン曲線のそれぞれの点 (制御点) は ``shape factor'' を持っており、 shape factor の値がその点の近傍でのスプライン曲線の挙動を制御します。 shape factor の値は EDIT POINT 機能を用いて 個々の制御点ごとに独立して変更することが可能であり、 1つの曲線の中で近似スプライン、補間スプライン、 及び折れ線を混在させることもできます。

[Spline - Shape Factor]

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


Latin-1 キャラクタ (Compose キャラクタ)

TEXT 入力モードにおいて、 以下の Latin-1 キャラクタを COMPOSE (META) キーを用いて入力することができます。 例えば、``a umlaut'' を入力するためには、 COMPOSE キー (もしくは META キー、または ALT キー) を押して離し、 文字 ``a'' を、次に文字 ``"'' (二重引用符) を入力します。 ``c cedilla'' を入力するためには、 同様に COMPOSE、``c''、及び ``,'' を入力します。

[Latin-1 Characters]

Note: 文字 OE、及び oe は画面には表示されません。

全てのシステムにおいて、COMPOSE、META、及び ALT キーの全てを このために使用できるわけではありません。 また、Sun Workstations などのいくつかのシステムにおいては、META キーは Diamond Mark のように示されているかも知れません。

[I18N] 国際化 xfig を Latin-1 以外の文字セットを 用いる環境 (日本語や韓国語など) で使用している場合、 TEXT FONT で ``Times-Roman'' や ``Times-Bold'' が選択されている場合には、 これらの Latin-1 キャラクタを使用することはできません。


[ Contents | Introduction | Credits ]