manpagez: man pages & more
man hunspell(1)
Home | html | info | man
hunspell(1)                                                        hunspell(1)


       hunspell - spell checker, stemmer and morphological analyzer


       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)]


       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
       input 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
       allow  you to change it.  If there are "near misses" in the dictionary,
       then they are also displayed on following  lines.   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 com-
       pletely, 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.

              S      Ask a stem and a model word and store them in the private
                     dictionary.  The stem will  be  accepted  also  with  the
                     affixes 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.


       -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 iden-
              tification 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 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
              input word unless such capitalization is illegal; in the  latter
              case  each  near  miss is capitalized correctly according to the

              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 termi-
              nated 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>


              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
              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 start-
              ing with '~' causes hunspell to set internal parameters (in par-
              ticular,  the  default string character type) based on the file-
              name given in the rest of the line.  (A file  suffix  is  suffi-
              cient,  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 dis-
              abled 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

              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  and  force  Unicode  apostrophes  (U+2019), if one of the
              ASCII or Unicode apostrophes is specified by the  spelling  dic-
              tionary,  as a word character (see WORDCHARS, ICONV and OCONV in

              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.
              Example 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  con-
       vention for special dictionaries, only the ".dic" extension: dictionar-
       ies without affix file will be an extension of the preceding base  dic-
       tionary (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.

       hunspell(1) about
              morphological analysis). Without dictionary morphological  data,
              signs  the flags of the affixes of the word forms for dictionary

       -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

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

       hunspell(1) 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.


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

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

       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-

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


              Similar to -d.

              Dictionary path.

              Equivalent to -p.


       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 following fallbacks are used:

       /usr/share/myspell/default.aff  Path  of  default  affix file. See hun-

       /usr/share/myspell/default.dic Path of default  dictionary  file.   See

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




       Author  of  Hunspell  executable  is  LAiszlA3  NA(C)meth. For Hunspell
       library, see hunspell(1).

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

                                  2014-05-27                       hunspell(1)

hunspell 1.6.2 - Generated Sun Sep 17 14:27:26 CDT 2017
© 2000-2022
Individual documents may contain additional copyright information.