Frank Yung-Fong Tang writes: > Philippe Verdy wrote: > > > Frank Yung-Fong Tang writes: > > > But how about the UTF-16 vs UCS4 battle? > > > > Forget it: nearly nobody uses UCS-4 except very internally for string > > processing at the character level. For whole strings, nearly everybody > > uses > > UTF-16 as it performs better with less memory costs, and > because UCS-4 is > > not needed. > > I don't think that is a correct statement. I would like to use UTF-16. > But it is clear that is not all the case. > > 1. Some people in this list preferred UCS4. (Raise your hand if you do) > 2. wchar_t in Linux's glib is UCS4. (and that is "nearly nobody") > 3. because of 2, therefore, gconv on linux is using UCS4 > 4. FontConfig use UCS4 for API provide for Xft, (see FcFreeTypeCharIndex > in fcfreetype.h ) > 5. Xft internally use UCS4 (look at xftdraw.c, xftrender.c). Some of the > Xft's api use UCS4 (not all)- XftTextExtents32, XftDrawString32, > XftTextRender32, XftTextRender32BE, XftTexdtRender32LE, XftDrawCharSpec, > XftCharSpecRender, XftDrawCharFotnSpec, XftCharFontSpecRender, > 6. gunichar in linux is ucs4 > 7. Because of 6, pango use UCS4 in the unicode api
We're not speaking about the same thing: I was not discussing the representation of individual characters (yes it's simple to make wchar_t 32-bit with UCS4), but the encoding of large amounts of strings for general text processing. That's where UTF-16 is better. All the examples you give above are directly related to individual characters (in fact mostly glyphs). gconv is a special case, but gconv does not need to store a lot of text but handles internally very few characters at one time. So you can have a wchar_t datatype in C/C++ that stores UCS-4, but your strings will most often not be arrays of wchar_t but of an intermediate 16-bit size which gets parsed to 32-bit wchar_t by very simple run-time scanners. APIs that really use 32-bit chars to represent strings are quite rare and in fact not needed, as UTF-16 strings will perform better. __________________________________________________________________ << ella for Spam Control >> has removed Spam messages and set aside Newsletters for me You can use it too - and it's FREE! http://www.ellaforspam.com
<<attachment: winmail.dat>>