TextContainer text_;
typedef set<docstring> Words;
+ typedef map<Language, Words> LangWordsMap;
///
- map<Language, Words> words_;
+ LangWordsMap words_;
///
Layout const * layout_;
};
void Paragraph::deregisterWords()
{
- map<Language, Private::Words>::const_iterator itl = d->words_.begin();
- map<Language, Private::Words>::const_iterator ite = d->words_.end();
+ Private::LangWordsMap::const_iterator itl = d->words_.begin();
+ Private::LangWordsMap::const_iterator ite = d->words_.end();
for (; itl != ite; ++itl) {
WordList * wl = theWordList(itl->first);
Private::Words::const_iterator it = (itl->second).begin();
void Paragraph::collectWords()
{
+ // This is the value that needs to be exposed in the preferences
+ // to resolve bug #6760.
+ static int minlength = 6;
pos_type n = size();
for (pos_type pos = 0; pos < n; ++pos) {
if (isWordSeparator(pos))
continue;
pos_type from = pos;
locateWord(from, pos, WHOLE_WORD);
- if (pos - from >= 6) {
+ if (pos - from >= minlength) {
docstring word = asString(from, pos, AS_STR_NONE);
FontList::const_iterator cit = d->fontlist_.fontIterator(pos);
if (cit == d->fontlist_.end())
void Paragraph::registerWords()
{
- map<Language, Private::Words>::const_iterator itl;
- Private::Words::const_iterator it;
- for (itl = d->words_.begin(); itl != d->words_.end(); ++itl) {
+ Private::LangWordsMap::const_iterator itl = d->words_.begin();
+ Private::LangWordsMap::const_iterator ite = d->words_.end();
+ for (; itl != ite; ++itl) {
WordList * wl = theWordList(itl->first);
- for (it = (itl->second).begin(); it != (itl->second).end(); ++it)
+ Private::Words::const_iterator it = (itl->second).begin();
+ Private::Words::const_iterator et = (itl->second).end();
+ for (; it != et; ++it)
wl->insert(*it);
}
}