diff options
Diffstat (limited to 'lingucomponent')
-rw-r--r-- | lingucomponent/Module_lingucomponent.mk | 2 | ||||
-rw-r--r-- | lingucomponent/source/lingutil/lingutil.cxx | 13 | ||||
-rw-r--r-- | lingucomponent/source/spellcheck/macosxspell/macspellimp.mm | 7 |
3 files changed, 15 insertions, 7 deletions
diff --git a/lingucomponent/Module_lingucomponent.mk b/lingucomponent/Module_lingucomponent.mk index 9dabeb155673..3f8bcb026fa2 100644 --- a/lingucomponent/Module_lingucomponent.mk +++ b/lingucomponent/Module_lingucomponent.mk @@ -15,7 +15,7 @@ $(eval $(call gb_Module_add_targets,lingucomponent,\ Library_hyphen \ $(if $(filter-out iOS,$(OS)),Library_lnth) \ $(if $(filter iOS MACOSX,$(OS)),Library_MacOSXSpell) \ - $(if $(filter-out iOS,$(OS)),Library_spell) \ + Library_spell \ StaticLibrary_ulingu \ Library_numbertext \ )) diff --git a/lingucomponent/source/lingutil/lingutil.cxx b/lingucomponent/source/lingutil/lingutil.cxx index 1c9f449ce499..a3642c99c06c 100644 --- a/lingucomponent/source/lingutil/lingutil.cxx +++ b/lingucomponent/source/lingutil/lingutil.cxx @@ -34,6 +34,7 @@ #include <unotools/bootstrap.hxx> #include <unotools/lingucfg.hxx> #include <unotools/pathoptions.hxx> +#include <rtl/bootstrap.hxx> #include <rtl/ustring.hxx> #include <rtl/string.hxx> #include <rtl/tencinfo.h> @@ -58,7 +59,7 @@ OString Win_AddLongPathPrefix( const OString &rPathName ) } #endif //defined(_WIN32) -#ifdef SYSTEM_DICTS +#if defined SYSTEM_DICTS || defined IOS // find old style dictionaries in system directories static void GetOldStyleDicsInDir( OUString const & aSystemDir, OUString const & aFormatName, @@ -143,7 +144,7 @@ std::vector< SvtLinguConfigDictionaryEntry > GetOldStyleDics( const char *pDicTy OUString aFormatName; OUString aDicExtension; -#ifdef SYSTEM_DICTS +#if defined SYSTEM_DICTS || defined IOS OUString aSystemDir; OUString aSystemPrefix; OUString aSystemSuffix; @@ -155,6 +156,10 @@ std::vector< SvtLinguConfigDictionaryEntry > GetOldStyleDics( const char *pDicTy #ifdef SYSTEM_DICTS aSystemDir = DICT_SYSTEM_DIR; aSystemSuffix = aDicExtension; +#elif defined IOS + aSystemDir = "$BRAND_BASE_DIR/share/spell"; + rtl::Bootstrap::expandMacros(aSystemDir); + aSystemSuffix = ".dic"; #endif } else if (strcmp( pDicType, "HYPH" ) == 0) @@ -181,11 +186,12 @@ std::vector< SvtLinguConfigDictionaryEntry > GetOldStyleDics( const char *pDicTy if (aFormatName.isEmpty() || aDicExtension.isEmpty()) return aRes; -#ifdef SYSTEM_DICTS +#if defined SYSTEM_DICTS || defined IOS // set of languages to remember the language where it is already // decided to make use of the dictionary. std::set< OUString > aDicLangInUse; +#ifndef IOS // follow the hunspell tool's example and check DICPATH for preferred dictionaries rtl_uString * pSearchPath = nullptr; osl_getEnvironment(OUString("DICPATH").pData, &pSearchPath); @@ -220,6 +226,7 @@ std::vector< SvtLinguConfigDictionaryEntry > GetOldStyleDics( const char *pDicTy } while (nIndex != -1); } +#endif // load system directories last so that DICPATH prevails GetOldStyleDicsInDir(aSystemDir, aFormatName, aSystemSuffix, aSystemPrefix, diff --git a/lingucomponent/source/spellcheck/macosxspell/macspellimp.mm b/lingucomponent/source/spellcheck/macosxspell/macspellimp.mm index a01d70a3186d..a919015f8ca5 100644 --- a/lingucomponent/source/spellcheck/macosxspell/macspellimp.mm +++ b/lingucomponent/source/spellcheck/macosxspell/macspellimp.mm @@ -140,12 +140,13 @@ Sequence< Locale > SAL_CALL MacSpellChecker::getLocales() } } #ifdef IOS - // iOS says it has specifically de_DE, but let's assume it is good enough for the other - // variants, too, for now. + // iOS says it has specifically de_DE. Let's assume it is good enough for German as + // written in Austria, Belgium, and Luxembourg, too. (Not for German in Switzerland and + // Liechtenstein. For those you need to bundle the myspell dictionary.) else if ([pLangStr isEqualToString:@"de_DE"]) { const std::vector<NSString*> aDE - { @"AT", @"BE", @"CH", @"DE", @"LI", @"LU" }; + { @"AT", @"BE", @"DE", @"LU" }; for (auto c: aDE) { pLangStr = [@"de_" stringByAppendingString: c]; |