[uim-commit] r2263 - in trunk: doc xim
ekato at freedesktop.org
ekato at freedesktop.org
Sun Nov 27 05:43:35 PST 2005
Author: ekato
Date: 2005-11-27 05:43:31 -0800 (Sun, 27 Nov 2005)
New Revision: 2263
Added:
trunk/xim/README
Removed:
trunk/doc/XIM-SERVER
Log:
* doc/XIM-SERVER : Move to xim/README.
* xim/README : Moved from doc/XIM-SERVER and update some note.
Deleted: trunk/doc/XIM-SERVER
===================================================================
--- trunk/doc/XIM-SERVER 2005-11-27 06:37:50 UTC (rev 2262)
+++ trunk/doc/XIM-SERVER 2005-11-27 13:43:31 UTC (rev 2263)
@@ -1,206 +0,0 @@
-About uim-xim
-
-uim package includes an XIM server named uim-xim.
-
-XIM is a legacy protocol and has many severe restrictions. However,
-there are many software which support only XIM protocol to input text
-especially in Japanese. So, I had written uim-xim as a tentative
-tool.
-
-Currently, uim-xim has many defects. Some of them can be fixed. But
-the real way to go is to discard XIM itself.
-
-* We already have gtk immodule version of uim.
-* Project to make fully pluggable input method for Qt is in progress.
-
-
-
-Main defects of uim-xim
-
-It only supports input method with language whose character is
-convertible into the working encoding of client application.
-
-In short, if the client application (such as OpenOffice.org, tgif...)
-is working with ja_JP.eucJP locale, you can use only Japanese input
-methods (anthy, prime, skk...).
-
-But if you use these client applications with UTF-8 locale (such as
-ja_JP.UTF-8), you can use all the available multi-linguistic input
-methods, and switch them dynamically.
-
-
-
-How to use uim-xim
-
-(1) Invoke uim-xim. You can choose startup conversion engine (input
- method) with --engine=ENGINE command line option (replace ENGINE
- with anthy, prime, skk, tcode, tutcode... You can get list of
- available engines with invoking uim-xim --list). Also you can
- specify default conversion engine with uim-pref tool.
-
- Unless specifying with above two methods, preferred engine
- corresponding to startup locale of uim-xim is used automatically.
-
-(2) Set XMODIFIERS=@im=uim and invoke client.
-
-(3) If you want to use candidate helper program other than default
- toolkit one, set UIM_CANDWIN_PROG environmental variable before
- invoking uim-xim.
-
- sh: UIM_CANDWIN_PROG=uim-candwin-qt export UIM_CANDWIN_PROG
- csh: setenv UIM_CANDWIN_PROG uim-candwin-qt
-
- If nothing specified, uim-candwin-gtk or uim-candwin-qt becomes
- default depending on the selected toolkit. If uim is not
- configured either with GTK+ or Qt, candidate helper is not used.
-
-(4) To change conversion engines dynamically, use uim-im-switcher
- tool.
-
-(5) Many settings of working input contexts are dynamically
- configurable by uim-pref-{gtk,qt} except for "enabled input
- methods" and user configuration in ~/.uim. To handle these
- exceptions, we provide a mechanism for reloading uim setting by
- sending a SIGUSR1 to uim-xim (i.e. killall -USR1 uim-xim).
-
-
-How to use extra modifier keys
-
-uim supports 'Super' and 'Hyper' modifier keys for customized key
-operations. Try following steps to enable the feature.
-
-(1) map arbitrary keys to Super and Hyper keys
- xmodmap -e 'keycode 115 = Super_L' # left Windows key
- xmodmap -e 'keycode 116 = Super_R' # right Windows key
- xmodmap -e 'add mod3 = Super_L Super_R' # any mod number is OK
-
- xmodmap -e 'keycode 117 = Hyper_L' # 'Application' key
- xmodmap -e 'add mod4 = Hyper_L' # any mod number is OK
-
-(2) define your own key-bindings
- (define-key generic-cancel-key? "<Super>g")
- (define-key generic-return-key? "<Hyper>m")
-
-
-
-Bypassing uim temporarily
-
-uim has 'emergency key' feature to bypass uim temporarily. This is
-useful with some applications. Also another way to avoid language
-conversion is choosing "direct" input method using uim-im-switcher
-tool.
-
-* The way to use 'emergency key'
- (1) Set following environment variable before invoking uim-xim.
- LIBUIM_ENABLE_EMERGENCY_KEY=1
-
- (2) Press Shift + Backspace to disable/enable uim key
- processing. Key inputs are directly passed to applications while
- uim key processing is disabled by emergency key.
-
-
-
-About XIM event flow
-
-uim-xim supports two XIM event flow methods, full-synchronous-method
-(like kinput2, skkinput2...) and on-demand-synchronous method (like
-XIM server using IMdkit, such as SCIM's x11 frontend). Default
-behavior of uim-xim is set to use full-synchronous-method. If you get
-occasional XIM_ERROR with error_code = 13 while using some specific
-XIM client applications, please try to use on-demand-synchronous
-method with adding '--async' command line startup option (Warning:
-on-demand-synchronous method is known to not work with current XIM
-implementation of Tcl/Tk version 8.{3,4}).
-
-
-
-Internal Implementation
-
-uim-xim processes all IM-related strings as UTF-8 for internal
-reasons. When a XIM client application runs on an UTF-8 locale such as
-ja_JP.UTF-8, the strings are converted as follows.
-
- * "foo" expresses a string encoded in foo.
-
-uim-anthy (only for example)
- |
- v
-"EUC-JP"
- |
- v
-libuim (iconv(3))
- |
- v
-"UTF-8"
- |
- v
-uim-xim (XmbTextListToTextProperty)
- |
- v
-"compound text"
- |
- v
-XIM client
-
-
-uim-xim also supports XIM clients working on non UTF-8 native locales
-such as ja_JP.eucJP. When a client application runs on such locales,
-some additional encoding conversion occurs as follows.
-
-uim-anthy (only for example)
- |
- v
-"EUC-JP"
- |
- v
-libuim (iconv(3))
- |
- v
-"UTF-8"
- |
- v
-uim-xim (iconv(3))
- |
- v
-"EUC-JP"
- |
- v
-uim-xim (XmbTextListToTextProperty)
- |
- v
-"compound text"
- |
- v
-XIM client
-
-
-In such case, uim-xim performs an additional conversion via UTF-8 to
-process the strings in the implementation. But it is ensured that no
-character code alteration will occur since the both 'native->UTF-8"
-and 'UTF-8->native' conversions are performed by same converter
-iconv(3). This results the string as accurate as the old
-implementation which is dedicated to ja_JP.eucJP encoding as follows.
-
-uim-anthy (only for example)
- |
- v
-"EUC-JP"
- |
- v
-libuim (iconv(3))
- |
- v
-"EUC-JP"
- |
- v
-uim-xim (XmbTextListToTextProperty)
- |
- v
-"compound text"
- |
- v
-XIM client
-
-
---
-Yusuke TABATA
Copied: trunk/xim/README (from rev 2262, trunk/doc/XIM-SERVER)
===================================================================
--- trunk/doc/XIM-SERVER 2005-11-27 06:37:50 UTC (rev 2262)
+++ trunk/xim/README 2005-11-27 13:43:31 UTC (rev 2263)
@@ -0,0 +1,197 @@
+About uim-xim
+
+uim package includes an XIM server named uim-xim.
+
+XIM is a legacy protocol and has many severe restrictions. However,
+there are many software which support only XIM protocol to input text
+especially in Japanese. So, we had written uim-xim as a tentative
+tool.
+
+Currently, uim-xim has many defects. Some of them can be fixed. But
+the real way to go is to discard XIM itself.
+
+* We already have Gtk+ and Qt immodule version of uim.
+
+
+
+Main defect of uim-xim
+
+It only supports input method with language whose character is
+convertible into the working encoding of client application. In
+short, if the client application (such as OpenOffice.org, tgif...)
+is working with ja_JP.eucJP locale, you can use only Japanese input
+methods (anthy, prime, skk...).
+
+But if you use these client applications with UTF-8 locale (such as
+ja_JP.UTF-8), you can use all the available multi-linguistic input
+methods, and switch them dynamically.
+
+
+
+How to use uim-xim
+
+(1) Invoke uim-xim. You can choose startup conversion engine (input
+ method) with --engine=ENGINE command line option (replace ENGINE
+ with anthy, prime, skk, tcode, tutcode, and so on. You can get
+ list of available engines with invoking uim-xim --list). Also you
+ can specify the default conversion engine with uim-pref tool.
+
+ Unless specifying with above two methods, preferred engine
+ corresponding to startup locale of uim-xim is used automatically.
+
+(2) Set XMODIFIERS=@im=uim and run client.
+
+(3) If you want to use candidate helper program other than default
+ toolkit one, set UIM_CANDWIN_PROG environmental variable before
+ invoking uim-xim.
+
+ sh: UIM_CANDWIN_PROG=uim-candwin-qt export UIM_CANDWIN_PROG
+ csh: setenv UIM_CANDWIN_PROG uim-candwin-qt
+
+ If nothing specified, uim-candwin-gtk or uim-candwin-qt becomes
+ default depending on the selected toolkit. If uim is not
+ configured either with GTK+ or Qt, candidate helper is not used.
+
+(4) To change conversion engines dynamically, use uim-im-switcher
+ tool.
+
+(5) Most settings of working input contexts are dynamically
+ configurable by uim-pref-{gtk,qt}.
+
+
+
+How to use extra modifier keys
+
+uim supports 'Super' and 'Hyper' modifier keys for customized key
+operations. Try following steps to enable the feature.
+
+(1) map arbitrary keys to Super and Hyper keys
+ xmodmap -e 'keycode 115 = Super_L' # left Windows key
+ xmodmap -e 'keycode 116 = Super_R' # right Windows key
+ xmodmap -e 'add mod3 = Super_L Super_R' # any mod number is OK
+
+ xmodmap -e 'keycode 117 = Hyper_L' # 'Application' key
+ xmodmap -e 'add mod4 = Hyper_L' # any mod number is OK
+
+(2) define your own key-bindings with uim-pref.
+
+
+
+Bypassing uim temporarily
+
+uim has 'emergency key' feature to bypass uim temporarily. This is
+useful with some applications. Also another way to avoid language
+conversion is choosing "direct" input method using uim-im-switcher
+tool or IM-toggle facility using keyboard shotcuts. We recommend
+latter method.
+
+* The way to use 'emergency key'
+ (1) Set following environment variable before invoking uim-xim.
+ LIBUIM_ENABLE_EMERGENCY_KEY=1
+
+ (2) Press Shift + Backspace to disable/enable uim key
+ processing. Key inputs are directly passed to applications while
+ uim key processing is disabled by emergency key.
+
+
+
+About XIM event flow
+
+uim-xim supports two XIM event flow methods, full-synchronous-method
+(like kinput2, skkinput2...) and on-demand-synchronous method (like
+XIM server using IMdkit, such as SCIM's x11 frontend). Default
+behavior of uim-xim is set to use full-synchronous-method. If you get
+occasional XIM_ERROR while using some specific XIM client
+applications, please try to use on-demand-synchronous method with
+adding '--async' command line startup option (Warning:
+on-demand-synchronous method is known to not work with current XIM
+implementation of Tcl/Tk version 8.{3,4}).
+
+
+
+Internal Implementation
+
+uim-xim processes all IM-related strings as UTF-8 for internal
+reasons. When a XIM client application runs on an UTF-8 locale such as
+ja_JP.UTF-8, the strings are converted as follows.
+
+ * "foo" expresses a string encoded in foo.
+
+uim-anthy (only for example)
+ |
+ v
+"EUC-JP"
+ |
+ v
+libuim (iconv(3))
+ |
+ v
+"UTF-8"
+ |
+ v
+uim-xim (XmbTextListToTextProperty)
+ |
+ v
+"compound text"
+ |
+ v
+XIM client
+
+
+uim-xim also supports XIM clients working on non UTF-8 native locales
+such as ja_JP.eucJP. When a client application runs on such locales,
+some additional encoding conversion occurs as follows.
+
+uim-anthy (only for example)
+ |
+ v
+"EUC-JP"
+ |
+ v
+libuim (iconv(3))
+ |
+ v
+"UTF-8"
+ |
+ v
+uim-xim (iconv(3))
+ |
+ v
+"EUC-JP"
+ |
+ v
+uim-xim (XmbTextListToTextProperty)
+ |
+ v
+"compound text"
+ |
+ v
+XIM client
+
+
+In such case, uim-xim performs an additional conversion via UTF-8 to
+process the strings in the implementation. But it is ensured that no
+character code alteration will occur since the both 'native->UTF-8"
+and 'UTF-8->native' conversions are performed by same converter
+iconv(3). This results the string as accurate as the old
+implementation which is dedicated to ja_JP.eucJP encoding as follows.
+
+uim-anthy (only for example)
+ |
+ v
+"EUC-JP"
+ |
+ v
+libuim (iconv(3))
+ |
+ v
+"EUC-JP"
+ |
+ v
+uim-xim (XmbTextListToTextProperty)
+ |
+ v
+"compound text"
+ |
+ v
+XIM client
More information about the uim-commit
mailing list