This is one of the most frustrating things about various cheats to get unicode (or just characters). There is no certainty that #165 *is* the same character in font A and in font B, so you might end up thinking it is showing #161, simply because its mapped differently.
But, to get a bit technical about the real bloody mess this makes of things, Microsoft, when confronted with the need to use their OEM (the font used by DOS and built into all graphics cards for the PC, rather than making a True Type for it when in there console, cheated and used a trick like this:
if FONT = "System" then
display char
else
select case char
case <blah>
display box_drawing_x25
...
end select
end if
Or something roughly like that. I suspect ones like puTTY work the same way, and translate the "normal" characters into there local versions, by substitution of them. The problem with both UTF-8 and MS' goofy solution is that it only works if "either" the sender and the reciever know what is going on and both methods prevent you from accessing parts of the unicode. There is a lot of stuff in the code spaces for, for example, x01NN, x02NN, x03NN, etc., where x0n is the section to display and NN is the character in that section. UTF-8 can't get at those, simply because it relies of values of x8000-xFFFF to designate a "unicode" character, and anything in x00-x7F as a "normal" letter. The letter N in true unicode is x004E, because something like 4E4F5051 would be *not* be NOPQ, but something totally different. Specifically, 4E is the CJK Unified Ideograph section, while 50 is in a no mans land, where there is no alternate set (at least that my viewer shows).
BTW, check out http://www.jhlabs.com/java/unicodeviewer.html for a good look at how this mess is arranged in just one common font.
---
Now for the "good" news. It is probably possible to use the OnPacketRecieved functions to intercept incoming text, then perform substitutions on it. There are examples of this around, though I am not sure what the links are. But even with UTF-8 turned on, there "may" be cases where the character you need is some place in the no-mans land of stuff that UTF-8 won't let you get to.
This, http://www.lischke-online.de/FontViewer.php should help anyone that wants to try to figure out a) which fonts will even work, and b) what to map the changes to in order to actually get those characters. |