X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FHunspellChecker.cpp;h=a2d2c95e05250c6976d25bdef81f57e42faac338;hb=e903d0158e1d92c0d9c17656af10df9fa9a3d723;hp=d044889107e19706759cbafed44644812575d37e;hpb=c91e2c59f47431247b44563bed2d0f0eae96f9d6;p=lyx.git diff --git a/src/HunspellChecker.cpp b/src/HunspellChecker.cpp index d044889107..a2d2c95e05 100644 --- a/src/HunspellChecker.cpp +++ b/src/HunspellChecker.cpp @@ -413,6 +413,25 @@ void HunspellChecker::suggest(WordLangTuple const & wl, } +void HunspellChecker::stem(WordLangTuple const & wl, + docstring_list & suggestions) +{ + suggestions.clear(); + Hunspell * h = d->speller(wl.lang()); + if (!h) + return; + string const encoding = h->get_dic_encoding(); + string const word_to_check = to_iconv_encoding(wl.word(), encoding); + char ** suggestion_list; + int const suggestion_number = h->stem(&suggestion_list, word_to_check.c_str()); + if (suggestion_number <= 0) + return; + for (int i = 0; i != suggestion_number; ++i) + suggestions.push_back(from_iconv_encoding(suggestion_list[i], encoding)); + h->free_list(&suggestion_list, suggestion_number); +} + + bool HunspellChecker::hasDictionary(Language const * lang) const { if (!lang)