タイ国,ノンタブリ県の田村です。
柘植さんに、またも助けられました。ありがどうございました。柘植さんのご
指摘がきっかけとなって,「簡単解決」の目処が立ちました。以下にその経緯
をご紹介し,最後に「暫定的総括案」を提案させていただきます。
>こんなふうにしました。
>
> 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
田村志緒理
|