mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-22 11:46:11 +03:00
renderer/opengl: apply extra offset for zero-advance glyphs
This commit is contained in:
@ -1490,6 +1490,15 @@ pub fn updateCell(
|
|||||||
.emoji => .fg_color,
|
.emoji => .fg_color,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// If this glyph doesn't have an advance, then we assume it is
|
||||||
|
// connected to the previous glyph (perhaps an unsafe assumption...)
|
||||||
|
// and offset by the cell width.
|
||||||
|
// Related: https://github.com/mitchellh/ghostty/issues/1046
|
||||||
|
const extra_offset: i32 = if (glyph.advance_x == 0)
|
||||||
|
@intCast(self.grid_metrics.cell_width)
|
||||||
|
else
|
||||||
|
0;
|
||||||
|
|
||||||
self.cells.appendAssumeCapacity(.{
|
self.cells.appendAssumeCapacity(.{
|
||||||
.mode = mode,
|
.mode = mode,
|
||||||
.grid_col = @intCast(x),
|
.grid_col = @intCast(x),
|
||||||
@ -1499,7 +1508,7 @@ pub fn updateCell(
|
|||||||
.glyph_y = glyph.atlas_y,
|
.glyph_y = glyph.atlas_y,
|
||||||
.glyph_width = glyph.width,
|
.glyph_width = glyph.width,
|
||||||
.glyph_height = glyph.height,
|
.glyph_height = glyph.height,
|
||||||
.glyph_offset_x = glyph.offset_x,
|
.glyph_offset_x = glyph.offset_x + extra_offset,
|
||||||
.glyph_offset_y = glyph.offset_y,
|
.glyph_offset_y = glyph.offset_y,
|
||||||
.r = colors.fg.r,
|
.r = colors.fg.r,
|
||||||
.g = colors.fg.g,
|
.g = colors.fg.g,
|
||||||
|
Reference in New Issue
Block a user