[Q] Gtk+ is not working with Korean IM
- From: Young-jae Chang <robocop green vivian com>
- To: gtk-list redhat com
- Subject: [Q] Gtk+ is not working with Korean IM
- Date: Tue, 19 May 1998 22:41:34 +0900 (KST)
Hi~~~ I have problem with using Korean in Gtk+
I'm using hanIM as Korean IM...
(It works well with Netscape and most I18Ned application
except Gtk :( )
You can get it from
ftp://ftp.kaist.ac.kr//pub/hangul/mirror/www.mizi.co.kr/hanIM
- get two files hanIM-0.9-?.rpm and xfntmizi-1.1-1.rpm
install them and set LANG=ko ... and start hanIM
Gtk+ configure script has some problem too..
glibc is not supporting 2bytes languages but configure think it does
so it didn't DX_LOCALE flag..
so you have to manualy set it (Makefile gdk/Makefile gtk/Makefile)
add -DX_LOCALE ....
i enclose test program and rc file...
first recompile gtk+ with -DX_LOCALE flag...
compile gtkimtest.c
run im 'hanIM&'
run it './gtkimtest gtkimtest.rc'
you will see Korean charactor in a button (it means 'quit')
press shift-space to switch to korean.. and type anything...
nothing happen (to disconnect from IM press control-space)
I don't know much about I18N so... It's difficult to look gtk source
some guy said to me the fix(?)
gdk.c about line 750~760 in fuction gdk_event_get()
filter_status=XFilterEvent(&xevent,GDK_WINDOW_XWINDOW(xim_window));
change above line like below
filter_status=XFilterEvent(&xevent, None);
this worked 0.99.? and i didn't test later versions...
I don't know what that means...
can anyone tell me how to use hanIM correctly?
Which is victim(?) hanIM or Gtk+ ? (or me?)
(sorry for my terrible english ...)
//--------------------------------------------
robocop@green.vivian.com
hc92028@pine.kangwon.ac.kr
Young-jae Chang
--------------------------------------------
/* $Id: gtkimtest.c,v 1.2 1998/02/17 07:06:46 frog Exp $ */
#if 0
# include <locale.h>
#else
# include <X11/Xlocale.h>
#endif
#include <gtk/gtk.h>
int
main (int argc, char **argv)
{
GtkWidget *window, *vbox, *entry, *button;
gtk_set_locale();
gtk_init(&argc, &argv);
if (argc < 2)
{
g_error("»ç¿ë¹ý: %s <rc ÆÄÀÏ À̸§>\n", argv[0]);
gtk_exit(1);
}
gtk_rc_parse(argv[1]);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_container_border_width (GTK_CONTAINER (window), 10);
vbox = gtk_vbox_new (FALSE, 4);
gtk_container_add (GTK_CONTAINER (window), vbox);
entry = gtk_entry_new();
gtk_box_pack_start_defaults (GTK_BOX (vbox), entry);
button = gtk_button_new_with_label("³¡");
gtk_signal_connect(GTK_OBJECT(button), "clicked",
GTK_SIGNAL_FUNC(gtk_main_quit), NULL);
gtk_box_pack_start_defaults (GTK_BOX (vbox), button);
gtk_widget_show (entry);
gtk_widget_show (button);
gtk_widget_show (vbox);
gtk_widget_show (window);
gtk_main();
}
style "default"
{
fontset = "-misc-gothic-*-*-*--*-*-*-*-c-*-*"
}
widget_class "*" style "default"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]