2006年11月21日火曜日

(FreeBSD) ports/japanese/sj3でかな漢字変換ができない問題

しばらく前(~1年くらい?)から薄々気がついていたのですが、FreeBSDで、portsからインストールしたSJ3で、かな漢字変換ができない、という不具合が、私の環境では発生しています。


SJ3って何だよ、って人もおられるでしょうね。SJ3は、ソニーで開発された、かな漢字変換ソフトです。X11のソースにも含まれています。当時(15年くらい前。プレステよりも前)、ソニーは、NEWSというUNIXワークステーションを開発・販売してたんです。そのOS、NEWS-OSで標準的に使われていた、かな漢字変換ツールがSJ3です。メジャーなかな漢字変換エンジンとしては、Wnn4とかあったんですが、Wnnはあまりにも文節区切りがタコで、文章を書く妨げになるので激怒することがあったのですが、その点、SJ3は、非常に快適に使えてました。ところで、SJ3って、エルゴソフトのEGBRIDGEをベースにして開発されたものだったような気がします。



ここ数年はWnn7を使ってたのですが、利用可能なライセンス数に制限があるし、家ではWnn7を買ってないし、そういう点で、SJ3を非常にありがたく使ってきてたんですけど・・・

なお、普通にインストールしたSJ3は、辞書が非常に貧弱なので、どっかでデータを拾ってきて(どっかって、どこ?)、自分で単語数の多い辞書を作ってやると、SJ3はそれなりに賢くなります。

☆ ☆ ☆ ☆ ☆ ☆ 



portsでインストールしたEmacs 21.3.1にて、M-x set-input-methodして、japanese-egg-sj3を選び、適当に、「あい」とかで変換しようとすると

egg Japanese backend: no conversion result

と表示されるだけです。



*Messages*バッファを見ても、とくに手がかりになりそうなメッセージはありません。

Loading egg/sj3...
Loading egg/sj3rpc...done
Loading egg/sj3...done
egg Japanese backend: no conversion result


XEmacsでも同様です。



kinput2 -sj3でもダメ。



sj3コマンドを使っても、やっぱり、漢字に変換できません(変換候補がでてこない)。



昔は確かにportsからインストールしたports/japanese/sj3で変換できてたので、これはきっと、GCCのバージョンのバージョンが2.95から3.xになったせいに違いない!と思って、gcc295でmakeしてみたけど・・・ダメ。関係ないみたいです。



なんとなくportsを使わずに、sj3-2.0.1.20.tar.gzを展開し、xmkmf、gmakeして、巣のままビルドしてみますと・・・エラーが頻発していますが、とりあえず、サーバーのsj3servはビルドできました。そのsj3servを使ってみると、

漢字に変換できました!

うーむ、ということは、portsであてているパッチ sj3-patches-20040916.bz2ってものに問題があるということでしょうか?



とりあえずのworkaroundとしては、



  1. portsでsj3をインストール


  2. portsなしでsj3をxmkmf && makeして、sj3servだけを置き換える


これで、使えるようになるっぽいです。



どこに問題があるか、30分くらい調べてみたけど、途中でいやんなったので諦めちゃいました。



0 件のコメント:

コメントを投稿