タイ国、ノンタブリ県の田村です。
当MLの皆さまのご指導を受けて、少しずつですが、KNOPPIX
再構成のスキルも向上してきました。今回、念願の中国語入力
システムchinputの組込みに成功いたしましたので、ご報告い
たします。現時点ではHDインストール上での作動確認だけです。
本来でしたら、再構成後、CDイメージを公開して皆さまに検証
していただくところですが、ファイルをアップロードする場所
をネット上に持ち合わせませんので、ここでその手順を公表し、
皆さま方自身にそれをお試しいただきたいと願っています。
中国語入力に関しましては、既にKNOPPIX-CJKが公開されてい
ますが、残念ながらV3.2 20030414以降、アップデートされて
いません。
http://homepage3.nifty.com/shinchandesu/
そこで、これを参考にさせていただき、AIST版KNOPPIX V3.4
(20040510-20040520)にchinputを導入してみました。結論か
ら申し上げると、chinput自体は既にDebianのパッケージが存
在しますから、apt-getでインストールすることができます。
しかし、それだけでは足りないことがわかりました。5つほど
の難関があり、それらを克服しなければなりませんでした。
その問題点と解決策を以下にご紹介します。
◎ 問題1:ビットマップフォントがインストールされない
ーーーーーーーーーーーーーーーーーーーーーーーーーー
chinputのパッケージは、ご存知の様に;
# apt-get install chinput
で導入できます。その際に以下の3つのパッケージも同時にイン
ストールされました;
1. unicon-im
2. libpth2
3. ttf-arphic-gbsn00lp
完了後、さっそく起動してみましたが、「8x16が読み込まれな
い」というエラーメッセージが出て終了してしまいます。どう
も、変換ウインドーで使用されるビットマップフォントが足り
ないようなのです。
ところで、Debianのパッケージにはxfonts-intl-chinese,
xfonts-intl-chinese-bigという2つが用意されていますが、こ
れらをインストールしても解決できませんでした。容量も大き
いし、日本語版linux上で中国語を併用するという限定的な目
的のためには不要のようです。
/解決策/
そこで、chinputの原作者(と思われる)のホームページを探して
調べてみました;
http://www.opencjk.org/~yumj/project-chinput.html
そこの記述からすると、tarballからインストールする場合には、
以下の4つのソースが必要なようです;
1. Chinput-3.0.2.tar.gz
2. unicon2-im.tar.gz
3. pth-1.4.0.tar.gz
4. zh-fonts.tar.gz
この最後のものが探していたビットマップフォントです。これを
ダウンロードして解凍すると、miscというダイレクトリーが出て
きます;
# tar -xvzf zh-fonts.tar.gz
misc/
misc/fonts.alias
misc/fonts.dir
misc/ccs16_1.pcf.Z
misc/taipei16.pcf.Z
◎ 問題2:ビットマップフォントが認識されない
ーーーーーーーーーーーーーーーーーーーーーーー
上記2つのフォントを原作者の解説にしたがってインストールし
てみました;
http://www.opencjk.org/~yumj/chinput/install.html
それによると、
# cd misc
# cp *.Z /usr/X11R6/lib/X11/fonts/misc
# cat fonts.alias >> /usr/X11R6/lib/X11/fonts/misc/fonts.alias
# cd /usr/X11R6/lib/X11/fonts/misc
# mkfontdir
# xset fp rehash
これでよいはずなのですが、その通りにやっても、なぜか以前と
同様のエラーが出ます。フォントがうまく認識されないようです。
/解決策/
そこで上記の作業を一旦白紙に戻した上で、独立のダイレクトリー
としてこの2つのビットマップフォントを登録することにしました;
# mv /home/knoppix/misc /usr/X11R6/lib/X11/fonts/zh-misc
そして、/etc/X11以下の4つの設定ファイルを編集しました;
1. XF86config
2. XF86config-4
3. XF86config.in
4. XF86config-4.in
これらの中のSection "Files"にまず、次の1行を加えました;
FontPath "/usr/X11R6/lib/X11/fonts/zh-misc:unscaled"
念のため、システムを再起動して、chinputの起動を試みました
が、またもや例のエラーがでます。しかたがないので手動で試み
ました;
$ xset +fp /usr/X11R6/lib/X11/fonts/zh-misc
$ xset fp rehash
$ chinput &
これでやっと起動に成功しました。ところがこのコマンド、起動
毎に繰り返さなくてはいけないのです。しかし、75dpi, 100dpi,
miscなど、他のビットマップフォントは自動的に認識されていま
すよね。どこに違いがあるのでしょうか。それで初めて気がつき
ました。1行ではなく、2行加えなくてはならないのです。つまり;
FontPath "/usr/X11R6/lib/X11/fonts/zh-misc:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/zh-misc"
なぜかは知りませんが、これでやっと新しいダイレクトリーが自
動的に認識され、chinputが起動するようになりました。もしか
たら1行目は不要なのかもしれませんが,ビットマップフォント
なので、これはそのまま残しておくことにしました。
◎問題3:chinputの設定ファイルが読み込まれない
ーーーーーーーーーーーーーーーーーーーーーーーー
さて、これで起動するにはしますが、別のエラーが出るようにな
りました。次の2つのファイルが開けないようなのです;
1. /home/knoppix/.pyinput/sysfrequency.tab
2. /home/knoppix/.pyinput/usrpfrase.tab
おそらく変換の学習記録とユーザ辞書ではないかと思いますが、
こうした場合、初めて起動したときに自動的にダイレクトリーと
設定ファイルが作成され、次回からはこのようなエラーは出なく
なるのが普通です。そう思って無視していたんですが、起動と終
了を何度繰り返しても、同様のエラーが出続けます。とりあえず
この状態で、後ほどご説明するスクリプトからOOoを立ち上げ、
ctrl+spaceでchinputを有効にし、入力してみました。ピンイン
です。確かに入力できますが、一旦直接入力に戻すと、二度と
chinputが有効になりません。どうも、設定ファイルへの書き込
みができないために、直接入力に切り換えた途端,chinputのプ
ロセスが死んでしまうようです。
$ ps -A|grep -c "chinput"
0
/解決策/
そこで.pyinputの中を調べてみました;
$ cd .pyinput
$ ls -l
合計44
-rwx------ 1 knoppix knoppix 43864 |~| sysfrequency.tab
-rw------- 1 knoppix knoppix 0 |~| usrphrase.tab
何ともモードが気になるので、これを以下のように変えました;
$ chmod -R 644 *
$ ls -l
合計44
-rw-r--r-- 1 knoppix knoppix 43864 |~| sysfrequency.tab
-rw-r--r-- 1 knoppix knoppix 0 |~| usrphrase.tab
この状態で起動してみました。すると今度は「usrphrase.tabが
ロードできなかった」とエラーがでます。それでもめげずにOOoを
立ち上げてchinputを有効にし、women shi ribenrenなどと適当な
ことを打ち込んでみた後で、直接入力モードに切替えて、再び中
国語モードにすると、今度こそchinputが復活しました。やっと
設定ファイルへの書き込みができたようです。こんなことを何度
か繰り返した後に、再び.pyinut内の様子を調べました;
$ cd .pyinput
$ ls -l
合計60
-rw-r--r-- 1 knoppix knoppix 43864 |~| sysfrequency.tab
-rw-r--r-- 1 knoppix knoppix 13495 |~| usrphrase.tab
確かにusrphrase.tabへの書き込みが行われています。これ以後、
起動時のエラーは出なくなり、OOo, mozilla, konquerorなどで、
安定的に中国語入力が行えるようになりました。完了です。
なお、Debianのパッケージには、上記ttf-arphic-gbsn00lpの他
にもう一つttf-arphic-bkai00mpという簡体字truetypeが用意さ
れています。chinputでは簡体字だけでなく、環境変数の設定で
繁体字も打ち込めます。繁体字には、ttf-arphic-gbsn00lpと
ttf-arphic-gkai00mpというtruetypeフォントのパッケージが
あります。
◎問題4:日本語メニューの不具合
ーーーーーーーーーーーーーーーー
しかし、これら中国語truetypeフォントをインストールすると、
困ったことに、日本語メニューの表示がおかしくなってしまい
ます。中国語フォントに日本語文字コードが含まれているため
に、KDEはそれを使用してしまうらしいのですが、これが不完
全なのです。それで、一部のカタカナや漢字が跳んでしまいま
す。現状では根本解決はないようなので、応急対策を講ずるし
かありません。
/応急対策/
「K」=>「設定」=>「コントロールセンター」を開いて、「外
観&テーマ」から「フォント」を選びます。そこの「一般」の
指定を"helvetica 12"から"Kochi Gothic 12"に変更し、更に
アンチエイリアスを有効にして「適用」ボタンを押します。
新しい設定は再ログイン後に完全に有効になります。これで、
以前の状態に復帰しますが、同一のknoppix accountを様々な
言語環境で使用したい場合には、不都合な方法です。
◎問題5:OOo上でchinputが有効にならない
ーーーーーーーーーーーーーーーーーーーー
これはごく付随的な問題なのですが、OOoの標準的な初期設定
では、ctrl+spaceに「保護されたスペースの挿入」というショー
トカットが指定されてます。このため、以下に紹介する方法に
より、中国語環境でOOoを起動しても、ctrl+spaceがOOoに喰わ
れてしまい、chinputを有効にすることができません。
/解決策/
OOoのメニューから、「ツール」=>「ユーザ設定」を選択して、
「キーボード」タグを開きます。「ショートカットキー」の欄
からControl+Spaceを探して、それを削除します。必要なら、
「保護されたスペースの挿入」のために、Control+Shift+Space
など、別のショートカットを新設しておくか、あるいはメニュー
項目に追加しておきます。
○ 日本語環境下での中国語の利用法
=================
現状ではCJKは「住み分け」状態で、日本語入力と中国語入力な
どを随時に切替えながら使用することはできません。環境変数で
日本語を設定しているLinux上では、それを中国語に変更した上
でアプリケーションを起動すると、chinputを利用することがで
きるようになります。その方法は、以下のサイトの説明が参考に
なります;
http://homepage3.nifty.com/shinchandesu/linux/cjk-input.html
私個人は以下のような簡単なスクリプトを利用しています。もち
ろん、こうして立ち上げたアプリケーション以外の場所では、日
本語環境がそのまま生きています;
#!/bin/bash
export LANG=zh_CN.GB2312
CIM=`ps -A|grep -c 'chinput'`;
if [ "$CIM" == 0 ]; then
/usr/bin/chinput &
fi
export LC_ALL=zh_CN.GB2312
export XMODIFIERS="@im=Chinput"
/usr/bin/owriter
繁体字を利用するときは、上記のzh_CN.GB2312をzh_TW.Big5に
置き換えたスクリプトを使用します。スクリプトの書き方に関
しては詳しいことは存じませんので、もっとスマートな方法を
ご存知の方がいらっしゃったら、ご教示ください。
○ ブラウザー上での中国語の利用法
=================
mozillaやkonqueror上でchinputを有効にするためには、上記
の起動スクリプトの最終行を、"/usr/bin/mozilla"や
"/usr/bin/konqueror"に置き換えたものを用意しておきます。
入力システムのテストのために、私は以下のような簡単なhtml
を利用しています;
<html><head>
<meta http-equiv='content-type' content='text/html;charset=UTF-8'>
<title>CJK Input Method Test</title>
</head><body bgcolor='#f6f0f6'>
<p style='text-align:center'>
Please, test your favorite input method below:
<textarea name='test' rows=10 cols=30 style='font-size:36pt'>
</textarea></p></body></html>
起動スクリプトでブラウザーを立ち上げた後、このファイルを
開くとテスト入力ができます。必要なら、フォントの設定を変
更します。
konquerorの場合、日本語メニューの場合とは逆に、中国語の表
示にもKochi Gothicを使用してしまうかも知れません。その場
合には、メニューから「設定」=>「konquerorの設定」を選択し
て「フォント」を開き、「標準のフォント」を"Helvetica"から、
"AR PL KaitiM GB"(簡体字の場合)か、"AR PL KaitiM Big5"
(繁体字の場合)に変更すると、美しい表示になります。残念
ながら、現在のkonquerorでは、CJKのフォントの自動切替えは
できないようです。反面、印刷は問題ありません。
mozillaでは、各言語のフォントを予め正確に指定しておけば、
自動的に切替えてくれます。その代わり、中国語部分の印刷が
できません。「あちらが立てば、こちらが立たず」という状況
です。
終りに
ーーー
以上、chinputの導入手順を、多少長くなりましたが、まとめて
ご報告いたしました。私個人の目標は、KNOPPIX for CJ(K)+SEA
です。ここ東南アジア(South East Asia)でメジャーな言語と
いえば、やはり中国語、アラビア語、ヒンディー語(Devanagari)、
タイ語あたりでしょう。この4語に関しては、これでほぼ確認がと
れたと言えます。マレー語やインドネシア語は、アルファベット
化されていますので、問題は少ないようです。ラオ語に関しては、
unicode対応のフォントも見つかり、KDEにキーボードレイアウト
も用意されていて、OOo上での打ち込みもできましたが、OOo自体
はラオ語を正式にサポートしていません。現在、ラオ語用のロー
カライジング・プロジェクトが進行中のようですから、近い将来、
正式サポートになると想像しています。ビルマ(ミャンマ)語、
クメール(カンボジア)語については、私にはまだよく分かりま
せん。ベトナム語特有の声調記号についても全く分かりません。
他面、ハングルに対する需要は、東南アジアでは未だに微々たる
もののようですので、私もまだ取り組んでいませんが、どなたか
導入手順をご存知の方がいらっしゃいましたら、是非ご教示くだ
さい。
ちなみに、今年3月に「タイ語の使用が可能になった」と当MLに
ご報告したのとほぼ同時期に,Thai Linux Working Groupのメン
バーの一人が,KNOPPIX Thaiを公表していました。あまり知られ
ていないようなので、ここでご紹介させていただきます:
http://linux.thai.net/Members/ott/knoppix-th
そこの記述には「日本語入力も可能だ」となっていますが、これ
までのところ、確認はとれていません。
2004-06-20
田村志緒理
|