Tgif FAQ - 2 バイト文字の入力


注意:

このページは、 Tgif ホームページ にある FAQ のページ を、竹野研究室 (主に竹野) が日本語に翻訳したものです。 オリジナルサイトの作者 (Bill Cheng 氏) の許可の元、ここに公開します。

FAQ 以外のページへのリンクは、 ほとんどがオリジナルページへのリンクになっていますので、 日本語訳はされていません (ただし、そのうち主なものは今後日本語訳することも考えています)。 また、ここに書かれているリンク先やソフトウェアなどの情報は、 書かれてからかなり年月が経っていますので、 リンク切れになっていたり、 現在の状況には合わない情報である可能性もあります。

この日本語訳のページに関する意見や質問は、 オリジナルサイトの作者ではなく、 竹野 にお願いいたします。

(05/31 2017)

このページのオリジナルサイト: http://bourbon.usc.edu/tgif/faq/db-input.html

目次へ戻る


 
tgif-4.2.3 以後ずっと日本語文字 (EUC フォント) に対して tgif は不正な PS/EPS ファイルを作ります。 これを修正することはできますか ?
パッチ tgif-QPL-4.2-patch5b を適用してください。すみませんバグです !
xcin をコンパイルしましたが、 tgif-4.x 内で呼び出す方法がわかりません。 マニュアルは中国語の入力方法についてわかりやすくありません。 どこか良いサイトを教えてもらえませんか ?
私は xcin に詳しくはありませんが、 以下のようにしていくつかの文字を入力できました:

  1. あなたの X リソースファイルに、 以下のようなものがあるか確認してください。

              Tgif.DoubleByteInputMethod: xcin
              Tgif.SquareDoubleByteFonts: \n\
                -hku-fixed-medium-r-normal--%d-*-*-*-*-*-big5.hku-0,*,HKU \n\
                -hku-fixed-medium-r-normal--%d-*-*-*-*-*-big5.hku-0,*,HKU \n\
                -hku-fixed-medium-r-normal--%d-*-*-*-*-*-big5.hku-0,*,HKU \n\
                -hku-fixed-medium-r-normal--%d-*-*-*-*-*-big5.hku-0,*,HKU
              

    私は hku-ch16 と HKU PostScript フォント (これは実際には存在しません -- 例としてそれを使う形にしているだけです) を使います。

  2. xcin を起動します。そして tgif を起動して、 HKU フォントを選択します。

  3. <Cntrl><Space> を打ちます。 これで xcin が有効になるはずです。 xcin ウィンドウの部分が赤くなり、 タイトルバーが "Phonetic" に変わります。

  4. "hak1" を打てば中国語の 2 が出ます。

  5. <Cntrl><Space> を再び打てば xcin は無効になります。 tgif は、有効なフォントが 2 バイトフォントのときに、 有効な DoubleByteInputMethod と通信するのみであることに注意してください。 有効なフォントは、そのウィンドウ内にアイコンで表示されます。 テキストカーソルを 1 バイトフォントと 2 バイトフォントの間を 動かしてみることで、それが変わることを確認できるでしょう。
 
えーと、 どこで xcin を取得できますか ?
xcin のホームページ から取得できます。バージョン 2.5 は XIM プロトコルを使うと 考えられていました (だから Tgif.DoubleByteInputMethod を xim に変更する必要があるでしょう) が、私は試した (試せた) ことがありません。あなたが試してみたのなら、 tgif でそれが動作するか教えてください。
 
Fedora Core 3 を使っていますが、 xcin を tgif で使うようにできません。 tgif で、繁体字中国語を入力するもっと簡単な方法はありませんか ? また、繁体字中国語が綺麗に表示されるような postscript ファイルも生成したいのですが、それは可能ですか ?
あなたが zhu-yin-fu-hao を良く知っていれば好都合です。 Tgif は、繁体字中国語の入力に関して zhu-yin-fu-hao 入力メソッドを組み込んでいます。 tgif はこの入力メソッドを tgtwb5 と呼んでいます。

以下の X リソースの設定を試してみてください:

        Tgif.ShanHeiSunShowFontChar: \244\255
        Tgif.ZenKaiShowFontChar:     \244\255
        Tgif.DoubleByteInputMethod:  tgtwb5,-taipei-fixed-medium-r-normal--16-150-75-75-c-160-big5-0
        Tgif.SquareDoubleByteFonts: \n\
          -taipei-fixed-medium-r-normal--%d-*-*-*-*-*-big5-0,*,ShanHeiSun-Light-B5-H\n\
          -taipei-fixed-medium-r-normal--%d-*-*-*-*-*-big5-0,*,ShanHeiSun-Light-B5-H\n\
          -taipei-fixed-medium-r-normal--%d-*-*-*-*-*-big5-0,*,ZenKai-Medium-B5-H\n\
          -taipei-fixed-medium-r-normal--%d-*-*-*-*-*-big5-0,*,ZenKai-Medium-B5-H
        
上では、taipei-fixed フォントを入力メソッドと tgif のテキストの両方で使用します。 私の知る限り、Linux マシン上では taipei-fixed フォントは 16 と 24 のフォントサイズしか使えないようです。

上では、ShanHeiSunZenKai の 2 つの PostScript フォントも使用しています。 これらのフォントは Linux マシン上で利用可能です。 あなたのマシンにこれらがあるかどうか確認するには、 まず ghostscript ライブラリの場所を探す必要があります。 "gs -help" として、その検索パス (search path) を見てください。 /usr/share/ghostscript/###/lib のように書かれているはずです。

例えば、ghostscript 7.07 をインストールしていれば、 上の ###7.07 となっているでしょう。 その ghostscript ライブラリディレクトリにあるファイル CIDFnmap.ARP の中を見てください。そこに以下のような行が必要です:

        % Adobe-CNS1

        /ZenKai-Medium    (bkai00mp.ttf) ;
        /ShanHeiSun-Light (bsmi00lp.ttf) ;
       

ghostscript の新しい版 (例えば ghostscript 8.71 など) では、 違うファイルと、違う書式が使われています。 以下の行を /usr/share/ghostscript/###/Resource/Init/cidfmap.GS (cygwin ではこれは /usr/share/ghostscript/###/lib/cidfmap です) に書いてください:

        /ZenKai-Medium     << /FileType /TrueType /Path (/usr/share/fonts/cjkuni-ukai/ukai.ttc) /CSI [(CNS1) 4] >> ;
        /ShanHeiSun-Light  << /FileType /TrueType /Path (/usr/share/fonts/cjkuni-uming/uming.ttc) /CSI [(CNS1) 4] >> ;
        /Adobe-CNS1        /ShanHeiSun-Light ;
        
また、gs は動くのに、 どうしたことか ps2pdf が動かない場合、 環境変数 GS_FONTPATH を設定してそれでうまくいくか見てください。 以下を試してみてください:
        setenv GS_FONTPATH /usr/share/fonts/cjkuni-ukai:/usr/share/fonts/cjkuni-uming
        

上のすべての設定の下、以下のようにします:

  1. tgif を起動
  2. フォントサイズを 16 に変更
  3. フォントを ShanHeiSun に変更
  4. テキスト描画モードに進む
  5. キャンバスウィンドウ内でマウスクリック
  6. <Cntrl><Space> (または <Cntrl><Shift><Space>) を押すと zhu-yin-fu-hao 入力メソッド ("Traditional Chinese (zh_TW.Big5) Keypad" というタイトルのポップアップウィンドウ) が現れるはずです。
  7. 数字記号が後ろに続く zhu-yin-fu-hao 記号の周りをクリックします。 数字記号上をクリックした後の場合のみ、 中国語を選択する一覧が現れます。
  8. または、英語文字列の後ろに 1 から 5 までの数字がついたものを入力する ピンイン (pinyin) を使うこともできます。 <Enter> を押すと中国語を選択する一覧が現れます。
  9. これで PostScript フォーマットで印刷 (print/export) すると、 高品質の出力が得られるはずです。

以下は zhu-yin-fu-hao 入力メソッドのスクリーンショットです:

上のファイルの PostScript 出力は、 ここ にあります。 以下は PostScript プレビューソフトのスクリーンショットです:
 
簡体字中国語を入力したい場合はどうしたらいいですか ?
の設定の代わりに、 以下を行う必要があります。

バージョン 4.2.3 以降、 tgif は簡体字中国語を入力するピンイン入力メソッドを組み込んでいます。 tgif はこの入力メソッドを tgchgb と呼んでいます。

以下の X リソースの設定を試してみてください:

        Tgif.MSungGBKShowFontChar: \271\372
        Tgif.GBZenKaiShowFontChar: \271\372
        Tgif.DoubleByteInputMethod:  tgchgb,-isas-fangsong ti-medium-r-normal--16-150-75-75-c-160-gb2312.1980-0
        Tgif.SquareDoubleByteFonts: \n\
          -isas-fangsong ti-medium-r-normal--%d-*-*-*-*-*-gb2312.1980-0,*,MSungGBK-Light-GB-H\n\
          -isas-fangsong ti-medium-r-normal--%d-*-*-*-*-*-gb2312.1980-0,*,MSungGBK-Light-GB-H\n\
          -isas-song ti-medium-r-normal--%d-*-*-*-*-*-gb2312.1980-0,*,GBZenKai-Medium-GB-H\n\
          -isas-song ti-medium-r-normal--%d-*-*-*-*-*-gb2312.1980-0,*,GBZenKai-Medium-GB-H\n\
        
上では、isas-fangsong ti フォントを入力メソッドと tgif のテキストの両方で使用します。

上では、MSungGBKGBZenKai の 2 つの TrueType フォントも使用しています。 これらのフォントは Linux マシン上で利用可能で、通常は、 メインフォントディレクトリ (典型的には /usr/share/fonts) のサブディレクトリ cjkuni-ukai, cjkuni-uming にあります。

ghostscript の新しい版 (例えば ghostscript 8.71 など) では、 違うファイルと、違う書式が使われています。 以下の行を /usr/share/ghostscript/###/Resource/Init/cidfmap.GS (cygwin ではこれは /usr/share/ghostscript/###/lib/cidfmap です) に書いてください:

        /BousungEG-Light-GB  << /FileType /TrueType /Path (/usr/share/fonts/cjkuni-uming/uming.ttc) /CSI [(GB1) 4] >> ;
        /GBZenKai-Medium     << /FileType /TrueType /Path (/usr/share/fonts/cjkuni-ukai/ukai.ttc) /CSI [(GB1) 4] >> ;
        /MSungGBK-Light      /BousungEG-Light-GB ;
        /Adobe-GB1           /BousungEG-Light-GB ;
	
また、gs は動くのに、 どうしたことか ps2pdf が動かない場合、 環境変数 GS_FONTPATH を設定してそれでうまくいくか見てください。 以下を試してみてください:
        setenv GS_FONTPATH /usr/share/fonts/cjkuni-ukai:/usr/share/fonts/cjkuni-uming
        

上のすべての設定の下、以下のようにします:

  1. tgif を起動
  2. フォントサイズを 16 に変更
  3. フォントを MSungGBK に変更
  4. テキスト描画モードに進む
  5. キャンバスウィンドウ内でマウスクリック
  6. <Cntrl><Space> (または <Cntrl><Shift><Space>) を押すと ピンイン入力メソッド (zhu-yin-fu-hao キーパッド付き) が現れるはずです。
  7. そのポップアップウィンドウは、 ほとんど繁体字中国語入力ウィンドウと同じで (上記参照)、違いはタイトルバーに "Simplified Chinese (zh_CN.euc) Keypad" と書かれていることだけです。
  8. 数字記号が後ろに続く zhu-yin-fu-hao 記号の周りをクリックします。 数字記号上をクリックした後の場合のみ、 中国語を選択する一覧が現れます。
  9. または、英語文字列の後ろに 1 から 5 までの数字がついたものを入力する ピンイン (pinyin) を使うこともできます。 <Enter> を押すと中国語を選択する一覧が現れます。
  10. これで PostScript フォーマットで印刷 (print/export) すると、 高品質の出力が得られるはずです。
 
Fedora Core 3 では、 上に説明されていることはすべてうまくいったのですが、 Fedora Core 5 に更新してからはうまくいなかなくなりました。 どうしたらいいでしょうか ?
taipei フォントが Fedora Core 5 にはついてないように 見えるかもしれませんが、実際はそうではありません。 /etc/X11/fs/config を開いて、 文字列 "chinese" を探してみると、 以下のような行がそこにあるはずです:
      /usr/share/fonts/chinese/TrueType
      
taipei フォントは、 /usr/share/fonts/chinese/misc にありますので、 上の行を以下のように変更する必要があります:
      /usr/share/fonts/chinese/TrueType,
      /usr/share/fonts/chinese/misc
      
上のコンマに注意してください ! コンマをつけ忘れるか、不要なコンマをつけてしまうと、 X サーバが立ち上がらなくなるかもしれません。 カタログ キーに関する行が正しい書式であるかどうか 良く確認してください。 その中の行は、最後の行以外のすべての行が コンマで終わっている必要があります。

他の問題として、PostScript 用の中国フォントが Fedora Core 5 にはついていないように見えます。 よって中国語を含む PostScript ファイルを作った場合、 それを evinceacroread で見ようとすると たくさんエラーが出てしまうでしょう。 しかし、それを gs -sDEVICE=x11 で見ると、 gs (か ghostscript) は何も問題なく PostScript 用中国フォントを見つけます (それはそれが /etc/ghostscript/* の情報を使うからです)。 これを解決する方法は知りません。 私のお勧めは、そのような PostScript ファイルを見る場合は とりあえず gs を使うようにすることです (私はむしろ gv-3.5.8 を使いたいのですが、 Fedora Core 5 でコンパイルできていません)。
 
tgif で日本語を入力するには どうしたらいいでしょうか ?
日本語を入力するのに kinput2 のようなものを使っている場合は、 以下のようなものを試してください:

        Tgif.DoubleByteInputMethod: kinput2
        Tgif.SquareDoubleByteFonts: \n\
          -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,Ryumin-Light-EUC-H\n\
          -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,Ryumin-Light-EUC-H\n\
          -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,Ryumin-Light-EUC-H\n\
          -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,Ryumin-Light-EUC-H\n\
          \n\
          -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,GothicBBB-Medium-EUC-H\n\
          -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,GothicBBB-Medium-EUC-H\n\
          -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,GothicBBB-Medium-EUC-H\n\
          -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,H,GothicBBB-Medium-EUC-H\n\
          \n\
          -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,Ryumin-Light-EUC-V\n\
          -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,Ryumin-Light-EUC-V\n\
          -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,Ryumin-Light-EUC-V\n\
          -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,Ryumin-Light-EUC-V\n\
          \n\
          -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,GothicBBB-Medium-EUC-V\n\
          -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,GothicBBB-Medium-EUC-V\n\
          -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,GothicBBB-Medium-EUC-V\n\
          -jis-fixed-medium-r-*--%d-*-*-*-*-*-jisx0208.1983-*,V,GothicBBB-Medium-EUC-V
        
上の 4 つのフォントの一つを選択すれば <Cntrl><Space> (だったでしょうか。 kinput2 を呼び出す正しい方法は忘れました) 打って kinput2 を有効にすることができます。

tgif のソース配布物に付属する tgif.Xdefaults には他の X リソース値も書かれていますが、それも確認してください。 "DoubleByte related" と書いてある場所を探し、 その下を見てください。
 
日本語の入力はできるのですが、 tgif で PS ファイルを作ってそれを ghostscript で見ようとすると Ryumin-Light-EUC-H フォントが見つからないという エラーメッセージがでます。ちゃんと動くようにできますか ?
以下を参照してください。 http://www2.enel.ucalgary.ca/People/far/howto/gs-ttf.html