hunspell(1)hunspell(1)NAMEhunspell - spell checker, stemmer and morphological analyzer
SYNOPSIShunspell [-1aDGHhLlntvw] [--check-url] [-d dict] [--help] [-i enc] [-p
dict] [-vv] [--version] [file(s)]
DESCRIPTION
Hunspell is fashioned after the Ispell program. The most common usage
is "hunspell filename". In this case, hunspell will display each word
which does not appear in the dictionary at the top of the screen and
allow you to change it. If there are "near misses" in the dictionary
(words which differ by only a single letter, a missing or extra letter,
a pair of transposed letters, a missing space or hyphen, or a special
string pair), then they are also displayed on following lines. As well
as "near misses", ispell may display other guesses at ways to make the
word from a known root, with each guess preceded by question marks.
Finally, the line containing the word and the previous line are printed
at the bottom of the screen. If your terminal can display in reverse
video, the word itself is highlighted. You have the option of
replacing the word completely, or choosing one of the suggested words.
Commands are single characters as follows (case is ignored):
R Replace the misspelled word completely.
Space Accept the word this time only.
A Accept the word for the rest of this hunspell session.
I Accept the word, capitalized as it is in the file, and
update private dictionary.
U Accept the word, and add an uncapitalized (actually, all
lower-case) version to the private dictionary.
0-n Replace with one of the suggested words.
L Look up words in system dictionary (controlled by the
WORDS compilation option).
X Write the rest of this file, ignoring misspellings, and
start next file.
Q Exit immediately and leave the file unchanged.
! Shell escape (not implemented).
^L Redraw screen.
^Z Suspend ispell.
? Give help screen.
OPTIONS-1 Check only first field in lines (delimiter = tabulator).
-a The -a option is intended to be used from other programs through
a pipe. In this mode, hunspell prints a one-line version
identification message, and then begins reading lines of input.
For each input line, a single line is written to the standard
output for each word checked for spelling on the line. If the
word was found in the main dictionary, or your personal
dictionary, then the line contains only a '*'. If the word was
found through affix removal, then the line contains a '+', a
space, and the root word. If the word was found through
compound formation (concatenation of two words, then the line
contains only a '-'.
If the word is not in the dictionary, but there are near misses,
then the line contains an '&', a space, the misspelled word, a
space, the number of near misses, the number of characters
between the beginning of the line and the beginning of the
misspelled word, a colon, another space, and a list of the near
misses separated by commas and spaces. Following the near
misses (and identified only by the count of near misses), if the
word could be formed by adding (illegal) affixes to a known
root, is a list of suggested derivations, again separated by
commas and spaces.
Also, each near miss or guess is capitalized the same as the
input word unless such capitalization is illegal; in the latter
case each near miss is capitalized correctly according to the
dictionary.
Finally, if the word does not appear in the dictionary, and
there are no near misses, then the line contains a '#', a space,
the misspelled word, a space, and the character offset from the
beginning of the line. Each sentence of text input is
terminated with an additional blank line, indicating that
hunspell has completed processing the input line.
These output lines can be summarized as follows:
OK: *
Root: + <root>
Compound:
-
Miss: & <original> <count> <offset>: <miss>, <miss>, ...,
<guess>, ...
None: # <original> <offset>
For example, a dummy dictionary containing the words "fray",
"Frey", "fry", and "refried" might produce the following
response to the command "echo 'frqy refries | hunspell -a":
(#) Hunspell 0.4.1 (beta), 2005-05-26
& frqy 3 0: fray, Frey, fry
& refries 1 5: refried, re+fry-y+ies
This mode is also suitable for interactive use when you want to
figure out the spelling of a single word.
When in the -a mode, hunspell will also accept lines of single
words prefixed with any of '*', '&', '@', '+', '-', '~', '#',
'!', '%', '`', or '^'. A line starting with '*' tells hunspell
to insert the word into the user's dictionary (similar to the I
command). A line starting with '&' tells hunspell to insert an
all-lowercase version of the word into the user's dictionary
(similar to the U command). A line starting with '@' causes
hunspell to accept this word in the future (similar to the A
command). A line starting with '+', followed immediately by tex
or nroff will cause hunspell to parse future input according the
syntax of that formatter. A line consisting solely of a '+'
will place hunspell in TeX/LaTeX mode (similar to the -t option)
and '-' returns hunspell to nroff/troff mode (but these commands
are obsolete). However, the string character type is not
changed; the '~' command must be used to do this. A line
starting with '~' causes hunspell to set internal parameters (in
particular, the default string character type) based on the
filename given in the rest of the line. (A file suffix is
sufficient, but the period must be included. Instead of a file
name or suffix, a unique name, as listed in the language affix
file, may be specified.) However, the formatter parsing is not
changed; the '+' command must be used to change the formatter.
A line prefixed with '#' will cause the personal dictionary to
be saved. A line prefixed with '!' will turn on terse mode (see
below), and a line prefixed with '%' will return hunspell to
normal (non-terse) mode. A line prefixed with '`' will turn on
verbose-correction mode (see below); this mode can only be
disabled by turning on terse mode with '%'.
Any input following the prefix characters '+', '-', '#', '!',
'%', or '`' is ignored, as is any input following the filename
on a '~' line. To allow spell-checking of lines beginning with
these characters, a line starting with '^' has that character
removed before it is passed to the spell-checking code. It is
recommended that programmatic interfaces prefix every data line
with an uparrow to protect themselves against future changes in
hunspell.
To summarize these:
* Add to personal dictionary
@ Accept word, but leave out of dictionary
# Save current personal dictionary
~ Set parameters based on filename
+ Enter TeX mode
- Exit TeX mode
! Enter terse mode
% Exit terse mode
` Enter verbose-correction mode
^ Spell-check rest of line
In terse mode, hunspell will not print lines beginning with '*',
'+', or '-', all of which indicate correct words. This
significantly improves running speed when the driving program is
going to ignore correct words anyway.
In verbose-correction mode, hunspell includes the original word
immediately after the indicator character in output lines
beginning with '*', '+', and '-', which simplifies interaction
for some programs.
--check-url
Check URLs, e-mail addresses and directory paths.
-D Show detected path of the dictionary.
-d dict
Path of affix and dic files, without file extension.
-G Print only correct words or lines.
-H The input file is in SGML/HTML format.
-h, --help
Short help.
-i enc Set input encoding.
-L Print lines with misspelled words.
-l The "list" option is used to produce a list of misspelled words
from the standard input.
-n The input file is in nroff/troff format.
-p dict
Set path of personal dictionary. Default is
$HOME/.hunspell_default. Setting -d or the DICTIONARY
environmental variable, personal dictionary will be
$HOME/.hunspell_dicname
-t The input file is in TeX or LaTeX format.
-v, --version
Print version number.
-vv Print ispell(1) compatible version number.
-w Print mispelled words (= lines) from one word/line input.
EXAMPLEShunspell-d en_US english.html
hunspell-d /opt/OpenOffice.org1.0.1/share/dict/ooo/de_DE
hunspell *.html
hunspell-l text.html
hunspell-r *.html
ENVIRONMENT
DICTIONARY
Similar to -d.
DICPATH
Dictionary path.
WORDLIST
Equivalent to -p.
FILES
/usr/share/myspell/default.aff Path of default affix file. See
hunspell(4).
/usr/share/myspell/default.dic Path of default dictionary file. See
hunspell(4).
$HOME/.hunspell_default. Default path to personal dictionary.
SEE ALSOhunspell (4)
AUTHOR
Hunspell based on Ispell's algorithms and OpenOffice.org's Myspell
source code.
Author of International Ispell is Geoff Kuenning.
Author of MySpell is Kevin Hendricks.
Author of Hunspell is Laszlo Nemeth.
This manual based on Ispell's manual (See ispell(1)).
BUGS
There are some layout problems with tabulated non ASCII texts under
interactive UTF-8 environment.
Unnecessary checking of e-mail addresses, URLs, paths (put these
character strings into var element in HTML, and \url{path} in LaTeX.)
2007-06-18 hunspell(1)