spell(1)							     spell(1)



NAME
  spell, spellin, spellout - Finds spelling errors

SYNOPSIS

  spell [-b] [-i | -l] [-v | -x] [-d hash_list] [-s hash_stop] [-h
       history_list]
       [+word_list] [file ...]

  spellin [list] [number]

  spellout [-d] list

  The spell command reads words in file and compares them to those in a spel-
  ling list.  Default files contain English words only, but you can supply
  your own list of words in other languages.

FLAGS

  The following flags are for the spell command only.

  -b  Checks for correct British spelling.  Besides preferring centre,
      colour, programme, speciality, travelled, and so on, this flag causes
      spell to insist upon the use of the infix -ise in words like standar-
      dise.

  -d hash_list
      Specifies hash_list as the alternate spelling list.  The default is
      /usr/lbin/spell/hlist[ab].

  -h history_list
      Specifies history_list as the alternate history list that is used to
      accumulate all output.  The default is /usr/lbin/spell/spellhist.

  -i  Suppresses processing of included files through the .so and .ne troff
      macros.  If the -i and -l flags are both specified, the last one of the
      two flags entered on the command line takes effect.

  -l  Follows the chain of all included files (.so and .nx formatting com-
      mands).  Without this flag, spell follows chains of all included files
      except for those beginning with /usr/lbin.

  -s hash_stop
      Specifies hash_stop as the alternate stop list that is used to filter
      out misspellings (for example, thier=thy-y+ier) that would otherwise
      pass.  The default is /usr/lbin/spell/hstop.

  -v  Displays all words not literally in the spelling list and indicates
      plausible derivations from the words.

  -x  Displays every plausible word stem with an = (equal sign).

  +word_list
      Checks word_list for additional word spellings.  word_list is a file
      containing a sorted list of words, one per line.	With this flag, you
      can specify, in addition to the spell command's own spelling list, a
      set of correctly spelled words.


DESCRIPTION

  A word in this context is defined as a series of characters from the fol-
  lowing set in the POSIX locale:

       [A-Za-z0-9'&.,;?:]

  The first and last characters of a word are alphanumeric.  Words that can-
  not be matched in the spelling list or derived from words in the spelling
  list (by applying certain inflections, prefixes, or suffixes) are written
  to standard output.  If you do not specify a file to read, spell reads
  standard input.

  The spell command ignores the same nroff, tbl, and neqn constructs as the
  deroff command.

  Certain auxiliary files can be specified by filename arguments following
  the -d, -s, and -h flags.  Copies of all output can be accumulated in the
  history file.

  Auxiliary Commands and Routines


  The spellin command creates a spelling list for use by the spell command.
  The argument for the spellin command can be a list file or a number.	The
  spellin command combines the words from the standard input and the preex-
  isting list file and places a new list on the standard output.  If no list
  file is specified, a new list is created.  If number is specified, the
  spellin command reads the specified number hash code from standard input
  and writes a compressed spelling list.

  The spellout command looks up each word from the standard input and prints
  on the standard output those that are missing from the hashed list file.
  The -d flag reverses this, printing those that are present in the hashed
  list file.  (Note that the -d flag of spellout is not the same as the -d
  flag of spell.  See FLAGS.)

  Three routines help maintain and check the hash lists used by spell:

  /usr/lbin/spell/hashmake
      Reads a list of words from standard input and writes the corresponding
      9-digit hash code to standard output.

  /usr/lbin/spell/hashcheck spelling_list
      Reads a compressed spelling_list and re-creates the 9-digit hash codes
      for all the words in it; it writes these codes to standard output.

  /usr/bin/spellin number
      Reads number hash codes from standard input and writes a compressed
      spelling list to standard output.

EXAMPLES

   1.  To check the spelling of American English words in the file chap1,
       enter:
	    spell  chap1  >mistakes


       This creates a file named mistakes containing all the words found in
       chap1 that are not in the system spelling dictionary.  Some of these
       may be correctly spelled words that spell does not know about.  It is
       a good idea to save the output of spell in a file because the word
       list may be long.

   2.  To check British English spelling, enter:
	    spell  -b  chap1  >mistakes


       This checks chap1 against the British dictionary and writes the ques-
       tionable words in mistakes.

   3.  To see how spell derives words, enter:
	    spell  -v  chap1  >deriv


       This lists the words that are not found literally in the dictionary,
       but are derived forms of dictionary words.  The prefixes and suffixes
       used to form the derivative are indicated for each word.	 Words that
       do not appear in the dictionary at all are also listed.

   4.  To check your spelling against an additional word list, enter:
	    spell  +new_words  chap1


       This checks the spelling of words in chap1 against the system diction-
       ary and against new_words.  The file new_words lists words in alpha-
       betical order, one per line.  You can create this file with a text
       editor, such as ed, and collate it with the sort command.

   5.  To add a word to your spelling list, enter:
	    echo hooky | spellout /usr/lbin/spell/hlista
	    echo hooky | spellin /usr/lbin/spell/hlista > myhlist
	    spell -d myhlist huckfinn


       This example verifies that hooky is not on the default spelling list,
       adds it to your private list, and then uses it with the spell command.

       An alternative way is to place hooky into the sorted file new_words,
       as in Example 4.

FILES

  /usr/lbin/spell/hlist[ab]
	     Hashed spelling lists, American and British English.

  /usr/lbin/spell/hstop
	     Hashed stop list.

  /usr/lbin/spell/spellhist
	     History file.

  /usr/lbin/spell/compress
	     Executable shell program to compress the history file.

  /usr/lbin/spell/spellprog
	     Main program called by spell.

NOTES

  The coverage of the spelling list is uneven.	For best results, create your
  own dictionary of special words used in your files.




  Compatibility Notes


       Ported 4.3BSD dictionary must be rebuilt from the original word list
       using the spellin command.

RELATED INFORMATION

  deroff(1), neqn(1), nroff(1), sed(1), sort(1), tbl(1), tee(1).