Expand description
折り返した段落の行揃え(text-align)の計算(純粋ロジック)。
【2026-10-04 修正】sugi-lab.net/smarthome.htm の機能カード
(.feature-card{text-align:center})で、1 行の見出しは中央に来るのに、
複数行に折り返す本文の段落が左揃えで描かれた。
1 行の文字はレイアウト木(layout/tree.rs の text-align 後処理)が行内の箱ごと
ずらすので揃うが、折り返した文字の箱は全幅なのでずらす量が 0 になる。
描画用の行を作る web_engine/layout.rs は各行を箱の左端から置いており、
行揃えを一切見ていなかった。ここで行ごとの開始位置を決める。
1 行の文字は箱の幅 = 行の幅なので、この計算の結果は 0(字下げのみ)になり、 レイアウト木のずらしと二重には掛からない。
試験: tests/src/test_text_align.rs
Functions§
- line_
start_ offset - 行の先頭の x を、行ボックスの左端からのオフセットで返す。