Dom Lachowicz, David Chart 2001

Spell Checking and AbiWord

With the 0.9.0 release of AbiWord, you can expect to see great improvements in its proofing capabilities. This release supports more languages than ever and also allows the user to easily create multi-lingual documents.

Supported Spell Checkers

AbiWord supports both the Pspell and Ispell spell checkers - which one is used is determined at compile-time, so if you´re downloading a binary, one of these has been selected for you. Pspell is only known to work on Unix platforms currently, so if you´re not running on Unix, you´re definitely using Ispell.

Gotchas

Of course, you can only spell-check words if you have the dictionary for that particular language installed. Pspell dictionaries can be found at pspell.sourceforge.net. Currently, AbiWord ships Ispell dictionaries (commonly referred to as `hash files´) that are known to work with the AbiWord product. 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>´ Where ‘file, 8-bit, capitalization, 52 flags and 128 string characters

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/AbiSuite/dictionary/. For Windows machines, this is typically C:\Program Files\AbiSuite\dictionary\

AbiWord can also use pre-installed Ispell dictionaries if you happen to have them installed. You may achieve this by simply copying them to the AbiWord dictionary directory (`cp´ on Unix) or by symbollicly linking them, 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 (as opposed to being 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, which you may or may not be familiar with. American English is represented by `en-US´, for example. A language´s default value can be changed by using the Preference Dialog. An instance where someone would want to do this is a German user who likes to see his/her menus and dialogs in German, but prefers to write documents in English.

It´s great to have a default startup language, but that in itself isn´t all that impressing. 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 said 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

Testing

To know if if everything worked (or if you´re just curious), you might want to perform a test such as the following:

color colour Farbe

These three words are all marked as being in different languages. This was achieved by double-clicking on each word, opening the Language Dialog, and selecting the intended language. The languages used here are: American English (en-US), British English (en-GB), and German (de-DE).