diff options
author | Caolán McNamara <caolanm@redhat.com> | 2016-09-21 20:34:32 +0100 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2016-09-27 09:11:04 +0000 |
commit | 3d83d4eb6bf3ed8f0fc52d2edd327a6a931a7f47 (patch) | |
tree | 1740d7abc811ff61abda4bde9c64c65f58cea78c | |
parent | b744b427966644df4464af4ef99b01410ff12380 (diff) |
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@libreoffice.org>
Reviewed-by: Eike Rathke <erack@redhat.com>
-rw-r--r-- | editeng/source/misc/svxacorr.cxx | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx index 1fe52caf7ca8..b363614ddaff 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 ) |