diff -ur rxvt-unicode-9.22-a/src/rxvtfont.C rxvt-unicode-9.22-b/src/rxvtfont.C --- rxvt-unicode-9.22-a/src/rxvtfont.C 2015-09-07 16:49:33.000000000 +0200 +++ rxvt-unicode-9.22-b/src/rxvtfont.C 2021-01-26 13:38:12.669879617 +0100 @@ -1267,12 +1267,21 @@ XGlyphInfo g; XftTextExtents16 (disp, f, &ch, 1, &g); +/* + * bukind: don't use g.width as a width of a character! + * instead use g.xOff, see e.g.: http://keithp.com/~keithp/render/Xft.tutorial + g.width -= g.x; int wcw = WCWIDTH (ch); if (wcw > 0) g.width = (g.width + wcw - 1) / wcw; if (width < g.width ) width = g.width; + */ + int wcw = WCWIDTH (ch); + if (wcw > 1) g.xOff = g.xOff / wcw; + if (width < g.xOff) width = g.xOff; + if (height < g.height ) height = g.height; if (glheight < g.height - g.y) glheight = g.height - g.y; } Only in rxvt-unicode-9.22-b/src: rxvtfont.C.orig