I always knew I would to learn about wide characters and internationalization, I was just never in a hurry to. The client uses UTF-8, unfortunately UTF-8 requires 3 bytes for Chinese characters which presents me with some fairly significant issues .
Since we will be supporting Chinese traditional maybe I can remap the characters down to – essentially – their own code page that uses less than 16 bits per character.
Since we use the player’s callsign as an index all over the place it has to be a value that can be stored in a base value: that sets a restriction of 64 bits (unsigned long long) unless I convert the code to 64-bit (although I’m not sure GNU C/C++ have a 128-bit register type defined yet?)
Neither prospect makes me rub my hands together in delight but … That’s why they call it “work” :)