summaryrefslogtreecommitdiff
path: root/i18npool
diff options
context:
space:
mode:
authorBjoern Michaelsen <bjoern.michaelsen@canonical.com>2011-07-21 18:56:16 +0200
committerBjoern Michaelsen <bjoern.michaelsen@canonical.com>2011-07-21 18:56:16 +0200
commita233dac0653f3f3054f7ad2da114ed989747e89a (patch)
treebf1e11438321c06125a94308649c496648061ccb /i18npool
parentacb6133d89abe071108577f821d7eaa381378879 (diff)
parente5647de7dd26775e45af24f11ac4f82a5518bd9e (diff)
resyncing to master
Diffstat (limited to 'i18npool')
-rw-r--r--i18npool/inc/i18npool/lang.h2
-rw-r--r--i18npool/inc/i18npool/mslangid.hxx36
-rw-r--r--i18npool/prj/build.lst2
-rw-r--r--i18npool/prj/d.lst2
-rw-r--r--i18npool/qa/cppunit/test_breakiterator.cxx51
-rw-r--r--i18npool/source/breakiterator/breakiteratorImpl.cxx200
-rw-r--r--i18npool/source/breakiterator/data/makefile.mk2
-rw-r--r--i18npool/source/breakiterator/makefile.mk4
-rw-r--r--i18npool/source/collator/data/makefile.mk2
-rw-r--r--i18npool/source/collator/makefile.mk4
-rw-r--r--i18npool/source/indexentry/data/makefile.mk2
-rw-r--r--i18npool/source/indexentry/makefile.mk5
-rw-r--r--i18npool/source/isolang/isolang.cxx20
-rw-r--r--i18npool/source/isolang/makefile.mk4
-rw-r--r--i18npool/source/isolang/mslangid.cxx31
-rw-r--r--i18npool/source/localedata/LocaleNode.cxx12
-rw-r--r--i18npool/source/localedata/data/gd_GB.xml357
-rw-r--r--i18npool/source/localedata/data/localedata_euro.map17
-rw-r--r--i18npool/source/localedata/data/makefile.mk15
-rw-r--r--i18npool/source/localedata/localedata.cxx1
-rw-r--r--i18npool/source/localedata/makefile.mk4
-rw-r--r--i18npool/source/paper/makefile.mk4
-rw-r--r--i18npool/source/paper/paper.cxx6
-rw-r--r--i18npool/source/registerservices/registerservices.cxx5
-rw-r--r--i18npool/source/search/textsearch.cxx6
-rw-r--r--i18npool/source/textconversion/data/makefile.mk2
-rw-r--r--i18npool/source/textconversion/makefile.mk4
27 files changed, 625 insertions, 175 deletions
diff --git a/i18npool/inc/i18npool/lang.h b/i18npool/inc/i18npool/lang.h
index 1870a7b48351..0059a1b6978e 100644
--- a/i18npool/inc/i18npool/lang.h
+++ b/i18npool/inc/i18npool/lang.h
@@ -78,7 +78,7 @@
/* It must be safe to include this file in plain C code, so only C style
* comments are used. Do NOT use // C++ style comments. */
-/* disable typedef for usage in svx/source/dialog/langtab.src */
+/* disable typedef for usage in svtools/source/misc/langtab.src */
#ifndef RSC_RESOURCE_USAGE
typedef unsigned short LanguageType;
#endif
diff --git a/i18npool/inc/i18npool/mslangid.hxx b/i18npool/inc/i18npool/mslangid.hxx
index b2a9e054482c..a38ccdfd68c1 100644
--- a/i18npool/inc/i18npool/mslangid.hxx
+++ b/i18npool/inc/i18npool/mslangid.hxx
@@ -75,9 +75,7 @@ public:
special value.
@descr: NOTE: The "system" values may be overridden by the
- application's configuration. If you need to access the system
- values use <method>getRealLanguageWithoutConfig()</method>
- instead.
+ application's configuration.
@returns
case LANGUAGE_PROCESS_OR_USER_DEFAULT : configured or system language
@@ -154,13 +152,6 @@ public:
static ::com::sun::star::lang::Locale getFallbackLocale(
const ::com::sun::star::lang::Locale & rLocale );
-
- /** Get fall-back LanguageType for LanguageType, resolving LANGUAGE_SYSTEM.
- Returns the same LanguageType if an exact match was found.
- */
- static LanguageType getFallbackLanguage( LanguageType nLang );
-
-
// -----------------------------
// - ConvertLanguageToIsoNames -
// -----------------------------
@@ -184,34 +175,9 @@ public:
const rtl::OString& rCountry );
static LanguageType convertIsoStringToLanguage(
const rtl::OUString& rString, sal_Unicode cSep = '-' );
- static LanguageType convertIsoByteStringToLanguage(
- const rtl::OString& rString, sal_Char cSep = '-' );
static LanguageType convertUnxByteStringToLanguage(
const rtl::OString& rString );
-
- /** @short: A real language/locale if the nLang parameter designates some
- special value.
-
- @descr: NOTE: This is a raw interface to the system and does not take
- any application configuration into account. If that is wanted,
- which is most likely, use <method>getRealLanguage()</method>
- instead.
-
- @returns
- case LANGUAGE_PROCESS_OR_USER_DEFAULT : getSystemLanguage()
- case LANGUAGE_SYSTEM_DEFAULT : getSystemLanguage()
- case LANGUAGE_SYSTEM : getSystemLanguage()
- case LANGUAGE_NONE : getSystemUILanguage()
- case LANGUAGE_DONTKNOW : LANGUAGE_ENGLISH_US
- else: nLang
-
- In case getSystemLanguage() or getSystemUILanguage() returned
- LANGUAGE_DONTKNOW, LANGUAGE_ENGLISH_US is returned instead.
- */
- static LanguageType getRealLanguageWithoutConfig( LanguageType nLang );
-
-
static LanguageType resolveSystemLanguageByScriptType( LanguageType nLang, sal_Int16 nType );
diff --git a/i18npool/prj/build.lst b/i18npool/prj/build.lst
index 3a2e0c2d2b9c..113a9fa6c111 100644
--- a/i18npool/prj/build.lst
+++ b/i18npool/prj/build.lst
@@ -1,4 +1,4 @@
-inp i18npool : bridges sax stoc comphelper CPPUNIT:cppunit ICU:icu i18nutil regexp cpputools LIBXSLT:libxslt NULL
+inp i18npool : bridges sax stoc comphelper CPPUNIT:cppunit ICU:icu i18nutil regexp DESKTOP:cpputools LIBXSLT:libxslt NULL
inp i18npool usr1 - all inp_mkout NULL
inp i18npool\inc nmake - all inp_inc NULL
inp i18npool\source\registerservices nmake - all inp_rserv inp_inc NULL
diff --git a/i18npool/prj/d.lst b/i18npool/prj/d.lst
index 71e0ae3b4758..d6fd70f9adf9 100644
--- a/i18npool/prj/d.lst
+++ b/i18npool/prj/d.lst
@@ -40,11 +40,13 @@ mkdir: %_DEST%\inc\i18npool
..\%__SRC%\bin\i18nisol*.dll %_DEST%\bin\i18nisol*.dll
..\%__SRC%\lib\libi18nisolang*.so %_DEST%\lib\libi18nisolang*.so
..\%__SRC%\lib\libi18nisolang*.dylib %_DEST%\lib\libi18nisolang*.dylib
+..\%__SRC%\lib\libi18nisolang*.a %_DEST%\lib\libi18nisolang*.a
..\%__SRC%\lib\ii18npaper*.lib %_DEST%\lib\ii18npaper*.lib
..\%__SRC%\bin\i18npaper*.dll %_DEST%\bin\i18npaper*.dll
..\%__SRC%\lib\libi18npaper*.so %_DEST%\lib\libi18npaper*.so
..\%__SRC%\lib\libi18npaper*.dylib %_DEST%\lib\libi18npaper*.dylib
+..\%__SRC%\lib\libi18npaper*.a %_DEST%\lib\libi18npaper*.a
..\%__SRC%\misc\i18npool.component %_DEST%\xml\i18npool.component
..\%__SRC%\misc\i18nsearch.component %_DEST%\xml\i18nsearch.component
diff --git a/i18npool/qa/cppunit/test_breakiterator.cxx b/i18npool/qa/cppunit/test_breakiterator.cxx
index fc81cc9860fb..7740cf9188f6 100644
--- a/i18npool/qa/cppunit/test_breakiterator.cxx
+++ b/i18npool/qa/cppunit/test_breakiterator.cxx
@@ -57,11 +57,13 @@ public:
void testLineBreaking();
void testGraphemeIteration();
void testWeak();
+ void testAsian();
CPPUNIT_TEST_SUITE(TestBreakIterator);
CPPUNIT_TEST(testLineBreaking);
CPPUNIT_TEST(testGraphemeIteration);
CPPUNIT_TEST(testWeak);
+ CPPUNIT_TEST(testAsian);
CPPUNIT_TEST_SUITE_END();
private:
@@ -104,7 +106,7 @@ void TestBreakIterator::testGraphemeIteration()
aLocale.Country = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IN"));
{
- sal_Unicode BA_HALANT_LA[] = { 0x09AC, 0x09CD, 0x09AF };
+ const sal_Unicode BA_HALANT_LA[] = { 0x09AC, 0x09CD, 0x09AF };
::rtl::OUString aTest1(BA_HALANT_LA, SAL_N_ELEMENTS(BA_HALANT_LA));
sal_Int32 nDone=0;
@@ -118,7 +120,7 @@ void TestBreakIterator::testGraphemeIteration()
}
{
- sal_Unicode HA_HALANT_NA_VOWELSIGNI[] = { 0x09B9, 0x09CD, 0x09A3, 0x09BF };
+ const sal_Unicode HA_HALANT_NA_VOWELSIGNI[] = { 0x09B9, 0x09CD, 0x09A3, 0x09BF };
::rtl::OUString aTest1(HA_HALANT_NA_VOWELSIGNI, SAL_N_ELEMENTS(HA_HALANT_NA_VOWELSIGNI));
sal_Int32 nDone=0;
@@ -132,7 +134,7 @@ void TestBreakIterator::testGraphemeIteration()
}
{
- sal_Unicode TA_HALANT_MA_HALANT_YA [] = { 0x09A4, 0x09CD, 0x09AE, 0x09CD, 0x09AF };
+ const sal_Unicode TA_HALANT_MA_HALANT_YA [] = { 0x09A4, 0x09CD, 0x09AE, 0x09CD, 0x09AF };
::rtl::OUString aTest1(TA_HALANT_MA_HALANT_YA, SAL_N_ELEMENTS(TA_HALANT_MA_HALANT_YA));
sal_Int32 nDone=0;
@@ -156,10 +158,12 @@ void TestBreakIterator::testWeak()
aLocale.Country = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("US"));
{
- sal_Unicode WEAKS[] =
+ const sal_Unicode WEAKS[] =
{
0x0001, 0x0002,
0x0020, 0x00A0,
+ 0x2150, 0x215F, //Number Forms, fractions
+ 0x2160, 0x2180, //Number Forms, roman numerals
0x2200, 0x22FF, //Mathematical Operators
0x27C0, 0x27EF, //Miscellaneous Mathematical Symbols-A
0x2980, 0x29FF, //Miscellaneous Mathematical Symbols-B
@@ -184,6 +188,45 @@ void TestBreakIterator::testWeak()
}
}
+//A test to ensure that certain ranges and codepoints that are categorized as
+//asian remain as asian, so that existing docs that depend on this don't silently
+//change font for those asian chars.
+//See https://bugs.freedesktop.org/show_bug.cgi?id=38095
+void TestBreakIterator::testAsian()
+{
+ lang::Locale aLocale;
+ aLocale.Language = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("en"));
+ aLocale.Country = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("US"));
+
+ {
+ const sal_Unicode ASIANS[] =
+ {
+ //some typical CJK chars
+ 0x4E00, 0x62FF,
+ //The full HalfWidth and FullWidth block has historically been
+ //designated as taking the CJK font :-(
+ //HalfWidth and FullWidth forms of ASCII 0-9, categorized under
+ //UAX24 as "Common" i.e. by that logic WEAK
+ 0xFF10, 0xFF19,
+ //HalfWidth and FullWidth forms of ASCII A-z, categorized under
+ //UAX25 as "Latin", i.e. by that logic LATIN
+ 0xFF21, 0xFF5A
+ };
+ ::rtl::OUString aAsians(ASIANS, SAL_N_ELEMENTS(ASIANS));
+
+ for (sal_Int32 i = 0; i < aAsians.getLength(); ++i)
+ {
+ sal_Int16 nScript = m_xBreak->getScriptType(aAsians, i);
+ rtl::OStringBuffer aMsg;
+ aMsg.append(RTL_CONSTASCII_STRINGPARAM("Char 0x"));
+ aMsg.append(static_cast<sal_Int32>(aAsians.getStr()[i]), 16);
+ aMsg.append(RTL_CONSTASCII_STRINGPARAM(" should have been asian"));
+ CPPUNIT_ASSERT_MESSAGE(aMsg.getStr(),
+ nScript == i18n::ScriptType::ASIAN);
+ }
+ }
+}
+
TestBreakIterator::TestBreakIterator()
{
m_xContext = cppu::defaultBootstrap_InitialComponentContext();
diff --git a/i18npool/source/breakiterator/breakiteratorImpl.cxx b/i18npool/source/breakiterator/breakiteratorImpl.cxx
index 3cc974870c3d..e81bfff9452a 100644
--- a/i18npool/source/breakiterator/breakiteratorImpl.cxx
+++ b/i18npool/source/breakiterator/breakiteratorImpl.cxx
@@ -443,67 +443,155 @@ sal_Int16 SAL_CALL BreakIteratorImpl::getWordType( const OUString& /*Text*/,
return 0;
}
-static sal_Int16 scriptTypes[] = {
- ScriptType::WEAK, ScriptType::WEAK, ScriptType::COMPLEX, ScriptType::LATIN, ScriptType::COMPLEX,
- ScriptType::ASIAN, ScriptType::LATIN, ScriptType::LATIN, ScriptType::LATIN, ScriptType::COMPLEX,
- ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::LATIN, ScriptType::LATIN, ScriptType::LATIN,
-// 15
- ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::ASIAN, ScriptType::ASIAN, ScriptType::COMPLEX,
- ScriptType::ASIAN, ScriptType::COMPLEX, ScriptType::ASIAN, ScriptType::COMPLEX, ScriptType::COMPLEX,
- ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::LATIN,
-// 30
- ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::COMPLEX,
- ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
- ScriptType::LATIN, ScriptType::ASIAN, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
-// 45
- ScriptType::COMPLEX, ScriptType::LATIN, ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::COMPLEX,
- ScriptType::LATIN, ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::LATIN,
- ScriptType::COMPLEX, ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
-// 60
- ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
- ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::LATIN, ScriptType::LATIN, ScriptType::COMPLEX,
- ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::ASIAN, ScriptType::ASIAN,
-// 75
- ScriptType::COMPLEX, ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
- ScriptType::LATIN, ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
- ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
-// 90
- ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
- ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
- ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::WEAK, ScriptType::WEAK, ScriptType::COMPLEX,
-// 105
- ScriptType::ASIAN, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
- ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
- ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::ASIAN,
-// 120
- ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
- ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::WEAK, ScriptType::WEAK,
- ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
-// 135
- ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
- ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
- ScriptType::COMPLEX,
- ScriptType::WEAK};
-
-#define scriptListCount SAL_N_ELEMENTS(scriptTypes)
+namespace
+{
+ //See unicode/uscript.h
+ static sal_Int16 scriptTypes[] =
+ {
+ ScriptType::WEAK, ScriptType::WEAK, ScriptType::COMPLEX, ScriptType::LATIN, ScriptType::COMPLEX,
+ ScriptType::ASIAN, ScriptType::LATIN, ScriptType::LATIN, ScriptType::LATIN, ScriptType::COMPLEX,
+ ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::LATIN, ScriptType::LATIN, ScriptType::LATIN,
+ // 15
+ ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::ASIAN, ScriptType::ASIAN, ScriptType::COMPLEX,
+ ScriptType::ASIAN, ScriptType::COMPLEX, ScriptType::ASIAN, ScriptType::COMPLEX, ScriptType::COMPLEX,
+ ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::LATIN,
+ // 30
+ ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::COMPLEX,
+ ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+ ScriptType::LATIN, ScriptType::ASIAN, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+ // 45
+ ScriptType::COMPLEX, ScriptType::LATIN, ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::COMPLEX,
+ ScriptType::LATIN, ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::LATIN,
+ ScriptType::COMPLEX, ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+ // 60
+ ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+ ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::LATIN, ScriptType::LATIN, ScriptType::COMPLEX,
+ ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::ASIAN, ScriptType::ASIAN,
+ // 75
+ ScriptType::COMPLEX, ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+ ScriptType::LATIN, ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+ ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+ // 90
+ ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+ ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+ ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::WEAK, ScriptType::WEAK, ScriptType::COMPLEX,
+ // 105
+ ScriptType::ASIAN, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+ ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+ ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::ASIAN,
+ // 120
+ ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+ ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::WEAK, ScriptType::WEAK,
+ ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+ // 135
+ ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+ ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+ ScriptType::COMPLEX,
+ ScriptType::WEAK
+ };
+
+# define scriptTypesCount SAL_N_ELEMENTS(scriptTypes)
+
+ sal_Int16 getScriptClassByUAX24Script(sal_uInt32 currentChar)
+ {
+ sal_Int16 nRet;
+ int32_t script = u_getIntPropertyValue(currentChar, UCHAR_SCRIPT);
+ if (script < 0)
+ nRet = ScriptType::WEAK;
+ else if (static_cast<size_t>(script) >= SAL_N_ELEMENTS(scriptTypes))
+ nRet = ScriptType::COMPLEX; // anything new is going to be pretty wild
+ else
+ nRet = scriptTypes[script];
+ return nRet;
+ }
+
+ struct UBlock2Script
+ {
+ UBlockCode from;
+ UBlockCode to;
+ sal_Int16 script;
+ };
+
+ static UBlock2Script scriptList[] =
+ {
+ {UBLOCK_NO_BLOCK, UBLOCK_NO_BLOCK, ScriptType::WEAK},
+ {UBLOCK_BASIC_LATIN, UBLOCK_ARMENIAN, ScriptType::LATIN},
+ {UBLOCK_HEBREW, UBLOCK_MYANMAR, ScriptType::COMPLEX},
+ {UBLOCK_GEORGIAN, UBLOCK_GEORGIAN, ScriptType::LATIN},
+ {UBLOCK_HANGUL_JAMO, UBLOCK_HANGUL_JAMO, ScriptType::ASIAN},
+ {UBLOCK_ETHIOPIC, UBLOCK_ETHIOPIC, ScriptType::COMPLEX},
+ {UBLOCK_CHEROKEE, UBLOCK_RUNIC, ScriptType::LATIN},
+ {UBLOCK_KHMER, UBLOCK_MONGOLIAN, ScriptType::COMPLEX},
+ {UBLOCK_LATIN_EXTENDED_ADDITIONAL, UBLOCK_GREEK_EXTENDED, ScriptType::LATIN},
+ {UBLOCK_NUMBER_FORMS, UBLOCK_NUMBER_FORMS, ScriptType::WEAK},
+ {UBLOCK_CJK_RADICALS_SUPPLEMENT, UBLOCK_HANGUL_SYLLABLES, ScriptType::ASIAN},
+ {UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS, UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS, ScriptType::ASIAN},
+ {UBLOCK_ARABIC_PRESENTATION_FORMS_A, UBLOCK_ARABIC_PRESENTATION_FORMS_A, ScriptType::COMPLEX},
+ {UBLOCK_CJK_COMPATIBILITY_FORMS, UBLOCK_CJK_COMPATIBILITY_FORMS, ScriptType::ASIAN},
+ {UBLOCK_ARABIC_PRESENTATION_FORMS_B, UBLOCK_ARABIC_PRESENTATION_FORMS_B, ScriptType::COMPLEX},
+ {UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS, UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS, ScriptType::ASIAN},
+ {UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B, UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT, ScriptType::ASIAN},
+ {UBLOCK_CJK_STROKES, UBLOCK_CJK_STROKES, ScriptType::ASIAN},
+ {UBLOCK_LATIN_EXTENDED_C, UBLOCK_LATIN_EXTENDED_D, ScriptType::LATIN}
+ };
+
+ #define scriptListCount SAL_N_ELEMENTS(scriptList)
+
+ //always sets rScriptType
+ //
+ //returns true for characters historically explicitly assigned to
+ //latin/weak/asian
+ //
+ //returns false for characters that historically implicitly assigned to
+ //weak as unknown
+ bool getCompatibilityScriptClassByBlock(sal_uInt32 currentChar, sal_Int16 &rScriptType)
+ {
+ bool bKnown = true;
+ //handle specific characters always as weak:
+ // 0x01 - this breaks a word
+ // 0x02 - this can be inside a word
+ // 0x20 & 0xA0 - Bug 102975, declare western space and non-break space as WEAK char.
+ if( 0x01 == currentChar || 0x02 == currentChar || 0x20 == currentChar || 0xA0 == currentChar)
+ rScriptType = ScriptType::WEAK;
+ // workaround for Coptic
+ else if ( 0x2C80 <= currentChar && 0x2CE3 >= currentChar)
+ rScriptType = ScriptType::LATIN;
+ else
+ {
+ UBlockCode block=ublock_getCode(currentChar);
+ size_t i = 0;
+ while (i < scriptListCount)
+ {
+ if (block <= scriptList[i].to)
+ break;
+ ++i;
+ }
+ if (i < scriptListCount && block >= scriptList[i].from)
+ rScriptType = scriptList[i].script;
+ else
+ {
+ rScriptType = ScriptType::WEAK;
+ bKnown = false;
+ }
+ }
+ return bKnown;
+ }
+}
sal_Int16 BreakIteratorImpl::getScriptClass(sal_uInt32 currentChar)
{
- static sal_uInt32 lastChar = 0;
- static sal_Int16 nRet = 0;
+ static sal_uInt32 lastChar = 0;
+ static sal_Int16 nRet = 0;
- if (currentChar != lastChar) {
- lastChar = currentChar;
+ if (currentChar != lastChar)
+ {
+ lastChar = currentChar;
- int32_t script = u_getIntPropertyValue(currentChar, UCHAR_SCRIPT);
- if (script < 0)
- nRet = ScriptType::WEAK;
- else if (static_cast<size_t>(script) >= SAL_N_ELEMENTS(scriptTypes))
- nRet = ScriptType::COMPLEX; // anything new is going to be pretty wild
- else
- nRet = scriptTypes[script];
- }
- return nRet;
+ if (!getCompatibilityScriptClassByBlock(currentChar, nRet))
+ nRet = getScriptClassByUAX24Script(currentChar);
+ }
+
+ return nRet;
}
static inline sal_Bool operator == (const Locale& l1, const Locale& l2) {
diff --git a/i18npool/source/breakiterator/data/makefile.mk b/i18npool/source/breakiterator/data/makefile.mk
index 81bbbbd280e1..572446a80e15 100644
--- a/i18npool/source/breakiterator/data/makefile.mk
+++ b/i18npool/source/breakiterator/data/makefile.mk
@@ -34,7 +34,7 @@ LIBTARGET=NO
.INCLUDE : settings.mk
# Fix heap limit problem on MSC
-.IF "$(OS)" == "WNT"
+.IF "$(COM)" == "MSC"
.IF "$(COMEX)" != "8"
CDEFS+=-Zm300
.ENDIF
diff --git a/i18npool/source/breakiterator/makefile.mk b/i18npool/source/breakiterator/makefile.mk
index 434fdc9f5d88..961d7aa1ac6e 100644
--- a/i18npool/source/breakiterator/makefile.mk
+++ b/i18npool/source/breakiterator/makefile.mk
@@ -57,6 +57,8 @@ SLOFILES= \
$(SLO)/xdictionary.obj \
$(subst,$(MISC)/,$(SLO)/ $(MY_MISC_CXXFILES:s/.c/.obj/))
+.IF "$(CROSS_COMPILING)" != "YES"
+
OBJFILES = $(OBJ)/gendict.obj
APP1TARGET = gendict
@@ -67,6 +69,8 @@ APP1OBJS = $(DEPOBJFILES)
APP1STDLIBS = $(SALLIB)
+.ENDIF
+
# --- Targets ------------------------------------------------------
.IF "$(SYSTEM_ICU)" == "YES"
diff --git a/i18npool/source/collator/data/makefile.mk b/i18npool/source/collator/data/makefile.mk
index 59eb1a55f807..920e50609d8e 100644
--- a/i18npool/source/collator/data/makefile.mk
+++ b/i18npool/source/collator/data/makefile.mk
@@ -33,7 +33,7 @@ TARGET=collator_data
.INCLUDE : settings.mk
# Fix heap limit problem on MSC
-.IF "$(OS)" == "WNT"
+.IF "$(COM)" == "MSC"
.IF "$(COMEX)" != "8"
CDEFS+=-Zm300
.ENDIF
diff --git a/i18npool/source/collator/makefile.mk b/i18npool/source/collator/makefile.mk
index 654b857b7d25..b9be239a00e4 100644
--- a/i18npool/source/collator/makefile.mk
+++ b/i18npool/source/collator/makefile.mk
@@ -49,6 +49,8 @@ SLOFILES= \
$(SLO)$/chaptercollator.obj \
$(rules_obj)
+.IF "$(CROSS_COMPILING)" != "YES"
+
APP1TARGET = gencoll_rule
APP1RPATH = NONE
@@ -61,6 +63,8 @@ APP1STDLIBS = $(SALLIB) \
$(ICUUCLIB) \
$(ICUDATALIB)
+.ENDIF
+
# --- Targets ------------------------------------------------------
.INCLUDE : target.mk
diff --git a/i18npool/source/indexentry/data/makefile.mk b/i18npool/source/indexentry/data/makefile.mk
index 42378dab25bc..84d4281a3f53 100644
--- a/i18npool/source/indexentry/data/makefile.mk
+++ b/i18npool/source/indexentry/data/makefile.mk
@@ -34,7 +34,7 @@ LIBTARGET=NO
.INCLUDE : settings.mk
# Fix heap limit problem on MSC
-.IF "$(OS)" == "WNT"
+.IF "$(COM)" == "MSC"
.IF "$(COMEX)" != "8"
CDEFS+=-Zm300
.ENDIF
diff --git a/i18npool/source/indexentry/makefile.mk b/i18npool/source/indexentry/makefile.mk
index 6b4ea3ed5ff2..79e3eaf95c4e 100644
--- a/i18npool/source/indexentry/makefile.mk
+++ b/i18npool/source/indexentry/makefile.mk
@@ -37,7 +37,6 @@ ENABLE_EXCEPTIONS=TRUE
.INCLUDE : settings.mk
-
# --- Files --------------------------------------------------------
SLOFILES= \
@@ -47,6 +46,8 @@ SLOFILES= \
$(SLO)$/indexentrysupplier_default.obj \
$(SLO)$/indexentrysupplier_common.obj
+.IF "$(CROSS_COMPILING)" != "YES"
+
OBJFILES = $(OBJ)$/genindex_data.obj
APP1TARGET = genindex_data
@@ -60,6 +61,8 @@ APP1STDLIBS = $(SALLIB) \
$(ICUUCLIB) \
$(ICUDATALIB)
+.ENDIF
+
# --- Targets ------------------------------------------------------
.INCLUDE : target.mk
diff --git a/i18npool/source/isolang/isolang.cxx b/i18npool/source/isolang/isolang.cxx
index a96f80719357..0a1d524d2cda 100644
--- a/i18npool/source/isolang/isolang.cxx
+++ b/i18npool/source/isolang/isolang.cxx
@@ -1012,26 +1012,6 @@ LanguageType MsLangId::convertIsoStringToLanguage(
// -----------------------------------------------------------------------
-// static
-LanguageType MsLangId::convertIsoByteStringToLanguage(
- const rtl::OString& rString, sal_Char cSep )
-{
- rtl::OString aLang;
- rtl::OString aCountry;
- sal_Int32 nSepPos = rString.indexOf( cSep );
- if ( nSepPos >= 0 )
- {
- aLang = rString.copy( 0, nSepPos );
- aCountry = rString.copy( nSepPos+1 );
- }
- else
- aLang = rString;
-
- return convertIsoNamesToLanguage( aLang, aCountry );
-}
-
-// -----------------------------------------------------------------------
-
struct IsoLangGLIBCModifiersEntry
{
LanguageType mnLang;
diff --git a/i18npool/source/isolang/makefile.mk b/i18npool/source/isolang/makefile.mk
index b8f01460f67b..2ade308aa91c 100644
--- a/i18npool/source/isolang/makefile.mk
+++ b/i18npool/source/isolang/makefile.mk
@@ -43,7 +43,11 @@ SLOFILES= $(SLO)$/insys.obj \
$(SLO)$/mslangid.obj
SHL1TARGET= $(ISOLANG_TARGET)$(ISOLANG_MAJOR)$(COMID)
+.IF "$(COM)" == "MSC"
SHL1IMPLIB= i$(ISOLANG_TARGET)
+.ELSE
+SHL1IMPLIB= $(ISOLANG_TARGET)$(ISOLANG_MAJOR)$(COMID)
+.ENDIF
DEF1DEPN= $(MISC)$/$(SHL1TARGET).flt
SHL1DEF= $(MISC)$/$(SHL1TARGET).def
diff --git a/i18npool/source/isolang/mslangid.cxx b/i18npool/source/isolang/mslangid.cxx
index c11d4d6d1387..2b5c59e865a7 100644
--- a/i18npool/source/isolang/mslangid.cxx
+++ b/i18npool/source/isolang/mslangid.cxx
@@ -90,29 +90,6 @@ inline LanguageType MsLangId::simplifySystemLanguages( LanguageType nLang )
return nLang;
}
-
-// static
-LanguageType MsLangId::getRealLanguageWithoutConfig( LanguageType nLang )
-{
- switch (simplifySystemLanguages( nLang))
- {
- case LANGUAGE_SYSTEM :
- nLang = getSystemLanguage();
- break;
- case LANGUAGE_NONE :
- nLang = getSystemUILanguage();
- break;
- default:
- /* TODO: would this be useful here? */
- //nLang = MsLangId::getReplacementForObsoleteLanguage( nLang);
- ; // nothing
- }
- if (nLang == LANGUAGE_DONTKNOW)
- nLang = LANGUAGE_ENGLISH_US;
- return nLang;
-}
-
-
// static
LanguageType MsLangId::getRealLanguage( LanguageType nLang )
{
@@ -252,14 +229,6 @@ LanguageType MsLangId::convertLocaleToLanguageWithFallback(
return lookupFallbackLocale( rLocale);
}
-
-// static
-LanguageType MsLangId::getFallbackLanguage( LanguageType nLang )
-{
- return lookupFallbackLanguage( MsLangId::getRealLanguage( nLang));
-}
-
-
// static
bool MsLangId::isRightToLeft( LanguageType nLang )
{
diff --git a/i18npool/source/localedata/LocaleNode.cxx b/i18npool/source/localedata/LocaleNode.cxx
index 05f6156489a6..caa40746fd31 100644
--- a/i18npool/source/localedata/LocaleNode.cxx
+++ b/i18npool/source/localedata/LocaleNode.cxx
@@ -484,24 +484,24 @@ void LCCTYPENode::generateCode (const OFileWriter &of) const
"DoubleQuotationEnd is an ASCII character but DoubleQuotationStart is not.");
if (aQuoteStart.toChar() <= 127 && aQuoteEnd.toChar() <= 127)
fprintf( stderr, "Warning: %s\n",
- "QuotationStart and QuotationEnd are both ASCII characters. Not necessarily an error, but unusual.");
+ "QuotationStart and QuotationEnd are both ASCII characters. Not necessarily an issue, but unusual.");
if (aDoubleQuoteStart.toChar() <= 127 && aDoubleQuoteEnd.toChar() <= 127)
fprintf( stderr, "Warning: %s\n",
- "DoubleQuotationStart and DoubleQuotationEnd are both ASCII characters. Not necessarily an error, but unusual.");
+ "DoubleQuotationStart and DoubleQuotationEnd are both ASCII characters. Not necessarily an issue, but unusual.");
if (aQuoteStart == aQuoteEnd)
fprintf( stderr, "Warning: %s\n",
- "QuotationStart equals QuotationEnd. Not necessarily an error, but unusual.");
+ "QuotationStart equals QuotationEnd. Not necessarily an issue, but unusual.");
if (aDoubleQuoteStart == aDoubleQuoteEnd)
fprintf( stderr, "Warning: %s\n",
- "DoubleQuotationStart equals DoubleQuotationEnd. Not necessarily an error, but unusual.");
+ "DoubleQuotationStart equals DoubleQuotationEnd. Not necessarily an issue, but unusual.");
/* TODO: should equalness of single and double quotes be an error? Would
* need to adapt quite some locales' data. */
if (aQuoteStart == aDoubleQuoteStart)
fprintf( stderr, "Warning: %s\n",
- "QuotationStart equals DoubleQuotationStart. Not necessarily an error, but unusual.");
+ "QuotationStart equals DoubleQuotationStart. Not necessarily an isue, but unusual.");
if (aQuoteEnd == aDoubleQuoteEnd)
fprintf( stderr, "Warning: %s\n",
- "QuotationEnd equals DoubleQuotationEnd. Not necessarily an error, but unusual.");
+ "QuotationEnd equals DoubleQuotationEnd. Not necessarily an issue, but unusual.");
// Known good values, exclude ASCII single (U+0027, ') and double (U+0022, ") quotes.
int ic;
switch (ic = aQuoteStart.toChar())
diff --git a/i18npool/source/localedata/data/gd_GB.xml b/i18npool/source/localedata/data/gd_GB.xml
new file mode 100644
index 000000000000..0a1c64a0136d
--- /dev/null
+++ b/i18npool/source/localedata/data/gd_GB.xml
@@ -0,0 +1,357 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE Locale SYSTEM "locale.dtd">
+<Locale versionDTD="2.0.3" allowUpdateFromCLDR="no" version="1.0">
+<LC_INFO>
+<Language>
+<LangID>gd</LangID>
+<DefaultName>Gaelic, Scottish</DefaultName>
+</Language>
+<Country>
+<CountryID>GB</CountryID>
+<DefaultName>United Kingdom</DefaultName>
+</Country>
+</LC_INFO>
+<LC_CTYPE unoid="generic">
+<Separators>
+<DateSeparator>/</DateSeparator>
+<ThousandSeparator>,</ThousandSeparator>
+<DecimalSeparator>.</DecimalSeparator>
+<TimeSeparator>:</TimeSeparator>
+<Time100SecSeparator>.</Time100SecSeparator>
+<ListSeparator>;</ListSeparator>
+<LongDateDayOfWeekSeparator>, </LongDateDayOfWeekSeparator>
+<LongDateDaySeparator>, </LongDateDaySeparator>
+<LongDateMonthSeparator> </LongDateMonthSeparator>
+<LongDateYearSeparator> </LongDateYearSeparator>
+</Separators>
+<Markers>
+<QuotationStart>‘</QuotationStart>
+<QuotationEnd>’</QuotationEnd>
+<DoubleQuotationStart>“</DoubleQuotationStart>
+<DoubleQuotationEnd>”</DoubleQuotationEnd>
+</Markers>
+<TimeAM>m</TimeAM>
+<TimePM>f</TimePM>
+<MeasurementSystem>metric</MeasurementSystem>
+</LC_CTYPE>
+<LC_FORMAT replaceFrom="[CURRENCY]" replaceTo="[$£-43C]">
+<FormatElement msgid="FixedFormatskey1" default="true" type="medium" usage="FIXED_NUMBER" formatindex="0">
+<FormatCode>General</FormatCode>
+</FormatElement>
+<FormatElement msgid="FixedFormatskey2" default="true" type="short" usage="FIXED_NUMBER" formatindex="1">
+<FormatCode>0</FormatCode>
+</FormatElement>
+<FormatElement msgid="FixedFormatskey3" default="false" type="medium" usage="FIXED_NUMBER" formatindex="2">
+<FormatCode>0.00</FormatCode>
+</FormatElement>
+<FormatElement msgid="FixedFormatskey4" default="false" type="short" usage="FIXED_NUMBER" formatindex="3">
+<FormatCode>#,##0</FormatCode>
+</FormatElement>
+<FormatElement msgid="FixedFormatskey5" default="false" type="medium" usage="FIXED_NUMBER" formatindex="4">
+<FormatCode>#,##0.00</FormatCode>
+</FormatElement>
+<FormatElement msgid="FixedFormatskey6" default="false" type="medium" usage="FIXED_NUMBER" formatindex="5">
+<FormatCode>#,###.00</FormatCode>
+</FormatElement>
+<FormatElement msgid="ScientificFormatskey1" default="true" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="6">
+<FormatCode>0.00E+00</FormatCode>
+</FormatElement>
+<FormatElement msgid="ScientificFormatskey2" default="false" type="medium" usage="SCIENTIFIC_NUMBER" formatindex="7">
+<FormatCode>0.00E+000</FormatCode>
+</FormatElement>
+<FormatElement msgid="PercentFormatskey1" default="true" type="short" usage="PERCENT_NUMBER" formatindex="8">
+<FormatCode>0%</FormatCode>
+</FormatElement>
+<FormatElement msgid="PercentFormatskey2" default="true" type="long" usage="PERCENT_NUMBER" formatindex="9">
+<FormatCode>0.00%</FormatCode>
+</FormatElement>
+<FormatElement msgid="CurrencyFormatskey1" default="true" type="short" usage="CURRENCY" formatindex="12">
+<FormatCode>[CURRENCY]#,##0;-[CURRENCY]#,##0</FormatCode>
+</FormatElement>
+<FormatElement msgid="CurrencyFormatskey2" default="false" type="medium" usage="CURRENCY" formatindex="13">
+<FormatCode>[CURRENCY]#,##0.00;-[CURRENCY]#,##0.00</FormatCode>
+</FormatElement>
+<FormatElement msgid="CurrencyFormatskey3" default="false" type="medium" usage="CURRENCY" formatindex="14">
+<FormatCode>[CURRENCY]#,##0;[RED]-[CURRENCY]#,##0</FormatCode>
+</FormatElement>
+<FormatElement msgid="CurrencyFormatskey4" default="true" type="medium" usage="CURRENCY" formatindex="15">
+<FormatCode>[CURRENCY]#,##0.00;[RED]-[CURRENCY]#,##0.00</FormatCode>
+</FormatElement>
+<FormatElement msgid="CurrencyFormatskey5" default="false" type="medium" usage="CURRENCY" formatindex="16">
+<FormatCode>CCC#,##0.00</FormatCode>
+</FormatElement>
+<FormatElement msgid="CurrencyFormatskey6" default="false" type="medium" usage="CURRENCY" formatindex="17">
+<FormatCode>[CURRENCY]#,##0.--;[RED]-[CURRENCY]#,##0.--</FormatCode>
+</FormatElement>
+<FormatElement msgid="DateFormatskey11" default="true" type="short" usage="DATE" formatindex="18">
+<FormatCode>D/MM/YY</FormatCode>
+</FormatElement>
+<FormatElement msgid="DateFormatskey14" default="true" type="long" usage="DATE" formatindex="19">
+<FormatCode>NNNNDD, MMMM YYYY</FormatCode>
+</FormatElement>
+<FormatElement msgid="DateFormatskey6" default="true" type="medium" usage="DATE" formatindex="20">
+<FormatCode>DD/MM/YY</FormatCode>
+</FormatElement>
+<FormatElement msgid="DateFormatskey5" default="false" type="medium" usage="DATE" formatindex="21">
+<FormatCode>DD/MM/YYYY</FormatCode>
+</FormatElement>
+<FormatElement msgid="DateFormatskey15" default="false" type="long" usage="DATE" formatindex="22">
+<FormatCode>D, MMM YY</FormatCode>
+</FormatElement>
+<FormatElement msgid="DateFormatskey16" default="false" type="long" usage="DATE" formatindex="23">
+<FormatCode>D, MMM YYYY</FormatCode>
+</FormatElement>
+<FormatElement msgid="DateFormatskey21" default="false" type="long" usage="DATE" formatindex="24">
+<FormatCode>D, MMM YYYY</FormatCode>
+</FormatElement>
+<FormatElement msgid="DateFormatskey17" default="false" type="long" usage="DATE" formatindex="25">
+<FormatCode>D, MMMM YYYY</FormatCode>
+</FormatElement>
+<FormatElement msgid="DateFormatskey22" default="false" type="long" usage="DATE" formatindex="26">
+<FormatCode>D, MMMM YY</FormatCode>
+</FormatElement>
+<FormatElement msgid="DateFormatskey10" default="false" type="medium" usage="DATE" formatindex="27">
+<FormatCode>NN, DD/MMM/YY</FormatCode>
+</FormatElement>
+<FormatElement msgid="DateFormatskey18" default="false" type="long" usage="DATE" formatindex="28">
+<FormatCode>NN, D, MMM YY</FormatCode>
+</FormatElement>
+<FormatElement msgid="DateFormatskey19" default="false" type="long" usage="DATE" formatindex="29">
+<FormatCode>NN, D, MMMM YYYY</FormatCode>
+</FormatElement>
+<FormatElement msgid="DateFormatskey20" default="false" type="long" usage="DATE" formatindex="30">
+<FormatCode>NNNND, MMMM YYYY</FormatCode>
+</FormatElement>
+<FormatElement msgid="DateFormatskey12" default="false" type="short" usage="DATE" formatindex="31">
+<FormatCode>MM/DD</FormatCode>
+</FormatElement>
+<FormatElement msgid="DateFormatskey7" default="false" type="medium" usage="DATE" formatindex="32">
+<FormatCode>YY-MM-DD</FormatCode>
+<DefaultName>ISO 8601</DefaultName>
+</FormatElement>
+<FormatElement msgid="DateFormatskey8" default="false" type="medium" usage="DATE" formatindex="33">
+<FormatCode>YYYY-MM-DD</FormatCode>
+<DefaultName>ISO 8601</DefaultName>
+</FormatElement>
+<FormatElement msgid="DateFormatskey1" default="false" type="medium" usage="DATE" formatindex="34">
+<FormatCode>MM/YY</FormatCode>
+</FormatElement>
+<FormatElement msgid="DateFormatskey2" default="false" type="medium" usage="DATE" formatindex="35">
+<FormatCode>MMM/DD</FormatCode>
+</FormatElement>
+<FormatElement msgid="DateFormatskey3" default="false" type="medium" usage="DATE" formatindex="36">
+<FormatCode>MMMM</FormatCode>
+</FormatElement>
+<FormatElement msgid="DateFormatskey4" default="false" type="medium" usage="DATE" formatindex="37">
+<FormatCode>QQ YY</FormatCode>
+</FormatElement>
+<FormatElement msgid="DateFormatskey9" default="false" type="medium" usage="DATE" formatindex="38">
+<FormatCode>WW</FormatCode>
+</FormatElement>
+<FormatElement msgid="TimeFormatskey1" default="false" type="short" usage="TIME" formatindex="39">
+<FormatCode>HH:MM</FormatCode>
+</FormatElement>
+<FormatElement msgid="TimeFormatskey2" default="false" type="medium" usage="TIME" formatindex="40">
+<FormatCode>HH:MM:SS</FormatCode>
+</FormatElement>
+<FormatElement msgid="TimeFormatskey3" default="true" type="short" usage="TIME" formatindex="41">
+<FormatCode>HH:MM AM/PM</FormatCode>
+</FormatElement>
+<FormatElement msgid="TimeFormatskey4" default="true" type="medium" usage="TIME" formatindex="42">
+<FormatCode>HH:MM:SS AM/PM</FormatCode>
+</FormatElement>
+<FormatElement msgid="TimeFormatskey5" default="false" type="medium" usage="TIME" formatindex="43">
+<FormatCode>[HH]:MM:SS</FormatCode>
+</FormatElement>
+<FormatElement msgid="TimeFormatskey6" default="false" type="short" usage="TIME" formatindex="44">
+<FormatCode>MM:SS.00</FormatCode>
+</FormatElement>
+<FormatElement msgid="TimeFormatskey7" default="false" type="medium" usage="TIME" formatindex="45">
+<FormatCode>[HH]:MM:SS.00</FormatCode>
+</FormatElement>
+<FormatElement msgid="DateTimeFormatskey1" default="true" type="medium" usage="DATE_TIME" formatindex="46">
+<FormatCode>DD/MM/YY HH:MM</FormatCode>
+</FormatElement>
+<FormatElement msgid="DateTimeFormatskey2" default="false" type="medium" usage="DATE_TIME" formatindex="47">
+<FormatCode>DD/MM/YYYY HH:MM:SS AM/PM</FormatCode>
+</FormatElement>
+</LC_FORMAT>
+<LC_COLLATION>
+<Collator default="true" unoid="alphanumeric"/>
+<CollationOptions>
+<TransliterationModules>IGNORE_CASE</TransliterationModules>
+</CollationOptions>
+</LC_COLLATION>
+<LC_SEARCH>
+<SearchOptions>
+<TransliterationModules>IGNORE_CASE</TransliterationModules>
+</SearchOptions>
+</LC_SEARCH>
+<LC_INDEX>
+<IndexKey phonetic="false" default="true" unoid="alphanumeric">AÀÁBCDEÈÉFGHIJKÌLMNOÒÓPQRSTUÙVWXYZ</IndexKey>
+<UnicodeScript>0</UnicodeScript>
+<UnicodeScript>1</UnicodeScript>
+<FollowPageWord>td</FollowPageWord>
+<FollowPageWord>td</FollowPageWord>
+</LC_INDEX>
+<LC_CALENDAR>
+<Calendar unoid="gregorian" default="true">
+<DaysOfWeek>
+<Day>
+<DayID>sun</DayID>
+<DefaultAbbrvName>DiD</DefaultAbbrvName>
+<DefaultFullName>DiDòmhnaich</DefaultFullName>
+</Day>
+<Day>
+<DayID>mon</DayID>
+<DefaultAbbrvName>DiL</DefaultAbbrvName>
+<DefaultFullName>DiLuain</DefaultFullName>
+</Day>
+<Day>
+<DayID>tue</DayID>
+<DefaultAbbrvName>DiM</DefaultAbbrvName>
+<DefaultFullName>DiMàirt</DefaultFullName>
+</Day>
+<Day>
+<DayID>wed</DayID>
+<DefaultAbbrvName>DiC</DefaultAbbrvName>
+<DefaultFullName>DiCiadain</DefaultFullName>
+</Day>
+<Day>
+<DayID>thu</DayID>
+<DefaultAbbrvName>Dia</DefaultAbbrvName>
+<DefaultFullName>DiarDaoin</DefaultFullName>
+</Day>
+<Day>
+<DayID>fri</DayID>
+<DefaultAbbrvName>Dih</DefaultAbbrvName>
+<DefaultFullName>DihAoine</DefaultFullName>
+</Day>
+<Day>
+<DayID>sat</DayID>
+<DefaultAbbrvName>DiS</DefaultAbbrvName>
+<DefaultFullName>DiSathairne</DefaultFullName>
+</Day>
+</DaysOfWeek>
+<MonthsOfYear>
+<Month>
+<MonthID>jan</MonthID>
+<DefaultAbbrvName>Faoi</DefaultAbbrvName>
+<DefaultFullName>Faoilleach</DefaultFullName>
+</Month>
+<Month>
+<MonthID>feb</MonthID>
+<DefaultAbbrvName>Gearr</DefaultAbbrvName>
+<DefaultFullName>Gearran</DefaultFullName>
+</Month>
+<Month>
+<MonthID>mar</MonthID>
+<DefaultAbbrvName>Màrt</DefaultAbbrvName>
+<DefaultFullName>Màrt</DefaultFullName>
+</Month>
+<Month>
+<MonthID>apr</MonthID>
+<DefaultAbbrvName>Gibl</DefaultAbbrvName>
+<DefaultFullName>Giblean</DefaultFullName>
+</Month>
+<Month>
+<MonthID>may</MonthID>
+<DefaultAbbrvName>Cèit</DefaultAbbrvName>
+<DefaultFullName>Cèitean</DefaultFullName>
+</Month>
+<Month>
+<MonthID>jun</MonthID>
+<DefaultAbbrvName>Ògmh</DefaultAbbrvName>
+<DefaultFullName>Ògmhios</DefaultFullName>
+</Month>
+<Month>
+<MonthID>jul</MonthID>
+<DefaultAbbrvName>Iuch</DefaultAbbrvName>
+<DefaultFullName>Iuchar</DefaultFullName>
+</Month>
+<Month>
+<MonthID>aug</MonthID>
+<DefaultAbbrvName>Lùna</DefaultAbbrvName>
+<DefaultFullName>Lùnastal</DefaultFullName>
+</Month>
+<Month>
+<MonthID>sep</MonthID>
+<DefaultAbbrvName>Sult</DefaultAbbrvName>
+<DefaultFullName>Sultain</DefaultFullName>
+</Month>
+<Month>
+<MonthID>oct</MonthID>
+<DefaultAbbrvName>Dàmh</DefaultAbbrvName>
+<DefaultFullName>Dàmhair</DefaultFullName>
+</Month>
+<Month>
+<MonthID>nov</MonthID>
+<DefaultAbbrvName>Samh</DefaultAbbrvName>
+<DefaultFullName>Samhain</DefaultFullName>
+</Month>
+<Month>
+<MonthID>dec</MonthID>
+<DefaultAbbrvName>Dùbh</DefaultAbbrvName>
+<DefaultFullName>Dùbhlachd</DefaultFullName>
+</Month>
+</MonthsOfYear>
+<Eras>
+<Era>
+<EraID>bc</EraID>
+<DefaultAbbrvName>RC</DefaultAbbrvName>
+<DefaultFullName>ro Chrìost</DefaultFullName>
+</Era>
+<Era>
+<EraID>ad</EraID>
+<DefaultAbbrvName>AD</DefaultAbbrvName>
+<DefaultFullName>as dèidh Chrìost</DefaultFullName>
+</Era>
+</Eras>
+<StartDayOfWeek>
+<DayID>mon</DayID>
+</StartDayOfWeek>
+<MinimalDaysInFirstWeek>1</MinimalDaysInFirstWeek>
+</Calendar>
+</LC_CALENDAR>
+<LC_CURRENCY>
+<Currency default="true" usedInCompatibleFormatCodes="true">
+<CurrencyID>GBP</CurrencyID>
+<CurrencySymbol>£</CurrencySymbol>
+<BankSymbol>GBP</BankSymbol>
+<CurrencyName>Punnd Sasannach</CurrencyName>
+<DecimalPlaces>2</DecimalPlaces>
+</Currency>
+</LC_CURRENCY>
+<LC_TRANSLITERATION>
+<Transliteration unoid="LOWERCASE_UPPERCASE"/>
+<Transliteration unoid="UPPERCASE_LOWERCASE"/>
+<Transliteration unoid="IGNORE_CASE"/>
+</LC_TRANSLITERATION>
+<LC_MISC>
+<ReservedWords>
+<trueWord>Fìor</trueWord>
+<falseWord>Breug</falseWord>
+<quarter1Word>Ràithe 1</quarter1Word>
+<quarter2Word>Ràithe 2</quarter2Word>
+<quarter3Word>Ràithe 3</quarter3Word>
+<quarter4Word>Ràithe 4</quarter4Word>
+<aboveWord>Os cionn</aboveWord>
+<belowWord>Fo</belowWord>
+<quarter1Abbreviation>R 1</quarter1Abbreviation>
+<quarter2Abbreviation>R 2</quarter2Abbreviation>
+<quarter3Abbreviation>R 3</quarter3Abbreviation>
+<quarter4Abbreviation>R 4</quarter4Abbreviation>
+</ReservedWords>
+</LC_MISC>
+<LC_NumberingLevel>
+<NumberingLevel NumType="4" Prefix=" " Suffix=")"/>
+<NumberingLevel NumType="4" Prefix=" " Suffix="."/>
+<NumberingLevel NumType="4" Prefix="(" Suffix=")"/>
+<NumberingLevel NumType="2" Prefix=" " Suffix="."/>
+<NumberingLevel NumType="0" Prefix=" " Suffix=")"/>
+<NumberingLevel NumType="1" Prefix=" " Suffix=")"/>
+<NumberingLevel NumType="1" Prefix="(" Suffix=")"/>
+<NumberingLevel NumType="3" Prefix=" " Suffix="."/>
+</LC_NumberingLevel>
+<LC_OutLineNumberingLevel ref="en_US"/>
+</Locale>
diff --git a/i18npool/source/localedata/data/localedata_euro.map b/i18npool/source/localedata/data/localedata_euro.map
index b9dd20c724d7..db16f9f7f35c 100644
--- a/i18npool/source/localedata/data/localedata_euro.map
+++ b/i18npool/source/localedata/data/localedata_euro.map
@@ -31,6 +31,7 @@ getAllCalendars_fr_MC;
getAllCalendars_fur_IT;
getAllCalendars_fy_NL;
getAllCalendars_ga_IE;
+getAllCalendars_gd_GB;
getAllCalendars_gsc_FR;
getAllCalendars_hr_HR;
getAllCalendars_hsb_DE;
@@ -102,6 +103,7 @@ getAllCurrencies_fr_MC;
getAllCurrencies_fur_IT;
getAllCurrencies_fy_NL;
getAllCurrencies_ga_IE;
+getAllCurrencies_gd_GB;
getAllCurrencies_gsc_FR;
getAllCurrencies_hr_HR;
getAllCurrencies_hsb_DE;
@@ -173,6 +175,7 @@ getAllFormats0_fr_MC;
getAllFormats0_fur_IT;
getAllFormats0_fy_NL;
getAllFormats0_ga_IE;
+getAllFormats0_gd_GB;
getAllFormats0_gsc_FR;
getAllFormats0_hr_HR;
getAllFormats0_hsb_DE;
@@ -244,6 +247,7 @@ getBreakIteratorRules_fr_MC;
getBreakIteratorRules_fur_IT;
getBreakIteratorRules_fy_NL;
getBreakIteratorRules_ga_IE;
+getBreakIteratorRules_gd_GB;
getBreakIteratorRules_gsc_FR;
getBreakIteratorRules_hr_HR;
getBreakIteratorRules_hsb_DE;
@@ -315,6 +319,7 @@ getCollationOptions_fr_MC;
getCollationOptions_fur_IT;
getCollationOptions_fy_NL;
getCollationOptions_ga_IE;
+getCollationOptions_gd_GB;
getCollationOptions_gsc_FR;
getCollationOptions_hr_HR;
getCollationOptions_hsb_DE;
@@ -386,6 +391,7 @@ getCollatorImplementation_fr_MC;
getCollatorImplementation_fur_IT;
getCollatorImplementation_fy_NL;
getCollatorImplementation_ga_IE;
+getCollatorImplementation_gd_GB;
getCollatorImplementation_gsc_FR;
getCollatorImplementation_hr_HR;
getCollatorImplementation_hsb_DE;
@@ -457,6 +463,7 @@ getContinuousNumberingLevels_fr_MC;
getContinuousNumberingLevels_fur_IT;
getContinuousNumberingLevels_fy_NL;
getContinuousNumberingLevels_ga_IE;
+getContinuousNumberingLevels_gd_GB;
getContinuousNumberingLevels_gsc_FR;
getContinuousNumberingLevels_hr_HR;
getContinuousNumberingLevels_hsb_DE;
@@ -528,6 +535,7 @@ getFollowPageWords_fr_MC;
getFollowPageWords_fur_IT;
getFollowPageWords_fy_NL;
getFollowPageWords_ga_IE;
+getFollowPageWords_gd_GB;
getFollowPageWords_gsc_FR;
getFollowPageWords_hr_HR;
getFollowPageWords_hsb_DE;
@@ -599,6 +607,7 @@ getForbiddenCharacters_fr_MC;
getForbiddenCharacters_fur_IT;
getForbiddenCharacters_fy_NL;
getForbiddenCharacters_ga_IE;
+getForbiddenCharacters_gd_GB;
getForbiddenCharacters_gsc_FR;
getForbiddenCharacters_hr_HR;
getForbiddenCharacters_hsb_DE;
@@ -670,6 +679,7 @@ getIndexAlgorithm_fr_MC;
getIndexAlgorithm_fur_IT;
getIndexAlgorithm_fy_NL;
getIndexAlgorithm_ga_IE;
+getIndexAlgorithm_gd_GB;
getIndexAlgorithm_gsc_FR;
getIndexAlgorithm_hr_HR;
getIndexAlgorithm_hsb_DE;
@@ -741,6 +751,7 @@ getLCInfo_fr_MC;
getLCInfo_fur_IT;
getLCInfo_fy_NL;
getLCInfo_ga_IE;
+getLCInfo_gd_GB;
getLCInfo_gsc_FR;
getLCInfo_hr_HR;
getLCInfo_hsb_DE;
@@ -812,6 +823,7 @@ getLocaleItem_fr_MC;
getLocaleItem_fur_IT;
getLocaleItem_fy_NL;
getLocaleItem_ga_IE;
+getLocaleItem_gd_GB;
getLocaleItem_gsc_FR;
getLocaleItem_hr_HR;
getLocaleItem_hsb_DE;
@@ -883,6 +895,7 @@ getOutlineNumberingLevels_fr_MC;
getOutlineNumberingLevels_fur_IT;
getOutlineNumberingLevels_fy_NL;
getOutlineNumberingLevels_ga_IE;
+getOutlineNumberingLevels_gd_GB;
getOutlineNumberingLevels_gsc_FR;
getOutlineNumberingLevels_hr_HR;
getOutlineNumberingLevels_hsb_DE;
@@ -954,6 +967,7 @@ getReservedWords_fr_MC;
getReservedWords_fur_IT;
getReservedWords_fy_NL;
getReservedWords_ga_IE;
+getReservedWords_gd_GB;
getReservedWords_gsc_FR;
getReservedWords_hr_HR;
getReservedWords_hsb_DE;
@@ -1025,6 +1039,7 @@ getSearchOptions_fr_MC;
getSearchOptions_fur_IT;
getSearchOptions_fy_NL;
getSearchOptions_ga_IE;
+getSearchOptions_gd_GB;
getSearchOptions_gsc_FR;
getSearchOptions_hr_HR;
getSearchOptions_hsb_DE;
@@ -1096,6 +1111,7 @@ getTransliterations_fr_MC;
getTransliterations_fur_IT;
getTransliterations_fy_NL;
getTransliterations_ga_IE;
+getTransliterations_gd_GB;
getTransliterations_gsc_FR;
getTransliterations_hr_HR;
getTransliterations_hsb_DE;
@@ -1167,6 +1183,7 @@ getUnicodeScripts_fr_MC;
getUnicodeScripts_fur_IT;
getUnicodeScripts_fy_NL;
getUnicodeScripts_ga_IE;
+getUnicodeScripts_gd_GB;
getUnicodeScripts_gsc_FR;
getUnicodeScripts_hr_HR;
getUnicodeScripts_hsb_DE;
diff --git a/i18npool/source/localedata/data/makefile.mk b/i18npool/source/localedata/data/makefile.mk
index 38595ee538e8..c67e9082d7ce 100644
--- a/i18npool/source/localedata/data/makefile.mk
+++ b/i18npool/source/localedata/data/makefile.mk
@@ -36,7 +36,7 @@ LIBTARGET=NO
debug!=
.ENDIF
-.IF "$(OS)" == "WNT"
+.IF "$(OS_FOR_BUILD)" == "WNT"
my_file = file:///
.ELSE
my_file = file://
@@ -167,6 +167,7 @@ SHL3OBJS= \
$(SLO)$/localedata_fur_IT.obj \
$(SLO)$/localedata_fy_NL.obj \
$(SLO)$/localedata_ga_IE.obj \
+ $(SLO)$/localedata_gd_GB.obj \
$(SLO)$/localedata_gsc_FR.obj \
$(SLO)$/localedata_hr_HR.obj \
$(SLO)$/localedata_hsb_DE.obj \
@@ -326,12 +327,20 @@ MY_MISC_CXXFILES := $(foreach,i,$(DEPOBJFILES) $(MISC)/$(i:b).cxx)
.INCLUDE : target.mk
-$(MY_MISC_CXXFILES) : $(OUT_FOR_BUILD)$/bin$/saxparser$(EXECPOST) $(MISC)/saxparser.rdb
+$(MY_MISC_CXXFILES) : $(OUT_FOR_BUILD)$/bin$/saxparser$(EXECPOST_FOR_BUILD) $(MISC)/saxparser.rdb
+
+.IF "$(CROSS_COMPILING)" == "YES"
+# Always cross-compiling from some Unix,
+# so the BUILD platform's lib directory is correct
+sharedlibdir=$(SOLARLIBDIR_FOR_BUILD)
+.ELSE
+sharedlibdir=$(SOLARSHAREDBIN)
+.ENDIF
$(MISC)$/localedata_%.cxx : %.xml
$(AUGMENT_LIBRARY_PATH) $(WRAPCMD) $(OUT_FOR_BUILD)$/bin$/saxparser $* $< $@ \
$(my_file)$(PWD)/$(MISC_FOR_BUILD)/saxparser.rdb $(SOLARBINDIR)$/types.rdb \
- -env:OOO_INBUILD_SHAREDLIB_DIR=$(my_file)$(SOLARSHAREDBIN)
+ -env:OOO_INBUILD_SHAREDLIB_DIR=$(my_file)$(sharedlibdir)
$(RM) $(BIN)$/$(@:b).rdb
$(MISC)/saxparser.rdb .ERRREMOVE : $(SOLARENV)/bin/packcomponents.xslt \
diff --git a/i18npool/source/localedata/localedata.cxx b/i18npool/source/localedata/localedata.cxx
index d011865a7e35..b6245fca6268 100644
--- a/i18npool/source/localedata/localedata.cxx
+++ b/i18npool/source/localedata/localedata.cxx
@@ -149,6 +149,7 @@ static const struct {
{ "eu", lcl_DATA_EURO },
{ "fo_FO", lcl_DATA_EURO },
{ "ga_IE", lcl_DATA_EURO },
+ { "gd_GB", lcl_DATA_EURO },
{ "ka_GE", lcl_DATA_EURO },
{ "be_BY", lcl_DATA_EURO },
{ "kl_GL", lcl_DATA_EURO },
diff --git a/i18npool/source/localedata/makefile.mk b/i18npool/source/localedata/makefile.mk
index 9a671e8bcd6b..798b401d21f7 100644
--- a/i18npool/source/localedata/makefile.mk
+++ b/i18npool/source/localedata/makefile.mk
@@ -58,6 +58,8 @@ CDEFS+=-D__STD_LIMITS
SLOFILES= $(SLO)$/localedata.obj
+.IF "$(CROSS_COMPILING)" != "YES"
+
OBJFILES = \
$(OBJ)$/saxparser.obj \
$(OBJ)$/LocaleNode.obj \
@@ -78,6 +80,8 @@ DEPOBJFILES = \
$(OBJ)$/LocaleNode.obj \
$(OBJ)$/filewriter.obj
+.ENDIF
+
# --- Targets ------------------------------------------------------
.INCLUDE : target.mk
diff --git a/i18npool/source/paper/makefile.mk b/i18npool/source/paper/makefile.mk
index fa05cc21f3f9..f0b9bc8b02f1 100644
--- a/i18npool/source/paper/makefile.mk
+++ b/i18npool/source/paper/makefile.mk
@@ -44,7 +44,11 @@ SLOFILES=$(SLO)$/paper.obj
SHL1OBJS=$(SLOFILES)
SHL1TARGET=$(TARGET)$(DLLPOSTFIX)
+.IF "$(COM)" == "MSC"
SHL1IMPLIB=i$(TARGET)
+.ELSE
+SHL1IMPLIB=$(TARGET)$(DLLPOSTFIX)
+.ENDIF
DEF1DEPN=$(MISC)$/$(SHL1TARGET).flt
SHL1DEF=$(MISC)$/$(SHL1TARGET).def
diff --git a/i18npool/source/paper/paper.cxx b/i18npool/source/paper/paper.cxx
index 913cc7d834ed..fe376184edba 100644
--- a/i18npool/source/paper/paper.cxx
+++ b/i18npool/source/paper/paper.cxx
@@ -247,7 +247,7 @@ PaperInfo PaperInfo::getSystemDefaultPaper()
// try user-defined locale setting
xConfigNA->getByName( CREATE_OUSTRING( "ooSetupSystemLocale" ) ) >>= aLocaleStr;
}
- catch( Exception& )
+ catch(const Exception&)
{
}
@@ -377,7 +377,9 @@ PaperInfo PaperInfo::getSystemDefaultPaper()
xConfigNA->getByName( CREATE_OUSTRING( "Locale" ) ) >>= aLocaleStr;
}
}
- catch( Exception& ) {}
+ catch(const Exception&)
+ {
+ }
if (aLocaleStr.getLength() == 0)
aLocaleStr = CREATE_OUSTRING("en-US");
diff --git a/i18npool/source/registerservices/registerservices.cxx b/i18npool/source/registerservices/registerservices.cxx
index fd08933af2fa..5df7bb931b7c 100644
--- a/i18npool/source/registerservices/registerservices.cxx
+++ b/i18npool/source/registerservices/registerservices.cxx
@@ -576,11 +576,6 @@ static const struct InstancesArray {
extern "C"
{
-SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment( const sal_Char** ppEnvTypeName, uno_Environment** /*ppEnv*/ )
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory( const sal_Char* sImplementationName, void* _pServiceManager, void* /*_pRegistryKey*/ )
{
void* pRet = NULL;
diff --git a/i18npool/source/search/textsearch.cxx b/i18npool/source/search/textsearch.cxx
index 756d6c863ff9..f407a614ed1f 100644
--- a/i18npool/source/search/textsearch.cxx
+++ b/i18npool/source/search/textsearch.cxx
@@ -982,12 +982,6 @@ SAL_CALL TextSearch_CreateInstance(
extern "C"
{
-SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
- const sal_Char** ppEnvTypeName, uno_Environment** /*ppEnv*/ )
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory( const sal_Char* sImplementationName,
void* _pServiceManager, void* /*_pRegistryKey*/ )
{
diff --git a/i18npool/source/textconversion/data/makefile.mk b/i18npool/source/textconversion/data/makefile.mk
index 967b4f982ea2..6f54d2033f0b 100644
--- a/i18npool/source/textconversion/data/makefile.mk
+++ b/i18npool/source/textconversion/data/makefile.mk
@@ -34,7 +34,7 @@ LIBTARGET=NO
.INCLUDE : settings.mk
# Fix heap limit problem on MSC
-.IF "$(OS)" == "WNT"
+.IF "$(COM)" == "MSC"
.IF "$(COMEX)" != "8"
CDEFS+=-Zm300
.ENDIF
diff --git a/i18npool/source/textconversion/makefile.mk b/i18npool/source/textconversion/makefile.mk
index 2b91d964b2ad..dca748309ca7 100644
--- a/i18npool/source/textconversion/makefile.mk
+++ b/i18npool/source/textconversion/makefile.mk
@@ -44,6 +44,8 @@ SLOFILES= \
$(SLO)$/textconversion_ko.obj \
$(SLO)$/textconversion_zh.obj
+.IF "$(CROSS_COMPILING)" != "YES"
+
OBJFILES = $(OBJ)$/genconv_dict.obj
APP1TARGET = genconv_dict
@@ -53,6 +55,8 @@ APP1OBJS = $(OBJ)$/genconv_dict.obj
APP1STDLIBS = $(SALLIB)
+.ENDIF
+
# --- Targets ------------------------------------------------------
.INCLUDE : target.mk