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

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

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

2009年5月16日

Bug 6597 [TSF] Korean Input System (IME2002) で確定した文字と未確定の文字が表示上区別できない
初回投稿日時: 2009年05月16日02時59分22秒
カテゴリ: Mozilla Core TSF Windows バグ修正
SNS: (list)

TSFではTIPの指定するスタイルで未確定文字列をレンダリングするようになりましたが、これの弊害によって韓国語のTIPが使いにくくなっていたというバグです。

韓国語のTIPは少し変わった挙動をとります。まず、未確定文字列のスタイルに、そのままの文字色、背景色を利用するように指示が来ます。つまり、確定済みの他の文字と見分けは付きません。その代わりに未確定文字列(常に一文字)全体を覆うキャレットを表示するように指示がきます。つまり、未確定文字列全体が変化なし、反転を繰り返すのが韓国語のTIPの希望するスタイルのようです。

ですが、Geckoはcairoへの移行に伴い、反転描画はできなくなってしまいました。このため、手軽な修正で韓国語のTIPの要求する未確定文字列の表示はできません。しかも、スタイル指定だけが有効になってしまっているので、未確定文字列がどこにあるのか見分けが付きにくくなってしまっています。このため、キャレットが未確定文字列全体を覆うようになっていて、さらに未確定文字列のスタイルが通常のテキストと見分けがつかない場合は、選択された未確定文字列のスタイルを使って描画するように修正しています。

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

bug 6597を含むエントリ

このエントリへのリンク元