On Wed, Aug 04, 2010 at 01:36:17PM -0700, Matthew Dempsky wrote: > Is there any useful documentation that explains how you're supposed to > write C code and what's changed under the i18n New World Order? From > your message, it sounds like we're going to have to rewrite nearly all > of our user-space code...
Not only does switching to unicode require a lot of work, but it requires perpetual, unending work. Unicode has the foolish goal of including all known characters, so every time a country invents a new currency symbol, for example, the unicode fonts (such as DejaVu) must be updated to include the symbol and the C library has to be updated to recognize that the symbol is printable, and so on. It requires constant maintenance. But it's even worse, because unicode also violates the principle (established by Alan Turing in 1936) that any two characters should be humanly distinguishable "at a glance". This has led to the invention of punycode for translating unicode strings into humanly distinguishable ASCII strings. But then why did we switch from ASCII to unicode in the first place? It's my opinion that unicode shouldn't have a place in the Unix terminal. You might want your GUI to display unicode characters, but when I'm working from a terminal, I want to see the data as closely as possible to the way that the computer "sees" the data. For example, I don't want nvi to display unicode characters, I want to see each individual 8-bit byte that composes the character. I don't want unicode on the command line.

