Vitruvian Penguin
knoppix

[knoppix:3497] Re: 中国語入力システムChinputの導入手順について

Date: Sat, 26 Jun 2004 11:33:34 +0900 (JST)
X-mailer: FreeML Web Mailer XP; SP2
タイ国,ノンタブリ県の田村です。

柘植さんに、またも助けられました。ありがどうございました。柘植さんのご
指摘がきっかけとなって,「簡単解決」の目処が立ちました。以下にその経緯
をご紹介し,最後に「暫定的総括案」を提案させていただきます。

>こんなふうにしました。
>
> 1. apt-get install chinput
>
>  この段階では$HOME/.pyinputディレクトリは存在しません。
> 
> 2. chinputを実行してみます
>   $ chinput
>   Chinput Version 3.0.2 -- XIM Server
>   Distributed under the terms of the GNU General Public License (GPL)
>   Basic: Cannot open font -*-*-*-*-*--16-*-*-*-*-*-big5-0
>

柘植さんのところでは,最初からこのエラーが出たんですか。私の場合では、
柘植さんが次のステップでなさったのと同じように,xfonts-intl-chineseを
一度apt-getでインストールした後に、このエラーが出るようになりました。
chinputをインストールした直後には、次のようなエラーが出ました;
 Basic: Cannot open font 8x16

(なお私の場合、xfonts-intl-chineseはアンインストールしました。)

> 2. apt-get install xfonts-intl-chinese
> 
> 3. vi /usr/X11R6/lib/X11/fonts/misc/fonts.alias
>
>    8x16   -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-15
>  の最後の`5'を取って
>    8x16   -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1
>  とします。
> 
> 4. xset fp rehash

このご指摘がよいヒントになりました。呼び出すべきフォント名を編集すると
いうことまでは、これまで考えていませんでした。しかしながら、若干、心配
な点があります。これまでfonts.aliasを編集するという手法で問題の解決を
図ってきましたが、ご存知のようにfonts.aliasには「このファイルは自動更新
されるものだから、編集はしないこと」と書いてあります。ということは、再
び何か新しいフォントがこのmiscにインストールされると,fonts.aliasも書き
換えられて、せっかくの編集結果も消えてしまう可能性がある、ということで
す。

manページのupdate-fonts-alias(8)を呼び出してみたところ,どうもこの自動
更新の元ファイルは/etc/X11/fonts/以下に配置されているようですから,ここ
でも同じように編集しておけば,更新されても、編集結果が残るかもしれませ
ん。しかし、そこまで編集の手を伸ばすのには躊躇を感じます。ここで、考え
込んでしまいました。

それなら、いっそのことエイリアス名の使用をやめて、フォントの実名を使う
ようにするのが、一番安全ではないでしょうか。もう一度,パッケージマネー
ジャーを立ち上げて,chinputを構成するファイルを注意して調べてみました。

ありました。/etc/Chinput.ad という初期設定ファイルらしきものがあります。
さっそくエディタで開けてみると、70~74行目に;

 chinput.font      = 8x16
 !chinput.gbfont   = -default-song-medium-r-normal--16-*-*-*-*-*-gb2312.1980-0
 !chinput.big5font = -default-ming-medium-r-normal--16-*-*-*-*-*-big5-0
 chinput.gbfont    = -*-*-*-*-*--16-*-*-*-*-*-gb2312.1980-0
 chinput.big5font  = -*-*-*-*-*--16-*-*-*-*-*-big5-0

と書いてあります。編集の跡も残っています。このうち、エイリアスは8x16だ
けで、他は全て実名ですから,chinput.fontも実名にして大丈夫だと予想され
ました。問題は8x16の実名です。それは、zh-fonts.tar.gzに同梱されていた
fonts.aliasに書いてあるはずなので,それを開くと;

 8x16      -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1
 cclib16_1 ccs16_1

とあります。"-sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1"
がその実名です。もちろんこれは、柘植さんがエイリアス名8x16の指定先として
編集なさったのと同一です。そこで、Chinput.adの既存の行をコメントアウトし,
新たに実名を書き込みました;

 !chinput.font     = 8x16
 chinput.font      = -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1
 !chinput.gbfont   = -default-song-medium-r-normal--16-*-*-*-*-*-gb2312.1980-0
 !chinput.big5font = -default-ming-medium-r-normal--16-*-*-*-*-*-big5-0
 chinput.gbfont    = -*-*-*-*-*--16-*-*-*-*-*-gb2312.1980-0
 chinput.big5font  = -*-*-*-*-*--16-*-*-*-*-*-big5-0

さて、ここで指定されている3つのフォントを確認してみます;
 (1) -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1
 (2) -*-*-*-*-*--16-*-*-*-*-*-gb2312.1980-0
 (3) -*-*-*-*-*--16-*-*-*-*-*-big5-0

これらに相当するものは,どのフォントファイルなのでしょうか。それを調べる
ために、一旦、原状を回復してみました。私の場合,zh-fonts.tar.gzに含まれ
ていた2つのフォントをmisc内に配置していましたから,まずそれを削除してから
fonts.dirを作り直し、その中身を検索してみました;
 # cd /usr/X11R6/lib/X11/fonts/misc
 # rm -f ccs16_1.pcf.Z taipei16.pcf.Z
 # mkfontdir
 # xset fp rehash
 # grep 'sony-fixed-medium-r-normal-r--16' fonts.dir
 8x16.pcf.gz -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1
 8x16rk.pcf.gz -sony-fixed-medium-r-normal--16-120-100-100-c-80-jisx0201.1976-0

ありました。8x16.pcf.gzというフォントファイルが1つ目です。2つ目;
 # grep 'gb2312.1980-0' fonts.dir
 gb16st.pcf.gz -isas-song ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0
 gb24st.pcf.gz -isas-song ti-medium-r-normal--24-240-72-72-c-240-gb2312.1980-0
 gb16fs.pcf.gz -isas-fangsong ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980
-0

16ptのフォントが2つあります。gb16st.pcf.gzとgb16fs.pcf.gzです。3つ目;
 # grep 'big5-0' fonts.dir
 # grep 'big5-0' fonts.alias
 #

ありません。したがって、(1)と(2)はchinputを導入する以前から既に存在
するらしいのです。(3)だけが足りません。この状態でchinputを起動したら、
やはりエラーがでるだろうな、と予想しながら試してみると;
 # chinput
 Chinput Version 3.0.2 -- XIM Server
 Distributed under the terms of the GNU General Public License (GPL)
 Chinput ................................................[OK] 
 #

正常に起動しました。ということは、(3)は無くても良い、ということでしょ
うか。実際,繁体字用にLANG=zh_TW.Big5を指定した場合でも,chinputが
変換候補一覧に表示するのは簡体字であって,繁体字は一切使用されていま
せん。打ち込むと繁体字になります。

 ? それにしても、謎が残ります。柘植さんのご報告にもありましたように,
     Basic: Cannot open font -*-*-*-*-*--16-*-*-*-*-*-big5-0
    というエラーメッセージが出ることがあるのです。私の場合はxfonts-
    intl-chineseをインストールして後に出ました。どうしてそうなるのか、
    まだ詳しく追跡できていません。

したがいまして、ご報告いたした導入手順は大幅に訂正しなくてはならなく
なりました。まず「問題1:ビットマップフォントがインストールされない」
と申しましたが、これは撤回いたします。現時点では確定的なことはまだ申
せませんが,chinputの起動に関しては、新たなビットマップフォントのイン
ストールは必要なし,ということになります。

必然的に「問題2:ビットマップフォントが認識されない」も無用の論難と
して撤回いたします。必要なことは/etc/Chinput.adのフォント指定を実名
に換えるだけ、という結論に至りました。

//暫定的総括案//
方針が多少右往左往してしまいましたので,私がたどり着いた暫定的な結
論をここで簡単にまとめさせていただきます。chinput導入の手順は,以下
のようになります;

[1] chinputのパッケージをインストールする
   # apt-get install chinput
   * unicon-im,libpth2,ttf-arphic-gbsn00lpも自動的に導入される

[2] /etc/Chinput.adを編集し、"8x16"の代わりに実名を使用する
   * 実名:-sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1

[3] 日本語メニューに不具合が生じたら、応急対策をとる
   * K-->コントロールセンター-->外観&テーマ-->フォント-->一般
     Kochi Gothic 12を指定て,アンティエイリアスを有効にする

[4] 作動が不安定なら,.pyinput内のモードを変更する
   $ chmod -R 644 ./pyinput

[5] 希望により,追加のtruetypeフォントを導入する
   * 簡体字:ttf-arphic-bkai00mp
     繁体字:ttf-arphic-gbsn00lp,ttf-arphic-gkai00mp

こんなに簡単になりました。これで暫く様子を見てみようと思います。
皆さま方にもお試しいただき,問題が生じましたら,是非お知らせいた
だきたいと存じます。今回も柘植さんには、大変お世話になりました。
お教えいただいた汎用スクリプトを活用いたしたいと存じます。今後も、
ご鞭撻のほど、宜しくお願いいたします。

2004-06-25
田村志緒理
<Prev in Thread] Current Thread [Next in Thread>