この日記はMozillaのプロダクトへの貢献者としての私の成果を中心に、気になったバグやWeb界隈の話題について書いていますが、 断り書きがある場合を除き、いかなる団体のオフィシャルな見解ではありません。あくまでも個人的なものです。 Mozilla Foundation、Mozilla Corporation、及び関連企業の公式情報ではないことに注意してください。

現在、XHTML 1.0 (もどき)から、HTML5なコンテンツに修正中です。古い日記は修正が完了していませんので表示が崩れます。 順次、修正していく予定ですのでしばらくお待ちください。

もずはっく日記(2009年2月)

2009年2月24日

Bug 6505 [TSF][WinXP] 未確定文字列が表示されない
初回投稿日時: 2009年02月24日17時46分49秒
最終更新日時: 2009年02月24日18時13分46秒
カテゴリ: Mozilla Core TSF Windows バグ修正
SNS: (list)

TSFのサポートパッチの投入を今日までこの日記で紹介していなかったのはこのバグのためです。XPに付属のMS-IME 2002では未確定文字列が表示されない、というバグがありました。そのため、テストすらまともにできない、という状況下だったためです(そんな中でもバグをXPで探し続けてくれたmasaさんに感謝です)。

原因はTIPでの処理順序にあります。最初の実装ではITfContextOwnerCompositionSink::OnUpdateCompositionが呼び出された時に未確定文字列の表示を行っていたのですが、MS-IME 2002ではこの時点では未確定文字列の文節等の情報が出揃っていないことが分かりました。

そこで出揃っている場合はここからNS_TEXT_TEXTイベントを生成するようにしましたが、未完成の場合はITextStoreACP::SetSelectionでも生成するように修正しています。ただし、未確定文字列のちらつきを抑えるために、同じ情報のイベントを複数回送信しないように、イベント生成の直前でそれをチェックするようにしています。

関連するかもしれないエントリ

bug 6505を含むエントリ