                         ispell-3.4.00 for Win32

ispell-3.4.00 を Win32 用に Make したものです。 term.c は Jason Rumney さん
<jasonr@altavista.net> によるものをちょっと modify してあります。( cursor
を非表示にし、独自のコンソールウインドウを作成して使うようにしています。)
MASKBIT = 64 でコンパイルしてあります。3.4.00 は HTML にも対応しています。
サフィックスが .html, .htm, .shtml の場合は自動判断しますが、-H オプション
を使うこともできます。その他にも幾つか新しい機能があります。これらについて
はオリジナルの文書 README に簡単に説明してありますので、お読み下さい。この
パッケージに英語辞書は作成済みのものが四つ同梱してあります。
Lookup コマンド (L) で使用される word list ファイルの名前は環境変数
ISPELL_WORDS_FILE で指定することができます。ISPELL_WORDS_FILE が定義されて
いない場合には，このファイル名が c:/usr/dict/words と仮定されます。
つまり，ディレクトリ c:/usr/dict に words なる名前のファイルを置いておけば
これが使われます。このファイル words の line endings は 0x0a (Unix 形式)
にしておいて下さい。またこのファイルは sort されている必要があります。
wildcard が使われたら egrep.exe が使われ、そうでなかったら look.exe が使わ
れます。look.exe と egrep.exe (GNU grep 2.5) は同梱してあります。


                           Win32 版の拡張機能

コンソールで使用するとき、-j オプションを付けると、日本語混じりのファイル
のスペルチェックができるように拡張してあります。-j オプションが無い場合
はオリジナルと同じ振る舞いをします。Meadow の場合には ispell.elc を通して
使用する場合にも、日本語混じりのファイルのスペルチェックができます。これに
ついては下記の Meadow に関する部分を読んで下さい。コンソールで -j オプショ
ンを使う場合、日本語の encoding は Shift JIS でなければいけません。また、
r (or R) つまり replace コマンド時に、BackSpace による 編集ができるように
機能拡張してあります。 つまり BackSpace で任意回訂正して入力することが可能
です。


                          ispell のインストール

(1) 実行ファイルのインストール
    bin ディレクトリに入っている実行ファイルを PATH の通ったディレクトリに
    コピーして下さい。

(2) システム辞書ファイルのインストール
    (a) ディレクトリについて
        何も設定しない場合、システム辞書のディレクトリは
        c:/usr/local/lib になります。違った場所にしたい場合には
        環境変数 ISPELL_DICTDIR で指定します。例えば
        ISPELL_DICTDIR=c:/usr/local/share/ispell
    (b) dic にある四つの辞書ファイル english.hash, american.hash,
        UK-xlg.hash, US-xlg.hash をシステム辞書ディレクトリにコピー
        して下さい。

     システム辞書は通常上のように特定ディレクトリに入れておけば良いの
     ですが、環境変数 DICTIONARY でシステム辞書へのフルパスを指定する
     こともできます。例えば
     DICTIONARY=c:/usr/local/share/ispell/US-xlg.hash

(3) パーソナル辞書ファイルの作成場所について
    パーソナル辞書は、環境変数 HOME で設定されたディレクトリに作成
    されます。変数 HOME が定義されていない場合，代わりに USERPROFILE
    が使用されます。

    あるいは別の方法として
    環境変数 WORDLIST でパーソナル辞書へのフルパスを指定することも
    できます。例えば
    WORDLIST=c:/usr/home/taro/.ispell_word

(4) Lookup コマンド (L)を使うには，ソートしたファイルを用意し，その名前の
    フルパスを環境変数 ISPELL_WORDS_FILE で指定します。名前のフルパスが
    c:/usr/dict/words である場合には，環境変数 ISPELL_WORDS_FILE を定義
    する必要はありません。

(5) Emacs での使用 

    (a) [ mule for Win32 の場合 ]
    lisp/oldemacs/ispell.el を mule for Win32 が探せる lisp ディレクトリに
    コピーして、これを M-x byte-compile-file などどしてバイトコンパイルして
    おいて下さい。これだけで使用可能になるはずですが、
    M-x ispell-change-dictionary コマンドで US-xlg などの辞書に変更できる
    ようにするためには $HOME/.emacs に次のような記述を追加しておけば
    よいでしょう :
;;
;;
(setq ispell-dictionary-alist
  '((nil				; default (english.aff)
     "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B") nil iso-8859-1)
    ("english"				; make english explicitly selectable
     "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B") nil iso-8859-1)
    ("american"				; american version
     "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B" "-d" "american") nil iso-8859-1)
    ("UK-xlg"				; english large version
     "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B" "-d" "UK-xlg") nil iso-8859-1)
    ("US-xlg"				; american large version
     "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B" "-d" "US-xlg") nil iso-8859-1)
    ("deutsch"				; deutsch.aff
     "[a-zA-Z\"]" "[^a-zA-Z\"]" "[']" t ("-C") "~tex" iso-8859-1)
    ("deutsch8"
     "[a-zA-Z\304\326\334\344\366\337\374]"
     "[^a-zA-Z\304\326\334\344\366\337\374]"
     "[']" t ("-C" "-d" "deutsch") "~latin1" iso-8859-1)
   )
)
;;
;;

    (b) [ Meadow などの新しい Emacs の場合 ]
    新しいバージョンのものが既にインストール済みのはずですから、それを
    使用して下さい。コピーするとすれば lisp/newemacs/ispell.el をコピーして
    下さい。これは ispell.el Version 3.6 で、最新のものです。(mule for Win32
    では バイトコンパイルできませんでした。Meadow ではできます。)
    Meadow の中から M-x ispell-change-dictionary によって
    辞書 UK-xlg あるいは US-xlg を選択できるようにするためには $HOME/.emacs
    に次のように記述しておいて下さい。english.hash や american.hash
    しか使用しないのであれば、これらはインストール済みの ispell.el(c) に
    記述してありますから、$HOME/.emacs には何も記述する必要はありません。
;;
;;
(setq ispell-local-dictionary-alist
  '((nil				; default (english.aff)
     "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B") nil iso-8859-1)
    ("UK-xlg"				; english large version
     "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B" "-d" "UK-xlg") nil iso-8859-1)
    ("US-xlg"				; american large version
     "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B" "-d" "US-xlg") nil iso-8859-1)
   )
)
;;
;;

    なお .emacs に
;;
(eval-after-load "ispell"
  '(setq ispell-skip-region-alist (cons '("[^\000-\377]")
ispell-skip-region-alist)))
;;
    と記述しておくと、Meadow 内で ispell を使う場合、日本語混じりのファイルの
    スペルチェックをすることができます。

(6) 環境変数 TEMP のチェック
    環境変数 TEMP あるいは TMP あるいは TMPDIR が定義してないと使用でき
    ません。 Windows システムでは TEMP が既に定義してあるはずなので
    新たに定義しないでも大丈夫と思います。シェルに cmd.exe や command.com
    を使用しているときには
    echo %TEMP%
    として見て下さい。ディレクトリ名が表示されれば OK です。
    sh や bash などの UNIX like シェルを使用している場合には
    echo $TEMP
    でチェックして下さい。


これでインストールはおしまいです。通常は english.hash がデフォルトの
辞書となります。他の辞書を使うときはコマンドラインの場合は
ispell -d US-xlg filename などとします。 mule から辞書を変更するには
M-x ispell-change-dictionary なるコマンドを使用します。

辞書は作成済みの ftp://ftp.tue.nl/pub/tex/GB95/ispell-english.zip
を使用して bin/buildhash.exe で作ったものです。

english.hash  : 英語通常辞書
UK-xlg.hash   : english.hash の large version
american.hash : 米語通常辞書
US-xlg.hash   : american.hash の large version

ispell -h  とすると使用法を表示します。
ispell -v  とするとバージョン情報を表示します。
ispell -vv とするとより詳細なバージョン情報を表示します。

コンソールで使用中に、コマンドの簡単な説明を表示するには ? を押します。
mule/meadow で使用中に、コマンドの簡単な説明を表示するには C-h とします。

詳細は doc にあるドキュメントを読んで下さい。また author の web ページ
http://www.cs.hmc.edu/~geoff/ispell.html
から辿って必要な情報を得て下さい。
------------------
A. Kakuto
