Re: [Indic-computing-devel] NCST IndiX examined
Status: Alpha
Brought to you by:
jkoshy
From: <jk...@Fr...> - 2002-02-09 05:42:47
|
Dear Keyur, Welcome! ks> Err! Please carefully see the source code of xc/lib/X11/QuTextExt.c ks> in original XFree86. It also first converts the string into UCS-2 ks> before sending request to the X Server. The only difference between ks> the conversion is that, originally X Server pads an extra byte to ks> each element of the string to make it UCS-2. We assume incoming ks> sequence into UTF-8 and convert it into UCS-2. The changes made in ks> IndiX was earlier breaking relationship with other foreign languages ks> like French, German (all with iso-8859-* encoding). But now I am ks> taking care of this also. I don't see anything specific to Unicode or UCS-2 in this file. http://cvsweb.xfree86.org/cvsweb/xc/lib/X11/QuTextExt.c?rev=1.4&content-type=text/x-cvsweb-markup There is only one [QueryTextExtents] protocol request in the X11 protocol. This request is used for both the `XQueryTextExtents16()' and `XQueryTextExtents()'. It expects 2 byte glyph indices. For "linear" (single byte) glyph indices, the X library makes the MSB of each 2 byte glyph index to be zero (i.e. linear encodings are treated as row 0 of a 2-D glyph matrix). All this is explained in the X Protocol specification. [See Page 37, QueryTextExtents] Compare: http://cvsweb.xfree86.org/cvsweb/xc/lib/X11/QuTextE16.c?rev=1.4&content-type=text/x-cvsweb-markup ks> X11 text drawing calls accepts character codes and send them to the ks> X Server along with other data in the form of a request. We have not ks> changed this semantic. This character codes are then used by the ks> subsequent font library to get the glyph codes. ks> In my view, it is compatible with the X Window System protocol. You seem to have ignored the part of the X protocol specification (that I had quoted in my review) that explicitly states that the X protocol DOES NOT deal with character codes and that the clients just use indices into the glyph array. ``Font: A font is a matrix of glyphs (typically characters). The protocol does no translations or interpretation of character sets. The client simply indicates values used to index the glyph array. A font contains additional metric information to determine interglyph and interline spacing.' X Protocol Specification, Glossary, pp 154. If you want to see the effect of your changes on protocol compliance, you could: (a) run the X protocol test suite. In particular, /tset/CH06/drwimgstr16/Test{all} ... and others in this section ... /tset/XPROTO/imgtxt16/Test{all} /tset/XPROTO/plytxt16/Test{all} /tset/XPROTO/qrytxtextn/Test{all} (b) attempt to view cryllic, korean or japanese text (i.e character encodings whose code points fall outside the US-ASCII range) You are probably the best placed in our group of developers to talk about the technology behind Indic script rendering. I am looking forward to learning from your experience. Do you have tutorial or writeup on Indic rendering that you could share with this group? Regards, Koshy <jk...@fr...> |