FreeWnn-1.0 for Cygwin B20.1

[English page] [Back to Cygwin page] [Back to Top page]


これは何でしょう?

これは、FreeWnn 1.0 の jserver を、Windows 95/98/NT 上の Cygwin環境で動作させるためのパッチです。コンパイルのためには、 Cygwin B20.1 と X11R6.4(imake) が必要です。現在動作するものは jserver のみで、他の言語のサーバ(cserver、 kserver)や、クライア ント(uum、Xwnmo)はサポートしていません。

このパッチでは、jserver と共にオプショナルな辞書 pubdic+、 gerodic、および pubdic+のための補遺を同時にインストールするよう になっています。必要なファイル(必要なファイル 章参照)を前もって取得し、インストール手順 の章に従ってインストールしてください。

注意点として、このパッチでは、FreeWnn 1.0 に標準で附属する pubdic をインストール「しないで」、その pubdic の代わりとして pubdic+ をインストールします。というのは、どうせ新規にインストー ルするわけですから、わざわざ古いものを好きこのんで使う理由が見当 たらないからです。辞書を作成された関係者の皆様に感謝しつつ、より 賢い新しい辞書を使わせて頂きましょう。


必要なファイル

このパッチでコンパイルするには、以下のファイルが必要です。

  1. FreeWnn-1.0-cygwin-990519.diff.gz (このパッチファイル本体)
  2. FreeWnn-1.00.tar.gz (FreeWnn 正式配布ファイル)
  3. pubdic+-wnn-1.0.tar.gz (pubdic+)
  4. pubdic+-sup-1.07.tar.gz (pubdic+ のための補遺)

pubdic+ とその補遺は、遠藤さんのページ から入手できるものです。詳しい情報はそちらのページでどうぞ。 なお、遠藤さんのページには gerodic も置いてありますが、これと同 じものは FreeWnn-1.00.tar.gz にすでに含まれていますので、特に取 得する必要はありません。


インストール手順

ファイルの展開とパッチの適用

FreeWnn-1.00.tar.gz はどこに展開して作業しても構いません。 Pubdic+ とその補遺は、FreeWnn-1.00.tar.gz を展開した後にできる Xsi/Contrib/dic というディレクトリの下に展開しなければなりません。

$ tar xfvz FreeWnn-1.00.tar.gz
$ cd Xsi/Contrib/dic
$ tar xfvz pubdic+-wnn-1.0.tar.gz
$ tar xfvz pubdic+-sup-1.07.tar.gz
$ cd ../../..
そしてパッチを適用します。

$ gzip -cd FreeWnn-1.0-cygwin-990519.diff.gz | patch -bp1

コンフィグレーション

カスタマイズを行なうには、コンフィグレーションファイル `config/Wnn.conf' を修正して下さい。これは UNIX 上の Wnn とは異なっ ています。UNIX 上では `config/Project.tmpl' が使われていましたが、 Cygwin の imake ではうまく動かなかったので、このパッチでは使って いません。

デフォルトのインストールディレクトリは、UNIX 上と同様、以下 のようになっています。


/usr/local/bin/Wnn4		jserver とツール類
/usr/local/lib/wnn		辞書、設定ファイル
/usr/local/lib			Wnn ライブラリ
/usr/local/include/wnn		ライブラリを使うためのヘッダファイル

なお、インストールファイルの所有者は設定されません。chown、 chmod コマンドは無視されるようになっています。

コンパイル、インストール

ここで、以下のようにコマンドを実行してコンパイル、インストー ルします。


$ cd Xsi
$ xmkmf
$ make World
$ make install

これだけでよいはずです。


サーバの実行

jserver は通常の Windows コンソールアプリケーションです。 jserver をスタートさせるには DOS プロンプトからコマンド名をタイ プ(あるいは Explorer からダブルクリック)して下さい。現在は、デー モンのようにバックグラウンドでは実行できません。


$ /usr/local/bin/Wnn4/jserver.exe

標準のコマンドラインオプションに加えて、このパッチを当てた jserver では `-l' オプションが利用できます。このオプションを指定 すると、jserver は localhost に対してのみ listen を行なうように なります。これは jserver を完全に個人で利用する場合で、他人から はネットワーク経由でアクセスされたくないときに便利です。

jserver を終了させるには、別の DOS プロンプトから wnnkill.exe コマンドを実行します。


$ /usr/local/bin/Wnn4/wnnkill.exe

EGG の設定

ここでは、EGG Next Generation(通称 Tamagotchy)で使う場合の Emacs(Meadow) の設定例を示します。私は実際にこの設定で、 `egg-980712.tar.gz' を使っています。実際はこの `wnn-dictionary-specification-list' 変数の値は、もともとの値に二 つの新しい辞書のエントリを追加しただけです。


; patch for egg-cnv.el
(eval-after-load
    "egg-cnv"
  '(progn
(defun egg-finalize-backend ()
  (funcall (aref egg-conversion-backend 12)))
)); end eval-after-load

(setq wnn-dictionary-specification-list
  '((jserver
     (nil nil ""
	  [2 10 2 45 100 200 5 1 40 -100 200 -100 200 80 200 200 200]
	  "pubdic/full.fzk"
	  ["pubdic/kihon.dic"     ("kihon.h")    5 nil t]
	  ["pubdic/setsuji.dic"   ("setsuji.h")  5 nil t]
	  ["pubdic/koyuu.dic"     ("koyuu.h")    1 nil t]
	  ["pubdic/chimei.dic"    ("chimei.h")   1 nil t]
	  ["pubdic/jinmei.dic"    ("jinmei.h")   1 nil t]
	  ["pubdic/special.dic"   ("special.h")  5 nil t]
	  ["pubdic/computer.dic"  ("computer.h") 5 nil t]
	  ["pubdic/symbol.dic"    ("symbol.h")   1 nil t]
	  ["pubdic/tankan.dic"    ("tankan.h")   1 nil t]
	  ["pubdic/bio.dic"       ("bio.h")      1 nil t]
	  ["gerodic/g-jinmei.dic" ("g-jinmei.h") 1 nil t]
	  ["misc/supplement.dic"  ("supplement.h") 1 nil t]
	  ["wnncons/tankan2.dic"  nil            1 nil nil]
	  ["wnncons/tankan3.dic"  nil            1 nil nil]
	  [("ud")                 nil            5 t   t])
     (nil t "R"
	  [2 10 2 45 1 80 5 1 50 -20 400 -10 100 -100 200 0 200]
	  "pubdic/full.fzk"
	  ["pubdic/kihon.dic"     ("kihon.h")    5 nil t]
	  ["pubdic/setsuji.dic"   ("setsuji.h")  5 nil t]
	  ["pubdic/koyuu.dic"     ("koyuu.h")    1 nil t]
	  ["pubdic/chimei.dic"    ("chimei.h")   1 nil t]
	  ["pubdic/jinmei.dic"    ("jinmei.h")   1 nil t]
	  ["pubdic/special.dic"   ("special.h")  5 nil t]
	  ["pubdic/computer.dic"  ("computer.h") 5 nil t]
	  ["pubdic/symbol.dic"    ("symbol.h")   1 nil t]
	  ["pubdic/tankan.dic"    ("tankan.h")   1 nil t]
	  ["pubdic/bio.dic"       ("bio.h")      1 nil t]
	  ["gerodic/g-jinmei.dic" ("g-jinmei.h") 1 nil t]
	  ["misc/supplement.dic"  ("supplement.h") 1 nil t]
	  ["wnncons/tankan2.dic"  nil            1 nil nil]
	  ["wnncons/tankan3.dic"  nil            1 nil nil]
	  [("ud")                 nil            5 t   t]))
    (cserver
     (Q   nil "Q"
	  nil
	  "sys/full.con"
	  ["sys/QianMa.dic"       nil            1 nil nil])
     (W   nil "W"
	  nil
	  "sys/full.con"
	  ["sys/WuBi.dic"         nil            1 nil nil])
     (nil nil "PZ"
	  [1 5 2 750 10 80 10 5 1000 50 0 -200 0 0 0 16 0]
	  "sys/full.con"
	  ["sys/level_1.dic"      ("level_1.h")  4 nil t]
	  ["sys/level_2.dic"      ("level_2.h")  1 nil t]
	  ["sys/basic.dic"        ("basic.h")    7 nil t]
	  ["sys/computer.dic"     ("computer.h") 4 nil t]
	  ["sys/cwnn.dic"         ("cwnn.h")     4 nil t]
	  [("ud")                 nil            5 t   t])
     (Q   t "QR"
	  nil
	  "sys/full.conR"
	  ["sys/QianMa.dic"       nil            1 nil nil])
     (W   t "WR"
	  nil
	  "sys/full.conR"
	  ["sys/WuBi.dic"         nil            1 nil nil])
     (nil t "PZR"
	  [1 5 2 750 10 80 10 5 1000 50 0 -200 0 0 0 16 0]
	  "sys/full.conR"
	  ["sys/level_1.dic"      ("level_1.h")  4 nil t]
	  ["sys/level_2.dic"      ("level_2.h")  1 nil t]
	  ["sys/basic.dic"        ("basic.h")    7 nil t]
	  ["sys/computer.dic"     ("computer.h") 4 nil t]
	  ["sys/cwnn.dic"         ("cwnn.h")     4 nil t]
	  [("ud")                 nil            5 t   t]))
    (tserver
     (nil nil ""
	  [1 5 2 750 10 80 10 5 1000 50 0 -200 0 0 0 16 0]
	  "sys/full.con"
	  ["sys/cns_ch.dic"       ("cns_ch.h")   4 nil t]
	  ["sys/cns_wd.dic"       ("cns_wd.h")   1 nil t]
	  [("ud")                 nil            5 t   t])
     (nil t "R"
	  [1 5 2 750 10 80 10 5 1000 50 0 -200 0 0 0 16 0]
	  "sys/full.conR"
	  ["sys/cns_ch.dic"       ("cns_ch.h")   4 nil t]
	  ["sys/cns_wd.dic"       ("cns_wd.h")   1 nil t]
	  [("ud")                 nil            5 t   t]))
    (kserver
     (nil nil ""
	  [2 5 2 45 200 80 5 1 40 0 400 -100 400 80 200 2 200]
	  "sys/full.fzk"
	  ["sys/hword.dic"        ("hword.h")    5 nil t]
	  ["sys/single.dic"       ("single.h")   1 nil t]
	  [("ud")                 nil            2 t   t])
     (nil t "R"
	  [2 10 2 45 1 80 5 1 50 -20 400 -10 100 -100 200 0 200]
	  "sys/full.fzk"
	  ["sys/hword.dic"        ("hword.h")    5 nil t]
	  ["sys/single.dic"       ("single.h")   1 nil t]
	  [("ud")                 nil            2 t   t]))))

更新履歴


既知のバグ、TODO リスト


情報源

----------------------------------------------------------------

森 啓介 (ksk@kt.rim.or.jp)
Last Modified: $Id: jserverj.html,v 1.3 1999/05/22 10:36:39 ksk Exp $