Author: jghali
Date: Sun Aug  4 07:02:44 2019
New Revision: 23101

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=23101
Log:
#15752: Spell checker recognises comma symbol as an error

Modified:
    trunk/Scribus/scribus/plugins/tools/hunspellcheck/hunspellpluginimpl.cpp
    trunk/Scribus/scribus/text/storytext.cpp

Modified: 
trunk/Scribus/scribus/plugins/tools/hunspellcheck/hunspellpluginimpl.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23101&path=/trunk/Scribus/scribus/plugins/tools/hunspellcheck/hunspellpluginimpl.cpp
==============================================================================
--- trunk/Scribus/scribus/plugins/tools/hunspellcheck/hunspellpluginimpl.cpp    
(original)
+++ trunk/Scribus/scribus/plugins/tools/hunspellcheck/hunspellpluginimpl.cpp    
Sun Aug  4 07:02:44 2019
@@ -121,18 +121,18 @@
        {
                wordStart = currPos;
                int wordEnd = iText->endOfWord(wordStart);
-               QString word = iText->text(wordStart,wordEnd - wordStart);
+               QString word = iText->text(wordStart, wordEnd - wordStart);
                // remove any Ignorable Code Point
                QString tmp = word;
                QString tmp2;
-               for (int i =0; i < word.size(); ++i)
+               for (int i = 0; i < word.size(); ++i)
                {
                        if 
(!SpecialChars::isIgnorableCodePoint(tmp.at(i).unicode()))
                                tmp2 += tmp.at(i);
                }
                word = tmp2;
+
                QString wordLang = iText->charStyle(wordStart).language();
-
                if (wordLang.isEmpty())
                {
                        const StyleSet<CharStyle> &tmp(m_doc->charStyles());
@@ -147,9 +147,8 @@
                //we now use the abbreviation
                
//wordLang=LanguageManager::instance()->getAbbrevFromLang(wordLang, true, 
false);
                //A little hack as for some reason our en dictionary from the 
aspell plugin was not called en_GB or en_US but en, content was en_GB though. 
Meh.
-               if (wordLang=="en")
-                       wordLang="en_GB";
-       //      int spellerIndex=0;
+               if (wordLang == "en")
+                       wordLang = "en_GB";
                //qDebug()<<"Word:"<<word<<wordLang;
                if (!dictionaryMap.contains(wordLang))
                {
@@ -173,7 +172,6 @@
                                ++i;
                                ++it;
                        }
-               //      spellerIndex = i;
                }
 
                if (hspellerMap.contains(wordLang) && 
hspellerMap[wordLang]->spell(word)==0)
@@ -190,7 +188,7 @@
                        wf.replacements = hspellerMap[wordLang]->suggest(word);
                        wordsToCorrect.append(wf);
                }
-               currPos = iText->endOfWord(wordStart);
+               currPos = iText->nextWord(wordStart);
        }
        return true;
 }

Modified: trunk/Scribus/scribus/text/storytext.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23101&path=/trunk/Scribus/scribus/text/storytext.cpp
==============================================================================
--- trunk/Scribus/scribus/text/storytext.cpp    (original)
+++ trunk/Scribus/scribus/text/storytext.cpp    Sun Aug  4 07:02:44 2019
@@ -1653,7 +1653,10 @@
 
        it->setText((const UChar*) plainText().utf16());
        pos = it->following(pos);
-       pos = it->next();
+       
+       int len = length();
+       while ((pos < len) && (text(pos).isSpace() || text(pos).isPunct()))
+               ++pos;
        return pos;
 }
 


_______________________________________________
scribus-commit mailing list
[email protected]
http://lists.scribus.net/mailman/listinfo/scribus-commit

Reply via email to