Spell Checking and AbiWord

AbiWord supports spell checking in many languages, and allows you to have different parts of a single document in different languages.

Supported Spell Checkers

AbiWord supports both the GNU Aspell (previously called Pspell) and Ispell spell checkers (and also a spell-check wrapper called Enchant which in turn uses Aspell or Ispell or perhaps others). Which one is used is determined at compile-time, so if you're downloading a binary, one of these has been selected for you. GNU Aspell and Enchant are easiest to use on Unix platforms currently, so if you're not running on Unix, you're almost certainly using Ispell.

Gotchas

Of course, you can only spell-check words if you have the dictionary for that particular language installed. GNU Aspell dictionaries can be found at http://aspell.net/. Currently, AbiWord's Ispell builds ship with Ispell dictionaries (commonly referred to as `hash files´) that are known to work with the AbiWord product; unfortunately not all Ispell dictionaries will be compatible with AbiWord, but a number of usable dictionaries are available from AbiWord's SourceForge site listed under "abispell". Unless your distributor has packaged AbiWord specially, AbiWord expects its Ispell dictionaries to be in the following format:

128 byte long strings

52 "flags"

capitalization enabled

Proper endianness (little endian if you´re on a i386 class machine, or big endian for Alpha, PPC, MIPS)

If you are running a Unix variant, you can determine this information by typing `file <foo.hash>´ Typically, the output looks something like this:

/usr/lib/ispell/norsk.hash: little endian ispell 3.1 hash file, 8-bit, capitalization, 52 flags and 128 string characters

If you are using Ispell, AbiWord expects to find these dictionaries in a specific place. For Unix machines, this is typically /usr/local/share/AbiSuite-2.0/dictionary/. For Windows machines, this is typically C:\Program Files\AbiSuite\dictionary\

AbiWord can also use pre-installed Ispell dictionaries. You may achieve this by simply copying them to the AbiWord dictionary directory ('cp' on Unix) or by using symbolic links, should your platform support that feature('ln -s' on Unix). If the dictionary for a particular language is not installed, the words will remain un-proofed, and thus not marked as incorrect.

How to use these features?

AbiWord automatically sets many of its default settings based on your working locale. This includes paper sizes (A4 vs. Letter), displayed units (inch vs. cm), and proofing language. Internally, the proofing language is a 4 letter country code. American English is represented by 'en-US', for example.

It's great to have a default startup language, but that in itself isn't all that impressive. AbiWord allows the user to change the language of any word inside of the document and have it automatically proofed using that new language dictionary(provided that dictionary is installed on the user's system). This functionality is achieved through the Language Dialog, accessible from Tools->Language or by right-clicking your mouse anywhere in the document. The dialog presents the user with a list of languages to choose from (or, optionally, no proofing). More information about the language dialog is available in its own help file.

Support Matrix

What follows is the currently supported matrix for Ispell-based proofing. The Language/Country name, Country-Code, and associated Ispell dictionary are named. Currently AbiWord supports 27 different locales via Ispell:

Dictionary Locale

catalan.hash ca-ES

czech.hash cs-CZ

dansk.hash da-DK

deutsch.hash de-CH

deutsch.hash de-DE

deutsch.hash de-AT

ellhnika.hash el-GR

british.hash en-AU

american.hash en-CA

british.hash en-GB

british.hash en-IE

american.hash en-US

espanol.hash es-ES

francais.hash fr-BE

francais.hash fr-CA

francais.hash fr-CH

francais.hash fr-FR

italian.hash it-IT

lietuviu.hash lt-LT

dutch96.hash nl-NL

norsk.hash nb-NO

nynorsk.hash nn-NO

polish.hash pl-PL

portugues.hash pt-PT

portugues.hash pt-BR

russian.hash ru-RU

svenska.hash sv-SE