> From: Aravind Menon <[EMAIL PROTECTED]> > I do not exactly wish to do the entire handling of Indic script. We have > already modified a part of Xlib (the XDrawString and similar functions) to > handle input in a different manner when it is ISCII encoded (ISCII is an > 8-bit encoding for Indic scripts and is compatible with ascii). This > modification is, at best, ad hoc.
In principal, mdofying XDrawString and similar functions to handle grapheme cluster(or character) is wrong. What XDrawString and similar functions takes is not a grapheme cluster(or character) but glyph index. They work as if they take character on the locales using the encodings of 1 codepoint = 1 character = 1 grapheme cluster = 1 glyph index. In the Xlib level, CTL(complex Text Laypout) handling such as ISCII support is the task of XOM, and the full implementation of XOM including CTL support is known as XomCTL. This XomCTL is, the way most of commercial UNIX enabled Thai/Arabic/Hindi etc, on CDE. The the XomCTL implementation has not been available from the standard X11 distribution, but stayed with The OpenGroup as PST. I pushed XomCTL to the opensourcing path for long time, and last time I checked, all copyright holders signed to opensource XomCTL, but I do not know what the obstacle remaining afterall. I will double check the status. Regarding API in Xlib level, you should use Xmb/wcDrawString and its mb/wc families, which are designed to take codepoint. -- hiura@{sun.com,li18nux.org,kondara.org,unicode.org} http://www.li18nux.org Chair, Li18nux/Linux Internationalization Initiative, Free Standards Group Architect/Sr. Staff Engineer, Sun Microsystems, Inc, USA FAX 650-786-9553 _______________________________________________ I18n mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/i18n