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