Takuro Ashie
ashie****@homa*****
2006年 7月 11日 (火) 13:32:18 JST
足永です。 On Tue, 11 Jul 2006 00:00:21 +0900 (JST) Akira TAGOH <at****@gclab*****> wrote: > Pangoのバグを踏んでしまってちょっと手間取りましたが、とりあ > えず要件を満たしてそうなので、送ってしまいます。 ありがとうございます。 > 例によってどなたか追試してもらえると助かります。以前のパッチ > + typo fixもしくはCVSにそのまま適用できるはずです。 CVS版に当ててみましたが、action_insert_spaceと action_insert_alternative_spaceのあたりで、両者の後半部分がまったく同じ せいなのか何なのかわかりませんが、パッチがこの二つの関数に分散して当たっ てしまって、意図通りに動作しませんでした(スペースがプリエディットに追加 されるのではなく、コミットされてしまう)。 # 改めて見ると、action_insert_*_space 系って色々とヤバゲな臭いが... # insert_wide_spaceとかはキーバインド変えるといかにも特定モードで誤動作しそうだし。 全てのコードをaction_insert_spaceに移動してみたところ、意図通りに動作す るようになりました。すばらしい:D ただ、空白のタイプを「モードに従う」にしていると、(基本は日本語モードで あるために)全角スペースが入力されてしまいます。pseudo asciiモードで 「モードに従う」の場合は半角空白の方が嬉しいと思うのでそのように変更しよ うと思うのですが、よろしいでしょうか? > 既知の問題点として、空白を入れた際にpreedit行に下線が付きま > せん。ただし、その後別の文字が入力されると下線が付きます。 > 調べた限りでは、Pangoのバグのようで、文字列の最後に空白があ > る場合、PangoAttributesのstart_indexおよびend_indexの範囲内 > にあっても無視されるようです。 これも確認できました。 > pseudo ASCII modeのキャンセルキーを追加しましたが、もし別の > カテゴリがよさげなら移動してもらって問題ないです。デフォルト > 値は何も割り当てられていません。 了解です。 たぶんこれで問題ないと思います。 > それから、いくつかモード拡張ができるようにしてみました。英大 > 文字2つ以上で云々というのも、パクろう^W実装しようかと思いま > したが、とりあえず見送りました。 これはまだ意味が理解できていないので、これからコード読んでみます。