mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-13 04:27:47 -05:00
allow-overflowing-double-width-glyphs: take glyph offset into account
A narrow, but offset:ed glyph should still be considered double width. This patch also fixes a crash, when the maybe-double width glyph is in the last column. This is a regression.
This commit is contained in:
parent
562096a21a
commit
396a5ff79b
2 changed files with 10 additions and 3 deletions
|
|
@ -34,6 +34,13 @@
|
|||
### Deprecated
|
||||
### Removed
|
||||
### Fixed
|
||||
|
||||
* Glyph offset not being taken into account when applying
|
||||
`tweak.allow-overflowing-double-width-glyphs`.
|
||||
* Regression: crash when a single-char, double-width glyph is in the
|
||||
last column, and `tweak.allow-overflowing-double-width-glyphs=yes`.
|
||||
|
||||
|
||||
### Security
|
||||
### Contributors
|
||||
|
||||
|
|
|
|||
6
render.c
6
render.c
|
|
@ -618,13 +618,13 @@ render_cell(struct terminal *term, pixman_image_t *pix,
|
|||
if (term->conf->tweak.allow_overflowing_double_width_glyphs &&
|
||||
((glyph_count > 0 &&
|
||||
cell_cols == 1 &&
|
||||
glyphs[0]->width >= term->cell_width * 15 / 10 &&
|
||||
glyphs[0]->width < 3 * term->cell_width &&
|
||||
col < term->cols - 1) ||
|
||||
glyphs[0]->x + glyphs[0]->width >= term->cell_width * 15 / 10 &&
|
||||
glyphs[0]->x + glyphs[0]->width < 3 * term->cell_width) ||
|
||||
(term->conf->tweak.pua_double_width &&
|
||||
((base >= 0x00e000 && base <= 0x00f8ff) ||
|
||||
(base >= 0x0f0000 && base <= 0x0ffffd) ||
|
||||
(base >= 0x100000 && base <= 0x10fffd)))) &&
|
||||
col < term->cols - 1 &&
|
||||
(row->cells[col + 1].wc == 0 || row->cells[col + 1].wc == L' '))
|
||||
{
|
||||
cell_cols = 2;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue