多くのGNU/LinuxディストリビューションにIspellといった西洋語スペルチェッカが内蔵されている。当然ながら、Windowsにはこんな便利なツールを簡単にインストールできるわけがない。
Emacsで英文を書くとき、いつもIspellを使っているが、Windowsで同じことするのに苦労したのでメモっておく。
まず、WindowsではIspellではなく、Hunspellを使う人が多いらしいのでHunspellをインストールする。管理者権限でPowershellを開き、
Set-ExecutionPolicy Bypass Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('http://internal/odata/repo/ChocolateyInstall.ps1'))
を逐次に実行する。
次に、choco
でHunspellをインストールする。
choco install hunspell.portable
また、 LibreOffice Extensionsから英語、或いは望ましい言語の辞書をダウンロードする。ダウンロードされたファイルはoxt
形式になるが、ZIPと同じようなものなので、なんとか展開する。該当する辞書(.aff
と.dic
)をHunspellのパスに含まれたディレクトリに入れる。Hunspellのパスは、
hunspell -D
を実行することでわかる。その後、
hunspell -D -d en_US NUL
を実行して辞書をインストールする。なお、en_US
を適宜自分がインストールしたい言語に変えること。
下準備は以上で完了。次に.emacs
をいじればOK。choco
でHunspellをインストールした場合、自動的にパスに入れてくれるが、そうではない場合、手動でパスに入れるかフルパスを三行目に入れる。
(setenv "LANG" "en_US") (setenv "DICTIONARY" "en_US") (setq-default ispell-program-name "hunspell.exe")
これで動くかもしれないが、Emacsのバージョンが新しい場合、なぜか動かないことがある。エラーはこのような感じ:
ispell-phaf: No matching entry for en_US in ‘ispell-hunspell-dict-paths-alist’.
このサイトより、ispell.el
を直せばいいらしい。
現時点1127行目
- (affix-file (concat dict ".aff"))) + (affix-file (concat (file-name-sans-extension dict) ".aff")))
の通りに直し、最後にM-x byte-compile-file <path/to/ispell.el>
を実行すれば動くはず。