small software-rendered rust tty
Diffstat (limited to 'src/render.rs')
| -rw-r--r-- | src/render.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/render.rs b/src/render.rs index 2e9780c..b52ce56 100644 --- a/src/render.rs +++ b/src/render.rs @@ -13,7 +13,7 @@ pub fn render( let m = FONT.metrics(&[]); let sz = ppem * (m.max_width / m.units_per_em as f32); let mut i = Image::alloc(w as _, h as _); - for (col, k) in x.cells.chunks_exact(x.size.0 as _).zip(0..) { + for (col, k) in x.cells.chunks_exact(x.size.0 as _).zip(0..).skip(1) { for (cell, j) in col.iter().skip(2).zip(0..).filter(_.0.letter.is_some()) { @@ -42,9 +42,9 @@ pub fn render( .buf(&*x.data), ) .as_ref(), - 4 + ((j * sz as i32) + x.placement.left) as u32, - (k as f32 * (ppem * 1.25)) as u32 - - x.placement.top as u32, + 4 + ((j as f32 * sz) + x.placement.left as f32) as u32, + ((k as f32 * (ppem * 1.25)) as u32) + .saturating_sub(x.placement.top as u32), // x.placement.height - x.placement.top as u32, ); } @@ -55,7 +55,7 @@ pub fn render( pub fn dims(font: &FontRef, ppem: f32) -> (f32, f32) { let m = font.metrics(&[]); - (ppem * (m.max_width / m.units_per_em as f32), ppem) + (ppem * (m.max_width / m.units_per_em as f32), ppem * 1.25) } pub static FONT: LazyLock<FontRef<'static>> = LazyLock::new(|| { |