[Anthy-dev 411] uim-skk再帰学習時のプリエディット描画修正

Back to archive index

YamaKen yamak****@bp*****
2004年 1月 13日 (火) 21:26:14 JST


ヤマケンです。

uim-skkで再帰学習時に親コンテキストのプリエディット描画がおかし
いのを修正しました。

"▼上げ"の状態で全部の候補を通り過ぎると再帰学習に入りますが、こ
の時のプリエディット描画が"▼あ[]"のようになっていました。これを
"▼あ*げ[]"になるように修正しました。

また、変換候補が一つもない未知の単語を入力すると'skk-state-kanji 
や'skk-state-okuriのまま再帰学習に入って"▽ほげほげ[]"や
"▽ほげ*る[]"のように描画されていましたが、ddskkで同様の操作をし
てみたところ、両者ともモード表示は変換中を示す"▼"でした。私もそ
の方が直感的だと思ったのでuim-skkでも挙動を合わせてみました。

-------------------------------
ヤマケン yamak****@bp*****
-------------- next part --------------
Index: skk.scm
===================================================================
--- skk.scm	(revision 351)
+++ skk.scm	(working copy)
@@ -367,16 +367,22 @@
     (let ((rkc (skk-context-rk-context sc))
 	  (stat (skk-context-state sc))
 	  (csc (skk-context-child-context sc)))
+      (if (and
+	   (not csc)
+	   (or
+	    (= stat 'skk-state-kanji)
+	    (= stat 'skk-state-okuri)))
+	  (im-pushback-preedit id preedit-reverse "▽"))
       (if (or
-	   (= stat 'skk-state-kanji)
-	   (= stat 'skk-state-okuri))
-	  (im-pushback-preedit id preedit-reverse "▽"))
-      (if (= stat 'skk-state-converting)
+	   csc
+	   (= stat 'skk-state-converting))
 	  (im-pushback-preedit id preedit-reverse "▼"))
       (if (or
 	   (= stat 'skk-state-kanji)
 	   (= stat 'skk-state-okuri)
-	   (skk-context-child-context sc))
+	   (and
+	    csc
+	    (= stat 'skk-state-converting)))
 	  (let ((h (skk-make-string 
 		    (skk-context-head sc)
 		    (skk-context-kana-mode sc))))
@@ -386,15 +392,20 @@
 		 h))))
       (if (and
 	   (= stat 'skk-state-converting)
-	   (not (skk-context-child-context sc)))
-	    (im-pushback-preedit
-	     id preedit-reverse
-	     (string-append
-	     (skk-get-current-candidate sc)
-	     (skk-make-string (skk-context-okuri sc)
-			      (skk-context-kana-mode sc)))))
+	   (not csc))
+	  (im-pushback-preedit
+	   id preedit-reverse
+	   (string-append
+	    (skk-get-current-candidate sc)
+	    (skk-make-string (skk-context-okuri sc)
+			     (skk-context-kana-mode sc)))))
 
-      (if (= stat 'skk-state-okuri)
+      (if (or
+	   (= stat 'skk-state-okuri)
+	   (and
+	    csc
+	    (= stat 'skk-state-converting)
+	    (skk-context-okuri sc)))
 	  (begin
 	    (im-pushback-preedit 
 	     id preedit-reverse 


Anthy-dev メーリングリストの案内
Back to archive index