	skkinput 利用の手引き ( Version 2.06.4 )

1. skkinput とは
2. skkinput のインストール方法
3. skkinput の利用方法
4. 判明しているバグ,改良予定など
5. その他
6. 謝辞

1. skkinput とは
----------------

1.1 skkinput とは
-----------------

skkinput は、kinput protocol/kinput2 protocol/Ximp Protocol/X Input
Method(X11R6標準)を用いた X Window System 上で動作する日本語入力のた
めのアプリケーションです。

skkinput は、SKK に付属している skkserv と BSD 系 UNIX のソケットを利
用してかな漢字変換を行います。skkserv が利用できない場合にローカル辞書
だけを用いて日本語入力が可能です。ただし、skkserv を起こしに行く機能は
サポートされておりません。

1.2 skkinput によるかな漢字変換
-------------------------------

skkinput は、

(1) 内部に登録されている変換キーとその変換結果を検索。
(2) skkinput の参照・更新する局所辞書(*1)を検索。
    (デフォルト: "~/.skkinput-jisyo")
(3) SKK によって更新される局所辞書(*2)を検索。
    (デフォルト: "~/.skk-jisyo")
(4) skkserv との通信によって得られる変換結果。

の順に変換動作を行います。skkserv と通信できなかった場合には、(4) の
動作は行われません。また、skkserv を active にし直すことは行いません。

(*1) この局所辞書を以下 skkinput ユーザ辞書と呼びます。
(*2) この局所辞書を以下 skk ユーザ辞書と呼びます。

skkinput 上で新に登録された変換キーと変換結果は、skkinput ユーザ辞書に
記録されます。skk ユーザ辞書ではなく、skkinput ユーザ辞書に変換結果を
書き込む理由は、「skk ユーザ辞書に書き込んだ場合、Mule + skk の辞書の
更新と skkinput による辞書の更新が衝突する可能性があるから」です。

skkinput ユーザ辞書及び skk ユーザ辞書の両方を検索する意図は次の通りで
す。
「skk ユーザ辞書を参照せずに skkinput ユーザ辞書だけを参照するというこ
  とにすると、既に色々とカスタマイズされている SKK (+Mule)のユーザ辞書
  を参照しないということですから、色々と不便でしょう」

この (2),(3) に用いる辞書はオプションによって修正することが可能です(後
述)。

また、skkinput ユーザ辞書を更新する時にバックアップをきちんととるよう
になっています。
デフォルトは "~/.skkinput-jisyo.BAK" です。この変更もオプションで可能
です。

2. skkinput のインストール方法
------------------------------

skkinput のインストールは、X Window System の他のアプリケーションと同
様に xmkmf を用いて行います。

xmkmf を行う以前に、Imakefile の中に一部修正しておくべき個所があります
ので、それを書きます。

    /* SKK Server Address */
    #define SkkServer      localhost

  この #define の行には、skkserv の起きている計算機のアドレス(またはホ
スト名)を書いて下さい。

    /* Skkinput Window uses these fonts. */
    #define Default_FontSet	-*-fixed-medium-r-normal--16-*-*-*-*-*-iso8859-1,-misc-fixed-medium-r-normal--16-*-*-*-*-*-jisx0201.1976-0,-misc-fixed-medium-r-normal--16-*-*-*-*-*-jisc6226.1978-0,-misc-fixed-medium-r-normal--16-*-*-*-*-*-jisx0208.1983-0,-misc-fixed-medium-r-normal--16-*-*-*-*-*-jisx0212.1990-0

  この行で、skkinput の利用するフォントを指定します。デフォルトでは上
のように指定されています。通常は、xlsfont を実行した時に "...-iso8859-1"
と表示されるフォント、"...-jisx0201.1976-0"と表示されるフォント、そして
"...-jisx0208.1983-0" と表示されるフォントを指定しておけば大丈夫です。(*3)

例えば、私の環境では

"-misc-fixed-medium-r-normal--14-110-100-100-c-70-iso8859-1"
"-misc-fixed-medium-r-normal--14-130-75-75-c-70-jisx0201.1976-0"
"-misc-fixed-medium-r-normal--14-130-75-75-c-140-jisx0208.1983-0"

というフォントを指定しています。この場合には、

#define Default_FontSet -misc-fixed-medium-r-normal--14-110-100-100-c-70-iso8859-1,-misc-fixed-medium-r-normal--14-130-75-75-c-70-jisx0201.1976-0,-misc-fixed-medium-r-normal--14-130-75-75-c-140-jisx0208.1983-0

となります。X Window System はフォントの読み込みが非常に重いですので、
無駄なフォントを指定しなければ、skkinput の起動は速くなります。

  skkinput がこれらのフォントを利用するのは、次の時です。

  (1) Root Style Window で日本語入力をする場合

  (2) OverTheSpot/OffTheSpot Style Window で日本語入力をする際に、変換
     クライアントから送られて来たフォントの情報が使えない場合(もしくは
     フォントの情報が来ない)場合

  (3) Minibuffer Window のフォントを固定にした場合。
     ( Minibuffer のデフォルトのフォントとなる。)

ですから、正しいフォントを指定するようにして下さい。もし利用可能なフォン
トがなかった場合には skkinput は白い枠だけを表示します。

    /* Kinput Protocol Support */
    XCOMM #define Support_KINPUT	NO
    /* XIMP Protocol Support */
    XCOMM #define Support_XIMP		NO
    /* X Input Method Support */
    XCOMM #define Support_XIM		NO

  Kinput/Kinput2 Protocol を利用しない場合、XIMP Protocol を利用しない
場合、X Input Method を利用しない場合には、それぞれ XCOMM を外して下さ
い。
  X11R6 標準の X Input Method は R6 以前の X サーバを利用されている場
合、外しておいた方が良いかもしれません。

  全てサポートしないにした場合、コンパイルは出来ますが skkinput は、

  (skkinput) No protocol is supported.

と表示して終了するようになっています。

  /* IPv6 support */
  XCOMM #define Use_INET6	NO

  skkservとの通信にIPv6を使わない場合は、XCOMMをはずしてください。
デフォルト(XCOMMでコメントにしておいたまま)だと IPv4/IPv6を実行時に
選択可能となります。

  これで、Imakefile の修正はおしまいです。

  次にコンパイル＆インストールの話ですが、

  (a) xmkmf -a と打つ。

  (b) make と打つ。

  で、skkinput は作成されます。インストールする時には、

  (c) make install と打つ。
     (make install.man でマニュアルをインストールします)

  です。

(*3) xlsfonts を実行した時に最後が "jisx0208.1983-0" で終わるフォントは、
    俗に新JISと呼ばれるコードに含まれる漢字を表示するのに用いられます。
    "jisx0201.1976-0" で終わるフォントは俗に「半角仮名」と呼ばれるコード
    を含む漢字コードを表示するのに用いられます。
    最後が "iso8859-1" で終わるフォントをアスキー文字の表示に用いるように
    しています。

    この他にも、補助漢字コード(JISX0212-1990)、ISO8859-2 から ISO8859-9
    GB2312-1980, KSC5601-1987 などのフォントを利用することもあります。
    「ギリシア語のアルファベットが表示したい」「補助漢字が使いたい」「中
    国語や韓国語を表示したい」という場合には設定して下さい。普段日本語を
    入力する際には必要ないと思います。

    補助漢字コードや JISX0208-1978 のフォントを入手したい場合には、

       http://www.kudpc.kyoto-u.ac.jp/~yasuoka/

    から X11 のフォントをたどって下さい。また、fj.sources にも投稿された
    ことがありますので、News Archive から探しても良いです。

3. skkinput の利用方法
-----------------------

3.1 skkinput 取り敢えず使ってみよう
-----------------------------------

  skkinput を取り敢えずは使ってみましょう。その際に注意すべき点は
skkserver だけです。skkserv が起きていないと、SKK ユーザ辞書及び
skkinput ユーザ辞書しか見ませんので。skkserver の指定方法は幾つかあり
ますが、ここでは "-h" オプションを使いましょう。(オプションの詳細は 
3.2 を参照して下さい)

    skkinput -h skkserver &

と打って、skkinput を起こしましょう。

  次は、skkinput を使って実際に日本語入力をしてみましょう。手近な変換
クライアントの例として kterm を取り上げることにします。

  kterm にマウスのフォーカスを合わせて、シフトキーを押しながらスペース
キーを押してみましょう。カーソルの下(場合によっては上)に "かな--" とい
うのが現われましたね。これが、その kterm に対して skkinput が日本語入力
の処理を行っているというしるしです。もし現われないとしたら…

kterm*VT100.translations: #override \
	Shift	<Key>space:	begin-conversion()

の二行が X のリソースファイルの中にありますか？ X のリソースファイルの
デフォルトは "~/.Xdefaults" です(参照：man X)。そこにこの二行を加えた後
に…

  xrdb ~/.Xdefaults

としてみて下さい。これで如何でしょうか？ また、kterm-6.2.0 を使われて
いるのでしたら、VT Options の Open Input Method は外しておいて下さい。
ここでは Kinput2 Protocol を用いて日本語入力を行おうと意図していますの
で。

  "かな--" が現われている状態で、"aiueo" と入力してみましょう。tcsh な
どの上ではきちんとは動かないですが(漢字コードを tcsh が解釈できるよう
にしてあれば大丈夫です。tcsh 漢字パッチを参照)、kemacs などの上では
"あいうえお" と入力された筈です。

  (例えば)kemacs に "あいうえお" と表示されずに化けるようでしたら、漢
字コードの問題です。まず、kemacs がどの漢字コードが入力されることを期
待しているか調べてみましょう。これは簡単です。

  == JIS-NEW-ASCII == とあれば、JIS
  == UJIS ==          とあれば、EUC
  == SJIS ==          とあれば、MS 漢字コード(シフトJIS)

  kterm の VT Options のメニューを開いて下さい。
  Japanese EUC Mode にチェックが入っていれば、kterm は EUC 漢字コード
に直してから kemacs へと日本語を送っているのです。Shift-JIS Mode なら
ば、SJIS に直してから送っています。これらにチェックが入っていなければ、
JIS 漢字コードになります。

  従って、JIS-NEW-ASCII ならば Japanese EUC Mode も Shift-JIS Mode も
外して下さい。UJIS ならば Japanese EUC Mode に、SJIS ならば Shift-JIS
Mode にして下さい。

  如何でしょうか？ 今度は日本語が正しく入力できましたでしょうか？
  漢字コードの問題は kemacs でなくても ng でも vi でもあると思います。
日本語が化けて入力される場合には、先程の方法を一度試してみられては如何
でしょうか？

  先程、少し登場しましたが、tcsh へ日本語を入力したい場合には tcsh に
日本語化パッチを当てたものが必要になります。tcsh-6.07.02.kanji.patch6
(榊原 善之様の patch です)というものが fj.sources にポストされています。
このパッチを当てて tcsh を作り直して下さい。その後、

    set dspkanji euc (もしく sjis)
  
としてみて下さい。これでも日本語が通らないようでしたら、

    - sttyの設定
     ・istripは設定しない (-istrip)
     ・使用するビット数は8 (cs8)
     ・パリティーは使用しない (-parenb)
  
を見てみて下さい。端末の漢字コード(kterm等の)にも注意して下さい。

tcsh ではなくて bash の場合には次のように設定を行います。~/.inputrc に

    set meta-flag on
    set convert-meta off
    set output-meta on

これで kterm のシェルプロンプトへ日本語入力が可能になります。(*4)
bash の日本語化パッチ(*5)を用いれば、上記の指定をしなくても日本語は通
りますし、行編集も行えます。bash の日本語パッチには、1.14.1 をベースに
したものと 2.0x に適用したものがあります。

  さて、この "かな--" に表わされている入力モードが「ローマ字ひらがな入
力モード」です。この他にも「ローマ字カタカナ入力モード」「アスキー入力
モード」「全角英字入力モード」があります。ローマ字ひらがな入力モードで
は、ローマ字を入力すれば対応する平仮名を入力したことになります。

例えば、ローマ字平仮名入力モードで、

         kurenai wakaba

とタイプすれば、

        くれない わかば

と対応するローマ字が入力されます。

次に "q" を押してみましょう。"かな--" から "カナ--" になりましたね？
「ローマ字カタカナ入力モード」に切り替わりました。"カナ--" の "カナ" 
の部分が 「ローマ字カタカナモード」を表わしています。

今度は "l" を押してみましょう。"カナ--" から "SKK--" になりました。
このモードが「アスキー入力モード」です。アスキー入力モードでは、ほとん
どのキーが変換クライアント(例えば kterm, xcalendar など)へとそのままの
形で送られるようになっています。アスキー入力モードのまま、もとの変換ク
ライアントの操作をほとんど行うことが可能です。その代わり、kterm でアス
キー入力モードを使う場合には、allowSendEvents を TRUE にしておいて下さ
い。(*6)
kterm の allowSendEvents を TRUE にするには、フォーカスを kterm に合
わせてから、コントロールキーを押しながらマウスの左クリックをした時に出
るメニューで、"Allow SendEvents" という項目にチェックを入れることで行
います。また、X Resource に、

     KTerm*allowSendEvents: TRUE

という一行を加えることによってデフォルトで allowSendEvents が TRUE に
なるように設定できます。X Resource は通常ホームディレクトリの下に
".Xdefaults" という名前で存在します。

さて、これらのモードの切り替えは、次のようになっています。

       キー入力         モード遷移
       --------------------------------------------------------------
       q               「ローマ字ひらがな入力モード」から「ローマ字カ
                       タカナ入力モード」へ遷移。もしくは、その逆。
       l               「ローマ字ひらがな入力モード」から「アスキー入
                        力モード」へ遷移。
       L               「ローマ字ひらがな入力モード」から「全角英字入
                        力モード」へ遷移。
       C-j             「アスキー入力モード」もしくは「全角英字入力
                        モード」から「ローマ字ひらがな入力モード」も
                        しくは「ローマ字カタカナ入力モード」へ遷移。

変換モードは、「平仮名確定入力モード」「▽モード」「▼モード」のいずれ
かです。

▽モードは、漢字変換を行いたい文字列を入力するモードに当たります。平仮
名確定入力モードから▽モードへと遷移する方法は幾つか存在しますが、通常
の仮名漢字入力においては 大文字でローマ字入力を開始することによって行
われます。例えば、

              Wakaba

とタイプすれば、 

              ▽わかば
と表示されます。"▽" は▽モードであることと変換開始点が "▽" の表示さ
れている位置であることを示しています。

誤って▽モードに入ってしまった場合には、「C-j」「C-g」のいずれかのキー
を入力することによって抜けることができます。
「C-j」をタイプした場合には確定動作が行われ、"わかば"が得られます。
「C-g」をタイプした場合には、"▽わかば"全体が消去されます。いずれの場
合も平仮名確定入力モードへと遷移します。

▼モードは、漢字変換を行いたい文字列は既に確定しており、この文字列の漢
字変換を行います。▽モードから▼モードへと遷移する方法は２通りあります。

最初の方法は「スペースキーを入力する」です。スペースキーを入力した場合、
"▽"からカーソル位置までの文字列が変換を行いたい文字列として選択されま
す。この時、"▽"は "▼"で置き換えられ、▼モードへ移動したことが分かり
ます。また、同時に選択された文字列で辞書を検索し、最初にヒットした候補
を表示します。例えば、辞書に「わかば」について

              わかば /若葉/紅 若葉/

のように登録されていたとしますと、"若葉"が最初の候補 になり、画面には
              ▼若葉
と表示されます。これが求める候補でしたら、ここで"C-j"をタイプすれば変
換が確定します。この時"▼"も画面から消え、変換が確定し平仮名確定入力モー
ドへと戻ったことが知らされます。
求めるものが "若葉"でなければ、スペースキーを入力することにより次の候
補を検索することができます。この場合画面には
              ▼紅 若葉
と表示されます。先の候補に戻したい時には、"x"を入力することにより、再
び"若葉"を得ることができます。また、この状態で "X"を入力すると、候補"
紅 若葉"を辞書からパージすることが可能です。

候補が５つ以上存在する時は、５番目以降の候補は、７つずつまとめてミニバッ
ファに表示されます。

   A:候補1 S:候補2 D:候補3 F:候補4 J:候補5 K:候補6 L:候補7

という具合です。

次の方法は「大文字で始まるローマ字を入力する(送り仮名の最初の仮名を大
文字で始める)」です。この操作により送り仮名変換を行うことができます。
例えば、
       ちょっぴりどじでとろいけど、とっても心優しい娘なんですよ。
と入力したい場合、「心優し」を入力するに は "KokoroyasaShi" とタイプす
れば良いです。

基本的なローマ字仮名入力は以上で行えます。より詳細な動作が知りたい場合
には、skk の info もしくは skk のチュートリアルを参照して下さい。
skkinput のキーアサインについては、3.4 を参照して下さい。

Shift + Space で skkinput による日本語入力を終わらせることができます。
不要になれば、Shift + Space で "かな--" を消すのが良いでしょう。
また、挙動が怪しいなと思えば Shift + Space を二回叩くことでリセットで
きます。御利用下さい。

次に xcalendar に skkinput を用いて日本語入力する場合です。X Input
Method というプロトコルを用います。この時に注意すべきは、

  環境変数 XMODIFIERS (日本語入力サーバを指定する)
  X のリソース        (日本語入力サーバを指定する)
  環境変数 LANG       (日本語を用いることを指定する)

です。
  まず、日本語入力サーバが skkinput であることを xcalendar に教えなけ
ればなりません。その方法は、次の通りです。

  (1) 環境変数 XMODIFIERS に "@im= skkinput" という値を持たせる。

   sh 系なら、

         XMODIFIERS="@im= skkinput" ; export XMODIFIERS

   csh 系なら、

         setenv XMODIFIERS "@im= skkinput"

   この方法ではウィンドウスタイル(後述)を指定することができません。

  (2) "~/.Xdefaults" に

        XCalendar*inputMethod: skkinput
        XCalendar*preeditType: OverTheSpot

  と記述する。その後、必要ならば xrdb でリソースファイルを再度読み込ま
せる。

  この状態で環境変数 LANG を設定して、xcalendar を起こせば day editor 
で skkinput を用いて日本語入力が可能になる筈です。

  環境変数 LANG ですが、ja_JP.ujis から ja_JP.EUC 及び ja まで試してみ
ましょう。私の試した範囲では、

  FreeBSD-2.2.x では ja_JP.EUC,
  Solaris-2.5.1, 2.6 では ja 
  Linux では ja_JP.eucJP

でした。まずは、ja_JP.EUC と ja_JP.ujis で試してみて下さい。環境変数 
LANG に何が設定可能であるかは、処理系(OS)によって異なるようです。
FreeBSD-2.2.x には、

  /usr/share/locale/ja_JP.EUC/LC_CTYPE

という locale の設定ファイルが存在しますから、ja_JP.EUC が設定可能なわ
けです。(問題は ja_JP.EUC と書いてあっても、変換クライアントや変換サー
バが ja_JP.EUC を通すかどうか…)

  xcalendar 以外の日本語化された X Window System のアプリケーションに 
X Input Method で日本語を入力したい場合には同様の操作で何とかなると思
います。

  最後に Netscape に日本語入力する方法について書きます。Ximp プロトコ
ルを用いた日本語入力の例に相当します。

  Ximp プロトコルの場合も XIM プロトコル同様に、

  環境変数 XMODIFIERS (日本語入力サーバを指定する)
  X のリソース        (日本語入力サーバを指定する)
  環境変数 LANG       (日本語を用いることを指定する)

を指定することが必要です。設定すべき値も XIM プロトコルの場合と同様で
す。すなわち、

  Netscape*inputMethod: skkinput
  Netscape*preeditType: Root

  setenv XMODIFIERS "@im= skkinput" もしくは、
  XMODIFIERS="@im= skkinput"; export XMODIFIERS

となります。preeditType は Root にしておいて下さい。OverTheSpot や 
OffTheSpot を指定することも可能な筈ですが…上手く動作しないというバグ
が発見されています。kinput2 でも発生しますが、環境によっては生じない
(しかし、その環境を入手することは叶わなかった)という全くわけの分からな
いバグのため対処できておりません。

  LANG に適切な値をセットして、

  netscape &

  とすれば、netscape の form に skkinput によって日本語入力が出来るよ
うになっている筈です。Solaris 2.5.1 では ja でした。

  環境変数 LANG が C 以外だと色々と副作用が発生しますので、

netscape:
#!/bin/sh
LANG=ja; export LANG
exec /usr/local/X11R6/bin/netscape -- $*

という shell script を用意しておくと良いかもしれません。

(*4) この設定方法は山縣あつし様から教えて戴きました。
(*5) この情報は千葉大学総合情報処理センターの山賀正人様から教えて戴き
     ました。
(*6) アスキー入力モードでは、極力 X EVENT を使って変換クライアントへと
     キー情報を送るようにしています。このモード以外では、スペースキー、
     アルファベットなどのキーは内部コードに変換されてから更に Compound
     Text に変換されてクライアントへと送られます。Compound Text でキー
     情報を送ると、例えば仮にクライアントがスペースキーに何らかの動作
     (例えば、emacs なら ミニバッファでのcompletion など)を割り当てて
     いた場合に、機能しないことになります。(Terminal で使っている場合
     には問題ありません)

3.1 skkinput のオプション
-------------------------

  skkinput -help もしくは skkinput -\? と打つと skkinput の持つオプショ
ンの一覧が表示されます。

  ・-version もしくは -v ：
	version の表示です。

  ・-help もしくは -\? ：
	ヘルプの表示を行います。

  ・-h <hostname> もしくは -host <hostname> ：
	skkserv の起動しているマシンの名前を入れて下さい。
	Imakefile で指定する以外に、この -host または環境変数 SKKSERVER
	によって skkserv の起動しているマシンを指定できます。

  ・-p <port_num> もしくは -port <port_num> ：
	skkserv と TCP/IP でお話をするときに利用するサービス名/ポート番号を
	指定します。普通に SKK をインストールすると 1178 です。

  ・-config <config> もしくは -cnf <config> ：
	skkinput の起動時に参照する設定ファイルを指定します。
	デフォルトは "~/.skkinput" です。

  ・-uj <jisyo> もしくは -userjisyo <jisyo> ：
	skkinput ユーザ辞書ファイルを指定します。デフォルトは 
        "~/.skkinput-jisyo" です。

  ・-bj <jisyo> もしくは -backjisyo <jisyo> ：
 	skkinput ユーザ辞書のバックアップ辞書ファイルを指定します。くれ
	ぐれも、ユーザ辞書ファイルと同じにしないで下さい。デフォルトで
        は、"~/.skkinput-jisyo.BAK" です。

  ・-sj <jisyo> もしくは -skkjisyo <jisyo> :
	skk ユーザ辞書ファイルをここに書いて下さい。デフォルトでは 
	"~/.skk-jisyo" です。

	sj,bj,uj は全て異なるファイルにして下さい。同じにすると、どれ
        程の悲劇になるのかは保証できません。

  ・-fontset <fontset> ：
	skkinput が利用するフォント集合を指定します。デフォルトでは次
	のようになっています。
	"-*-fixed-medium-r-normal--16-*-*-*-*-*-iso8859-1,\
	 -misc-fixed-medium-r-normal--16-*-*-*-*-*-jisx0201.1976-0,\
	 -misc-fixed-medium-r-normal--16-*-*-*-*-*-jisc6226.1978-0,\
	 -misc-fixed-medium-r-normal--16-*-*-*-*-*-jisx0208.1983-0,\
	 -misc-fixed-medium-r-normal--16-*-*-*-*-*-jisx0212.1990-0"
	それぞれ上から順に ASCII, JISX0201-ROMAN, JISX0201-KATAKANA,
	 JISC6226-1978, JISX0208-1983, JISX0212-1990 を表示するのに用
	いられます。
	X Resource でも指定できます。

  ・-mfontset <fontset> :
	skkinput が minibuffer の表示に利用するフォント集合を指定しま
	す。デフォルトは -fontset の場合と同じです。
	X Resource でも指定できます。

  ・-fg <color>:
	skkinput の日本語入力窓の foreground color を指定します。これ
	は、X Resource でも指定できます。

  ・-bg <color>：
	skkinput の日本語入力窓の background color を指定します。
	foreground color と同じにすると何をやっているのか分からなくなっ
	て楽しいですので、止めましょう。これは、X Resource でも指定で
	きます。

  ・-bd <color>：
	skkinput の日本語入力窓の border color を指定します。これは、X
	Resource でも指定できます。

  ・-/+rv：
	skkinput の日本語入力窓を reverse video mode にするかどうかで
	す。X Resource でも指定できます。

  ・-/+mfc：
        OverTheSpot/OffTheSpot において minibuffer 窓の大きさが変換ク
        ライアントのフォントの変更に応じて変更されるべきか否か。
	X Resource でも指定できます。

  ・-width <width>：
	Root Style Window のデフォルトの横幅を決めます。昔の skkinput 
	はフォントの横幅を単位に指定できたのですが、現在のバージョンで
	は Pixel 単位で指定して下さい。これは等幅でないフォントが利用可能
        になったためです。X Resource でも指定できます。

  ・-height <height>：
	Root Style Window のデフォルトの縦幅を決めます。こちらは現在の
	バージョンでもフォント単位で指定します。
	X Resource でも指定できます。

  ・-mwidth <width>：
        OffTheSpot/OverTheSpot Window Style の場合の minibuffer 窓の横
        幅を決めます。Pixel 単位です。
	X Resource でも指定できます。

  ・-/+ns：
        シフトキーを押しながらでなければ有効なキーではなく押すと次のキー 
        に対してシフトの効果がでるキーとして扱うか否か。
        デフォルトでは FALSE です。X Resource でも指定できます。

  ・-/+nc：
        コントロールキーを押しながらでなければ有効なキーではなく押すと
        次のキーに対してコントロールの効果がでるキーとして扱うか否か。
        デフォルトでは FALSE です。X Resource でも指定できます。

  ・-/+kinput：
        Kinput/Kinput2 Protocol をサポートした変換サーバになるかどうか。
        デフォルトではサポートします。

  ・-/+xim：
        X11R6 標準の X Input Method をサポートした変換サーバになるかど
        うか。デフォルトではサポートします。

  ・-/+ximp:
        Ximp プロトコルをサポートした変換サーバになるかどうか。
        デフォルトではサポートします。

 ・-autosave <msec>:
        オートセーブを行うか否かチェックを行う期間をミリ秒単位で指定し
        ます。0 ならばオートセーブは行いません。オートセーブは、この指
        定された期間内にキー操作が無く辞書が更新されていれば実行されま
        す。デフォルトの期間は 10 秒です。

 ・-/+sc:
        OverTheSpot Window Style の時にモード表示窓をカーソルの下に表
        示するようにします。画面の下にカーソルを移動させた時にカーソル
        の上に表示されることがなくなります。(モード表示窓の表示位置が
        指定されているのならば、指定位置に表示します)
        デフォルトでは FALSE (+sc) になっています。
	X Resource でも指定できます。

3.2 skkinput の用いる X Resource 一覧
-------------------------------------

Skkinput*fontSet	→ 参照：オプションの -fontset
Skkinput*minibufferFontSet → 参照：オプションの -mfontset
Skkinput*foreground	→ 参照：オプションの -fg
Skkinput*background	→ 参照：オプションの -bg
Skkinput*borderColor	→ 参照：オプションの -bd
Skkinput*reverseVideo	→ 参照：オプションの -/+rv
Skkinput*xim.conversionStartKey
                        → X11R6 標準の X Input Method で変換サーバに
                           サービス開始を要求するキーの割り当てを行う。
Skkinput*xim.supportedLocales
                        → X11R6 標準の X Input Method で変換サーバが
                           サービス要求を受け付ける locale を指定する。
Skkinput*ximp.conversionStartKey
                        → Ximp Protocol で変換サーバにサービス開始を
                           要求するキーの割り当てを行う。
Skkinput*separate.width → Root Window Style の横幅を決定する。ドット単
                           位で指定します。
                           参照：オプションの -width
Skkinput*separate.height→ Root Window Style の縦幅を決定する。フォント
                           単位で指定します。
                           参照：オプションの -height
Skkinput*separate.overTheSpotLikeInput
                        → Root Window Style の際に一行入力方式をデフォ
                           ルトとするかその場入力方式をデフォルトとする
                           か。
Skkinput*changeMinibufferFont
			→ 参照：オプションの -/+mfc
Skkinput*minibuffer_width→参照：オプションの -mwidth
Skkinput*offthespot.overthespotLikeInput
                        → OffTheSpot Window Style の際に一行入力方式を
                           デフォルトとするかその場入力方式をデフォルト
                           とするか。
Skkinput*overthespot.overthespotLikeInput
                        → OverTheSpot Window Style の際に一行入力方式を
                           デフォルトとするかその場入力方式をデフォルト
                           とするか。
Skkinput*overthespot.modeshell_geometry
			→ OverTheSpot Window Style の際にモードライン
			   ウィンドウを何処に表示するか。
Skkinput*shiftHaTugiDeYukou
                        → 参照：オプションの -/+ns
Skkinput*controlHaTugiDeYukou
                        → 参照：オプションの -/+nc

Skkinput*southCursor    → 参照：オプションの -/+sc

細かい部分については付属の Skkinput.ad を参照して下さい。

3.3 skkinput のカスタマイズ
---------------------------

  skkinput は，デフォルトで "~/.skkinput" というファイルを起動時に参照
します。".skkinput" によって skkinput の動作をカスタマイズすることがで
きます。設定例は "dot.skkinput" という名前でアーカイブの中に含まれてい
ます。

skk-server-host:        "文字列"
                   ; skkserv の起きているホスト名を指定します。
skk-service:		"文字列"
		   ; skkserv と TCP/IP で通信する際に用いるサービス名
		   ; です。
skk-port-num:           数値
                   ; skkserv と TCP/IP で通信する際に用いるポート番号
                   ; です。(obsoleted; skk-serviceを使ってください)
skk-server-protocol-family: "文字列"
		   ; skkserv と通信する際に用いるプロトコルファミリーです。
		   ; "unspec", "inet4", "inet6" のいずれかを指定してください。
skkinput-jisyo:         "文字列(ファイル名)"
                   ; skkinput ユーザ辞書ファイルを指定します。
skkinput-backup-jisyo:	"文字列(ファイル名)"
                   ; skkinput ユーザ辞書のバックアップファイルを指定し
                   ; ます。 
skk-jisyo:              "文字列(ファイル名)"
                   ; skk ユーザ辞書ファイルを指定します。
skkinput-record:        "文字列(ファイル名)"
                   ; skkinput-record ファイルを指定します。
skkinput-egg-like-newline:  t もしくは nil
                   ; newline に確定のみの動作を認めるかどうか。
                   ; ※この実装により +/-koj は廃止されました。
skkinput-dabbrev-like-completion: t もしくは nil
                   ; j-try-completion によって、現在の候補を次の completion
                   ; のもとにするのか(nil)、現在の completion の次の候
                   ; 補を求めるのか(t)。
skkinput-chat-adapter-mode: t もしくは nil
                   ; 空行の newline 以外にも改行コードを含めるか否か。
                   ; ※この実装により +/-chat は廃止されました。
skkinput-keep-record:       t もしくは nil
                   ; skkinput-record を作成するか否か。
skkinput-search-skk-jisyo:  t もしくは nil
                   ; skk ユーザ辞書を変換の際に参照するか否か。
skkinput-date-ad:           t もしくは nil
                   ; j-today によって表示される日付を年号で出すか西暦
                   ; で出すか。
skkinput-number-style:      0 もしくは 1 もしくは 2
                   ; j-today によって表示される数値を漢字で出すとか…。
skkinput-delete-implies-kakutei: t もしくは nil
                   ; 変換中の backward-delete-char に確定動作を含める
                   ; か否か。
                   ; nil にした場合、一つ前の候補を表示することになる。
skkinput-use-numeric-conversion: t もしくは nil
                   ; 数をパラメータに持つ変換を有効にするか否か。
skkinput-zenkaku-vector:   ( 数値 . "文字列" )
skkinput-input-vector:     ( 数値 . "文字列" )
                   ; 指定された数値のコードが入力された時に表示する文
                   ; 字列を指定。
skkinput-rom-kana-rule-list: ( "状態@入力" "次状態" "平仮名出力" "片仮名出力" )
                   ; @ はここでは連接を意味していると思って下さい。
                   ; ( "nn" "n" "ん" "ン") の動作は確認しました。
define-key-skkmap: ( "文字列" . "文字列" )
define-key-abbrevmap: ( "文字列" . "文字列" )
                   ; 最初の文字列で指定されるキー入力に対して、次の文
                   ; 字列で指定される関数(*7)を割当てます。
undefine-key-skkmap:	"文字列"
undefine-key-abbrevmap:	"文字列"
		   ; 指定された文字列に割り当てられていた関数を無効に
		   ; します。
tab-width:		数値
                   ; C-i を入力した時に挿入されるスペースの数を設定し
                   ; ます。デフォルトは 8 です。
skkinput-rjj-like-input:		t もしくは nil
                   ; Root Style Window で、デフォルトでその場変換型の
                   ; 挙動をして欲しい時には t にします。デフォルトでは
                   ; nil です。
skkinput-lisp:		文字列
                   ; ただし、double quote でくくる必要はありません。
                   ; この文字列を skkinput-lisp だと考えて、eval します。

(*7)指定できる関数は次の通りです。
    self-insert-command
    j-self-insert
    j-self-zenkaku-insert
    j-display-code-for-char-at-point
    j-set-henkan-point
    j-set-henkan-point-subr
    j-insert-a
    j-insert-e
    j-insert-i
    j-insert-o
    j-insert-u
    j-kana-input
    j-start-henkan
    j-insert-comma
    j-insert-period
    j-purge-from-jisyo
    j-input-by-code-or-menu
    j-mode-off
    j-toggle-kana
    j-previous-candidate
    j-kakutei
    j-abbrev-input
    j-abbrev-comma
    j-zenkaku-eiji
    j-zenkaku-henkan
    j-today
    save-skkinput-local-jisyo
    j-kanainput-mode-on
    newline
    set-mark-command
    forward-char
    backward-char
    delete-char
    delete-backward-char
    j-try-comletion
    end-of-line
    beginning-of-line
    kill-line
    yank
    kill-region
    kill-ring-save
    exchange-point-and-mark
    transpose-chars
    redraw
    prefix-char
    sendback-key
    keyboard-quit
    close-skkinput
    vc-toggle-chatmode
    j-mode-off-and-self-insert
ただし、j-kana-input などをアルファベット以外に割当てる等の設定をした
場合、動作は保証されません。何処まで耐えられるようにするかは悩みの種で
す。

3.4 skkinput の操作体系
-----------------------
  skkinput のキー操作体系は、skk8.6 + mule-2.3base19.28 を参考にしてい
ます。具体的なキーとその機能の関係は次の通りです。ここに書かれていない
キーについては、self-insert-command もしくは invalid-char が割当てられ
ています。

    キー            機能
    --------------------------------------------------------------
    A,B,C,D,E,F,G,  平仮名確定入力モードでは▽モードに遷移、見出し
    H,I,J,K,M,N,O,  語の入力を開始する。▽モードでは▼モードに遷移
    P,R,S,T,U,V,W,  送り仮名変換を開始する。▼モードでは現在の確定
    Y,Z             後▽モードに遷移、見出し語の入力を開始する。
    L               全角英字入力モードへと遷移する。
    Q               カーソル位置を見出し語の先頭とする▽モードに遷
                    移する。
    X               ▼モードで現在の候補を辞書から抹消する。
    a               ローマ字表現が "a" で終わる仮名の入力。
    i               ローマ字表現が "i" で終わる仮名の入力。
    u               ローマ字表現が "u" で終わる仮名の入力。
    e               ローマ字表現が "e" で終わる仮名の入力。
    o               ローマ字表現が "o" で終わる仮名の入力。
    b,c,d,f,g,h,j,  ▼モードでは変換中の候補を確定、平仮名確定入力
    k,m,n,p,r,s,t,  モードへ。▽モードでは入力中の見出し語はそのま
    v,w,y,z         ま平仮名確定入力モードへ。
    l               アスキー入力モードへ遷移。
    q               かなモードとカナモードの切り替え。
    $               カーソル位置のコードを表示。
    ","             読みの補完を行っている場合、一つ前の補完の候補
                    へと戻る。英字変換中には通常コンマが挿入される
    "."             読みの補完を行っている場合、一つ次の補完の候補
                    へと戻る。英字変換中には通常ピリオドが挿入され
                    る。
    /               平仮名確定モードならば英字変換のための見出し語
                    の入力を開始、▽モードへと遷移する。
    <,>,?           接尾辞、接頭辞の入力に用いる。
    @               今日の日付をカーソルの位置に挿入する。
    \               平仮名確定モードならば、コードまたはメニューに
                    よる文字の入力を行う。
    C-i             ▽モードならば読みの補完を開始する。
    C-j             英数字入力モードから仮名入力モードへ移る。
    C-q             英字変換モードで▽モードならば、全角変換を行う
    <SPC>           平仮名確定モードならば空白の挿入。▽モードなら
                    ば▼モードへ遷移し、変換を開始する。▼モードな
                    ら次候補を表示する。

    C-a             カーソルを行頭へ移動させる。
    C-b             カーソルを一文字左へ移動させる。
    C-c             プレフィクスキー。
    C-d             カーソル位置の文字を消去する。
    C-e             カーソルを行末へ移動させる。
    C-f             カーソルを一文字右へ移動させる。
    C-g             変換操作その他の操作のキャンセル。
    C-h             カーソルより一文字左の文字を消去する。
    C-k             カーソル位置から行末までをカットする。
    C-l             skkinput 窓の再描画を行う。
    C-m             改行と同時にクライアントに文字列を送信する。
    C-n             ヒストリを一つ後にたどる(一行入力モードのみ)
    C-p             ヒストリを一つ前にたどる(一行入力モードのみ)
    C-q             次に押されたキーイベントを直接クライアントに送る。
    C-t             カーソル位置の文字とその左の文字を交換する。
    C-w             マーク位置からカーソル位置までの文字列をカットする。
    C-x             プレフィクスキー。
    C-y             カットバッファに登録されている文字列を貼り付ける。
    C-@             カーソル位置にマークを設定する。

    C-xC-c          skkinput 窓を閉じる。
    C-xC-s          skkinput のユーザ辞書をセーブする。
    C-xC-q          ChatAdapter と Fundamental のモード切り替え。
    C-xC-e          egg-like-newline モードのオン／オフ
    C-xC-x          カーソル位置とマーク位置を交換する。

    M               プレフィクスキー。
    M-b             1単語分カーソルを左へと移動させる。
    M-c             カーソル位置から1単語分キャピタライズする。
    M-f             1単語分カーソルを右へと移動させる。
    M-l             カーソル位置から1単語分小文字変換する。
    M-u             カーソル位置から1単語分大文字変換する。
    M-w             カーソル位置とマーク位置の間の文字列をカットバッファ
                    に取り込む。

    Insert          入力スタイルを一行入力モードとその場入力モードの間
                    で切り替える。
    Home            ユーザ辞書のセーブを行う。
    ↑              ヒストリを一つ前にたどる(一行入力モードのみ)
    →              カーソルを一文字右へ移動させる。
    ←              カーソルを一文字左へ移動させる。
    ↓              ヒストリを一つ後にたどる(一行入力モードのみ)

(注意・補足)
1.  辞書の SAVE 中に SIGKILL を送るのは止めて下さい。
    辞書の書き込みの途中で落ちます。結果、辞書は破壊されます。

2.  キーイベントをクライアントに送る機能について。
    c-q を押した次に入力されたキーイベントは直接 kterm や xfig に送ら
    れます。この機能は Root Window Style で一行入力方式を使っている場
    合に有効です。

3.5 skkinput の動作
-------------------
  skkinput を OverTheSpot/OffTheSpot Window Style で起こした場合には、
カーソル位置に次のようなウィンドウが出ている筈です。

     SKK:--

  この左の３文字は、仮名モードか片仮名モードか全英モードか英数モードか
を表しています。

   仮名モードの場合：	「かな--」
   片仮名モードの場合：	「カナ--」
   全英モードの場合：	「全英--」
   英数モードの場合：	「SKK:--」
  
  となります。これらのモード間の移動は、デフォルトでは次のようになって
います。

   「仮名モード」        ←→( "q" )←→ 「片仮名モード」
   「仮名(片仮名)モード」→→( "l" )→→ 「英数モード」
   「仮名モード」        →→( "L" )→→ 「全英モード」
   「英数(全英)モード」  →→( "\C-j" )→「仮名(片仮名)モード」

  また、「SKK:」の右の二文字についてですが、左側の "-" は skkinput が
内部に持っている辞書と skkinput の局所辞書に差が無いことを意味していま
す。もし差があれば、"*" となります。

  一番右の "-" についてですが、この場所に存在し得る記号及びその意味は
次の通りです。

  "-" : その場入力方式
  "*" : 入力方式は「一行入力」

  その場入力方式か一行入力方式かという部分では入力された日本語が何時変換
クライアントへと送られるのかが異なります。

・一行入力方式の場合
  j-new-line が実行された場合、つまりは改行キーを押した場合です。
  一行だけしか編集できないテキストエディタのような扱いになります。

・その場入力方式の場合
  ▽及び▼モードでなく、仮名プレフィクスの入力途中ではない場合には自動
的に変換クライアントへと入力中の文字列が送られます。また明示的に改行キー
を押した場合にも送られます。
  emacs で SKK を使っているのと同じようなタイミングで kemacs に日本語
が送られることになります。(微妙に異なりますが)

  この他に、「一行入力モード」の場合には、ヒストリ機能が有効になります。 
j-previous-line 及び j-next-line によってヒストリをたどることが出来ま
す(*8)。

  一方、Root Style の場合には、これらのモードは次のようになります。

  --SKK:.--**-Skkinput:     (Fundamental Ovspt egg-nl)--

  ・一行入力した後に改行を入れる場合、"ChatAdaper" そうでない場合には、
    "Fundamental" と出る。
  ・OverTheSpot 形式の入力方式の場合、"Ovspr" が付く。
  ・egg-nl モードの場合、"egg-nl" が付く。

(*8) その場入力方式の場合には、C-n とかで次の行に移動できると嬉しいので
しょうか？ 例えば…

  ▼変換
  □

という状態にあると良いのでしょうか？ でも、改行が入ってしまうことにな
りますが…。
ヒストリのサーチも必要なのでしょうか？

3.6 その他のカスタマイズについて
--------------------------------
(1) "oh" について。

もし、"ohhon'" と入力して "おっほん" と入力したいのでしたら、次の２通
りの解決方法があります。

  - "o" に対して j-insert-o を割当てる。( デフォルトでは j-kana-input )

       define-key-skkmap: ( "o" . "j-insert-o" )

  - skkinput-rom-kana-rule-list を使う。

       skkinput-rom-kana-rule-list: ( "oh" "h" "" "" )

(2) (times) について。

もし、▽7x3 と入力してから ▼21 を得たいのでしたら、次のように times 
を定義して下さい。

skkinput-lisp:				(defun times() (int-to-string (* (string-to-int (car j-num-list)) (string-to-int (car (cdr j-num-list))))))

同様にして、関数を定義することにより lisp 実行機能から利用することが出
来ます。

3.7 オートセーブについて
------------------------
オートセーブは次のように実装されています。

・ オートセーブチェック期間中にキーの操作がなかった場合にオートセーブ
   を実行する。
・ 実際にオートセーブが実行されるのは、skkinput がイベント待ちの状態に
   なっている時。
・ オートセーブによって生成されるファイルの名前は、skkinput ユーザ辞書
   名 + "-autosave" になる。
・ オートセーブによって保存されるのは、skkinput の中にある変換結果だけ
   である。skkinput ユーザ辞書自身の破壊を回避するためのものではない。
・ 起動時にオートセーブファイルが存在するかどうかを skkinput はチェッ
   クし、もし存在するのならばオートセーブファイルの中にある変換結果を
   skkinput の中に蓄える。
・ オートセーブファイルは辞書のセーブが行われると抹消される。

オートセーブが完了した時に "auto-save done" とは表示されませんので、
注意して下さい。

4. 判明しているバグ,改良予定など
--------------------------------

(a)バグ
-------
  現在判明しているバグについては BUGS.jis に書かれています。ここで簡単
に紹介しますと、

1. 「辞書の save 中 minibuffer が白わくだけになっている。"saving ... " が
     出ない」
   現在はあきらめて、save が終わった時に "saving .. done" とだけ
   表示するようにしています。

2. 「Solaris2.5.1 の console から skkinput を起動した場合に、C-c で 
     skkinput を止めようとすると skkinput が暴走(？)する」
   どうやら OpenWindow との相性のようです。

3. 「Linux,FreeBSD で Netscape を日本語化した場合の動作が安定しない」
   実機が手元にないので確認できないのですが、X Input Method(X11R6)サー
   バとしての設定に何か間違いがあるのかもしれません。Netscape が Bus
   Error で落ちる可能性が一番高いです。(Netscape のソースを公開して欲
   しいところなのですが…)

4. 「/source で変換動作を行った場合に『バケバケ』な変換結果が得られた」
   という報告があります。/test では発生しなかったそうです。skkinput を
   再起動すると直ったそうです。再現性が無く…手元では確認できていませ
   ん。バグがあったと思われる skksvect.c を見直して幾つかのバグは落と
   したのですが、このバグをフィックスできたのかどうかは不明です。

(b) skkserv 以外の skk server との相性
----------------------------------------
  skkinput は skkserv としか相性がよろしくなかったのですが、dbskkd に
ついては、その作者でいらっしゃる力武健次(kenji.rikitake@acm.org)様が対
応して下さいました。dbskkd-0.2 から対応して下さっておりますので、0.2
以降のものを御使い下さるよう御願い致します。

  pskkserv と skkinput を合わせて動作させますと、NOT FOUND の時の挙動
がおかしくなります。これは skkserv が 0x0a を ACK として用いるものと 
skkinput が決め打ちしているためなのですが、skkinput 側が server が何で
あるかを自動的に判断するかが分かりませんでしたので、そのままにしてあり
ます。pskkserv と skkinput の組み合わせで動くようにする patch が SKK
mailing list で流れていましたので、どうしてもこの組み合わせで動かした
いということでしたら、SKK mailing list の方から御探しになって下さい。

(c)改良予定
-----------
  実現するかどうかは分かりませんが、一応私の頭の中にあることを書き並べ
ます。

  ・アスキー文字を表示するのに、ISO8859-1 フォントしか利用しないように
    なっていますが、ISO8859-[2,9] や JISX0201-1976 が存在すればそれら
    も利用可能なようにしたいです。また、ISO646.1991-IRV も利用できるよ
    うにしたいです。
  ・現在 skkinput で入力できる文字の長さは最大 511 文字なのですが、こ
    れを可変長に修正したいです。
  ・Kinput2 から借りている X Input Method のコードを Xwnmo, Xlib のソー
    スを参照して自前のコードに書き直したいです。
  ・タブの取り扱い。現在タブを入力するとスペース8文字に変換してしまう
    ように実装しています。
  ・マウス操作の扱い。Root Window Style においてマウスでカーソル位置を
    変更できるようにする、マウスによる文字列のペーストを行う…など。
  ・skkel.c の見直し。SKK は 10 になろうというのに skkinput の基本機能
    は 8.6 ベースのままです。ただ、8.6 の機能を全て実装して安定してか
    ら 10 ベースにしようと思っています。8.6 ベースのものが安定して動か
    ないというのに 10 ベースに移行するというのは…。
  ・#4 変換の実装。

(d)バグレポート
---------------
  バグレポートや「こうしたら良いのじゃないですか？」という提案、patchな
どがございましたら、

  http://sourceforge.jp/projects/skkinput2 の Bug Tracking System 
  にいれてください。

または

  skkinput2-devel@lists.sourceforge.jp  に投稿してください。

 後、バグレポートを下さった方の御名前をドキュメントにのせて良いかどうか、バグ
レポートの際に書いて下さると有難いです。
  ただ、私の能力値が低いですので、すぐには御返事を書くことができないか
もしれません。その時は…申し訳ありません。

5. その他
---------

5.1 開発者、メンテナ
--------------------

このプログラムの開発者は 阪本崇 <PXG01715@niftyserve.or.jp> です。
鵜飼文敏 <ukai@debian.or.jp>がメンテナンスを手伝っています。

skkinput2 の最新バージョンは、
http://sourceforge.jp/projects/skkinput2
から入手することができます。

次期バージョンである skkinput3 は
http://sourceforge.jp/projects/skkinput3
で開発をすすめています。

5.2 再配布、その他について
--------------------------
このプログラムは、free software です。GNU General Public License のも
とに、このプログラムを再配布したり改変したりしてもかまいません。

 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2, or (at your option)
 any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
  
 You should have received a copy of the GNU General Public License
 along with skkinput; see the file COPYING.  If not, write to
 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.

5.3 動作確認を行った環境
------------------------
skkinput の動作確認を行った環境を書きます。

  ・SunOS 4.1.4 + gcc-2.7.2 + X11R6, Support XIM 
  ・Solaris 2.5.1 + gcc-2.7.2 + X11R6.1(Server は OpenWindow),
    Support XIM and Support XIMP
  ・FreeBSD-2.2.1R(98) + gcc-2.7.2 + XFree86-3.2, Support XIM
  ・FreeBSD-2.2.2R(98) + gcc-2.7.2 + XFree86-3.3.1 Support XIM
  ・Debian GNU/Linux 

6. 謝辞
-------

本プログラムの開発にあたっては、
skkの開発者である佐藤 雅彦様、中島 幹夫様およびcontributorの皆様方、
skkservの開発者である亀山 幸義様およびcontributorの皆様方、
pskkservの開発者である佐藤 正章様、中島 幹夫様およびcontributorの皆様方、
dbskkdの開発者である力武健次様およびcontributorの皆様方、
kinput2の開発者であるMakoto Ishisone様、
また、skkinput のリリース前のデバッグに付き合って下さった、
yamaji@pine.kuee.kyoto-u.ac.jp様、yamaki@lab7.kuis.kyoto-u.ac.jp様、
nakahara@imel1.kuis.kyoto-u.ac.jp様、koie@suri.co.jp様、
shimada@pine.kuee.kyoto-u.ac.jp様、
skkinput のバグレポート/動作報告をして下さった皆様方、
様々なOSむけに skkinput のパッケージを作って下さっている皆様方、
特に度々バグレポート及び素晴しいアイディアを下さった、
森大毅様、木原英人様、山下健司様、
sourceforge.jpを提供しているOSDN Japan様、
そしてskkの発展に貢献した利用者の皆様に敬意と感謝の意を表します。
