Several libraries are available to do spell-checking related tasks: Enchant and gspell.

Enchant provides a low-level API. You can ask it if a word is misspelled, or ask for suggestions for a misspelled word. On a higher level, gspell integrates spell-checking for GTK+ text widgets (both GtkEntry and GtkTextView).

In GNOME, those libraries get used in text-heavy applications like gedit (a text editor) and Epiphany (a web browser, for text entry in web forms).