[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - editeng/source

Caolán McNamara caolanm at redhat.com
Tue Sep 27 09:12:31 UTC 2016


 editeng/source/misc/svxacorr.cxx |   18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

New commits:
commit 3d83d4eb6bf3ed8f0fc52d2edd327a6a931a7f47
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Sep 21 20:34:32 2016 +0100

    Resolves: tdf#83037 <-->  corrected into ← →  instead of ↔
    
    don't use - as a word separator except for breaking up
    a compound word for the purposes of tdf#55693, e.g.
    TEst-TEst autocorrected to Test-Test)
    
    Change-Id: Ie52a16af0b5838d1ba0de9c5f9c30dcab05c3bc7
    (cherry picked from commit 0bfefc0b396bd61cc5f508bf86afc12cfadaa483)
    Reviewed-on: https://gerrit.libreoffice.org/29190
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Eike Rathke <erack at redhat.com>

diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index 1fe52ca..b363614 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -228,7 +228,15 @@ bool SvxAutoCorrect::IsAutoCorrectChar( sal_Unicode cChar )
             cChar == '*'  || cChar == '_'  || cChar == '%' ||
             cChar == '.'  || cChar == ','  || cChar == ';' ||
             cChar == ':'  || cChar == '?' || cChar == '!' ||
-            cChar == '/'  || cChar == '-';
+            cChar == '/';
+}
+
+namespace
+{
+    bool IsCompoundWordDelimChar(sal_Unicode cChar)
+    {
+        return  cChar == '-' || SvxAutoCorrect::IsAutoCorrectChar(cChar);
+    }
 }
 
 bool SvxAutoCorrect::NeedsHardspaceAutocorr( sal_Unicode cChar )
@@ -368,7 +376,7 @@ bool SvxAutoCorrect::FnCapitalStartWord( SvxAutoCorrDoc& rDoc, const OUString& r
     // Find all compound word delimiters
     for (sal_Int32 n = nSttPos; n < nEndPos; ++n)
     {
-        if (IsAutoCorrectChar(rTxt[ n ]))
+        if (IsCompoundWordDelimChar(rTxt[ n ]))
         {
             aDelimiters.push_back( n + 1 ); // Get position of char after delimiter
         }
@@ -379,7 +387,7 @@ bool SvxAutoCorrect::FnCapitalStartWord( SvxAutoCorrDoc& rDoc, const OUString& r
     // char will not be included in rTxt.
     // If the last AutoCorrect char was not a newline, then the AutoCorrect
     // character will be the last character in rTxt.
-    if (!IsAutoCorrectChar(rTxt[nEndPos-1]))
+    if (!IsCompoundWordDelimChar(rTxt[nEndPos-1]))
         aDelimiters.push_back(nEndPos);
 
     // Iterate through the word and all words that compose it.
@@ -1319,10 +1327,6 @@ void SvxAutoCorrect::DoAutoCorrect( SvxAutoCorrDoc& rDoc, const OUString& rTxt,
             OUString aPara;
             OUString* pPara = IsAutoCorrFlag(CapitalStartSentence) ? &aPara : nullptr;
 
-            // since LibO 4.1, '-' is a word separator
-            // fdo#67742 avoid "--" to be replaced by "–" if next is "-"
-            if( rTxt.endsWith( "---" ) )
-                    break;
             bool bChgWord = rDoc.ChgAutoCorrWord( nCapLttrPos, nInsPos,
                                                     *this, pPara );
             if( !bChgWord )


More information about the Libreoffice-commits mailing list