diff options
-rw-r--r-- | Repository.mk | 2 | ||||
-rw-r--r-- | comphelper/source/misc/lok.cxx | 2 | ||||
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | ios/CustomTarget_iOS_setup.mk | 8 | ||||
-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 | ||||
-rw-r--r-- | postprocess/Rdb_services.mk | 2 | ||||
-rwxr-xr-x | solenv/bin/native-code.py | 2 |
9 files changed, 28 insertions, 14 deletions
diff --git a/Repository.mk b/Repository.mk index 2d9bb907dd74..43da9de09616 100644 --- a/Repository.mk +++ b/Repository.mk @@ -419,7 +419,7 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \ simplecanvas \ slideshow \ sot \ - $(if $(filter-out iOS,$(OS)),spell) \ + spell \ $(if $(DISABLE_GUI),,spl) \ storagefd \ $(call gb_Helper_optional,SCRIPTING,stringresource) \ diff --git a/comphelper/source/misc/lok.cxx b/comphelper/source/misc/lok.cxx index 77c8c13a7e82..208fe7bb25df 100644 --- a/comphelper/source/misc/lok.cxx +++ b/comphelper/source/misc/lok.cxx @@ -214,7 +214,7 @@ bool isWhitelistedLanguage(const OUString& lang) if (!isActive()) return true; -#ifdef ANDROID +#if defined ANDROID || defined IOS (void) lang; return true; #else diff --git a/configure.ac b/configure.ac index e36325456c82..d71a127b92e5 100644 --- a/configure.ac +++ b/configure.ac @@ -10172,9 +10172,7 @@ dnl =================================================================== dnl Check for system hunspell dnl =================================================================== AC_MSG_CHECKING([which libhunspell to use]) -if test "$_os" = iOS; then - AC_MSG_RESULT([none]) -elif test "$with_system_hunspell" = "yes"; then +if test "$with_system_hunspell" = "yes"; then AC_MSG_RESULT([external]) SYSTEM_HUNSPELL=TRUE AC_LANG_PUSH([C++]) diff --git a/ios/CustomTarget_iOS_setup.mk b/ios/CustomTarget_iOS_setup.mk index c8a9ccccb72f..53ea70f1306a 100644 --- a/ios/CustomTarget_iOS_setup.mk +++ b/ios/CustomTarget_iOS_setup.mk @@ -72,6 +72,14 @@ $(IOSGEN)/native-code.h: $(BUILDDIR)/config_host.mk \ mkdir -p $(IOSRES)/share/fonts cp -R $(INSTDIR)/share/fonts/truetype $(IOSRES)/share/fonts cp -R $(INSTDIR)/share/gallery $(IOSRES)/share + mkdir -p $(IOSRES)/share/spell + # Install the Swiss German dictionary and use it for Liechtenstein, too + if test -d $(INSTDIR)/share/extensions/dict-de; then \ + cp $(INSTDIR)/share/extensions/dict-de/de_CH_frami.aff $(IOSRES)/share/spell/de_CH.aff; \ + cp $(INSTDIR)/share/extensions/dict-de/de_CH_frami.dic $(IOSRES)/share/spell/de_CH.dic; \ + cp $(INSTDIR)/share/extensions/dict-de/de_CH_frami.aff $(IOSRES)/share/spell/de_LI.aff; \ + cp $(INSTDIR)/share/extensions/dict-de/de_CH_frami.dic $(IOSRES)/share/spell/de_LI.dic; \ + fi cp -R $(INSTDIR)/share/palette $(IOSRES)/share cp -R $(INSTDIR)/share/fingerprint $(IOSRES)/share cp $(SRCDIR)/ios/welcome.odt $(IOSRES) 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 76c79aba698a..5ef22bbeff34 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(WNT) -#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 ef3d5decb013..ab463e7d43aa 100644 --- a/lingucomponent/source/spellcheck/macosxspell/macspellimp.mm +++ b/lingucomponent/source/spellcheck/macosxspell/macspellimp.mm @@ -138,12 +138,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]; diff --git a/postprocess/Rdb_services.mk b/postprocess/Rdb_services.mk index e28de2ef751a..084af4b9c1da 100644 --- a/postprocess/Rdb_services.mk +++ b/postprocess/Rdb_services.mk @@ -50,8 +50,8 @@ $(eval $(call gb_Rdb_add_components,services,\ i18npool/util/i18npool \ lingucomponent/source/hyphenator/hyphen/hyphen \ lingucomponent/source/languageguessing/guesslang \ + lingucomponent/source/spellcheck/spell/spell \ $(if $(filter-out iOS,$(OS)), \ - lingucomponent/source/spellcheck/spell/spell \ lingucomponent/source/thesaurus/libnth/lnth \ ) \ lingucomponent/source/numbertext/numbertext \ diff --git a/solenv/bin/native-code.py b/solenv/bin/native-code.py index 0383463a64c3..d7c3582fd907 100755 --- a/solenv/bin/native-code.py +++ b/solenv/bin/native-code.py @@ -58,7 +58,7 @@ core_factory_list = [ ("libxmlscriptlo.a", "xmlscript_component_getFactory"), ("libmcnttype.a", "mcnttype_component_getFactory"), ("libvcllo.a", "vcl_component_getFactory"), - ("libspelllo.a", "spell_component_getFactory", "#ifndef IOS"), + ("libspelllo.a", "spell_component_getFactory"), ("libpdffilterlo.a", "pdffilter_component_getFactory"), ("libsvgiolo.a", "svgio_component_getFactory"), ("libsvtlo.a", "svt_component_getFactory"), |