[Libreoffice-commits] core.git: lingucomponent/source

Eike Rathke erack at redhat.com
Fri Oct 11 14:01:15 PDT 2013


 lingucomponent/source/lingutil/lingutil.cxx |   16 ++++++++++++++++
 1 file changed, 16 insertions(+)

New commits:
commit d5f33e2db4ce6d7c5f81a18705431fcf4d184b9c
Author: Eike Rathke <erack at redhat.com>
Date:   Fri Oct 11 22:58:48 2013 +0200

    the dreaded hu_HU_u8.dic of myspell-hu needs exceptional handling
    
    Change-Id: I2cef8d0dd306ce22552db0b5d8890c754be9e835

diff --git a/lingucomponent/source/lingutil/lingutil.cxx b/lingucomponent/source/lingutil/lingutil.cxx
index 70f10cc..4f72163 100644
--- a/lingucomponent/source/lingutil/lingutil.cxx
+++ b/lingucomponent/source/lingutil/lingutil.cxx
@@ -147,12 +147,28 @@ std::vector< SvtLinguConfigDictionaryEntry > GetOldStyleDics( const char *pDicTy
                     nStartIndex - aSystemPrefix.getLength());
                 if (sChunk.isEmpty())
                     continue;
+
                 // We prefer (now) to use language tags.
                 // Avoid feeding in the older LANG_REGION scheme to the BCP47
                 // ctor as that triggers use of liblangtag and initializes its
                 // database which we do not want during startup. Convert
                 // instead.
                 sChunk = sChunk.replace( '_', '-');
+
+                // There's a known exception to the rule, the dreaded
+                // hu_HU_u8.dic of the myspell-hu package, see
+                // http://packages.debian.org/search?arch=any&searchon=contents&keywords=hu_HU_u8.dic
+                // This was ignored because unknown in the old implementation,
+                // truncate to the known locale and either insert because hu_HU
+                // wasn't encountered yet, or skip because it was. It doesn't
+                // really matter because the proper new-style hu_HU dictionary
+                // will take precedence anyway if installed with a Hungarian
+                // languagepack. Again, this is only to not pull in all
+                // liblangtag and stuff during startup, the result would be
+                // !isValidBcp47() and the dictionary ignored.
+                if (sChunk == "hu-HU-u8")
+                    sChunk = "hu-HU";
+
                 LanguageTag aLangTag(sChunk, true);
                 if (!aLangTag.isValidBcp47())
                     continue;


More information about the Libreoffice-commits mailing list