diff options
author | Caolán McNamara <caolanm@redhat.com> | 2016-09-21 20:34:32 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2016-09-21 20:37:13 +0100 |
commit | 0bfefc0b396bd61cc5f508bf86afc12cfadaa483 (patch) | |
tree | 1b3920d49ca86e4a2395158ab761d9b6399adbd0 | |
parent | dbaf39901d419f1a601033b7aa4486911c0ca266 (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
-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 5195342df9cd..9a2a59704c91 100644 --- a/editeng/source/misc/svxacorr.cxx +++ b/editeng/source/misc/svxacorr.cxx @@ -235,7 +235,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 ) @@ -375,7 +383,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 } @@ -386,7 +394,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. @@ -1326,10 +1334,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 ) |