diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-10-23 20:35:32 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-10-23 20:36:45 +0100 |
commit | 7076cc68fd16e28c53138502cbe374efe606a768 (patch) | |
tree | e2c51a3c75776bda947014699a7e8cccfc629d81 /editeng | |
parent | 97893e56e61a466e56d12ee46d11f6e4c32a737b (diff) |
get rid of erroneous 0x7ff language mask
Change-Id: I2b3501967fc0088e0bebf6c366e033c61b652921
Diffstat (limited to 'editeng')
-rw-r--r-- | editeng/source/misc/svxacorr.cxx | 55 |
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))) { |