Bug#219551: Unicode xterms should do some kind of substitution for missing characters
On Sun, Nov 09, 2003 at 02:35:06PM +0100, Eduard Bloch wrote:
| Okay, I see your problem now, the terminal emulator _may_ replace the
| presented chars with equivalents in the font. But it's hell of work if
| done right, it has to check every char, locate most similar character
| in some encodings map and replace it.
Presumably it only has to do that on missing characters, which one would
think will usually be in the minority of the display at any given time.
| I expect xterm to become slower and more memory consuming if this will
| ever be implemented.
I imagine it would. I concede that one reason that I don't use gnome
terminal now is that it feels quite slow compared to xterm. On the
other hand, some slowdown is acceptable, especially if the bulk of it
would only affect those occasions when characters do need to be
| However, why do you not just set the locale to Latin1 if your
| X-Terminal/X-Server does not support Unicode fonts?
My X server is XFree86 4.3; it supports Unicode fonts. The font I am
using contains a large number of characters not present in a Latin-1
encoding (although admittedly I would not miss most of them - Cyrillic,
Greek, obscure accented letters, random mathematical symbols, the Euro
sign, etc), which show up correctly in a uxterm. It does not, however,
contain a hyphen in position U+2012.
One could, I suppose, argue that the font is broken and should contain a
hyphen. I accept this, but would nevertheless like to see xterm work
around it, if at all possible.
| As said, this would make them slower. Setting the locale to the one best
| supported by the X-Server is easier.
(As noted above, it's not an X server issue, but a font issue.) Yes,
using Latin-1 would make things a lot easier. Indeed I haven't noticed
this issue for long as I only switched to a UTF-8 locale a couple of
weeks ago. For the most part, this hasn't caused major problems, and
I'm interested in getting the minor niggles such as this one fixed up.