Something that correctly implements the idea I described a few
emails ago,
this involve at least:
1) Adding a new character class for hyphens
2) Reworking the code that checks a document
3) Intelligently handling the situation when an hyphened
word is misspelled
Just for conversation,
The LangImpl class has an enum, like this:
enum CharType {Unknown, WhiteSpace, Hyphen, Digit,
NonLetter, Modifier, Letter};
Take a look at the LangImpl::setup(...) function. It reads the
.cset file and stores the character type in member data
LangImpl::char_type_. So we know which character is a hyphen. We
also have an existing data member for specifying how a character
can be used, LangImpl::special_. All we need to do is set
special_ for the hyphen character to be valid in the middle of a
word, but not the beginning or end.