From: Sergey V. U. <ser...@cl...> - 2002-09-23 20:54:28
|
Hi all There is a little question about gaim architecture and non-ascii encoding. Currently, gaim is rather weak in this area. All the data is transferred "as is" (even if gaim is 8-bit clean). The only plugin which recodes the data for i18n purposes is well known rusconv. But this great plugin is good for the convertion between 2 russian encodings. And its usage is limited by ICQ protocol and other pure 8-bit protocols. Unicode-based protocols are not supported properly (for example, MSN). So my major question is about internal gaim structures. Does gaim use unicode internally? If no - why? If yes - what is the way? Would it be possible to create some generic encoding handling approach with the following principles: 1. There is a "local client" encoding and "protocol" or "remote" encoding. All the visible character data is transcoded using them. 2. The gaim's local client encoding is determined at run time from LANG, LC_??? envvars and/or from gaim configuration 3. The "internal protocol" encoding is set on per-protocol and/or per-buddy basis (some per-protocol default would be nice here - and gaim config could allow to modify this parameter). So for MSN it would be unicode (UTF-8?), for ICQ it can be ISO8859-1 (or Windows CP1251 for Russian users). I really admire gaim and would love to see it perfect. I think with the library like iconv, my ideas are not very difficult to implement. I would be happy to help here with some code but I am afraid I don't have enough spare time:( Regards, Sergey |