Ignore graphemes of width 0 when writing to buffer

This commit is contained in:
Joscha 2022-05-28 22:43:10 +02:00
parent 37634139b0
commit 6b9e4cbc63
3 changed files with 6 additions and 4 deletions

View file

@ -142,7 +142,9 @@ impl Buffer {
for grapheme in content.graphemes(true) {
let width = widthdb.grapheme_width(grapheme);
self.write_grapheme(pos.x, y, width, grapheme, style);
if width > 0 {
self.write_grapheme(pos.x, y, width, grapheme, style);
}
pos.x += width as i32;
}
}

View file

@ -65,7 +65,7 @@ impl WidthDB {
.queue(MoveTo(0, 0))?
.queue(Print(&grapheme))?;
out.flush()?;
let width = crossterm::cursor::position()?.0.max(1) as u8;
let width = crossterm::cursor::position()?.0 as u8;
self.known.insert(grapheme, width);
}
Ok(())