せっかく ispell
を導入したのですが、
What's the Difference Between Ispell and Aspell? に気になることが書かれています。
...Its primary advantage is that it is better at making suggestions when a word is seriously misspelled... Its disadvantage is that the approximate-matching algorithm is specific to English.
私が綴りを確認したいのは英語なので、aspell
の方が適しているのかもしれません。
となれば、早速 aspell
をインストールします。
過去には OpenSolaris のリポジトリに存在したようなのですが、
最新のビルドでは見つからないため、自前で構築します。
まずは、インストール先の確保。
個人的な習慣なのですが、GNU 系のモジュールを自分で構築した場合は、/opt/gnu
に配置することにしています。
最近は欲しいものがほとんどリポジトリから入手できるので、インストール先のディレクトリすら作成してませんでした。
$ pfexec mkdir /opt/gnu $ mkdir /export/opt/gnu $ pfexec vi /etc/vfstab $ tail -1 /etc/vfstab /export/opt/gnu - /opt/gnu lofs - yes - $ pfexec mount /opt/gnu
続いて、aspell
本体を構築します。
実は最初は Sun 謹製のコンパイラを使用したのですが、コンパイルエラーになりました。
ならばということで gcc を試したのですが、これもコンパイルエラー。
gcc --version
で確認すると 3.4.3。ちょっと古めです。
そういえばと言うことでパッケージマネージャーで gcc を検索すると 4.3.3 があったのでこちらをインストール。
ところがこのコンパイラでもエラー。
エラーメッセージに wget_wch
というシンボルがでているので man
コマンドで確認すると、XPG4 の curses
ライブラリに含まれていることがわかります。
該当するファイル prog/check_funs.cpp
を眺めても、curses
がらみであることは明らかです。
となれば、CXXFLAGS
を設定すればと考えたのですが、関係ない部分に影響を与えるのは馬鹿っぽいです。
README
を眺めていると、--enable-curses
と --enable-curses-include
を使えば良さそうです。
$ wget -P /PATH/TO/WAREHOUSE ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz $ gtar xfz /PATH/TO/aspell-0.60.6.tar.gz $ cd aspell-0.60.6 $ ./configure --prefix=/opt/gnu CC=/usr/gcc/4.3/bin/gcc CXX=/usr/gcc/4.3/bin/g++ --enable-curses='-L/usr/xpg4/lib -R/usr/xpg4/lib -lcurses' --enable-curses-include=/usr/xpg4/include $ gmake $ gmake install
aspell
をインストールした後は、辞書をインストールします。
こちらのインストールには先にインストールした aspell
が使用されます。
$ wget -P /PATH/TO/WAREHOUSE ftp://ftp.gnu.org/gnu/aspell/dict/en/aspell6-en-6.0-0.tar.bz2 $ bzip2 -d -c /PATH/TO/aspell6-en-6.0-0.tar.bz2 | gtar xf - $ cd aspell6-en-6.0-0 $ PATH=/opt/gnu/bin:$PATH ./configure Finding Dictionary file location ... /opt/gnu/lib/aspell-0.60 Finding Data file location ... /opt/gnu/lib/aspell-0.60 $ gmake $ gmake install
Emacs の中からは ispell
という名前で起動しますので、
aspell
が提供している ispell
互換スクリプトをインストールします。
$ cp -p scripts/ispell /opt/free/bin/ispell
ここで Emacs から M-x ispell
を実行してみるとエラーになります。
Error: No word lists can be found for the language "ja_JP".
綴りを調べたいのは英語だけですので、先ほどのスクリプトで言語を指定することにします。
$ diff -u scripts/ispell /opt/free/bin/ispell --- scripts/ispell 水 10月 27 02:12:17 2004 +++ /opt/free/bin/ispell 水 4月 21 16:59:50 2010 @@ -6,6 +6,8 @@ # mapping when checking files with the "ispell command". #CHECK_FLAGS="--keymapping=ispell" +LANG=en_US.UTF-8 export LANG + command="" for p
これで無事に aspell
が使えるようになりました。
0 件のコメント:
コメントを投稿