Merge branch 'no-underlines-below-cell'

Closes #503
This commit is contained in:
Daniel Eklöf 2021-05-12 20:10:58 +02:00
commit 4ed545f4d8
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 10 additions and 2 deletions

View file

@ -75,8 +75,10 @@
### Deprecated
* **bell** option in `foot.ini`; set actions in **[bell]** section instead.
### Removed
* Buffer damage quirk for Plasma/KWin.
@ -93,6 +95,9 @@
(https://codeberg.org/dnkl/foot/issues/495).
* Assertion when emitting a sixel occupying the entire scrollback
history (https://codeberg.org/dnkl/foot/issues/494).
* Font underlines being positioned below the cell (and thus being
invisible) for certain combinations of fonts and font sizes
(https://codeberg.org/dnkl/foot/issues/503).
### Security

View file

@ -317,11 +317,14 @@ draw_underline(const struct terminal *term, pixman_image_t *pix,
const struct fcft_font *font,
const pixman_color_t *color, int x, int y, int cols)
{
/* Make sure the line isn't positioned below the cell */
int y_ofs = font_baseline(term) - font->underline.position;
y_ofs = min(y_ofs, term->cell_height - font->underline.thickness);
pixman_image_fill_rectangles(
PIXMAN_OP_SRC, pix, color,
1, &(pixman_rectangle16_t){
x, y + font_baseline(term) - font->underline.position,
cols * term->cell_width, font->underline.thickness});
x, y + y_ofs, cols * term->cell_width, font->underline.thickness});
}
static void