ブラウザはどのようにしてテキストを描画しているのか?――Chromiumにみるテキスト描画の深淵 by canalun

フロントエンドカンファレンス北海道2024
採択
2024/08/24 17:20〜
カケハシ(8F)
レギュラートーク(20分)
どさんこ(出身or在住)

ブラウザはどのようにしてテキストを描画しているのか?――Chromiumにみるテキスト描画の深淵

i_am_canalun canalun i_am_canalun
17

ブラウザによる「テキスト描画」について、Chromiumへのコントリビュートを通じて得た知見をもとに深ぼります。

ブラウザが受け取ったデータはシェイピングエンジンやグラフィックライブラリなど、様々なモジュールを通って初めてモニター上のピクセルとして具現化されます。

ただし、多くの要素が事態を複雑にします。

フォントの変更。CSSによる線や強調点、カゲの付与。
カーソルにより選択された部分のハイライト。

縦書きもあります。アルファベットは時計回りにまわしましょうか。

……アルファベットとひらがなが混ざった縦書きもあるのか。

えっ、隣に来る文字に依って形が変わる文字がある?

そういえばカゲって、強調点のカゲも描画しないといけないんでしたっけ?

えっ、打ち消し線のカゲがテキスト本体より前に来てしまうバグ?

……さて、ブラウザはどのようにしてテキストを描画しているのでしょうか。