[Anthy-dev 1012] "n1"を"ん1"にする

アーカイブの一覧に戻る

TOKUNAGA Hiroyuki tkng****@xem*****
2004年 8月 30日 (月) 17:48:22 JST


On Fri, 27 Aug 2004 23:38:04 +0900
Etsushi Kato <ekato****@ees*****> wrote:

> uim-skk でも接頭辞と接尾辞による変換 (*1) ができるようにして svn
> repository commit しました (ただ理由は知りませんが、現在 http 経由だと
> svn update できない時がよくあるようです)。

 最近、subversionで苦しむ事例を周囲でよくみかけるような気がします…。

> 話は変りまして徳永さん、田畑さんに質問なのですが、 uim-skk や 
> uim-anthy で "n" に続いて記号 (や数値) を入力すると、"ん" になりますが
> 、これを " ん記号" ("n1" だったら、"ん1") になるようにするにはどうすれ
> ば良いでしょう。

 これを修正するのはめんどくさい気がします。たぶん、rk.scmの方までいじら
なければならないんじゃないかと思います。具体的にどこらへんをいじればいい
のかなと思って見てみると、skk.scmの838行目あたりに

	 ;; XXX need to handle "n1" sequence as "ん1" here.
	 ;; This seems like a problem on rkc in japanese.scm(?).

というコメントがありました。(たぶんヤマケンさんが書いたんじゃないかと思
いますが。)

 japanese.scmではなくrk.scmの問題です。解決するために、去年の12月頃に
hk.scmというのを書いてみたりはしたものの、使いものになる前に忙しくなって
しまって放置しています。

 解決にはなってませんが、とりあえず現在のrk回りの仕様について、知ってい
る事を書いておきます。余裕があれば後でもうちょっと調べて書き加えます。さ
らに余裕があれば解決策を考えてみたいと思います。


* rk-context-new

 新しいrk contextを作成する。引数にはcontextが参照するべきrule(「a→あ
」みたいな表)などを指定する。immediate-commitとback-matchが何に必要だっ
たかは忘れた。rk contextはローマ字かな変換などに使う。

*  rk-expect

 rk contextが次に期待するアルファベットを返す。例えば、既にtが入力され
ている状態では、aiueoの母音(たちつてとに遷移する)やt(っtに遷移する)
が次の入力として期待される。

* rk-push-key!

 rk contextに実際に入力をする。遷移が起これば遷移後の文字が返って来る。

* rk-push-key-last!

 rk-push-key!ではnを入力しても「ん」が返ってこない(次にaiueoが来る可能
性があるから)ので、ε遷移(すいません、覚えたての用語を使ってみたいだけ
です)で「ん」を出力させるための関数です。今から考えると明らかに誤読を招
く関数名です。

* rk-pending

 現在pending状態、つまりまだかなに変わっていないアルファベットを返す。

* rk-flush

 rk contextをリセットする。

* rk-partial

 何に使うんだったか忘れた。

* rk-current-seq

 何に使うんだったか忘れた。

* rk-backspace

 pendingされているアルファベット列の最後の文字を削除する。似た関数とし
てrk-deleteもある。


-- 
徳永拓之
tkng****@xem*****



Anthy-dev メーリングリストの案内
アーカイブの一覧に戻る