Comment 4 for bug 230532

Revision history for this message
boson84 (ashish-kapadia) wrote :

I had incorrectly assumed that the problem that you see on Console is same as the problem that we were experiencing in our application. The patch by Bryce fixes the problem in Ubuntu 8.10 Intrepid release that occurs as a result of following the steps that I had originally described. However it does not fix the core issue that I had originally mentioned. The Bryce’s fix is in the libxft library where as the fix for the problem that we are experiencing should be in libX11 library.

The problem is that the libX11 library does not support the GB18030 locale. As a result any application that only uses libX11 library to render font on the X Server under GB18030 locale does not work. The only way to resolve this issue is to apply the patch associated with this bug https://bugs.freedesktop.org/show_bug.cgi?id=1573. It appears that the patch is now part of the xorg starting November 22, 2008. When I had originally reported the problem, the patch was not included in the xorg.

I’m now including steps on how to reproduce this issue base on the Xlib based application:

1. Install the gb18030 locale as described in the ticket description above.
2. Login to the ubuntu system using administrator privileges
a. Go to System -> Administrator -> Language Support option. Select the Chinese language and check the “Enable support to enter complex characters” option.
b. Reboot the system.
c. Above steps should install the arphic Chinese fonts on your system.
3. Login to your ubuntu system using gb18030 locale. Type "locale" command on your console to verify that you are using gb18030 locale.
4. Next, download the attached test_xim.c file. The file assumes that your system has arphic Chinese fonts for gb18030 locale. These should be installed using the step #2. If you already some other Chinese fonts then you can modify the DEFAULT_FONT_NAME line the code with the appropriate font names.
5. Compile the file as: gcc test_xim.c –lX11
6. Run the ./a.out executable.
7. Type some text on the white window that is popped up, you should see the text in black color. Next try typing some Chinese character using Chinese input method. You can trigger the Chinese input method using Ctrl + Space key.
8. Notice that the Chinese characters are not being rendered.