summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-09-21 20:34:32 +0100
committerCaolán McNamara <caolanm@redhat.com>2016-09-21 20:37:13 +0100
commit0bfefc0b396bd61cc5f508bf86afc12cfadaa483 (patch)
tree1b3920d49ca86e4a2395158ab761d9b6399adbd0
parentdbaf39901d419f1a601033b7aa4486911c0ca266 (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.cxx18
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 )