diff options
author | bptato <nincsnevem662@gmail.com> | 2023-07-25 23:10:32 +0200 |
---|---|---|
committer | bptato <nincsnevem662@gmail.com> | 2023-07-25 23:10:32 +0200 |
commit | ab7545d90ea7d45764d8358c32f719f40a050cda (patch) | |
tree | b6c14289d038a9f81a61a220344f45b7efe9db8e | |
parent | 1a4e10ad5e9145b39f95f42b52db8b720fa25354 (diff) | |
download | chawan-ab7545d90ea7d45764d8358c32f719f40a050cda.tar.gz |
layout: fix superfluous inline whitespace
computeShift now checks if the last inline atom is spacing, and if yes, it does not add more spacing. This fixes rendering of the following document: <span> a </span> <span> b </span>
-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 20793cbc..2498da49 100644 --- a/src/layout/engine.nim +++ b/src/layout/engine.nim @@ -80,7 +80,9 @@ func cellheight(ictx: InlineContext): LayoutUnit = func computeShift(ictx: InlineContext, computed: CSSComputedValues): LayoutUnit = if ictx.whitespacenum > 0: - if ictx.currentLine.atoms.len > 0 or computed.whitespacepre: + if ictx.currentLine.atoms.len > 0 and + not (ictx.currentLine.atoms[^1] of InlineSpacing) or + computed.whitespacepre: let spacing = computed{"word-spacing"} if spacing.auto: return ictx.cellwidth * ictx.whitespacenum |