Hi,
I'm digging for displaying korean characters in xterm.
I found some weird things in X430 compilation in RC9.
XChar2b in zaurus is 4bytes long not 2bytes.
( see X11/Xlib.h, it's just a struct of 2 unsigned char.
in x86 systems, it is 2bytes-long).
And compiling X430 without defining MUSTCOPY or MUSTCOPY2B,
it makes trouble in diplaying non 1byte-characters(CJK or non-european world).)
see (X430SRC)/xc/lib/X11/Text16.c
int
XDrawString16
...
{
...
#if defined (MUSTCOPY) || defined(MUSTCOPY2B)
// safe copy code for arm
#else
// troublesome memcpy
// it assume that XChar2b is 2bytes-long
memcpy((char*) ..., (char*)..., 254 * 2);
#endif
}
I patched my xterm code to work around with current situations.
And it displays korean characters correctly.
But I think it's the problem of compiling Xlibraries and with correct define will solve this problem
without inefficient workaround client patches.
And it should not harm 1byte-world people.(european characters world?)
Please compiling X430 with defining MUSTCOPY or MUSTCOPY2B in RC10.
Am I wrong?
PS.
I googled same problem:
here