Osamu Sayama's Weblog
IIIMF R12 (1) - overview
Solaris 10U2から Solarisで使われている入力方式の IIIMFが R12 ベースになっているので、わかる範囲で簡単に説明しておきます。主な変更点は
- iiim サーバが各ユーザ毎に立ち上がるようになった。
- iiim-properties を使用した各ユーザ毎に構成のカスタマイズが可能になった。
というとこが大きなとこです。Solaris 10U1 までに使われていた IIIMF はシステムで1つ起動する形をとっていましたが、ユーザ毎になることで、何かしらの原因でハングしてしまったときなどに他のユーザに影響を与えなくなるなど安定性がましたなどがあります。また、後者は特に status window の表示位置などを変えられるようになり不評だった JDS 環境での IM status window 表示位置などをカスタマイズできるようになったなどが主なよい点です (IM status window は JDS 環境では gnome panel に表示できるようになりました)。
起動方法は CDE/gnome セッションから S505multi スクリプトが読込まれ
/usr/openwin/lib/locale/common/imsscript/S505multi
-> /usr/bin/iiimx (旧 htt, 各 daemon の起動、監視 daemon)
-> /usr/lib/iiim/iiimx-settings-init (各ユーザの構成情報を読込み初期化してそのまま終了)
-> /usr/lib/iiim/iiim-xbe (旧 htt_xbe, xim server, AUX の起動等のサービス)
-> /usr/bin/iiimd (旧 htt_server, iiim server)
のように各 daemon が起動します。
iiimf のクライアントライブラリは主に2種類あり、GTK アプリに使われる iiimgcf (/usr/lib/gtk-2.0/2.4.0/immodules/im-iiim.so), X アプリに使われる iiimxcf (/usr/openwin/lib/locale/common/xiiimp.so.2) があります。さらに xim サーバ経由でつながる /usr/openwin/lib/locale/common/ximp40.so.2 も使われます。X アプリでどれが使われるかは UTF-8 locale かそうでないかによって異なり
- GTK app -> GTK API -> -> im-iiim.so -> libiiim*.so -> [IIIM protocol] -> iiimd
- X app (UTF-8) -> X API -> xiiimp.so.2 -> -> libiiimc*.so -> [IIIM protocol] -> iiimd
- X app (non UTF-8) -> X API -> ximp40.so.2 -> [X protocol] -> iiim-xbe -> libiiim*.so -> [IIIM protocol] -> iiimd
という感じで、GTK app や UTF-8 loclae の X app は IIIM server に直接つながります。それで iiimd の下には各 LE(Language engine) がくっついていて言語固有の LE (日本語の場合は ATOK や Wnn8) が呼ばれます。iiimf のソースの中にはさらに iiimecf (emacs と), iiimjcf(java と), iiimgcf (QT と) の IIIMF 対応モジュールが入ってますが Solaris ではバンドルしていません。バンドルしてないからといって日本語入力ができないわけではなくこの場合は X API 経由で使えるようになります。
Posted at 09:12午後 12 11, 2006 by sayama in Input Method | 投稿されたコメント[0]