forked from NotAShelf/beer
grid: store and render combining marks on the base cell
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: Ic1aedda14fa6102c4dc80f9fd6863c7f6a6a6964
This commit is contained in:
parent
53924d381a
commit
1b8138fc4f
2 changed files with 70 additions and 7 deletions
|
|
@ -204,6 +204,13 @@ impl Renderer {
|
|||
if cell.c != ' ' {
|
||||
self.draw_glyph(&mut canvas, cell.c, cell_style(cell), origin_x, row_top, fg);
|
||||
}
|
||||
// Stack any combining marks over the base glyph; their own bearings
|
||||
// position them (no shaper, so placement is the font's default).
|
||||
if let Some(marks) = &cell.combining {
|
||||
for mark in marks.chars() {
|
||||
self.draw_glyph(&mut canvas, mark, cell_style(cell), origin_x, row_top, fg);
|
||||
}
|
||||
}
|
||||
draw_decorations(&mut canvas, cell, theme, origin_x, row_top, m, fg);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue