せっかく 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 件のコメント:
コメントを投稿