I don't have a general problem with XTerm and Unicode. For the most part, things are working. This works great:
$ echo "¿dónde está la llama?" ¿dónde está la llama?
As does this:
$ echo -e "\xE2\x98\xA0" ☠
But this fails:
$ echo -e "\xE2\xA4\xB7"
Rather than the expected output (⤷, aka ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS) I get the dreaded box. I'm currently using:
xterm*faceName: Hack Regular:size=12:antialias=true
This is the same font I use with
gnome-terminal, which displays the
same character correctly. I've also tried the same thing with a
variety of other monospace fonts (Droid Sans Mono, DejaVu Sans Mono,
Liberation Mono), which all have the same behavior in XTerm (but work
fine elsewhere). In fact, looking at the characters between
which displays correctly, and
\u2937, which does not, there are a
number of characters that don't seem to display correctly in XTerm:
$ python >>> for x in range(0x2620, 0x2938): ... print(unichr(x))
I'd like to understand what's going on here. Why does XTerm have trouble displaying some of these characters, but not others?