初版 2001.9.6
最終更新 2009.4.30
今となっては Tgif はインターフェースが独自ですし、機能不足の 点も多いので、新規に使うにはお薦めできません。 しかし、かつて数値計算の研究を Unix で行うのがメジャーな時代は、 Tgif, xfig, idraw の 3 つがドローソフトとしては メジャーでした。ここでは、私が Tgif を使うときに得たノウハウを 書きます。
Tgif に関する情報は 東京 電機大学の松田先生のページに詳しくまとめられて います。
Tgif の解像度はデフォルトでは 0.2 mm です。これはかなり粗い 解像度であり、gnuplot などで書いたグラフを Tgif で再編集すると、 ギザギザの線になってしまうことを意味しています。Tgif のホームページ の Faq を見ると、とりあえずの 緊急避難的処置として「レイアウト」→「拡大縮小」で 50% などと 指定するとよいと書かれています。
FreeBSD の Tgif においては ver 4.1 patch level 40 以降は 日本語入力の方法が変更されています。 以前のバージョンでは shift + space で仮名漢字変換の モードへ移行していたのですが、このバージョン以降は ctrl + \ に 変更されているようです。
Tgif で使える塗りつぶしパターンは、Tgif が 独自に定義しているビットマップです。ところが、このビットマップは かなり粗いので、美しくありません。 おそらくレーザープリンターの解像度が 300 dpi の 時代に設計されたのでこのようになっているのでしょう。 特に、枠なしの塗りつぶしは、塗りつぶし領域の境界がはっきりしません。
塗りつぶしは PostScript 命令の setgray 命令で 階調を指定して fill 命令で塗りつぶす方が圧倒的に美しいです(ただし、 この方法は出力デバイスの解像度によって塗りつぶしのきめ細かさが 異なります)。
そこで、次のようにすると美しい階調表現が得られます。 なお、この方法は富山県立大学の 浦島智先生に教えてもらいました。この場を借りてお礼を申し上げます。
それには、各自の .Xdefaults ファイルを次のように 書きます。
Tgif.DefaultColorIndex: 9 Tgif.MaxColors: 20 Tgif.Color0: magenta Tgif.Color1: red Tgif.Color2: green Tgif.Color3: blue Tgif.Color4: yellow Tgif.Color5: pink Tgif.Color6: cyan Tgif.Color7: CadetBlue Tgif.Color8: white Tgif.Color9: black Tgif.Color10: #ffffff Tgif.Color11: #e0e0e0 Tgif.Color12: #d0d0d0 Tgif.Color13: #c0c0c0 Tgif.Color14: #b0b0b0 Tgif.Color15: #a0a0a0 Tgif.Color16: #808080 Tgif.Color17: #404040 Tgif.Color18: #000000 Tgif.Color19: orange
カラーで出力するには、Tgif ver 3 の場合、「Layout」メニューで 「ColorPS」を選んでおきます。 Tgif ver 4 の場合、「ファイル」メニューの「印刷/(カラー/白黒)」で カラーを選んでおきます。
カラーファイルはモノクロデバイスでも出力できます。 ポストスクリプトのリファレンスマニュアルによると、 モノクロデバイスの場合、 rgb で指定された色は NTSC の規格に従い、次の式で 白黒階調に変換されます。
gray = 0.3 * red + 0.59 * green + 0.11 * blue
なお、Color table の定義方法は、次のようにして見つけました。
% which tgif
で tgif のありかを調べます。FreeBSD 3.5.1 の場合、 /usr/X11R6/bin にありました。そこで、
% cd /usr/X11R6/bin % strings tgif | grep /usr
として、バイナリファイル tgif に含まれる ascii 文字列を 全て書き出し、その中から /usr を含む文字列を抜き出します。 これは、設定ファイルの場所は恐らく /usr からはじまるパス を含んでいるだとうという推測に基づいています。 /usr/X11R6/lib/X11/tgif というディレクトリを見つけました。
% cd /usr/X11R6/lib/X11/tgif % ls
すると、tgif.Xdefaults というファイルがありました。この中に サンプルが入っていました。見よう見まねで自分の .Xdefaults に 追加します。
Tgif ver 3 ではフォントのサイズを指定するには、「edit」→ 「SetSelFontSize」でポイント数を指定します。Tgif ver 4 では 「編集」→「各種設定」→「編集中の文字サイズ指定」で指定します。 フォントのサイズのバリエーションを増やしたい場合は、 .Xdefaults に次のように書きます。
Tgif.FontSizes: 8 10 11 12 14 16 18 20 24 28 32 36 40
デフォルトでは Tgif で指定したフォントサイズの 0.5618 倍が PS プリンター から出力されるサイズになります。これを避けるには、.Xdefaults に次のように 書きます。
Tgif.ShowFontSizeInPoints: true
.Xdefaults に次のように書きます。
Tgif.InitialPaperSize: 21cm x 29.7cm Tgif.ShowMeasurementUnit: cm Tgif.GridSystem: Metric
あるいは「レイアウト」→「表示/非表示」→「物差しの単位設定」。
「編集」→「形」
「編集」→「テキスト」→「右下(上)付き文字挿入」
下(上)付き文字のサイズは「編集」→「テキスト」→「Set Script Fraction」
2 行以上にわたるテキストの行間を空けるには、 メニューバーの下のアイコンのフォントの右横のアイコンを 左(または右)クリックします。
「中クリック」→「灰色の文字の部分(タイル・ページ)を 左クリックして枠外へドラッグ」→ しばらく待つ → マウスの左ボタンを離す。 何らかのウィンドウが開いてメニューが表示されている状態で、左ドラッグ すると、そのウィンドウが独立したウィンドウとなって画面に残ります。
「アレンジ」→「水平方向に整列」「垂直方向に整列」のメニューで 整列方法を選ぶ。あるいは、画面左上のアイコンが集まっているコーナーの 左から 5 列目でマウスを左・右クリックして選ぶ。 「水平方向に(移動して)整列」のメニューの意味は「L : 左端を揃える」「C : 中央を揃える」 「R : 右端を揃える」「- : 整列なし」、 「垂直方向に(移動して)整列」のメニューの意味は「S : 等間隔で整列」「B : 底を揃える」 「M : 中心を揃える」「T : 上端を揃える」です。 このように整列方法を指定した後、「アレンジ」→「整列実行」あるいは ctrl + L で整列を 実行します。「整列実行」のメニューは上記の中クリックによって表示したメニューの中に は含まれていないので、迷わないように注意して下さい。
「編集」→「折れ線/多角形」→「頂点の追加」