1. A system for providing a spellchecker function and for use with documents having rich text, the system comprising: a CPU, a computer readable memory and a computer readable storage media; program instructions to initialize a dictionary containing words; program instructions to create at least one signature for each dictionary word; program instructions to add each dictionary word to at least one list keyed by each of the at least one signatures for each dictionary word; program instructions to determine that a word is misspelled by checking the dictionary for the misspelled word resulting in a null value, the checking the dictionary comprising determining whether the misspelled word is present in the at least one list for a primary signature of the misspelled word, and when the misspelled word is not present in the at least one list, then the misspelled word is not spelled correctly resulting in the null value; program instructions to create a substitution list for the misspelled word when the misspelled word is not spelled correctly, which includes: creating at least one signature associated with the misspelled word; finding all the dictionary words in the at least one list keyed by the at least one signature associated with the misspelled word; and selecting best matches to the misspelled word; and program instructions to provide from the selected best matches at least one replacement word for the misspelled word in the documents having rich text, wherein the program instructions are stored on the computer readable storage media for execution by the CPU via the computer readable memory.