diff options
author | Eike Rathke <erack@redhat.com> | 2013-10-24 12:26:02 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2013-10-24 12:26:21 +0200 |
commit | b796a2030b9814978c904979dc609422d08eb538 (patch) | |
tree | 4f874c043a0aba2fd54d72a6b84114a27872660d /i18nlangtag | |
parent | 5dcee8893a41ace34aad77530cb8781ecde8e2cd (diff) |
added isNonLatinWestern()
Change-Id: Ie2aadab8302f365379a569989bd9640db55b9716
Diffstat (limited to 'i18nlangtag')
-rw-r--r-- | i18nlangtag/source/isolang/mslangid.cxx | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/i18nlangtag/source/isolang/mslangid.cxx b/i18nlangtag/source/isolang/mslangid.cxx index 72d5051ee32e..a48693ba4a14 100644 --- a/i18nlangtag/source/isolang/mslangid.cxx +++ b/i18nlangtag/source/isolang/mslangid.cxx @@ -24,6 +24,10 @@ #include "i18nlangtag/mslangid.hxx" +// Only very limited few functions that are guaranteed to not be called from +// LanguageTag may use LanguageTag ... +#include "i18nlangtag/languagetag.hxx" + LanguageType MsLangId::nConfiguredSystemLanguage = LANGUAGE_SYSTEM; LanguageType MsLangId::nConfiguredSystemUILanguage = LANGUAGE_SYSTEM; @@ -405,6 +409,44 @@ sal_Int16 MsLangId::getScriptType( LanguageType nLang ) // static +bool MsLangId::isNonLatinWestern( LanguageType nLang ) +{ + switch (nLang) + { + case LANGUAGE_AZERI_CYRILLIC: + case LANGUAGE_AZERI_CYRILLIC_LSO: + case LANGUAGE_BELARUSIAN: + case LANGUAGE_BOSNIAN_CYRILLIC_BOSNIA_HERZEGOVINA: + case LANGUAGE_BOSNIAN_CYRILLIC_LSO: + case LANGUAGE_BULGARIAN: + case LANGUAGE_GREEK: + case LANGUAGE_MONGOLIAN_CYRILLIC_LSO: + case LANGUAGE_MONGOLIAN_CYRILLIC_MONGOLIA: + case LANGUAGE_RUSSIAN: + case LANGUAGE_RUSSIAN_MOLDOVA: + case LANGUAGE_SERBIAN_CYRILLIC_BOSNIA_HERZEGOVINA: + case LANGUAGE_SERBIAN_CYRILLIC_LSO: + case LANGUAGE_SERBIAN_CYRILLIC_MONTENEGRO: + case LANGUAGE_SERBIAN_CYRILLIC_SAM: + case LANGUAGE_SERBIAN_CYRILLIC_SERBIA: + case LANGUAGE_UKRAINIAN: + case LANGUAGE_UZBEK_CYRILLIC: + case LANGUAGE_UZBEK_CYRILLIC_LSO: + return true; + default: + { + if (getScriptType( nLang) != com::sun::star::i18n::ScriptType::LATIN) + return false; + LanguageTag aLanguageTag( nLang); + if (aLanguageTag.hasScript()) + return aLanguageTag.getScript() != "Latn"; + } + } + return false; +} + + +// static LanguageType MsLangId::getReplacementForObsoleteLanguage( LanguageType nLang, bool /*bUserInterfaceSelection*/ ) { switch (nLang) |