about summary refs log tree commit diff stats
path: root/src/layout/engine.nim
diff options
context:
space:
mode:
Diffstat (limited to 'src/layout/engine.nim')
-rw-r--r--src/layout/engine.nim8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/layout/engine.nim b/src/layout/engine.nim
index 9b1e9363..45aef6de 100644
--- a/src/layout/engine.nim
+++ b/src/layout/engine.nim
@@ -80,9 +80,13 @@ proc addAtom(ictx: InlineContext, atom: InlineAtom, maxwidth: int, specified: CS
       shift = ictx.computeShift(specified)
       ictx.whitespace = false
 
-  ictx.thisrow.width += shift
+  if atom.width > 0 and atom.height > 0:
+    if shift > 0:
+      let spacing = InlineSpacing(width: shift, height: atom.height)
+      spacing.relx = ictx.thisrow.width
+      ictx.thisrow.width += spacing.width
+      ictx.thisrow.atoms.add(spacing)
 
-  if atom.width > 0:
     atom.relx += ictx.thisrow.width
     ictx.thisrow.width += atom.width
     ictx.thisrow.height = max(ictx.thisrow.height, atom.height)