Text layout: a word fits a line when its ink does

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
ramox81andClaude Opus 5.5 committed 2026-10-06 15:06:28 +03:00
1 parent d567db0970
commit ea4ecc33af
1 file changed
+4 -1
+4 -1
View File
@@ -1228,7 +1228,10 @@ pub fn wrap_paragraph(
let w = atom_width(&atom, entity_h, base_wf, base_font);
let max_w = line_max_w(subline_idx);
let has_content = cur.iter().any(|a| !matches!(a.kind, AtomKind::Space));
if has_content && cur_w + w > max_w && !after_align_tab {
// A word fits when its ink does: the letter spacing after its
// last glyph may run past the edge.
let ink_w = w - trailing_letter_gap(&atom, entity_h, base_wf, base_font);
if has_content && cur_w + ink_w > max_w && !after_align_tab {
while matches!(cur.last().map(|a| &a.kind), Some(AtomKind::Space)) {
cur.pop();
}