元の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を学ぶ上で避けて通れないな。