summaryrefslogtreecommitdiff
path: root/i18nlangtag
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2013-10-24 12:26:02 +0200
committerEike Rathke <erack@redhat.com>2013-10-24 12:26:21 +0200
commitb796a2030b9814978c904979dc609422d08eb538 (patch)
tree4f874c043a0aba2fd54d72a6b84114a27872660d /i18nlangtag
parent5dcee8893a41ace34aad77530cb8781ecde8e2cd (diff)
added isNonLatinWestern()
Change-Id: Ie2aadab8302f365379a569989bd9640db55b9716
Diffstat (limited to 'i18nlangtag')
-rw-r--r--i18nlangtag/source/isolang/mslangid.cxx42
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)