Bug 5527 text-decorationの下線/取消線/上線の太さが一定にならないことがある
初回投稿日時: 2007年01月01日11時12分05秒
カテゴリ: Mozilla Core
SNS:
Tweet (list)
昨年、最後に修正したborderとoutlineの問題と同じ問題。Windowsでは発生を確認していないし、Linuxでもどうも起きない模様だが、Macでは原理上、必ず発生する。これも現在作業中。
これらの線の太さもスタイルシステムレベルで解決できると非常に楽だし、再描画時のオーバーヘッドも減るので望ましいのだが、残念ながらそういった仕様はCSS3のドラフトにあるのみなので、現時点では描画時に逐一処理するしかない。だが、下線等は複数の箇所で描画が行われているため、まずはこれらを一本化する必要がある。
一応、コードを検索した結果では、Quirksモード用や、IME、スペルチェッカーの描画を行うnsTextFrame、standardモードのインラインレベル要素用のnsHTMLContainerFrame、standardモードのブロックレベル要素用のnsBlockFrame、そしてXUL用のnsTextBoxFrameに散らばっていたので、これらから共通の関数を呼ぶように修正し、さらにその関数内ではCSS3の仕様に対応できるようにやや複雑な作りにして、点線、破線、実線、二重線の描画が可能なようにして、パッチを提出している。もちろん、これらの機能は内部的に実装されるだけで、CSSからコントロールできるようになるのはまだ先の話である。ちなみに、破線が利用できるようになるので、WindowsのIMEの未確定文字列はIEにあわせて、破線に変更予定である。(別バグで)