Używam NHunspell sprawdzić ciąg błędów ortograficznych tak:Inteligentne sprawdzania pisowni
var words = content.Split(' ');
string[] incorrect;
using (var spellChecker = new Hunspell(affixFile, dictionaryFile))
{
incorrect = words.Where(x => !spellChecker.Spell(x))
.ToArray();
}
to zazwyczaj działa, ale ma pewne problemy. Na przykład, jeśli sprawdzam zdanie "To jest (bardzo dobry) przykład", będzie ono zgłaszało "(bardzo" i "dobrze)" jako błędnie napisane. Lub jeśli ciąg zawiera czas taki jak "8:30", zgłosi to jako błędnie napisane słowo. Ma również problemy z przecinkami itp.
Program Microsoft Word jest wystarczająco inteligentny, aby rozpoznać listę słów pod względem czasu, ułamków lub przecinkami. Wie, kiedy nie używać angielskiego słownika i wie kiedy zignorować symbole. Jak mogę uzyskać podobne, bardziej inteligentne sprawdzanie pisowni w moim oprogramowaniu? Czy są jakieś biblioteki, które zapewniają trochę więcej inteligencji?
EDYTOWANIE: Nie chcę zmuszać użytkowników do zainstalowania programu Microsoft Word na ich komputerze, więc używanie współdziałania COM nie jest opcją.