During my submission of the charoffsets customisation patch, I found that the underline and strikethrough rendering didn't take `chscale` into account. This meant that when using `chscale < 1.0`, underlines were not visible.
The patch contents are below. Apologies if I've done anything wrong when submitting my mainline improvement patch - this is my first time contributing to a suckless project. >From ffa6ee44e458e5239c2e5ad24f867ee7fd8832ef Mon Sep 17 00:00:00 2001 From: Zacchary Dempsey-Plante <[email protected]> Date: Sat, 12 Mar 2022 09:39:41 -0500 Subject: [PATCH] Made underlines and strikethroughs respect `chscale`. --- x.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x.c b/x.c index cd96575..2a3bd38 100644 --- a/x.c +++ b/x.c @@ -1493,12 +1493,12 @@ xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, i /* Render underline and strikethrough. */ if (base.mode & ATTR_UNDERLINE) { - XftDrawRect(xw.draw, fg, winx, winy + dc.font.ascent + 1, + XftDrawRect(xw.draw, fg, winx, winy + dc.font.ascent * chscale + 1, width, 1); } if (base.mode & ATTR_STRUCK) { - XftDrawRect(xw.draw, fg, winx, winy + 2 * dc.font.ascent / 3, + XftDrawRect(xw.draw, fg, winx, winy + 2 * dc.font.ascent * chscale / 3, width, 1); } -- 2.35.1
