dwww Home | Manual pages | Find package

hunspell(1)                 General Commands Manual                 hunspell(1)

NAME
       hunspell - spell checker, stemmer and morphological analyzer

SYNOPSIS
       hunspell  [-1aDGHhLlmnOrstvwX]  [--check-url]  [--check-apostrophe]  [-d
       dict[,dict2,...]]  [--help]  [-i  enc]  [-p  dict]   [-vv]   [--version]
       [text/OpenDocument/TeX/LaTeX/HTML/SGML/XML/nroff/troff file(s)]

DESCRIPTION
       Hunspell  is  fashioned after the Ispell program.  The most common usage
       is "hunspell" or "hunspell filename".  Without filename parameter,  hun-
       spell checks the standard input.  Typing "cat" and "exsample" in two in-
       put  lines, results an asterisk (it means "cat" is a correct word) and a
       line with corrections:

              $ hunspell -d en_US
              Hunspell 1.2.3
              *
              & exsample 4 0: example, examples, ex sample, ex-sample

       Correct words signed with an '*', '+' or '-', unrecognized words  signed
       with  '#' or '&' in output lines (see later).  (Close the standard input
       with Ctrl-d on Unix/Linux and Ctrl-Z Enter or Ctrl-C on Windows.)

       With filename parameters, hunspell will display each word of  the  files
       which does not appear in the dictionary at the top of the screen and al-
       low  you  to  change  it.  If there are "near misses" in the dictionary,
       then they are also displayed on following lines.  Finally, the line con-
       taining 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 up-
                     date private dictionary.

              U      Accept the word, and add an uncapitalized  (actually,  all
                     lower-case) version to the private dictionary.

              S      Ask  a stem and a model word and store them in the private
                     dictionary.  The stem will be accepted also with  the  af-
                     fixes of the model word.

              0-n    Replace with one of the suggested words.

              X      Write  the  rest  of this file, ignoring misspellings, and
                     start next file.

              Q      Exit immediately and leave the file unchanged.

              ^Z     Suspend hunspell.

              ?      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 identi-
              fication  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 af-
              fix removal, then the line contains a '+', a space, and the  root
              word.  If the word was found through compound formation (concate-
              nation 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 be-
              tween the beginning of the line and the  beginning  of  the  mis-
              spelled  word,  a  colon,  another  space, and a list of the near
              misses separated by commas and spaces.

              Also, each near miss or guess is capitalized the same as the  in-
              put  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  be-
              ginning  of  the line.  Each sentence of text input is terminated
              with an additional blank line, indicating that hunspell has  com-
              pleted processing the input line.

              These output lines can be summarized as follows:

              OK:    *

              Root:  + <root>

              Compound:
                     -

              Miss:  & <original> <count> <offset>: <miss>, <miss>, ...

              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

              This mode is also suitable for interactive use when you  want  to
              figure out the spelling of a single word (but this is the default
              behavior of hunspell without -a, too).

              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 hun-
              spell  to  accept  this word in the future (similar to the A com-
              mand).  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 pe-
              riod must be included.  Instead of  a  file  name  or  suffix,  a
              unique  name, as listed in the language affix file, may be speci-
              fied.)  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 re-
              moved before it is passed to the spell-checking code.  It is rec-
              ommended that programmatic interfaces prefix every data line with
              an uparrow to protect themselves against future changes  in  hun-
              spell.

              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  signifi-
              cantly  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 begin-
              ning with '*', '+', and '-',  which  simplifies  interaction  for
              some programs.

       --check-apostrophe
              Check and force Unicode apostrophes (U+2019), if one of the ASCII
              or  Unicode  apostrophes is specified by the spelling dictionary,
              as a word character (see  WORDCHARS,  ICONV  and  OCONV  in  hun-
              spell(5)).

       --check-url
              Check URLs, e-mail addresses and directory paths.

       -D     Show  detected  path  of  the  loaded dictionary, and list of the
              search path and the available dictionaries.

       -d dict,dict2,...
              Set dictionaries by their base names with or without paths.   Ex-
              ample of the syntax:

       -d en_US,en_geo,en_med,de_DE,de_med

       en_US  and de_DE are base dictionaries, they consist of aff and dic file
       pairs: en_US.aff, en_US.dic and de_DE.aff, de_DE.dic.   En_geo,  en_med,
       de_med  are  special dictionaries: dictionaries without affix file. Spe-
       cial dictionaries are optional extension of the base  dictionaries  usu-
       ally with special (medical, law etc.)  terms. There is no naming conven-
       tion  for  special dictionaries, only the ".dic" extension: dictionaries
       without affix file will be an extension of the preceding base dictionary
       (right order of the parameter list needs for  good  suggestions).  First
       item of -d parameter list must be a base dictionary.

       -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.

       -m     Analyze the words of the input text (see also  hunspell(5)  about
              morphological  analysis).  Without dictionary morphological data,
              signs the flags of the affixes of the word forms  for  dictionary
              developers.

       -n     The input file is in nroff/troff format.

       -O     The  input  file is in OpenDocument (ODF or Flat ODF) format.  If
              unzip program is not installed, install it before using this  op-
              tion.

       -P password
              Set password for encrypted dictionaries.

       -p dict
              Set  path of personal dictionary.  The default dictionary depends
              on the locale settings. The following environment  variables  are
              searched: LC_ALL, LC_MESSAGES, and LANG. If none are set then the
              default personal dictionary is $HOME/.hunspell_default.

              Setting  -d  or   the DICTIONARY environmental variable, personal
              dictionary will be $HOME/.hunspell_dicname

       -r     Warn of the rare words, which are also  potential  spelling  mis-
              takes.

       -s     Stem  the  words  of  the  input text (see also hunspell(5) about
              stemming). It depends from the dictionary data.

       -t     The input file is in TeX or LaTeX format.

       -v, --version
              Print version number.

       -vv    Print ispell(1) compatible version number.

       -w     Print misspelled words (= lines) from one word/line input.

       -X     The input file is in XML format.

EXAMPLES
       hunspell example.html
              Interactive spell checking of an HTML file with the default  dic-
              tionary.

       hunspell -d en_US example.html
              Interactive spell checking of an HTML file with the en_US dictio-
              nary.

       hunspell -d en_US,en_US_med medical.txt
              Interactive spell checking with multiple dictionaries.

       hunspell *.odt
              Interactive spell checking of ODF documents.

       hunspell -l *.odt
              List bad words of ODF documents

       hunspell -l *.odt | sort | uniq >unrecognized
              Saving  unrecognized  words  of ODF documents (filtering duplica-
              tions).

       hunspell -p unrecognized_but_good *.odt
              Interactive spell checking of ODF documents, using the previously
              saved and reduced word list, as a personal dictionary,  to  speed
              up spell checking.

       ENVIRONMENT

       DICTIONARY
              Similar to -d.

       DICPATH
              Dictionary path.

       WORDLIST
              Equivalent to -p.

FILES
       The default dictionary depends on the locale settings. The following en-
       vironment variables are searched: LC_ALL, LC_MESSAGES, and LANG. If none
       are set then the following fallbacks are used:

       /usr/share/myspell/default.aff  Path  of  default  affix  file. See hun-
       spell(5).

       /usr/share/myspell/default.dic Path of  default  dictionary  file.   See
       hunspell(5).

       $HOME/.hunspell_default.  Default path to personal dictionary.

SEE ALSO
       hunspell (3), hunspell(5)

AUTHOR
       Author  of  Hunspell  executable is László Németh. For Hunspell library,
       see hunspell(3).

       This manual based on Ispell's manual. See ispell(1).

                                   2014-05-27                       hunspell(1)

Generated by dwww version 1.16 on Sat Oct 3 05:20:14 CEST 2026.