gtk-a-higuti-981202-0.patch

This patch is against gtk+-1.1.5.

This patch is a clean-up/bug-fix version of gtk-a-higuti-980912-0.patch.

This patch adds support for CJK (Chinese, Japanese, and Korean)
locales in the GtkText widget, using wide characters. It changes
the internal representation of text in GtkEntry, too.

Changes:

       * gdk/gdk.c
               (gdk_mbstowcs): New function. Nearly equals to mbstowcs, but
                       implemented by a combination of Xlib functions, so
                       it works even with X_LOCALE.
               (gdk_wcstombs): New function.
               (g_mbtowc): Removed. No longer needed.
       * gdk/gdk.h
               (gdk_text_width_wc): New prototype.
               (gdk_char_width_wc): New prototype.
               (gdk_draw_text_wc): New prototype.
               (gdk_wcstombs): New prototype.
               (gdk_mbstowcs): New prototype.
       * gdk/gdkdraw.c
               (gdk_draw_text_wc): New function.
       * gdk/gdkfont.c
               (gdk_text_width_wc): New function.
               (gdk_char_width_wc): New function.
       * gdk/gdki18n.h
               (mblen, mbtowc, wctomb, mbstowcs, wcstombs,
                wcslen, wcscpy, wcsncpy):
                       Removed. No longer needed.
               (iswalnum): Removed.
               (gdk_iswalnum): New macro.
               (gdk_iswspace): New macro.
       * gdk/gdktype.h
               (GdkWchar): New typedef.
       * gtk/gtkentry.h, gtk/gtkentry.c
               There are many changes according to the change of the
               internal representation of text, from multibyte string
               to wide characters.
       * gtk/gtkprivate.h, gtk/gtkmain.c
               Removed the variable gtk_use_mb and related codes.
       * gtk/gtkspinbutton.c
               Some changes according to the change of type of entry->text.
       * gtk/gtktext.h, gtk/gtktext.c
               Changed the internal representation of text. We use GdkWchar
               if a fontset is supplied. If not, we use guchar to save
               memory.