In an xterm running in an xvnc4 session in Xubuntu 16.04, i.e., Ubuntu 16.04 with XFCE, underscore characters disappear. This problem does not appear in Xubuntu 14.04. My question is: how to avoid this? If there's an underscore, I need it to be visible.
In an ordinary X11 window using the same machine as an X11 server, underscores appear normal. (Odd, eh?)
I looked at the actual characters being sent to the terminal, using the xterm '-l' (logging) feature, and then viewing the log in emacs (using the same font, dejavu). It turns out that the underscore character is sent to the terminal, just as it is, so I don't think this is some kind of terminfo issue. The character just doesn't show up in the terminal window -- and the disappearance only occurs in Xvnc. In an Emacs running in the same Xvnc window, the underscore character shows up, but it's gray instead of black; I don't know why.
As a side issue that arose solely on account of my need to fix the above problem, I'm having trouble trying different fonts with xterm. If I specify no font at all, i.e., if I specify no '-fa' option when launching xterm, the default font shows the underscores. However, the default character size is too small for my aging eyes, and -fs (font size) has no effect if there's no -fa. Other fonts give other results, all unsatisfactory; most TTF fonts are weirdly spaced, for example.
We ordinarily use a combination of xterm's features; for us a typical invocation is: /usr/bin/xterm -fg black -bg wheat -cr red -ah -bc -l -sl 10000 -sb -si -fa dejavu -fs 10
You might have to tweak the scaleHeight
resource to work around incorrectly-constructed font files. If their declared size is a little smaller than the actual, then successive lines of text will overlap (and underlining will be lost).
Just to experiment with this, I'd try setting it to 1.1, e.g.,
/usr/bin/xterm -fg black -bg wheat -cr red -ah -bc -l -sl 10000 -sb -si -fa dejavu -fs 10 -xrm '*scaleHeight: 1.1'
xterm uses clipping to get past the usual problems here, but some fonts are worse than others.