diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/layout/renderdocument.nim | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/layout/renderdocument.nim b/src/layout/renderdocument.nim index e62455e4..c6277646 100644 --- a/src/layout/renderdocument.nim +++ b/src/layout/renderdocument.nim @@ -101,7 +101,7 @@ proc setText(grid: var FlexibleGrid; linestr: string; x, y: int; format: Format; grid[y].str &= ' '.repeat(padwidth) grid[y].str &= linestr - let linestrwidth = linestr.twidth(x) + var linestrwidth = linestr.twidth(x) i = 0 var nx = x # last x of new string @@ -109,6 +109,11 @@ proc setText(grid: var FlexibleGrid; linestr: string; x, y: int; format: Format; fastRuneAt(ostr, i, r) nx += r.twidth(nx) + while x + linestrwidth < nx: + # we ate half of a double width char; pad it out with spaces. + grid[y].str &= ' ' + inc linestrwidth + if i < ostr.len: grid[y].str &= ostr.substr(i) |