5.5 Creating an Individual Word List

To create an individual main word list from a list of words use the
command

aspell --lang=lang create master ./base < wordlist

where base is the name of the word list and
wordlist is the list of words separated by white space.
The name of the word list will automatically be converted to all
lowercase. The ./ is important because without it Aspell will
create the word list in the normal word list directory. If you are
trying to create a word list in a language other than English check
the Aspell data-dir (usually /usr/share/aspell, use
aspell dump config to find out what it is on your system) to
see if a language data file exists for your language. If not you will
need to create one. For more information on using Aspell with other
languages Adding Support For Other Languages.

This will create the file base in the current directory.
To use the new word list copy the file to the normal word list
directory (use aspell config to find out what it is) and use
the option --master=base.

During the creating of the dictionary you may get a number of warnings
or errors about invalid words or affixes. By default Aspell will skip
any invalid words and remove invalid affixes. If you rather that Aspell
simply accepts all words given then the option
--dont-validate-words can be specified. To avoid checking if
affixes are valid use the option --dont-validate-affixes.
However, rather than disable checking, it is preferable to clean the
input word list. This can be done by using the command

aspell --local-data-dir=./ --lang=lang clean < wordlist > result

which will clean the word list and output the results to result.
By default it will remove invalid characters from the beginning and end
of a word before resorting to skipping the word. If you rather it just
skip the words than add the keyword strict:

The option --clean-words can be be added when creating a
dictionary if you want Aspell to remove invalid characters from the
beginning and end of a word like the "clean" command does. In addition
the options --dont-skip-invalid-words and
--dont-clean-affixes can be specified to turn the warnings into
errors.

The compiled dictionaries are platform dependent. They depend on the
endian order and (unless compiled with the
--enable-32-bit-hash-fun option) the size of the
size_t type as it used in the hash function; this
type is generally different on 32 and 64-bit systems. When a
dictionary is loaded the endian order and compatibility of the hash
function is checked. Please do not distribute the compiled
dictionaries unless you are only distributing them for a particular
platform such as you would a binary.