odocstringstream os;
if (beg == 0
- && options & AS_STR_LABEL
- && !d->params_.labelString().empty())
+ && options & AS_STR_LABEL
+ && !d->params_.labelString().empty())
os << d->params_.labelString() << ' ';
for (pos_type i = beg; i < end; ++i) {
if (!speller)
return false;
+ if (!d->layout_->spellcheck || !inInset().allowSpellCheck())
+ return false;
+
locateWord(from, to, WHOLE_WORD);
if (from == to || from >= pos_type(d->text_.size()))
return false;
docstring word = asString(from, to, AS_STR_INSETS);
+ // Ignore words with digits
+ // FIXME: make this customizable
+ // (note that hunspell ignores words with digits by default)
+ bool const ignored = hasDigit(word);
Language * lang = const_cast<Language *>(getFontSettings(
d->inset_owner_->buffer().params(), from).language());
if (lang == d->inset_owner_->buffer().params().language
lang->setVariety(lang_variety);
}
wl = WordLangTuple(word, lang);
- SpellChecker::Result res = speller->check(wl);
+ SpellChecker::Result res = ignored ?
+ SpellChecker::OK : speller->check(wl);
#if 0
// FIXME: the code below makes aspell abort if a word in an unknown
// language is checked.