1

I've used urxvt on various different machines over the past couple years. Last week, I got a new computer and went on a system configuration spree.

During these configuration changes, however, I've noticed a problem that, for some reason, never manifested itself before. Namely, my URxvt*letterSpace setting seems to be cutting off the rendering of certain unicode characters.

visual example of problem

As you can see in the image above, the "x" at the end of my command prompt gets cut off if I set letterSpace too low. The shown prompts are with letterSpace set to -2 and 0 respectively. From what I understand, this is because certain glyphs are too wide to display (I'm pretty hazy on the details here). However, I feel that this shouldn't really be the case - I've measured the actual amount of pictures the glyph takes up and it seems to be no bigger than the "m", for example. Also, when I ssh into my machine using iterm2 (I have a mac as well) with the same font, the glyph renders just fine.

I would like to know if there's a way to fix this problem without changing my font or letterSpace settings*. I'm aware that I could potentially (?) fix this by using a different font, but I'm quite happy with the way urxvt looks currently. Is there possibly some setting I'm missing that is causing this to happen? I'll post the relevant parts of my .Xresources below, as well as information about my system. Thank you!

*(rather, I'm ok with changing the font / letterSpace as long as the end result looks like what I currently have)


.Xresources

URxvt.scrollBar: false
URxvt.secondaryScreen: true
URxvt*iso14755: False

URxvt*font: xft:Source Code Pro for Powerline-11
URxvt*boldFont: xft:Source Code Pro for Powerline-11:style=Bold
URxvt*italicFont: xft:Source Code Pro for Powerline-11:syle=Italic
URxvt*bolditalicFont: xft:Source Code Pro for Powerline-11:style=Bold Italic
URxvt.cursorBlink: true
URxvt*letterSpace: -2

Xft.hinting: true
Xft.hintstyle: hintslight
Xft.antialias: rgba
Xft.rgba: rgb

URxvt.depth: 32
! Need to hardcode to enable transparency
URxvt.background: [90]#002b36
! Enables correct coloring of bolded characters
URxvt.intensityStyles: false
URxvt*skipBuiltinGlyphs: true

System Info

Running Ubuntu 16.04.2 with XFCE and XMonad

rxvt-unicode (urxvt) v9.21 - released: 2014-12-31
options: perl,xft,styles,combining,blink,iso14755,unicode3,encodings=eu+vn+jp+jp-ext+kr+zh+zh-ext,fade,transparent,tint,pixbuf,XIM,frills,selectionscrolling,wheel,slipwheel,smart-resize,cursorBlink,pointerBlank,scrollbars=plain+rxvt+NeXT+xterm

1 Answer 1

0

After some more research, I believe the only way to fix this is to actually patch urxvt. For those on Arch, there appear to be some patched versions that can be easily installed with the system package manager (like this one). For the rest of us, it should definitely be possible to build a patched version of urxvt manually, but I didn't actually do that, and therefore can't offer any guidance.

To solve my problem, I ended up just replacing the problematic glyphs in my prompt and vim statusline with ones that actually render correctly at my desired letterSpacing. It's not the best solution, but I much preferred it to dealing with compiling my own patched version of urxvt.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.