Tgif のページ

初版   2001.9.6
最終更新 2009.4.30

今となっては Tgif はインターフェースが独自ですし、機能不足の 点も多いので、新規に使うにはお薦めできません。 しかし、かつて数値計算の研究を Unix で行うのがメジャーな時代は、 Tgif, xfig, idraw の 3 つがドローソフトとしては メジャーでした。ここでは、私が Tgif を使うときに得たノウハウを 書きます。

Tgif に関する情報は 東京 電機大学の松田先生のページに詳しくまとめられて います。

  1. Tgif の解像度

    Tgif の解像度はデフォルトでは 0.2 mm です。これはかなり粗い 解像度であり、gnuplot などで書いたグラフを Tgif で再編集すると、 ギザギザの線になってしまうことを意味しています。Tgif のホームページ の Faq を見ると、とりあえずの 緊急避難的処置として「レイアウト」→「拡大縮小」で 50% などと 指定するとよいと書かれています。

  2. 日本語入力の方法

    FreeBSD の Tgif においては ver 4.1 patch level 40 以降は 日本語入力の方法が変更されています。 以前のバージョンでは shift + space で仮名漢字変換の モードへ移行していたのですが、このバージョン以降は ctrl + \ に 変更されているようです。

  3. 美しい階調を表現する

    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 に 追加します。

  4. フォントのサイズを設定する

    Tgif ver 3 ではフォントのサイズを指定するには、「edit」→ 「SetSelFontSize」でポイント数を指定します。Tgif ver 4 では 「編集」→「各種設定」→「編集中の文字サイズ指定」で指定します。 フォントのサイズのバリエーションを増やしたい場合は、 .Xdefaults に次のように書きます。

    Tgif.FontSizes:		8 10 11 12 14 16 18 20 24 28 32 36 40
    

  5. Tgif で指定したフォントのサイズと PostScript プリンターから 出力されるフォントサイズを一致させる。

    デフォルトでは Tgif で指定したフォントサイズの 0.5618 倍が PS プリンター から出力されるサイズになります。これを避けるには、.Xdefaults に次のように 書きます。

    Tgif.ShowFontSizeInPoints:      true
    

  6. inch ではなく cm を使いたい

    .Xdefaults に次のように書きます。

    Tgif.InitialPaperSize:		21cm x 29.7cm
    Tgif.ShowMeasurementUnit:	cm
    Tgif.GridSystem:		Metric
    

    あるいは「レイアウト」→「表示/非表示」→「物差しの単位設定」。

  7. 矢印、吹き出しなど

    「編集」→「形」

  8. 上付き、下付き文字

    「編集」→「テキスト」→「右下(上)付き文字挿入」
    下(上)付き文字のサイズは「編集」→「テキスト」→「Set Script Fraction」

  9. 行間を空けたい

    2 行以上にわたるテキストの行間を空けるには、 メニューバーの下のアイコンのフォントの右横のアイコンを 左(または右)クリックします。

  10. 便利なメニューを常に画面に表示させたい

    「中クリック」→「灰色の文字の部分(タイル・ページ)を 左クリックして枠外へドラッグ」→ しばらく待つ → マウスの左ボタンを離す。 何らかのウィンドウが開いてメニューが表示されている状態で、左ドラッグ すると、そのウィンドウが独立したウィンドウとなって画面に残ります。

  11. オブジェクトの整列

    「アレンジ」→「水平方向に整列」「垂直方向に整列」のメニューで 整列方法を選ぶ。あるいは、画面左上のアイコンが集まっているコーナーの 左から 5 列目でマウスを左・右クリックして選ぶ。 「水平方向に(移動して)整列」のメニューの意味は「L : 左端を揃える」「C : 中央を揃える」 「R : 右端を揃える」「- : 整列なし」、 「垂直方向に(移動して)整列」のメニューの意味は「S : 等間隔で整列」「B : 底を揃える」 「M : 中心を揃える」「T : 上端を揃える」です。 このように整列方法を指定した後、「アレンジ」→「整列実行」あるいは ctrl + L で整列を 実行します。「整列実行」のメニューは上記の中クリックによって表示したメニューの中に は含まれていないので、迷わないように注意して下さい。

  12. 節点の追加、削除

    「編集」→「折れ線/多角形」→「頂点の追加」