aspell: Using Aspell as a Replacement for Ispell
1
1 3.2 Using Aspell as a Replacement for Ispell
1 ============================================
1
1 As of GNU Aspell 0.60.1 Aspell should be able to completely replace
1 Ispell for most applications. The Ispell compatibility script should
1 work for most applications which expect Ispell. However there are some
1 differences which you should be aware of.
1
1 3.2.1 As a Drop In Replacement
1 ------------------------------
1
1 Aspell can be used as a drop in replacement for Ispell for programs
1 that use Ispell through a pipe such as Emacs and LyX. It can also be
1 used with programs that simply call the `ispell' command and expect the
1 original file to be overwritten with the corrected version.
1
1 If you do not have Ispell installed on your system and have installed
1 the Ispell compatibility script then you should not need to do anything
1 as most applications that expect Ispell will work as expected with
1 Aspell via the Ispell compatibility script.
1
1 Otherwise, the recommended way to use Aspell as a replacement for
1 Ispell is to change the `ispell' command from within the program being
1 used. If the program uses `ispell' in pipe mode simply change `ispell'
1 to `aspell'. If the program calls the `ispell' command to check the
1 file, then change `ispell' with `aspell check'.
1
1 If that is impossible then the `run-with-aspell' script can be used.
1 This script modifies the patch so that programs see the Ispell
1 compatibility script instead of the actual true `ispell' command. The
1 format of the script is:
1
1 run-with-aspell COMMAND
1
1 where COMMAND is the name of the program with any optional arguments.
1
1 The old method of mapping Ispell to Aspell is discouraged because it
1 can create compatibility problems with programs that actually require
1 Ispell such as Ispell's own scripts.
1
1 3.2.2 Differences From Ispell
1 -----------------------------
1
1 Nevertheless, Aspell is not Ispell, nor is it meant to completely
1 emulate the behavior of Ispell. The `aspell' command is not identical
1 to the `ispell' command when not used in "pipe" mode. If an
1 application expects the `ispell' command, then the Ispell compatibility
1 script should be used instead.
1
1 3.2.2.1 Functionality of the Ispell Compatibility Script
1 ........................................................
1
1 The Ispell compatibility script provides the following Ispell
1 functionally.
1
1 * The ability to check a file when called without any mode
1 parameters.
1
1 * The pipe or -a mode.
1
1 * The list or -l mode.
1
1 * The version or -v mode. A single line is returned which, while not
1 being identical to the line Ispell returns, is sufficient to fool
1 most programs.
1
1 * The munch or -c mode.
1
1 * The expand or -e mode.
1
1 * The ability to dump the affix file when called with '-D'. However
1 the format of the affix file is different. Furthermore, not all
1 languages have an affix file.
1
1
1 However the Ispell script is currently unable to emulate the '-A'
1 pipe mode. This is different from the normal pipe mode in that the
1 special `&Include_File&' command is recognized.
1
1 3.2.2.2 Recognized Options
1 ..........................
1
1 Aspell, and thus the Ispell compatibility script, recognizes most of
1 the options that Ispell uses except for the '-S', '-w' and '-T'
1 options. The Aspell command will simply ignore these options if it
1 sees them.
1
1 3.2.2.3 Check Mode Compatibility
1 ................................
1
1 The interface used by Aspell when checking individual files is slightly
1 different than Ispell's. In particular the default keymappings are not
1 the same as the ones Ispell uses. However Aspell supports using the
1 Ispell keymappings via the `keymapping' option. To use the Ispell
1 keymappings set the `kepmapping' option to `ispell'. This can be done
1 on the command line by adding using the command:
1
1 aspell check --keymapping=ispell ...
1 or with the Ispell compatibility script
1 ispell --keymapping=ispell ...
1
1 The Ispell keymapping can always be used when the Ispell compatibly
1 script is called by uncommenting the indicated line in the `ispell'
1 script.
1
1 3.2.2.4 Pipe Mode Compatibility
1 ...............................
1
1 The Aspell pipe mode should be identical to the Ispell pipe mode except
1 if the line starts with a '$$' as that will trigger special Aspell only
1 commands or if the line starts with a '~' which is ignored by Aspell.
1
1 3.2.2.5 Other Differences
1 .........................
1
1 The compiled dictionary format is completely different than Ispell's.
1 Furthermore the format of the language data files' are different than
1 Ispell's affix file. However, all known Ispell dictionaries were
1 converted to Aspell format, except for Albanian (sq) as I was unable to
1 find the source word list.
1
1 The naming and format of the personal dictionary is also different.
1 However, Ispell personal dictionaries can be imported using the
1 `aspell-import' script. ⇒Using aspell-import. The Ispell
1 personal dictionary is simply a list of words while the Aspell one is a
1 list of words with a header line. Thus it is also fairly easy to
1 convert between the two. ⇒Format of the Personal Dictionary.
1
1 3.2.2.6 Missing Functionally
1 ............................
1
1 The only major area where Ispell is superior to Aspell is in the
1 handling of multi character letters such as old ASCII encoding of
1 accented characters.
1
1 However, Aspell can handle UTF-8 documents far better than Ispell
1 can.
1