2009年9月13日日曜日

ktrans移植難航

plan9の日本語入力環境のktransをlimboに移植しようかなー、と軽く考えてました。
元のktransはkenのccで書かれている。
おそらく実用的なレベルに達していると思われ、skk方式となっている。

辞書をハッシュテーブルに格納しているようなので、limboで書き直してみたところ、、、
うーん、どう書いていいかわからない。
リストにどんどん突っ込んでいったら、メモリがあふれたのか、segvで落ちた・・・
さて、どうしたものか。

アドレスをダンプできないから、具体的なメモリ配置がよくわからないのがつらいところ。


以下情報源。

・ktrans配布元

http://basalt.cias.osakafu-u.ac.jp/plan9/s39.html

・ktrans辞書配布元

http://basalt.cias.osakafu-u.ac.jp/plan9/s17.html


・SKK辞書をktrans用に変換する方法

http://plan9er.hp.infoseek.co.jp/plan9/9log.html

・acme-sacにはktrans.bが付属している(日本語非対応)

http://code.google.com/p/acme-sac/

戯れにktrans.bをちょっと書き換えて、ローマ字→ひらがな
変換を試してみた。

漢字変換を早く実現したい。

なお、acme-sac付属のktrans.bをwindows xp上のhosted infernoに
持ってくることは可能だった。
一時ファイル/n/tempがなぜかcreate出来なかったので、
ひとまず一時ファイル名を書き換え(ソース埋め込み)。

使い方は、wm/wm起動前に、

% pipefile -r ktrans /dev/keyboard


として、キーボード入力にフィルターとして追加する。
(起動時設定をしたい場合は、先日の日記にあるように、profileに処理を書いておく)

※acme-sacはinfernoを学ぶ上で避けて通れないな。