#961362 fonts-terminus-otb: In rxvt-unicode, M and m characters missing the left vertical stroke

#961362#5
Date:
2020-05-23 15:42:59 UTC
From:
To:
The subject almost says it all. But the effect is only visible after whitespace, it seems.
The PCF format font (which I assume is generated from the same source) has no such  problem.

Also, I tried to unpack the Arch Linux package of the same name and install the files
manually, and the same problem happens there, so this is not Debian specfic.

Specifically, I use the 12 size font. Display is Dell U2410, about 94 dpi.
fontconfig: 2.13.1-2
freetype: 2.9.1-3+deb10u1

#961362#10
Date:
2020-05-25 09:40:28 UTC
From:
To:
I suppose this is not a font problem but a problem of the rendering
engine.  The rendering engine of the OTB fonts is more sofisticated than
the rendering engine of the PCF fonts.  It can render the fonts in
arbitrary font sizes (including non-integer sizes).

But as usually, with sofistication come problems, undebugged cases, etc.

How about 13 size?  Or maybe something like 12.1, 12.2, 12.3 or 12.4
(or 12,1, 12,2, 12,3 and 12,4 in locales with decimal comma)?

Anton Zinoviev

#961362#15
Date:
2020-05-28 06:35:04 UTC
From:
To:
How do I actually select such a non-integral size?

Right now I configure it 3 ways:

- in .Xresources:

  echo "URxvt.font: xft:${ITZ__MONO_FONT}" | xrdb -merge

- on the command line:

  dzen2 -ta l -fn "$ITZ__MONO_FONT"

- via Elisp:

  (setq default-frame-alist
  `((menu-bar-lines . 0)
    (font . ,(shell-command-to-string "fc-match -f '%{family}-%{size}'
\"${ITZ__MONO_FONT}\""))
    (vertical-scroll-bars . nil)))

where ITZ__MONO_FONT="Terminus-12"

I don't think any of these contexts will allow a fractional size, or am I wrong?

Ian

#961362#20
Date:
2020-06-21 21:48:32 UTC
From:
To:
Hello,

I ran into this problem myself (using "URxvt*font: xft:Terminus:pixelsize=20"
font spec), and seems it is some kind of bug in rxvt-unicode.
Xterm does not suffer from this issue with the same font spec.

The issue seems to reside in src/rxvtfont.C rxvt_font_xft::draw()
with the doublebuffered rendering, if you disable buffering via
"URxvt*buffered: false", the issue disappears at least for my use case.

But, disabling buffering is probably not a very efficient solution.

Also a kludge-patching line 1380 of src/rxvtfont.C:

-  int x_ = buffered ? 0 : x;
+  int x_ = buffered ? 1 : x;

"fixes" the issue as well at least for the case I bothered to check, but
obviously that's not a good solution either.

Perhaps this issue should be transferred to package rxvt-unicode?

#961362#25
Date:
2020-07-26 16:02:45 UTC
From:
To:
FWIW, I have tried sizes 11 and 13 and they both have the problem.
#961362#30
Date:
2021-08-16 15:07:34 UTC
From:
To:
I had no issues running Debian 10 but upgraded to Debian 11 this weekend and Terminus show the same issue in rxvt-unicode as described here.