--------------------------------------------------------------
IIIMECF (Internet/Intranet Input Method Emacs Client Framework)
        Brief manual.

	Modified by Hiroshi Miura (miura@da-cha.org)
	on 2005/1/15.
        Written by MIYASHITA Hisashi (himi@m17n.org)
	on 2000/9/8.
--------------------------------------------------------------

o ... License

  IIIMECFは、フリーソフトウェアです。GNU General Public License
Version 2か、もしくはあなたが望むなら、それ以降のversionの定める
規則に基づき、再配布、もしくは変更が許されます。

  IIIMECFには、GNU General Public Licenseが記述されているCOPYING
ファイルが同梱されているはずですが、もし、受け取っていない場合は、
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
宛に連絡を取ってください。

o ... IIIMECFってなあに?

  IIIMECFは、Sun Microsystems社の定めるIIIM Protocolに基づき、Emacs上で
IIIM対応のapplicationを構築するためのlibraryと、それを用いた、Server sideで
制御されるシンプルなInput Method libraryによって構成されています。(この
input-methodを、iiimcf-scと以降は記述します。)

  IIIMECFは、現状、Emacs 20.6以降、もしくは、Meadow 1.10以降で動作します。
Mule-UCSが必須です。Mule-UCS version 0.82以降と組み合わせて用いることを
推奨します。

  なお、iiimcf-scは、ATOK X for Linux, 及び Solaris 8上のATOK/IIIMFと
共に動作することが、確認されています。

  Mule-UCSは、現在、ftp://ftp.m17n.org/pub/mule/Mule-UCSから
取得可能です。また、IIIMECFは、ftp://ftp.m17n.org/pub/mule/IIIMを
一次配布元としています。

  XEmacsへの対応も、現在検討中です。

o ... Install方法

  iiimcf-comp.elを用いて、byte-compileを行ってください。
  以下のcommandにより、byte-compile出来ます。
--
  emacs -q --no-site-file -batch -l iiimcf-comp.el
--
  Meadowでは、以下を参考にしてください。
--
  Meadow95(NT) -q --no-site-file -batch -l iiimcf-comp.el
--

  その後、lisp ディレクトリにある、すべてのファイルをload-pathの通った
ディレクトリにコピーしてください。

  以上で、基本的にinstallは完了です。設定に関しては、「iiimcf-scの設定」の
セクションを参照してください。

o ... Module構成

  現状で、IIIMECFは、以下のModuleによって構成されます。

  (1) ... iiimp.el

	IIIM の protocol library です。IIIMPを解釈/送出する基本的な機能を
        提供します。

  (2) ... iiimcf.el

	IIIM Clientを構成する上で、基本的な機能、例えば、eventを配送したり、
        messageをEmacsの為にtranslateしたり、client情報を生成したりする
	機能をつかさどります。	

  (3) ... iiimcf-sc.el

	IIIM を利用した、シンプルなinput methodを提供するlibraryです。
	基本的に、変換に関わる、ほとんどすべての操作は、serverに送られ、
	serverから制御を受けることによって動作します。

  (4) ... iiimcf-UI.el

	IIIM input method のユーザインタフェースをつかさどります。


o ... iiimcf-scの設定

  最低限、確認もしくは設定しなくてはならない変数は以下のとおりです。

  iiimcf-server-control-hostlist  defaultで、'("unix/:9010")

    IIIM serverを指定します。形式は、"<PROTO>/<SERVER>:<PORT>"のよう
  に指定し、複数のサーバーを指定することが出来ます。(現状では、最初に
  指定したサーバーにしか接続を試みないが、将来的には自動的に切り替える
  予定)

  例:  (setq iiimcf-server-control-hostlist
             '("localhost" "tcp/iiim:9010" "iiim.foo.com:9000" "unix/:9010"))

   なお、<PORT>を省略した場合、iiimcf-server-control-default-portが
  使用されます。この変数の値のdefaultは、9010です。また、<PROTO>を
  省略した場合、iiimcf-server-control-default-protocolが使用されます。
  この変数の値のdefaultは、tcpです。

  "unix/:9010"を指定した場合は、unix domain socket 経由での接続を試みます。

  iiimcf-server-control-username defaultは、(user-login-name)@(system-name)

    IIIM serverに送出するusernameです。通常は設定する必要はありませんが、
  ユーザー名や、自分のマシン名を明示的に指定したい場合は、設定してください。
  なお、初期のhtt_serverにはバグがあるので、@以降の部分を省略すると、不具合が
  発生するおそれがあります。

  例:  (setq iiimcf-server-control-username "himi@tae.m17n.org")
	
  iiimcf-server-control-default-language deafultは、nil

    defaultで使用する言語です。nilの場合、serverから送られてきた
  一番目の候補を使用します。なお、iiimcf-scを起動後 C-cC-\C-lで
  後から切り替えることも可能です。

  例:  (setq iiimcf-server-control-default-language "ja")


 !!!!!!!!!!注意:この機能は現行では無効にされています。
  iiimcf-server-control-default-input-method defaultは、nil

    defaultで、選択するserver側のinput methodを指定します。
  nilであると、serverに対して、特定のinput methodを要求しません。
  この場合、server側に、input methodの選択を委任することになります。
  なお、iiimcf-scを起動後、C-cC-\C-iで、後から切り替えることも可能です。
 !!!!!!!!!!注意終わり。

  他にも、iiimcf-UI-preedit-open-string
  iiimcf-UI-preedit-close-string
  iiimcf-UI-preedit-face-alist
  iiimcf-UI-preedit-use-face-p
  などの変数が設定できますが、これらに関しては、documentation stringを
  参照してください。

  (なお、設定に関わる変数類は、すべてcustom packageを利用しており、
  M-x customize-group iiimcf-server-control
  を実行することにより、設定が可能です。)

  当然、設定の最後にiiimcf-scをloadしなくてはいけません。
  (require 'iiimcf-sc)を追加してください。
  load後は、iiim-server-controlというinput methodを利用できます。
  defaultで用いたい場合は、
  (setq default-input-method 'iiim-server-control)
  を、加えてください。

  例:
--
  (setq iiimcf-server-control-hostlist
        '("localhost" "iiim:9010" "iiim.foo.com:9000" ))
  (setq iiimcf-server-control-default-language "ja")
  (setq default-input-method 'iiim-server-control)
  (require 'iiimcf-sc)
--

o ... UDPによる通信について

  Unix上のEmacsでも、version 22 以前は Unix Domain Protocol を使用した
  通信はできません。IIIMECFには、パイプとUDPを変換するudclient.c が同梱
  されています。version 22 以前のEmacsで UDPを使ってIIIM server と通信
  する場合は、udclient.cをコンパイルして実行パスの通っている場所にイン
  ストールしてください。（make-network-process関数を持つUnix用のEmacsで
  は不要です。）

  また、IIIMのUDPのソケットパスは通常、"/var/run/iiim/.iiimp-unix/" で
  すが、異なるパスを使う場合（"/usr/local/var/run/iiim/.iiimp-unix/"な
  ど）は、iiimp-unixdomain-socket-path変数の値を変更してください。

o ... Mailing List.

  IIIMECF MLのアドレスは、次の通りです。
    li18nux-iiimecf@li18nux.org    (英語)
    li18nux-iiimecf.ja@li18nux.org (日本語)
  MLに参加するには、メール本文に "subscribe あなたの名前"と
  書いて、
    li18nux-iiimecf-ctl@li18nux.org    (英語)
    li18nux-iiimecf.ja-ctl@li18nux.org (日本語)
  に送ってください。
  詳しい案内を得るには、
    li18nux-iiimecf-ctl@li18nux.org    (英語)
    li18nux-iiimecf.ja-ctl@li18nux.org (日本語)
  に本文が空のメールを送ってください。
