diff options
author | bptato <nincsnevem662@gmail.com> | 2024-08-23 16:19:15 +0200 |
---|---|---|
committer | bptato <nincsnevem662@gmail.com> | 2024-08-23 16:19:15 +0200 |
commit | 8db0a94ca4287c4f2e1361b056994e0ec206712d (patch) | |
tree | 7d1d35e92bc5a15e51dfef539c7440341678881f /src | |
parent | 80b060be33ce7eea7a4bab18dbfe652cf6d36c0b (diff) | |
download | chawan-8db0a94ca4287c4f2e1361b056994e0ec206712d.tar.gz |
layout: fix whitespace weirdness
avoid adding whitespace to the previous atom if it's not on the current line
Diffstat (limited to 'src')
-rw-r--r-- | src/layout/engine.nim | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/layout/engine.nim b/src/layout/engine.nim index 30895b22..7328839a 100644 --- a/src/layout/engine.nim +++ b/src/layout/engine.nim @@ -526,7 +526,9 @@ proc putAtom(state: var LineBoxState; atom: InlineAtom; proc addSpacing(ictx: var InlineContext; width: LayoutUnit; state: InlineState; hang = false) = let fragment = ictx.whitespaceFragment - if fragment.state.atoms.len == 0 or fragment.state.atoms[^1].t != iatWord: + if fragment.state.atoms.len == 0 or ictx.lbstate.atoms.len == 0 or + (let oatom = fragment.state.atoms[^1]; + oatom.t != iatWord or oatom != ictx.lbstate.atoms[^1]): let atom = InlineAtom( t: iatWord, size: size(w = 0, h = ictx.cellHeight), |