diff --git a/0001-Make-charmap.cxx-compile-with-icu-4.4.patch b/0001-Make-charmap.cxx-compile-with-icu-4.4.patch new file mode 100644 index 0000000..0c0f46c --- /dev/null +++ b/0001-Make-charmap.cxx-compile-with-icu-4.4.patch @@ -0,0 +1,117 @@ +From 163116da07b5b277b9f0489e2542fac6eef43cc9 Mon Sep 17 00:00:00 2001 +From: Mark Wielaard +Date: Fri, 31 May 2013 00:10:58 +0200 +Subject: [PATCH] Make charmap.cxx compile with icu >= 4.4. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +configure.ac claims ICU >= 4.2 is supported. Make it so. + +Change-Id: Ia08bb492f41dcb88bc84550edb51ce5e89fe1103 +Reviewed-on: https://gerrit.libreoffice.org/4112 +Reviewed-by: Caolán McNamara +Tested-by: Caolán McNamara +(cherry picked from commit 30c3032920be91741ab089966f7e458ce08d09a4) +--- + i18npool/qa/cppunit/test_breakiterator.cxx | 4 +++- + i18nutil/source/utility/unicode.cxx | 6 +++--- + svx/source/dialog/charmap.cxx | 5 +++++ + sw/source/core/text/porlay.cxx | 4 ++++ + 4 files changed, 15 insertions(+), 4 deletions(-) + +diff --git a/i18npool/qa/cppunit/test_breakiterator.cxx b/i18npool/qa/cppunit/test_breakiterator.cxx +index 41e4077..b121f6d 100644 +--- a/i18npool/qa/cppunit/test_breakiterator.cxx ++++ b/i18npool/qa/cppunit/test_breakiterator.cxx +@@ -16,7 +16,7 @@ + #include + #include + +-#include ++#include + + #include + #include +@@ -233,6 +233,8 @@ void TestBreakIterator::testWordBoundaries() + } + + //See https://bugs.freedesktop.org/show_bug.cgi?id=49629 ++ //Note that the breakiterator test will fail on older icu versions ++ //(4.2.1) for the 200B (ZWSP) Zero Width Space testcase. + sal_Unicode aBreakTests[] = { ' ', 1, 2, 3, 4, 5, 6, 7, 0x91, 0x92, 0x200B, 0xE8FF, 0xF8FF }; + for (int mode = i18n::WordType::ANY_WORD; mode <= i18n::WordType::WORD_COUNT; ++mode) + { +diff --git a/i18nutil/source/utility/unicode.cxx b/i18nutil/source/utility/unicode.cxx +index 2c2dd42..b46a7f6 100644 +--- a/i18nutil/source/utility/unicode.cxx ++++ b/i18nutil/source/utility/unicode.cxx +@@ -826,6 +826,9 @@ OString SAL_CALL unicode::getExemplerLanguageForUScriptCode(UScriptCode eScript) + case USCRIPT_TAI_VIET: + sRet = "blt"; + break; ++ case USCRIPT_MANDAEAN: /* Aliased to USCRIPT_MANDAIC in icu 4.6. */ ++ sRet = "mic"; ++ break; + #if (U_ICU_VERSION_MAJOR_NUM > 4) || (U_ICU_VERSION_MAJOR_NUM == 4 && U_ICU_VERSION_MINOR_NUM >= 4) + case USCRIPT_NABATAEAN: //no language with an assigned code yet + sRet = "mis"; +@@ -833,9 +836,6 @@ OString SAL_CALL unicode::getExemplerLanguageForUScriptCode(UScriptCode eScript) + case USCRIPT_PALMYRENE: //no language with an assigned code yet + sRet = "mis"; + break; +- case USCRIPT_MANDAIC: +- sRet = "mic"; +- break; + case USCRIPT_BAMUM: + sRet = "bax"; + break; +diff --git a/svx/source/dialog/charmap.cxx b/svx/source/dialog/charmap.cxx +index 82239d8..be165f8 100644 +--- a/svx/source/dialog/charmap.cxx ++++ b/svx/source/dialog/charmap.cxx +@@ -1302,6 +1302,7 @@ void SubsetMap::InitList() + case UBLOCK_DOMINO_TILES: + aAllSubsets.push_back( Subset( 0x1F030, 0x1F09F, RID_SUBSETSTR_DOMINO_TILES ) ); + break; ++#if (U_ICU_VERSION_MAJOR_NUM > 4) || (U_ICU_VERSION_MAJOR_NUM == 4 && U_ICU_VERSION_MINOR_NUM >= 4) + case UBLOCK_SAMARITAN: + aAllSubsets.push_back( Subset( 0x0800, 0x083F, RID_SUBSETSTR_SAMARITAN ) ); + break; +@@ -1380,6 +1381,8 @@ void SubsetMap::InitList() + case UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C: + aAllSubsets.push_back( Subset( 0x2A700, 0x2B73F, RID_SUBSETSTR_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C ) ); + break; ++#endif ++#if (U_ICU_VERSION_MAJOR_NUM > 4) || (U_ICU_VERSION_MAJOR_NUM == 4 && U_ICU_VERSION_MINOR_NUM >= 6) + case UBLOCK_MANDAIC: + aAllSubsets.push_back( Subset( 0x0840, 0x085F, RID_SUBSETSTR_MANDAIC ) ); + break; +@@ -1416,6 +1419,8 @@ void SubsetMap::InitList() + case UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D: + aAllSubsets.push_back( Subset( 0x2B740, 0x2B81F, RID_SUBSETSTR_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D ) ); + break; ++#endif ++// Note ICU version 49 (NOT 4.9), so the MAJOR_NUM is two digits. + #if U_ICU_VERSION_MAJOR_NUM >= 49 + case UBLOCK_ARABIC_EXTENDED_A: + aAllSubsets.push_back( Subset( 0x08A0, 0x08FF, RID_SUBSETSTR_ARABIC_EXTENDED_A ) ); +diff --git a/sw/source/core/text/porlay.cxx b/sw/source/core/text/porlay.cxx +index b820b8b..edc8458 100644 +--- a/sw/source/core/text/porlay.cxx ++++ b/sw/source/core/text/porlay.cxx +@@ -72,7 +72,11 @@ using namespace i18n::ScriptType; + #define isRehChar(c) IS_JOINING_GROUP((c), REH) + #define isTehMarbutaChar(c) IS_JOINING_GROUP((c), TEH_MARBUTA) + #define isWawChar(c) IS_JOINING_GROUP((c), WAW) ++#if (U_ICU_VERSION_MAJOR_NUM > 4) || (U_ICU_VERSION_MAJOR_NUM == 4 && U_ICU_VERSION_MINOR_NUM >= 4) + #define isYehChar(c) (IS_JOINING_GROUP((c), YEH) || IS_JOINING_GROUP((c), FARSI_YEH)) ++#else ++#define isYehChar(c) IS_JOINING_GROUP((c), YEH) ++#endif + #define isSeenOrSadChar(c) (IS_JOINING_GROUP((c), SAD) || IS_JOINING_GROUP((c), SEEN)) + + bool isTransparentChar ( sal_Unicode cCh ) +-- +1.8.3.1 + diff --git a/libreoffice.spec b/libreoffice.spec index 6cfde5b..c615a8e 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -260,6 +260,7 @@ Patch19: 0001-only-use-the-SSPI-support-with-internal-neon.patch Patch20: 0001-Always-try-to-mount-in-gio-Content-getGFileInfo.patch Patch21: 0001-Resolves-rhbz-998136-different-index-to-gWidgetData-.patch Patch22: 0001-Resolves-rhbz-998046-store-last-size-position-of-the.patch +Patch23: 0001-Make-charmap.cxx-compile-with-icu-4.4.patch %define instdir %{_libdir} %define baseinstdir %{instdir}/libreoffice @@ -1014,6 +1015,7 @@ mv -f redhat.soc extras/source/palettes/standard.soc %patch20 -p1 -b .Always-try-to-mount-in-gio-Content-getGFileInfo.patch %patch21 -p1 -b .rhbz-998136-different-index-to-gWidgetData-.patch %patch22 -p1 -b .rhbz-998046-store-last-size-position-of-the.patch +%patch23 -p1 -b .Make-charmap.cxx-compile-with-icu-4.4.patch # TODO: check this # these are horribly incomplete--empty translations and copied english