Some unicode symbols still not displayed with urxvt or xterm

6,638

Solution 1

Fernando Basso's answer already helped me a lot. However, as he also pointed out, I still could not get all the glyphs to work. Especially the symbol indicating the line in airline (㏑) didn't work until I added the ttf version of Unifont.

The ttf version can be installed with apt install ttf-unifont on Debian (probably it's a different package name in other distributions). After that I added the ttf version of Unifont as an extra entry to my ~/.Xdefaults:

URxvt.font:            xft:Hack:pixelsize=18,\
                       xft:DejaVu Sans Mono:pixelsize:18,\
                       xft:Unifont:pixelsize:16,\
                       -*-unifont-*-*-*-*-*-*-*-*-*-*-*-*

As you can see, it's possible to load both the bitmap and ttf version.

Solution 2

What I do here to get the glyphs I need working on urxvt is to add more fonts in the font list:

URxvt.font: xft:Ubuntu Mono:pixelsize=18:antialias=true:hinting=true,\
            xft:Source Code Pro:pixelsize=18:style=medium:antialias=true,\
            -*-unifont-*-*-*-*-*-*-*-*-*-*-*-*

It is still not perfect, though. I still can't get everything properly displayed in this file: http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt

What helped the most so far with most unicode glyphs I use frequently was the inclusion of Unifont in the list. I hope it helps you in some way.

As for xterm, it doesn't support multiple fonts.

To discover which font provides a certain glyph, I use gucharmap (available on linux distros at least), hit Ctrl-f, C-s-u <unicode codepoint> (ex: C-s-u2713 which is ✓) and then I right-click on the glyph found and the app shows the name of the font used to render that specific glyph.

Share:
6,638

Related videos on Youtube

Cole
Author by

Cole

M.S. Computer Science, Machine Learning.

Updated on September 18, 2022

Comments

  • Cole
    Cole over 1 year

    I've been having trouble viewing certain unicode symbols under urxvt or xterm. The font I'm using is Source Code Pro for Powerline which I installed through the powerline fonts repo. My .Xresources contains the following:

      9 URxvt.font: xft:Source\ Code\ Pro\ for\ Powerline:pixelsize=22,xft:PowerlineSymbols
     10 URxvt.scrollBar: false
     11 
     12 Xft.dpi: 150
     13 Xft.antialias: true
     14 Xft.rgba: rgb
     15 Xft.hinting: true
     16 Xft.hintstyle: hintslight
     17 
     18 XTerm*selectToClipboard: true
     19 XTerm*termName: xterm-256color
     20 XTerm*locale: true
     21 XTerm*metaSendsEscape: true
     22 UXTerm*faceName: Source Code Pro for Powerline:style=Medium
     23 UXTerm*faceSize:10
    

    but I still get funky behavior like in the following circumstances

    enter image description here enter image description here enter image description here

    $TERM outputs rxvt-unicode-256color

    Running urxvt --help 2>&1 | grep options: returns iso14755, unicode3, and frills among other things.

    So I'm unsure why I still can't see some of these unicode symbols because I have all my bases covered? This is happening system-wide as I can't see certain symbols in Firefox either, so I think it has to be a font issue.

    Thanks in advance!