summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-09-21 20:34:32 +0100
committerEike Rathke <erack@redhat.com>2016-09-27 09:11:04 +0000
commit3d83d4eb6bf3ed8f0fc52d2edd327a6a931a7f47 (patch)
tree1740d7abc811ff61abda4bde9c64c65f58cea78c
parentb744b427966644df4464af4ef99b01410ff12380 (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.cxx18
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 )