Re: XIM Root vs OverTheSpot and GTK support



On Sun, Apr 10, 2005 at 08:52:00AM +0900, Changwoo Ryu wrote:
> 2005-04-08 (금), 12:59 -0800, Ted Schroeder 쓰시길:
> > I am doing an internationalization effort for our product, the
> > MusicPad Pro, and I need to have Chinese input for our Chinese
> > localization. I am using xcin for the input and would like to use
> > "OverTheSpot" support instead of "Root" support, but from what I can
> > tell (I'm using gtk+-2.6.4) there is not support for this input style.
> 
> IIRC it is the decision to drop OverTheSpot mode.  Only OnTheSpot and
> Root are supported.  And XIM itself is never recommended to use.  I
> suggest to use decent (and much better) input methods such as scim.

But, IMO, XIM is still the most widely supported protocol. There are
many decent (and might be better than scim :)) input methods out there
that don't support native gtk2 im module. The XIM probably will still be
with us for a while. So I think it's still important that gtk2 works
well with XIM.

> > In particular, I notice that the ALLOWED_MASK #define in
> > gtkimcontextxim.c is set to (XIMPreeditCallbacks | XIMPreeditNothing |
> > XIMPreeditNone | XIMStatusCallbacks | XIMStatusNothing |
> > XIMStatusNone).
> > 
> > If I just added XIMPreeditPosition, would this work or is there more
> > that would need to be done to support the OverTheSpot mode?
> 
> Basic functions will work but I expect many glitches around positioning
> the preedit area.

No it won't work at all. It'll be a disaster! Once XIMPreeditPosition is
chosen, xlib requires, among other things, a fontset be provided to
XCreateIC call. Currently gtk2 has no concept of fontset. Unless you
also modify other necessary parts in gtk2, simply adding
XIMPreeditPosition will cause XCreateIC fail and leave you without any
input method support! I believe this mandate of fontset is the main
reason for Owen's objection of over-the-spot style. The positioning is
actually not a problem at all. AFAIK, gtk2 already exposes the cursor
position. The problem right now is that this information can't reach the
xim server because xlib blocks it unless over-the-spot style is chosen.

Regards,
rigel



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]