[ English Version | Japanese Version ]

[ Contents | Operating Manual | New Features and Bugs Fixed
| Technical Informations | Authors ]

[ オプション、及びリソース | インストール | FAQ
| 日本語への対応 (あるいは国際化?) | Fig Format 3.2 ]

# 日本語への対応 (あるいは国際化?)

xfig 3.2、及び fig2dev 3.2 には 日本語を含んだテキストを取り扱えるようにするためのコードが含まれています。 これは日本語以外の言語についてはテストされていませんが、 基本的には X11R5 の標準の国際化 (I18N) メカニズムを使用しており、 僅かな変更で、もしくは変更を行なうことなく、 他の言語を取り扱うこともできるかも知れません。

日本語対応機能に関する質問などは、 VEF00200@nifty.ne.jp へお送り下さい。 日本のユーザーは、xfig そのものに関する質問なども この宛先へ送られても結構です。

## 日本語への対応

この日本語対応機能を用いると、 日本語の入力 に示したような方法で xfig 上で日本語 (そして他の言語も?) を含んだテキストを入力することが可能となります。

### 環境

日本語対応機能を使用するためには、以下の環境が必要です。

- X11R5、もしくは X11R6 のライブラリ、及び X サーバー
  (これらは適切に国際化されており、 かつ使用する入力メソッドとの接続が行なえるものでなければなりません。 基本的には X11R6 の使用を推奨します。)

- 適切な変換サーバー (Canna や Wnn など)、 及び入力メソッド (kinput2 や htt など)

- 日本語のフォント (例えば `jiskan16`)

### インストール

#### 日本語 xfig のインストール

1. xfig.3.2.1.tar.gz を入手し、 展開します。

2. `xfig.3.2.1/Imakefile` の、 ```#define I18N`'' のコメント・アウトを解除 (`XCOMM` を削除) します。

3. あなたのシステムの C ライブラリが日本語ロケールをサポートしているならば、 `I18N_DEFS` の定義から `-DSETLOCALE` を取り除きます。 C ライブラリが日本語ロケールをサポートしていないならば、 `-DSETLOCALE` が指定されていることを確認します。

4. xfig を 通常の手順でコンパイルし、インストールします。

#### 日本語 fig2dev のインストール

1. transfig.3.2.1.tar.gz を入手し、 展開します。

2. `transfig.3.2.1/fig2dev/Imakefile` の、 ```#define I18N`'' のコメント・アウトを解除 (`XCOMM` を削除) します。

3. `japanese.ps` ファイル (後述) を `/usr/local/lib/fig2dev` 以外のディレクトリにインストールしたいならば、 `-DFIG2DEV_LIBDIR` の指定を書き換えます。

4. transfig (fig2dev) を 通常の手順でコンパイルし、インストールします。

5. 以下の内容を、 `-DFIG2DEV_LIBDIR` で設定されたディレクトリ (通常は `/usr/local/lib/fig2dev`) に、 日本語を示すロケール名に ```.ps`'' を付けた名前 (`japanese.ps`、 `ja_JP.eucJP.ps` など) のファイルとしてセーブします。

           % japanese.ps for fig2dev 3.2
           16 dict begin
             /FontName /CompositeRoman def    /FontType 0 def
             /WMode 0 def    /FMapType 3 def    /FontMatrix matrix def
             /Encoding [0 1] def
             /FDepVector [ /Times-Roman findfont
               /Ryumin-Light-EUC-H findfont ] def
             FontName currentdict
             end
           definefont pop
           16 dict begin
             /FontName /CompositeBold def    /FontType 0 def
             /WMode 0 def    /FMapType 3 def    /FontMatrix matrix def
             /Encoding [0 1] def
             /FDepVector [ /Times-Bold findfont
               /GothicBBB-Medium-EUC-H findfont ] def
             FontName currentdict
             end
           definefont pop
           % end of japanese.ps

### 起動

1. 環境変数 `LANG` に、 日本語を示すロケール名 (`japanese`、`ja_JP.eucJP` など) を設定します。

2. 必要であれば、使用すべき入力メソッドを指定するために 環境変数 `XMODIFIERS` を設定します。

3. 適切な変換サーバー (Canna や Wnn など)、 及び入力メソッド (kinput2 や htt など) が使用可能であることを確認します。

4. ```xfig -international`'' を実行します。

   `-international` オプションを指定しなかった場合には、 通常の xfig と同様に動作します。 リソース・ファイルに ```Fig.international: true`'' のような行を追加しておけば、 `-international` オプションは不要となります。

### 日本語の入力

日本語対応機能を有効とすると、日本語を含んだテキストを TEXT 機能を用いて 入力することが可能となります。 テキストに日本語を含める場合には、 TEXT FONT で、 ``Times-Roman + 明朝''、もしくは ``Times-Bold + ゴシック'' を選択しておく必要があります。

日本語の入力は、TEXT モードにおいて テキストを入力する状態となっている時に、 日本語入力モードに切り替えるためのキーを押すことによって開始します。 どのキーを押すと日本語入力モードに切り替えられるかは 環境に依存しますが、 Shift-SPACE、Control-SPACE、Control-O、Control-\ などの いずれかとなっていることが多いものと思われます。 変換の方法なども環境に依存しますが、 通常はその環境における他のアプリケーションでの操作と共通となります。

入力のスタイルとしては Off the Spot、Over the Spot、 及び Root のいずれかを使用することができ、 どのスタイルを使用するかは `inputStyle` リソース、 もしくは `-inputStyle` オプションによって指定することができます。 例えば、`xfig -international -inputStyle OverTheSpot` とすると、 Over the Spot での入力を行なうようになります。

Off the Spot:
  変換中のテキストはキャンバスの下端に表示されます。 ほとんどの場合は、このスタイルを選択するのが無難でしょう。

Over the Spot:
  変換中のテキストは実際に入力を行なう箇所に表示され、 その場で変換を行なうことができます。 ただし、最終的な表示とは異なったフォントが使用されるため、 入力中の表示はやや奇妙なものになります。 また、環境などによっては、やや不自然な挙動を示したり、 あるいはキャンバス上の表示が乱れたりする可能性もあります。

Root:
  変換中のテキストは独立したウィンドウに表示されます。

### 補足

#### 画面への表示に用いるフォントの変更

デフォルトでは、画面への表示に用いるフォントの指定 (プログラムにハードコードされている) は、 おおよそどのようなシステムでも確実にフォントを見付けられるように、 かなり緩いものとしてあります:

        Fig.normalFontSet: -*-times-medium-r-normal--16-*-*-*-*-*-*-*,\
    	 -*-*-medium-r-normal--16-*-*-*-*-*-*-*,\
    	 -*-*-*-r-*--16-*-*-*-*-*-*-*
        Fig.boldFontSet: -*-times-bold-r-normal--16-*-*-*-*-*-*-*,\
    	 -*-*-bold-r-normal--16-*-*-*-*-*-*-*,\
    	 -*-*-*-r-*--16-*-*-*-*-*-*-*

しかし、このデフォルトの指定では 環境によってはあまり好ましくないフォントがロードされてしまう (好ましくない字体で表示されたり、xfig の起動に時間がかかったりする) 可能性もあります。 そのような場合には、リソース・ファイル (`app-defaults/Fig`) で フォントをより具体的に指定することによって、 指定したフォントをロードさせることが可能です:

        Fig*FontSet: -misc-fixed-medium-r-normal--14-*-*-*-*-*-*-*
        Fig.normalFontSet: -*-times-medium-r-normal--14-*-*-*-*-*-*-*,\
            -misc-fixed-medium-r-normal--14-*-*-*-*-*-*-*
        Fig.boldFontSet: -*-times-bold-r-normal--14-*-*-*-*-*-*-*,\
            -misc-fixed-medium-r-normal--14-*-*-*-*-*-*-*
        Fig.fontSetSize: 14

また、スケーラブルな日本語フォントが使用可能である場合 (例えば VFlib に対応した X サーバーを使用している場合など) には、次のように大きなフォントを指定することによって 文字の表示品質を改善することも可能です:

        Fig*FontSet: -*-times-medium-r-normal--16-*-*-*-*-*-*-*,\
            -foobar-mincho-medium-r-normal--16-*-*-*-*-*-*-*
        Fig.normalFontSet: -*-times-medium-r-normal--64-*-*-*-*-*-*-*,\
            -foobar-mincho-medium-r-normal--64-*-*-*-*-*-*-*
        Fig.boldFontSet: -*-times-bold-r-normal--64-*-*-*-*-*-*-*,\
            -foobar-gothic-medium-r-normal--64-*-*-*-*-*-*-*
        Fig.fontSetSize: 64

フォントの指定に際しては、 `normalFontSet`、及び `boldFontSet` に 同じサイズのフォントを指定し、かつ `fontSetSize` にそのサイズを設定する必要があることに注意して下さい。

#### PostScript 出力に用いるフォントの変更

デフォルトでは、PostScript 出力に際しては、日本語のフォントとしては Ryumin-Light、及び GothicBBB-Medium を用いるようになっています。

この指定は上記の `japanese.ps` ファイル に 書かれており、そのファイルを書き換えることによって 他のフォントに変更することができます。

例えば、`/Ryumin-Light-EUC-H` を `/HeiseiMin-W3-EUC-H` に、 `/GothicBBB-Medium-EUC-H` を `/HeiseiKakuGo-W5-EUC-H` に 書き換えれば、明朝体のフォントとして HeiseiMin-W3 を、 ゴシック体のフォントとして HeiseiKakuGo-W5 を使用するようになります。

#### 注意事項など

- Edit パネル上で 日本語テキストの編集を行なうことはできません。 ただし、テキストの編集は、 TEXT モードで キャンバス上で行なうことが可能です。

- テキストに日本語を含める場合には、 TEXT FONT で、 ``Times-Roman + 明朝''、もしくは ``Times-Bold + ゴシック'' を選択しておく必要があります。 これ以外のフォントが選択されている場合には、 通常の xfig と同様に Latin-1 キャラクタ が使用可能となります。

- テキストに含めることができるのは、ASCII、及び JIS-X-0208 の文字のみです。 環境がそれをサポートしている場合には JIS-X-0201 のカナ (半角カナ) や JIS-X-0212 (補助漢字) の文字を xfig 上で入力することはできますが、 fig2dev はそれらの文字を取り扱うことはできません。

- 原則として、マルチ・バイト文字列のエンコーディングとしては EUC を使うようにして下さい。 このためには、ロケール名 (環境変数 `LANG`) の指定を システムに応じて変える必要があるかも知れません。 システムによっては、`japanese` では EUC 以外のエンコーディングが選択される場合もあります。

- `international` リソースを設定する際には ```*international: true`'' や ```Fig*international: true`'' ではなく、 ```Fig.international: true`'' のように指定するようにして下さい。 これは、Text ウィジェットの国際化機能を有効とすると、 xfig が正常に動作しない場合があるためです。

  `.Xdefaults` などで ```*international: true`'' のような設定が行なわれている場合には、 明示的に ```Fig*international: false`'' と指定する 必要があるかも知れません。

- 残念ながら、X11R5 のシステムの多くにおいては、 xfig 3.2 の日本語入力機能を使用できるようにすることは難しいようです。 Solaris 2 の OpenWindows、及び Solaris CDE での動作は確認されていますが、 それ以外の X11R5 ベースのシステムでの動作については未確認です。

#### 動作確認済みの環境

現時点において、以下の環境での動作が報告されています。

      --------------------------------------------------
         Operating System     X           Input Method
      --------------------------------------------------
       SunOS 4.1            X11R6            kinput2
       Solaris 2.5          X11R6            kinput2
       Solaris 2.5-2.6      OpenWindows/CDE  htt/ATOK
       HP-UX 10.20          X11R6            kinput2
       IRIX 6.3*            X11R6            kinput2
       FreeBSD 2.2          X11R6            kinput2
       Slackware Linux 3.1  X11R6            kinput2
       RedHat Linux 4.2     X11R6            kinput2
      --------------------------------------------------

> * IRIX 6.3 では、IRIX の純正の `cc` (`gcc` ではなく) を用いて、 コンパイル・オプションとして `-N32 -mips3` を指定して コンパイルする必要があるかも知れません。 また、IRIX に含まれている JPEG ライブラリを使用せずに、 JPEG ライブラリのソースを入手してコンパイルする必要があるかも知れません。

## 国際化?

xfig 3.2 の日本語対応機能は日本語以外についてはテストされていませんが、 基本的には X11R5 の標準の国際化 (I18N) メカニズムを使用しており、 僅かな変更で、もしくは変更を行なうことなく、 他の言語も取り扱えるようになるものと思われます。 実際には、中国語 (`zh_CN.eucCN`) や韓国語 (`ko_KR.eucKR`) についても、その言語の文字の表示を行なえることのみは確認しております。

fig2dev はこれとは別ですが、 その言語に対応した LaTeX、及び/もしくは PostScript プリンタがあるならば、 僅かな変更でその言語に対応させられるものと思われます。

日本語以外の言語への対応を考えている方、 もしくは日本語以外の言語での動作を確認された方は、 VEF00200@nifty.ne.jp に連絡して下さい。

Goto TOP

written by us