libreoffice: fix build for icu 58
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
This commit is contained in:
@@ -0,0 +1,246 @@
|
||||
From 3e42714c76b1347babfdea0564009d8d82a83af4 Mon Sep 17 00:00:00 2001
|
||||
From: Eike Rathke <erack@redhat.com>
|
||||
Date: Wed, 2 Nov 2016 13:07:48 +0100
|
||||
Subject: [PATCH] upgrade to ICU 58
|
||||
|
||||
Change-Id: I4a992447df65b337721a2a2627d974172a14cba5
|
||||
Reviewed-on: https://gerrit.libreoffice.org/30487
|
||||
Reviewed-by: Eike Rathke <erack@redhat.com>
|
||||
Tested-by: Eike Rathke <erack@redhat.com>
|
||||
|
||||
Upstream-Status: Backport
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
.../source/breakiterator/breakiterator_unicode.cxx | 12 ++++++
|
||||
i18nutil/source/utility/unicode.cxx | 26 +++++++++++++
|
||||
include/svx/ucsubset.hrc | 11 ++++++
|
||||
svx/source/dialog/charmap.cxx | 35 +++++++++++++++++
|
||||
svx/source/dialog/ucsubset.src | 44 ++++++++++++++++++++++
|
||||
9 files changed, 130 insertions(+), 25 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index f06ef8e..66a11a9 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -9136,7 +9136,7 @@ SYSTEM_GENBRK=
|
||||
SYSTEM_GENCCODE=
|
||||
SYSTEM_GENCMN=
|
||||
|
||||
-ICU_MAJOR=54
|
||||
+ICU_MAJOR=58
|
||||
ICU_MINOR=1
|
||||
ICU_RECLASSIFIED_PREPEND_SET_EMPTY="TRUE"
|
||||
ICU_RECLASSIFIED_CONDITIONAL_JAPANESE_STARTER="TRUE"
|
||||
diff --git a/download.lst b/download.lst
|
||||
index 4571338..0770a4d 100644
|
||||
--- a/i18npool/source/breakiterator/breakiterator_unicode.cxx
|
||||
+++ b/i18npool/source/breakiterator/breakiterator_unicode.cxx
|
||||
@@ -63,10 +63,13 @@ BreakIterator_Unicode::~BreakIterator_Unicode()
|
||||
class OOoRuleBasedBreakIterator : public RuleBasedBreakIterator
|
||||
{
|
||||
public:
|
||||
+#if (U_ICU_VERSION_MAJOR_NUM < 58)
|
||||
+ // RuleBasedBreakIterator::setBreakType() is private as of ICU 58.
|
||||
inline void publicSetBreakType(int32_t type)
|
||||
{
|
||||
setBreakType(type);
|
||||
};
|
||||
+#endif
|
||||
OOoRuleBasedBreakIterator(UDataMemory* image,
|
||||
UErrorCode &status)
|
||||
: RuleBasedBreakIterator(image, status)
|
||||
@@ -142,12 +145,21 @@ void SAL_CALL BreakIterator_Unicode::loadICUBreakIterator(const css::lang::Local
|
||||
}
|
||||
}
|
||||
if (rbi) {
|
||||
+#if (U_ICU_VERSION_MAJOR_NUM < 58)
|
||||
+ // ICU 58 made RuleBasedBreakIterator::setBreakType() private
|
||||
+ // instead of protected, so the old workaround of
|
||||
+ // https://ssl.icu-project.org/trac/ticket/5498
|
||||
+ // doesn't work anymore. However, they also claim to have fixed
|
||||
+ // the cause that an initial fBreakType==-1 would lead to an
|
||||
+ // endless loop under some circumstances.
|
||||
+ // Let's see ...
|
||||
switch (rBreakType) {
|
||||
case LOAD_CHARACTER_BREAKITERATOR: rbi->publicSetBreakType(UBRK_CHARACTER); break;
|
||||
case LOAD_WORD_BREAKITERATOR: rbi->publicSetBreakType(UBRK_WORD); break;
|
||||
case LOAD_SENTENCE_BREAKITERATOR: rbi->publicSetBreakType(UBRK_SENTENCE); break;
|
||||
case LOAD_LINE_BREAKITERATOR: rbi->publicSetBreakType(UBRK_LINE); break;
|
||||
}
|
||||
+#endif
|
||||
icuBI->aBreakIterator = rbi;
|
||||
}
|
||||
}
|
||||
diff --git a/i18nutil/source/utility/unicode.cxx b/i18nutil/source/utility/unicode.cxx
|
||||
index bb82bbf..984c5f7 100644
|
||||
--- a/i18nutil/source/utility/unicode.cxx
|
||||
+++ b/i18nutil/source/utility/unicode.cxx
|
||||
@@ -957,6 +957,32 @@ OString SAL_CALL unicode::getExemplarLanguageForUScriptCode(UScriptCode eScript)
|
||||
sRet = "sa-Sidd";
|
||||
break;
|
||||
#endif
|
||||
+#if (U_ICU_VERSION_MAJOR_NUM >= 58)
|
||||
+ case USCRIPT_ADLAM:
|
||||
+ sRet = "mis"; // Adlm - Adlam for Fulani, no language code
|
||||
+ break;
|
||||
+ case USCRIPT_BHAIKSUKI:
|
||||
+ sRet = "mis"; // Bhks - Bhaiksuki for some Buddhist texts, no language code
|
||||
+ break;
|
||||
+ case USCRIPT_MARCHEN:
|
||||
+ sRet = "bo-Marc";
|
||||
+ break;
|
||||
+ case USCRIPT_NEWA:
|
||||
+ sRet = "new-Newa";
|
||||
+ break;
|
||||
+ case USCRIPT_OSAGE:
|
||||
+ sRet = "osa-Osge";
|
||||
+ break;
|
||||
+ case USCRIPT_HAN_WITH_BOPOMOFO:
|
||||
+ sRet = "mis"; // Hanb - Han with Bopomofo, zh-Hanb ?
|
||||
+ break;
|
||||
+ case USCRIPT_JAMO:
|
||||
+ sRet = "mis"; // Jamo - Jamo subset of Hangul, ko-Jamo ?
|
||||
+ break;
|
||||
+ case USCRIPT_SYMBOLS_EMOJI:
|
||||
+ sRet = "mis"; // Zsye - Emoji variant
|
||||
+ break;
|
||||
+#endif
|
||||
}
|
||||
return sRet;
|
||||
}
|
||||
diff --git a/include/svx/ucsubset.hrc b/include/svx/ucsubset.hrc
|
||||
index adf1cf6..1157a7e 100644
|
||||
--- a/include/svx/ucsubset.hrc
|
||||
+++ b/include/svx/ucsubset.hrc
|
||||
@@ -281,6 +281,27 @@
|
||||
#define RID_SUBSETSTR_SUPPLEMENTAL_ARROWS_C (RID_SUBSET_START + 253)
|
||||
#define RID_SUBSETSTR_TIRHUTA (RID_SUBSET_START + 254)
|
||||
#define RID_SUBSETSTR_WARANG_CITI (RID_SUBSET_START + 255)
|
||||
+#define RID_SUBSETSTR_AHOM (RID_SUBSET_START + 256)
|
||||
+#define RID_SUBSETSTR_ANATOLIAN_HIEROGLYPHS (RID_SUBSET_START + 257)
|
||||
+#define RID_SUBSETSTR_CHEROKEE_SUPPLEMENT (RID_SUBSET_START + 258)
|
||||
+#define RID_SUBSETSTR_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E (RID_SUBSET_START + 259)
|
||||
+#define RID_SUBSETSTR_EARLY_DYNASTIC_CUNEIFORM (RID_SUBSET_START + 260)
|
||||
+#define RID_SUBSETSTR_HATRAN (RID_SUBSET_START + 261)
|
||||
+#define RID_SUBSETSTR_MULTANI (RID_SUBSET_START + 262)
|
||||
+#define RID_SUBSETSTR_OLD_HUNGARIAN (RID_SUBSET_START + 263)
|
||||
+#define RID_SUBSETSTR_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS (RID_SUBSET_START + 264)
|
||||
+#define RID_SUBSETSTR_SUTTON_SIGNWRITING (RID_SUBSET_START + 265)
|
||||
+#define RID_SUBSETSTR_ADLAM (RID_SUBSET_START + 266)
|
||||
+#define RID_SUBSETSTR_BHAIKSUKI (RID_SUBSET_START + 267)
|
||||
+#define RID_SUBSETSTR_CYRILLIC_EXTENDED_C (RID_SUBSET_START + 268)
|
||||
+#define RID_SUBSETSTR_GLAGOLITIC_SUPPLEMENT (RID_SUBSET_START + 269)
|
||||
+#define RID_SUBSETSTR_IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION (RID_SUBSET_START + 270)
|
||||
+#define RID_SUBSETSTR_MARCHEN (RID_SUBSET_START + 271)
|
||||
+#define RID_SUBSETSTR_MONGOLIAN_SUPPLEMENT (RID_SUBSET_START + 272)
|
||||
+#define RID_SUBSETSTR_NEWA (RID_SUBSET_START + 273)
|
||||
+#define RID_SUBSETSTR_OSAGE (RID_SUBSET_START + 274)
|
||||
+#define RID_SUBSETSTR_TANGUT (RID_SUBSET_START + 275)
|
||||
+#define RID_SUBSETSTR_TANGUT_COMPONENTS (RID_SUBSET_START + 276)
|
||||
|
||||
// RID_SUBSET_END (RID_SUBSET_START + 299)
|
||||
|
||||
diff --git a/svx/source/dialog/charmap.cxx b/svx/source/dialog/charmap.cxx
|
||||
index bcc7cef..ff201a6 100644
|
||||
--- a/svx/source/dialog/charmap.cxx
|
||||
+++ b/svx/source/dialog/charmap.cxx
|
||||
@@ -1594,6 +1594,41 @@ void SubsetMap::InitList()
|
||||
aAllSubsets.push_back( Subset( 0x1D800, 0x1DAAF, RID_SUBSETSTR_SUTTON_SIGNWRITING ) );
|
||||
break;
|
||||
#endif
|
||||
+#if (U_ICU_VERSION_MAJOR_NUM >= 58)
|
||||
+ case UBLOCK_ADLAM:
|
||||
+ aAllSubsets.push_back( Subset( 0x1E900, 0x1E95F, RID_SUBSETSTR_ADLAM ) );
|
||||
+ break;
|
||||
+ case UBLOCK_BHAIKSUKI:
|
||||
+ aAllSubsets.push_back( Subset( 0x11C00, 0x11C6F, RID_SUBSETSTR_BHAIKSUKI ) );
|
||||
+ break;
|
||||
+ case UBLOCK_CYRILLIC_EXTENDED_C:
|
||||
+ aAllSubsets.push_back( Subset( 0x1C80, 0x1C8F, RID_SUBSETSTR_CYRILLIC_EXTENDED_C ) );
|
||||
+ break;
|
||||
+ case UBLOCK_GLAGOLITIC_SUPPLEMENT:
|
||||
+ aAllSubsets.push_back( Subset( 0x1E000, 0x1E02F, RID_SUBSETSTR_GLAGOLITIC_SUPPLEMENT ) );
|
||||
+ break;
|
||||
+ case UBLOCK_IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION:
|
||||
+ aAllSubsets.push_back( Subset( 0x16FE0, 0x16FFF, RID_SUBSETSTR_IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION ) );
|
||||
+ break;
|
||||
+ case UBLOCK_MARCHEN:
|
||||
+ aAllSubsets.push_back( Subset( 0x11C70, 0x11CBF, RID_SUBSETSTR_MARCHEN ) );
|
||||
+ break;
|
||||
+ case UBLOCK_MONGOLIAN_SUPPLEMENT:
|
||||
+ aAllSubsets.push_back( Subset( 0x11660, 0x1167F, RID_SUBSETSTR_MONGOLIAN_SUPPLEMENT ) );
|
||||
+ break;
|
||||
+ case UBLOCK_NEWA:
|
||||
+ aAllSubsets.push_back( Subset( 0x11400, 0x1147F, RID_SUBSETSTR_NEWA ) );
|
||||
+ break;
|
||||
+ case UBLOCK_OSAGE:
|
||||
+ aAllSubsets.push_back( Subset( 0x104B0, 0x104FF, RID_SUBSETSTR_OSAGE ) );
|
||||
+ break;
|
||||
+ case UBLOCK_TANGUT:
|
||||
+ aAllSubsets.push_back( Subset( 0x17000, 0x187FF, RID_SUBSETSTR_TANGUT ) );
|
||||
+ break;
|
||||
+ case UBLOCK_TANGUT_COMPONENTS:
|
||||
+ aAllSubsets.push_back( Subset( 0x18800, 0x18AFF, RID_SUBSETSTR_TANGUT_COMPONENTS ) );
|
||||
+ break;
|
||||
+#endif
|
||||
|
||||
}
|
||||
|
||||
diff --git a/svx/source/dialog/ucsubset.src b/svx/source/dialog/ucsubset.src
|
||||
index 06630cc..a7765c3 100644
|
||||
--- a/svx/source/dialog/ucsubset.src
|
||||
+++ b/svx/source/dialog/ucsubset.src
|
||||
@@ -1079,6 +1079,50 @@ Resource RID_SUBSETMAP
|
||||
{
|
||||
Text [ en-US ] = "Sutton Signwriting";
|
||||
};
|
||||
+ String RID_SUBSETSTR_ADLAM
|
||||
+ {
|
||||
+ Text [ en-US ] = "Adlam";
|
||||
+ };
|
||||
+ String RID_SUBSETSTR_BHAIKSUKI
|
||||
+ {
|
||||
+ Text [ en-US ] = "Bhaiksuki";
|
||||
+ };
|
||||
+ String RID_SUBSETSTR_CYRILLIC_EXTENDED_C
|
||||
+ {
|
||||
+ Text [ en-US ] = "Cyrillic Extended-C";
|
||||
+ };
|
||||
+ String RID_SUBSETSTR_GLAGOLITIC_SUPPLEMENT
|
||||
+ {
|
||||
+ Text [ en-US ] = "Glagolitic Supplement";
|
||||
+ };
|
||||
+ String RID_SUBSETSTR_IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION
|
||||
+ {
|
||||
+ Text [ en-US ] = "Ideographic Symbols and Punctuation";
|
||||
+ };
|
||||
+ String RID_SUBSETSTR_MARCHEN
|
||||
+ {
|
||||
+ Text [ en-US ] = "Marchen";
|
||||
+ };
|
||||
+ String RID_SUBSETSTR_MONGOLIAN_SUPPLEMENT
|
||||
+ {
|
||||
+ Text [ en-US ] = "Mongolian Supplement";
|
||||
+ };
|
||||
+ String RID_SUBSETSTR_NEWA
|
||||
+ {
|
||||
+ Text [ en-US ] = "Newa";
|
||||
+ };
|
||||
+ String RID_SUBSETSTR_OSAGE
|
||||
+ {
|
||||
+ Text [ en-US ] = "Osage";
|
||||
+ };
|
||||
+ String RID_SUBSETSTR_TANGUT
|
||||
+ {
|
||||
+ Text [ en-US ] = "Tangut";
|
||||
+ };
|
||||
+ String RID_SUBSETSTR_TANGUT_COMPONENTS
|
||||
+ {
|
||||
+ Text [ en-US ] = "Tangut Components";
|
||||
+ };
|
||||
};
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -13,6 +13,7 @@ SRC_URI += " \
|
||||
file://0001-update-ax_boost-scripts-to-fix-configure-with-system.patch \
|
||||
file://0002-fix-gcc-build-error.patch \
|
||||
file://0003-Werror-shift-negative-value-GCC-6.patch \
|
||||
file://0004-upgrade-to-ICU-58.patch \
|
||||
"
|
||||
SRCREV_unoconv = "260b815bf2c57118df439f381974f3f0987222a1"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user