summaryrefslogtreecommitdiff
path: root/editeng
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-10-23 20:35:32 +0100
committerCaolán McNamara <caolanm@redhat.com>2015-10-23 20:36:45 +0100
commit7076cc68fd16e28c53138502cbe374efe606a768 (patch)
treee2c51a3c75776bda947014699a7e8cccfc629d81 /editeng
parent97893e56e61a466e56d12ee46d11f6e4c32a737b (diff)
get rid of erroneous 0x7ff language mask
Change-Id: I2b3501967fc0088e0bebf6c366e033c61b652921
Diffstat (limited to 'editeng')
-rw-r--r--editeng/source/misc/svxacorr.cxx55
1 files changed, 11 insertions, 44 deletions
diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index e1879ee009d5..84a0df110e5d 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -1718,24 +1718,10 @@ const SvxAutocorrWord* SvxAutoCorrect::SearchWordsInList(
// If it still could not be found here, then keep on searching
LanguageType eLang = aLanguageTag.getLanguageType();
- LanguageType nTmpKey1 = eLang & 0x7ff; // the main language in many cases DE
- if(nTmpKey1 != eLang && (m_pLangTable->find(aLanguageTag.reset(nTmpKey1)) != m_pLangTable->end() ||
- CreateLanguageFile(aLanguageTag, false)))
- {
- //the language is available - so bring it on
- std::unique_ptr<SvxAutoCorrectLanguageLists> const& pList = m_pLangTable->find(aLanguageTag)->second;
- pRet = lcl_SearchWordsInList( pList.get(), rTxt, rStt, nEndPos );
- if( pRet )
- {
- rLang = aLanguageTag;
- return pRet;
- }
- }
-
- // otherwise for example EN
+ // the primary language for example EN
aLanguageTag.reset(aLanguageTag.getLanguage());
- LanguageType nTmpKey2 = aLanguageTag.getLanguageType(false);
- if (nTmpKey2 != eLang && nTmpKey2 != LANGUAGE_UNDETERMINED &&
+ LanguageType nTmpKey = aLanguageTag.getLanguageType(false);
+ if (nTmpKey != eLang && nTmpKey != LANGUAGE_UNDETERMINED &&
(m_pLangTable->find(aLanguageTag) != m_pLangTable->end() ||
CreateLanguageFile(aLanguageTag, false)))
{
@@ -1771,9 +1757,8 @@ bool SvxAutoCorrect::FindInWrdSttExceptList( LanguageType eLang,
/* TODO-BCP47: again horrible uglyness */
- // First search for eLang, then US-English -> English
+ // First search for eLang, then primary language of eLang
// and last in LANGUAGE_UNDETERMINED
- LanguageType nTmpKey1 = eLang & 0x7ff; // the main language in many cases DE
OUString sTemp(sWord);
if (m_pLangTable->find(aLanguageTag) != m_pLangTable->end() || CreateLanguageFile(aLanguageTag, false))
@@ -1786,19 +1771,10 @@ bool SvxAutoCorrect::FindInWrdSttExceptList( LanguageType eLang,
}
// If it still could not be found here, then keep on searching
- if (nTmpKey1 != eLang && (m_pLangTable->find(aLanguageTag.reset(nTmpKey1)) != m_pLangTable->end() ||
- CreateLanguageFile(aLanguageTag, false)))
- {
- //the language is available - so bring it on
- auto const& pList = m_pLangTable->find(aLanguageTag)->second;
- if(pList->GetWrdSttExceptList()->find(sTemp) != pList->GetWrdSttExceptList()->end() )
- return true;
- }
-
- // otherwise for example EN
+ // the primary language for example EN
aLanguageTag.reset(aLanguageTag.getLanguage());
- LanguageType nTmpKey2 = aLanguageTag.getLanguageType(false);
- if (nTmpKey2 != eLang && nTmpKey2 != LANGUAGE_UNDETERMINED &&
+ LanguageType nTmpKey = aLanguageTag.getLanguageType(false);
+ if (nTmpKey != eLang && nTmpKey != LANGUAGE_UNDETERMINED &&
(m_pLangTable->find(aLanguageTag) != m_pLangTable->end() ||
CreateLanguageFile(aLanguageTag, false)))
{
@@ -1860,9 +1836,8 @@ bool SvxAutoCorrect::FindInCplSttExceptList(LanguageType eLang,
/* TODO-BCP47: did I mention terrible horrible uglyness? */
- // First search for eLang, then US-English -> English
+ // First search for eLang, then primary language of eLang
// and last in LANGUAGE_UNDETERMINED
- LanguageType nTmpKey1 = eLang & 0x7ff; // the main language in many cases DE
OUString sTemp( sWord );
if (m_pLangTable->find(aLanguageTag) != m_pLangTable->end() || CreateLanguageFile(aLanguageTag, false))
@@ -1874,18 +1849,10 @@ bool SvxAutoCorrect::FindInCplSttExceptList(LanguageType eLang,
}
// If it still could not be found here, then keep on searching
- if(nTmpKey1 != eLang && (m_pLangTable->find(aLanguageTag.reset(nTmpKey1)) != m_pLangTable->end() ||
- CreateLanguageFile(aLanguageTag, false)))
- {
- const SvStringsISortDtor* pList = m_pLangTable->find(aLanguageTag)->second->GetCplSttExceptList();
- if(bAbbreviation ? lcl_FindAbbreviation(pList, sWord) : pList->find(sTemp) != pList->end() )
- return true;
- }
-
- // otherwise for example EN
+ // the primary language for example EN
aLanguageTag.reset(aLanguageTag.getLanguage());
- LanguageType nTmpKey2 = aLanguageTag.getLanguageType(false);
- if (nTmpKey2 != eLang && nTmpKey2 != LANGUAGE_UNDETERMINED &&
+ LanguageType nTmpKey = aLanguageTag.getLanguageType(false);
+ if (nTmpKey != eLang && nTmpKey != LANGUAGE_UNDETERMINED &&
(m_pLangTable->find(aLanguageTag) != m_pLangTable->end() ||
CreateLanguageFile(aLanguageTag, false)))
{