Upgrade to ICU 64.2
As an interim step to upgrade to ICU 65.1 Adds new scripts and Unicode blocks from Unicode 12. Change-Id: Idc4a6b29ffb04bcb424522fcbd29a8db0428c056 Reviewed-on: https://gerrit.libreoffice.org/81611 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
This commit is contained in:
+2
-2
@@ -9480,8 +9480,8 @@ SYSTEM_GENBRK=
|
||||
SYSTEM_GENCCODE=
|
||||
SYSTEM_GENCMN=
|
||||
|
||||
ICU_MAJOR=63
|
||||
ICU_MINOR=1
|
||||
ICU_MAJOR=64
|
||||
ICU_MINOR=2
|
||||
ICU_RECLASSIFIED_PREPEND_SET_EMPTY="TRUE"
|
||||
ICU_RECLASSIFIED_CONDITIONAL_JAPANESE_STARTER="TRUE"
|
||||
ICU_RECLASSIFIED_HEBREW_LETTER="TRUE"
|
||||
|
||||
+4
-4
@@ -104,10 +104,10 @@ export HUNSPELL_SHA256SUM := 57be4e03ae9dd62c3471f667a0d81a14513e314d4d92081292b
|
||||
export HUNSPELL_TARBALL := hunspell-1.7.0.tar.gz
|
||||
export HYPHEN_SHA256SUM := 304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705
|
||||
export HYPHEN_TARBALL := 5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz
|
||||
export ICU_SHA256SUM := 05c490b69454fce5860b7e8e2821231674af0a11d7ef2febea9a32512998cb9d
|
||||
export ICU_TARBALL := icu4c-63_1-src.tgz
|
||||
export ICU_DATA_SHA256SUM := 9bef2bf28ec4fdc86a3bd88d7ac4d509fef6dfbe9c6798299e55b9d4343e960c
|
||||
export ICU_DATA_TARBALL := icu4c-63_1-data.zip
|
||||
export ICU_SHA256SUM := 627d5d8478e6d96fc8c90fed4851239079a561a6a8b9e48b0892f24e82d31d6c
|
||||
export ICU_TARBALL := icu4c-64_2-src.tgz
|
||||
export ICU_DATA_SHA256SUM := fba0e89f5b3f285d722a83317647bffee69b6f1eb8d067d5da03c5677c45e510
|
||||
export ICU_DATA_TARBALL := icu4c-64_2-data.zip
|
||||
export JFREEREPORT_FLOW_ENGINE_SHA256SUM := 233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd
|
||||
export JFREEREPORT_FLOW_ENGINE_TARBALL := ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
|
||||
export JFREEREPORT_FLUTE_SHA256SUM := 1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133
|
||||
|
||||
Vendored
-63
@@ -1,63 +0,0 @@
|
||||
From 6cbd62e59e30f73b444be89ea71fd74275ac53a4 Mon Sep 17 00:00:00 2001
|
||||
From: Shane Carr <shane@unicode.org>
|
||||
Date: Mon, 29 Oct 2018 23:52:44 -0700
|
||||
Subject: [PATCH] ICU-20246 Fixing another integer overflow in number parsing.
|
||||
|
||||
(cherry picked from commit 53d8c8f3d181d87a6aa925b449b51c4a2c922a51)
|
||||
---
|
||||
icu4c/source/i18n/fmtable.cpp | 2 +-
|
||||
icu4c/source/i18n/number_decimalquantity.cpp | 5 ++++-
|
||||
icu4c/source/test/intltest/numfmtst.cpp | 8 ++++++++
|
||||
.../icu/impl/number/DecimalQuantity_AbstractBCD.java | 5 ++++-
|
||||
.../impl/number/DecimalQuantity_DualStorageBCD.java | 10 +++++++++-
|
||||
.../com/ibm/icu/dev/test/format/NumberFormatTest.java | 5 +++++
|
||||
6 files changed, 31 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/icu4c/source/i18n/fmtable.cpp b/icu4c/source/i18n/fmtable.cpp
|
||||
index 45c7024fc29..8601d95f4a6 100644
|
||||
--- a/icu4c/source/i18n/fmtable.cpp
|
||||
+++ b/icu4c/source/i18n/fmtable.cpp
|
||||
@@ -734,7 +734,7 @@ CharString *Formattable::internalGetCharString(UErrorCode &status) {
|
||||
// not print scientific notation for magnitudes greater than -5 and smaller than some amount (+5?).
|
||||
if (fDecimalQuantity->isZero()) {
|
||||
fDecimalStr->append("0", -1, status);
|
||||
- } else if (std::abs(fDecimalQuantity->getMagnitude()) < 5) {
|
||||
+ } else if (fDecimalQuantity->getMagnitude() != INT32_MIN && std::abs(fDecimalQuantity->getMagnitude()) < 5) {
|
||||
fDecimalStr->appendInvariantChars(fDecimalQuantity->toPlainString(), status);
|
||||
} else {
|
||||
fDecimalStr->appendInvariantChars(fDecimalQuantity->toScientificString(), status);
|
||||
diff --git a/icu4c/source/i18n/number_decimalquantity.cpp b/icu4c/source/i18n/number_decimalquantity.cpp
|
||||
index 2c4182b1c6e..f6f2b20fab0 100644
|
||||
--- a/icu4c/source/i18n/number_decimalquantity.cpp
|
||||
+++ b/icu4c/source/i18n/number_decimalquantity.cpp
|
||||
@@ -820,7 +820,10 @@ UnicodeString DecimalQuantity::toScientificString() const {
|
||||
}
|
||||
result.append(u'E');
|
||||
int32_t _scale = upperPos + scale;
|
||||
- if (_scale < 0) {
|
||||
+ if (_scale == INT32_MIN) {
|
||||
+ result.append({u"-2147483648", -1});
|
||||
+ return result;
|
||||
+ } else if (_scale < 0) {
|
||||
_scale *= -1;
|
||||
result.append(u'-');
|
||||
} else {
|
||||
diff --git a/icu4c/source/test/intltest/numfmtst.cpp b/icu4c/source/test/intltest/numfmtst.cpp
|
||||
index 34355939113..8d52dc122bf 100644
|
||||
--- a/icu4c/source/test/intltest/numfmtst.cpp
|
||||
+++ b/icu4c/source/test/intltest/numfmtst.cpp
|
||||
@@ -9226,6 +9226,14 @@ void NumberFormatTest::Test20037_ScientificIntegerOverflow() {
|
||||
assertEquals(u"Should not overflow and should parse only the first exponent",
|
||||
u"1E-2147483647",
|
||||
{sp.data(), sp.length(), US_INV});
|
||||
+
|
||||
+ // Test edge case overflow of exponent
|
||||
+ result = Formattable();
|
||||
+ nf->parse(u".0003e-2147483644", result, status);
|
||||
+ sp = result.getDecimalNumber(status);
|
||||
+ assertEquals(u"Should not overflow",
|
||||
+ u"3E-2147483648",
|
||||
+ {sp.data(), sp.length(), US_INV});
|
||||
}
|
||||
|
||||
void NumberFormatTest::Test13840_ParseLongStringCrash() {
|
||||
Vendored
+1
-2
@@ -41,9 +41,8 @@ $(eval $(call gb_UnpackedTarball_add_patches,icu,\
|
||||
external/icu/icu4c-61-werror-shadow.patch.1 \
|
||||
external/icu/gcc9.patch \
|
||||
external/icu/char8_t.patch \
|
||||
external/icu/CVE-2018-18928.patch.2 \
|
||||
external/icu/clang-cl.patch \
|
||||
external/icu/c++20-comparison.patch \
|
||||
external/icu/icu4c-64-54558d1dd01b29c763ca12b6327108fe3ac66637.patch.2 \
|
||||
))
|
||||
|
||||
$(eval $(call gb_UnpackedTarball_add_file,icu,source/data/brkitr/khmerdict.dict,external/icu/khmerdict.dict))
|
||||
|
||||
Vendored
-37
@@ -1,37 +0,0 @@
|
||||
--- source/common/umutex.h
|
||||
+++ source/common/umutex.h
|
||||
@@ -54,15 +54,15 @@
|
||||
|
||||
#include <atomic>
|
||||
|
||||
-U_NAMESPACE_BEGIN
|
||||
-
|
||||
// Export an explicit template instantiation of std::atomic<int32_t>.
|
||||
// When building DLLs for Windows this is required as it is used as a data member of the exported SharedObject class.
|
||||
// See digitlst.h, pluralaffix.h, datefmt.h, and others for similar examples.
|
||||
#if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN
|
||||
template struct U_COMMON_API std::atomic<int32_t>;
|
||||
#endif
|
||||
|
||||
+U_NAMESPACE_BEGIN
|
||||
+
|
||||
typedef std::atomic<int32_t> u_atomic_int32_t;
|
||||
#define ATOMIC_INT32_T_INITIALIZER(val) ATOMIC_VAR_INIT(val)
|
||||
|
||||
--- source/i18n/unicode/numberrangeformatter.h
|
||||
+++ source/i18n/unicode/numberrangeformatter.h
|
||||
@@ -186,7 +186,13 @@
|
||||
* (When building DLLs for Windows this is required.)
|
||||
*/
|
||||
#if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN && !defined(U_IN_DOXYGEN)
|
||||
-template struct U_I18N_API std::atomic<impl::NumberRangeFormatterImpl*>;
|
||||
+} // namespace number
|
||||
+U_NAMESPACE_END
|
||||
+
|
||||
+template struct U_I18N_API std::atomic< U_NAMESPACE_QUALIFIER number::impl::NumberRangeFormatterImpl*>;
|
||||
+
|
||||
+U_NAMESPACE_BEGIN
|
||||
+namespace number { // icu::number
|
||||
#endif
|
||||
/** \endcond */
|
||||
|
||||
@@ -0,0 +1,268 @@
|
||||
From 54558d1dd01b29c763ca12b6327108fe3ac66637 Mon Sep 17 00:00:00 2001
|
||||
From: Alon Bar-Lev <alon.barlev@gmail.com>
|
||||
Date: Sat, 30 Mar 2019 09:59:46 +0300
|
||||
Subject: [PATCH] ICU-20530 Re-support include under extern "C"
|
||||
|
||||
Up until icu-6.3 icu supported include under extern "C" under the explicit
|
||||
requirements, see comment of U_NAMESPACE_BEGIN at uversion.h:
|
||||
|
||||
* \def U_NAMESPACE_BEGIN
|
||||
* This is used to begin a declaration of a public ICU C++ API.
|
||||
* When not compiling for C++, it does nothing.
|
||||
* When compiling for C++, it begins an extern "C++" linkage block (to protect
|
||||
* against cases in which an external client includes ICU header files inside
|
||||
* an extern "C" linkage block).
|
||||
*
|
||||
* It also begins a versioned-ICU-namespace block.
|
||||
* @stable ICU 2.4
|
||||
|
||||
Recent changes were made to include C++ headers within global scope which
|
||||
broke this behavior.
|
||||
|
||||
To keep requested behavior add two additional macros U_CXX_BEGIN, U_CXX_END to
|
||||
avoid breakage of doxygen while enforcing C++ API visibility.
|
||||
|
||||
Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
|
||||
---
|
||||
icu4c/source/common/unicode/char16ptr.h | 5 +++-
|
||||
icu4c/source/common/unicode/localpointer.h | 2 ++
|
||||
icu4c/source/common/unicode/std_string.h | 3 +++
|
||||
icu4c/source/common/unicode/umachine.h | 25 +++++++++++++++++++
|
||||
icu4c/source/common/unicode/unistr.h | 5 +++-
|
||||
icu4c/source/common/unicode/uversion.h | 15 ++++-------
|
||||
.../i18n/unicode/numberrangeformatter.h | 5 +++-
|
||||
icu4c/source/io/unicode/ustream.h | 2 ++
|
||||
icu4c/source/test/hdrtst/Makefile.in | 16 ++++++++++--
|
||||
9 files changed, 63 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/icu4c/source/common/unicode/char16ptr.h b/icu4c/source/common/unicode/char16ptr.h
|
||||
index a7c5f1a0c5e..f774d7d8b21 100644
|
||||
--- a/icu4c/source/common/unicode/char16ptr.h
|
||||
+++ b/icu4c/source/common/unicode/char16ptr.h
|
||||
@@ -7,9 +7,12 @@
|
||||
#ifndef __CHAR16PTR_H__
|
||||
#define __CHAR16PTR_H__
|
||||
|
||||
-#include <cstddef>
|
||||
#include "unicode/utypes.h"
|
||||
|
||||
+U_CXX_BEGIN
|
||||
+#include <cstddef>
|
||||
+U_CXX_END
|
||||
+
|
||||
/**
|
||||
* \file
|
||||
* \brief C++ API: char16_t pointer wrappers with
|
||||
diff --git a/icu4c/source/common/unicode/localpointer.h b/icu4c/source/common/unicode/localpointer.h
|
||||
index e011688b1a5..fd26dc40e9d 100644
|
||||
--- a/icu4c/source/common/unicode/localpointer.h
|
||||
+++ b/icu4c/source/common/unicode/localpointer.h
|
||||
@@ -42,7 +42,9 @@
|
||||
|
||||
#if U_SHOW_CPLUSPLUS_API
|
||||
|
||||
+U_CXX_BEGIN
|
||||
#include <memory>
|
||||
+U_CXX_END
|
||||
|
||||
U_NAMESPACE_BEGIN
|
||||
|
||||
diff --git a/icu4c/source/common/unicode/std_string.h b/icu4c/source/common/unicode/std_string.h
|
||||
index 729c5639950..d293e714fe0 100644
|
||||
--- a/icu4c/source/common/unicode/std_string.h
|
||||
+++ b/icu4c/source/common/unicode/std_string.h
|
||||
@@ -32,6 +32,9 @@
|
||||
#if defined(__GLIBCXX__)
|
||||
namespace std { class type_info; }
|
||||
#endif
|
||||
+
|
||||
+U_CXX_BEGIN
|
||||
#include <string>
|
||||
+U_CXX_END
|
||||
|
||||
#endif // __STD_STRING_H__
|
||||
diff --git a/icu4c/source/common/unicode/umachine.h b/icu4c/source/common/unicode/umachine.h
|
||||
index 0205da62eb4..6137c125df4 100644
|
||||
--- a/icu4c/source/common/unicode/umachine.h
|
||||
+++ b/icu4c/source/common/unicode/umachine.h
|
||||
@@ -75,14 +75,39 @@
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
|
||||
+/**
|
||||
+ * \def U_CXX_BEGIN
|
||||
+ * This is used to begin a C++ block.
|
||||
+ * When not compiling for C++, it does nothing.
|
||||
+ * When compiling for C++, it begins an extern "C++" linkage block (to protect
|
||||
+ * against cases in which an external client includes ICU header files inside
|
||||
+ * an extern "C" linkage block).
|
||||
+ *
|
||||
+ * @draft ICU 65
|
||||
+ */
|
||||
+
|
||||
+/**
|
||||
+ * \def U_CXX_END
|
||||
+ * This is used to end a declaration of a C++ API.
|
||||
+ * When not compiling for C++, it does nothing.
|
||||
+ * When compiling for C++, it ends the extern "C++" block begun by
|
||||
+ * U_CXX_BEGIN.
|
||||
+ *
|
||||
+ * @draft ICU 65
|
||||
+ */
|
||||
+
|
||||
#ifdef __cplusplus
|
||||
# define U_CFUNC extern "C"
|
||||
# define U_CDECL_BEGIN extern "C" {
|
||||
# define U_CDECL_END }
|
||||
+# define U_CXX_BEGIN extern "C++" {
|
||||
+# define U_CXX_END }
|
||||
#else
|
||||
# define U_CFUNC extern
|
||||
# define U_CDECL_BEGIN
|
||||
# define U_CDECL_END
|
||||
+# define U_CXX_BEGIN
|
||||
+# define U_CXX_END
|
||||
#endif
|
||||
|
||||
#ifndef U_ATTRIBUTE_DEPRECATED
|
||||
diff --git a/icu4c/source/common/unicode/unistr.h b/icu4c/source/common/unicode/unistr.h
|
||||
index d79168b9195..c323e33c07c 100644
|
||||
--- a/icu4c/source/common/unicode/unistr.h
|
||||
+++ b/icu4c/source/common/unicode/unistr.h
|
||||
@@ -28,7 +28,6 @@
|
||||
* \brief C++ API: Unicode String
|
||||
*/
|
||||
|
||||
-#include <cstddef>
|
||||
#include "unicode/utypes.h"
|
||||
#include "unicode/char16ptr.h"
|
||||
#include "unicode/rep.h"
|
||||
@@ -36,6 +35,10 @@
|
||||
#include "unicode/stringpiece.h"
|
||||
#include "unicode/bytestream.h"
|
||||
|
||||
+U_CXX_BEGIN
|
||||
+#include <cstddef>
|
||||
+U_CXX_END
|
||||
+
|
||||
struct UConverter; // unicode/ucnv.h
|
||||
|
||||
#ifndef USTRING_H
|
||||
diff --git a/icu4c/source/common/unicode/uversion.h b/icu4c/source/common/unicode/uversion.h
|
||||
index 4aaa8b4d606..9e6bd13734f 100644
|
||||
--- a/icu4c/source/common/unicode/uversion.h
|
||||
+++ b/icu4c/source/common/unicode/uversion.h
|
||||
@@ -64,13 +64,10 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
|
||||
|
||||
/**
|
||||
* \def U_NAMESPACE_BEGIN
|
||||
- * This is used to begin a declaration of a public ICU C++ API.
|
||||
+ * This is used to begin a declaration of a public ICU C++ API within
|
||||
+ * versioned-ICU-namespace block.
|
||||
* When not compiling for C++, it does nothing.
|
||||
- * When compiling for C++, it begins an extern "C++" linkage block (to protect
|
||||
- * against cases in which an external client includes ICU header files inside
|
||||
- * an extern "C" linkage block).
|
||||
*
|
||||
- * It also begins a versioned-ICU-namespace block.
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
|
||||
@@ -78,10 +75,8 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
|
||||
* \def U_NAMESPACE_END
|
||||
* This is used to end a declaration of a public ICU C++ API.
|
||||
* When not compiling for C++, it does nothing.
|
||||
- * When compiling for C++, it ends the extern "C++" block begun by
|
||||
- * U_NAMESPACE_BEGIN.
|
||||
+ * It ends the versioned-ICU-namespace block begun by U_NAMESPACE_BEGIN.
|
||||
*
|
||||
- * It also ends the versioned-ICU-namespace block begun by U_NAMESPACE_BEGIN.
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
|
||||
@@ -116,8 +111,8 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
|
||||
namespace icu = U_ICU_NAMESPACE;
|
||||
# endif
|
||||
|
||||
-# define U_NAMESPACE_BEGIN extern "C++" { namespace U_ICU_NAMESPACE {
|
||||
-# define U_NAMESPACE_END } }
|
||||
+# define U_NAMESPACE_BEGIN U_CXX_BEGIN namespace U_ICU_NAMESPACE {
|
||||
+# define U_NAMESPACE_END } U_CXX_END
|
||||
# define U_NAMESPACE_USE using namespace U_ICU_NAMESPACE;
|
||||
# define U_NAMESPACE_QUALIFIER U_ICU_NAMESPACE::
|
||||
|
||||
diff --git a/icu4c/source/i18n/unicode/numberrangeformatter.h b/icu4c/source/i18n/unicode/numberrangeformatter.h
|
||||
index 4a386b80394..0c6eb62ae1f 100644
|
||||
--- a/icu4c/source/i18n/unicode/numberrangeformatter.h
|
||||
+++ b/icu4c/source/i18n/unicode/numberrangeformatter.h
|
||||
@@ -5,13 +5,16 @@
|
||||
#ifndef __NUMBERRANGEFORMATTER_H__
|
||||
#define __NUMBERRANGEFORMATTER_H__
|
||||
|
||||
-#include <atomic>
|
||||
#include "unicode/appendable.h"
|
||||
#include "unicode/fieldpos.h"
|
||||
#include "unicode/formattedvalue.h"
|
||||
#include "unicode/fpositer.h"
|
||||
#include "unicode/numberformatter.h"
|
||||
|
||||
+U_CXX_BEGIN
|
||||
+#include <atomic>
|
||||
+U_CXX_END
|
||||
+
|
||||
#ifndef U_HIDE_DRAFT_API
|
||||
|
||||
/**
|
||||
diff --git a/icu4c/source/io/unicode/ustream.h b/icu4c/source/io/unicode/ustream.h
|
||||
index c10ce6a2de5..e1ec87c75d3 100644
|
||||
--- a/icu4c/source/io/unicode/ustream.h
|
||||
+++ b/icu4c/source/io/unicode/ustream.h
|
||||
@@ -34,7 +34,9 @@
|
||||
namespace std { class type_info; } // WORKAROUND: http://llvm.org/bugs/show_bug.cgi?id=13364
|
||||
#endif
|
||||
|
||||
+U_CXX_BEGIN
|
||||
#include <iostream>
|
||||
+U_CXX_END
|
||||
|
||||
U_NAMESPACE_BEGIN
|
||||
|
||||
diff --git a/icu4c/source/test/hdrtst/Makefile.in b/icu4c/source/test/hdrtst/Makefile.in
|
||||
index 55e833943d5..a485f7a80d6 100644
|
||||
--- a/icu4c/source/test/hdrtst/Makefile.in
|
||||
+++ b/icu4c/source/test/hdrtst/Makefile.in
|
||||
@@ -53,7 +53,7 @@ E_DEP="[6/$(E_NUM)] Hide Deprecated: "
|
||||
E_INT="[7/$(E_NUM)] Hide Internal: "
|
||||
E_OBS="[8/$(E_NUM)] Hide Obsolete: "
|
||||
|
||||
-check: dtest ctest cpptest doclean drafttest deprtest internaltest obsoletetest
|
||||
+check: dtest ctest cpptest cpptest_extern_c doclean drafttest deprtest internaltest obsoletetest
|
||||
ifeq ($(MAKECMDGOALS),check)
|
||||
$(MAKE) clean
|
||||
else
|
||||
@@ -74,6 +74,18 @@ cpptest:
|
||||
done ;\
|
||||
exit $$FAIL
|
||||
|
||||
+cpptest_extern_c:
|
||||
+ @FAIL=0;for file in `ls $(prefix)/include/unicode/*.h | fgrep -v -f $(srcdir)/pfiles.txt`; do \
|
||||
+ incfile=`basename $$file .h` ; \
|
||||
+ echo "$@ unicode/$$incfile.h" ; \
|
||||
+ echo 'extern "C" {' > ht_$$incfile.cpp ; \
|
||||
+ echo '#include "'unicode/$$incfile'.h"' >> ht_$$incfile.cpp ; \
|
||||
+ echo '}' >> ht_$$incfile.cpp ; \
|
||||
+ echo 'void junk(){}' >> ht_$$incfile.cpp ; \
|
||||
+ $(COMPILE.cc) -c $(cppflags) ht_$$incfile.cpp || FAIL=1 ; \
|
||||
+ done ;\
|
||||
+ exit $$FAIL
|
||||
+
|
||||
# layout is removed
|
||||
|
||||
dtest:
|
||||
@@ -170,5 +182,5 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
-.PHONY: doclean check all cpptest dtest ctest clean distclean
|
||||
+.PHONY: doclean check all cpptest cpptest_extern_c dtest ctest clean distclean
|
||||
|
||||
Vendored
+1
-1
@@ -8,7 +8,7 @@ diff -ur icu.org/source/config/mh-darwin icu/source/config/mh-darwin
|
||||
-ifeq ($(ENABLE_RPATH),YES)
|
||||
-LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(libdir)/$(notdir $(MIDDLE_SO_TARGET))
|
||||
-else
|
||||
-LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(notdir $(MIDDLE_SO_TARGET))
|
||||
-LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(notdir $(MIDDLE_SO_TARGET)) $(PKGDATA_TRAILING_SPACE)
|
||||
-endif
|
||||
+LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name @__________________________________________________URELIB/$(notdir $(MIDDLE_SO_TARGET))
|
||||
|
||||
|
||||
+5
-55
@@ -192,37 +192,16 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
|
||||
/*
|
||||
******************************************************************
|
||||
* PossibleWord
|
||||
@@ -103,35 +278,35 @@
|
||||
public:
|
||||
PossibleWord() : count(0), prefix(0), offset(-1), mark(0), current(0) {};
|
||||
~PossibleWord() {};
|
||||
-
|
||||
+
|
||||
@@ -282,7 +282,7 @@
|
||||
~PossibleWord() {}
|
||||
|
||||
// Fill the list of candidates if needed, select the longest, and return the number found
|
||||
- int32_t candidates( UText *text, DictionaryMatcher *dict, int32_t rangeEnd );
|
||||
-
|
||||
+ int32_t candidates( UText *text, DictionaryMatcher *dict, int32_t rangeEnd, UnicodeSet const *ignoreSet = NULL, int32_t minLength = 0 );
|
||||
+
|
||||
|
||||
// Select the currently marked candidate, point after it in the text, and invalidate self
|
||||
int32_t acceptMarked( UText *text );
|
||||
-
|
||||
+
|
||||
// Back up from the current candidate to the next shorter one; return TRUE if that exists
|
||||
// and point the text after it
|
||||
UBool backUp( UText *text );
|
||||
-
|
||||
+
|
||||
// Return the longest prefix this candidate location shares with a dictionary word
|
||||
// Return value is in code points.
|
||||
int32_t longestPrefix() { return prefix; };
|
||||
-
|
||||
+
|
||||
// Mark the current candidate as the one we like
|
||||
void markCurrent() { mark = current; };
|
||||
-
|
||||
+
|
||||
// Get length in code points of the marked word.
|
||||
int32_t markedCPLength() { return cpLengths[mark]; };
|
||||
@@ -303,12 +303,12 @@
|
||||
};
|
||||
|
||||
|
||||
@@ -1085,32 +1064,3 @@ diff -ur icu.org/source/common/dictionarydata.h icu/source/common/dictionarydata
|
||||
virtual int32_t getType() const;
|
||||
private:
|
||||
UChar32 transform(UChar32 c) const;
|
||||
diff -ur icu.org/source/data/Makefile.in icu/source/data/Makefile.in
|
||||
--- icu.org/source/data/Makefile.in 2018-10-19 14:20:11.031075856 +0200
|
||||
+++ icu/source/data/Makefile.in 2018-10-19 14:21:00.339942804 +0200
|
||||
@@ -183,7 +183,7 @@
|
||||
endif
|
||||
endif
|
||||
|
||||
-packagedata: icupkg.inc $(PKGDATA_LIST) build-local
|
||||
+packagedata: icupkg.inc $(PKGDATA_LIST) build-local $(MAINBUILDDIR)/khmerdict.stamp
|
||||
ifneq ($(ENABLE_STATIC),)
|
||||
ifeq ($(PKGDATA_MODE),dll)
|
||||
$(PKGDATA_INVOKE) $(PKGDATA) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBSTATICNAME) -m static $(PKGDATA_VERSIONING) $(PKGDATA_LIST)
|
||||
@@ -567,8 +567,14 @@
|
||||
$(INVOKE) $(TOOLBINDIR)/gendict --bytes --transform offset-0x1000 -c -i $(BUILDDIR) $(DICTSRCDIR)/burmesedict.txt $(BRKBLDDIR)/burmesedict.dict
|
||||
|
||||
# TODO: figure out why combining characters are here?
|
||||
-$(BRKBLDDIR)/khmerdict.dict: $(TOOLBINDIR)/gendict$(TOOLEXEEXT) $(DAT_FILES)
|
||||
- $(INVOKE) $(TOOLBINDIR)/gendict --bytes --transform offset-0x1780 -c -i $(BUILDDIR) $(DICTSRCDIR)/khmerdict.txt $(BRKBLDDIR)/khmerdict.dict
|
||||
+#$(BRKBLDDIR)/khmerdict.dict: $(TOOLBINDIR)/gendict$(TOOLEXEEXT) $(DAT_FILES)
|
||||
+# $(INVOKE) $(TOOLBINDIR)/gendict --bytes --transform offset-0x1780 -c -i $(BUILDDIR) $(DICTSRCDIR)/khmerdict.txt $(BRKBLDDIR)/khmerdict.dict
|
||||
+
|
||||
+#$(MAINBUILDDIR)/khmerdict.stamp: $(TOOLBINDIR)/gendict$(TOOLEXEEXT) $(BRKSRCDIR)/khmerdict.txt build-local
|
||||
+# $(INVOKE) $(TOOLBINDIR)/gendict --bytes --transform offset-0x1780 -c -i $(BUILDDIR) $(DICTSRCDIR)/khmerdict.txt $(BRKBLDDIR)/khmerdict.dict
|
||||
+$(MAINBUILDDIR)/khmerdict.stamp: $(BRKSRCDIR)/khmerdict.dict build-local
|
||||
+ cp $< $(BRKBLDDIR)
|
||||
+ echo "timestamp" > $@
|
||||
|
||||
#################################################### CFU
|
||||
# CFU FILES
|
||||
|
||||
Vendored
+4
-4
@@ -1,10 +1,10 @@
|
||||
diff -ur icu.org/source/data/Makefile.in icu/source/data/Makefile.in
|
||||
--- icu.org/source/data/Makefile.in 2018-06-21 11:39:15.000000000 +0200
|
||||
+++ icu/source/data/Makefile.in 2018-07-16 13:18:26.928109541 +0200
|
||||
@@ -367,6 +367,7 @@
|
||||
--- icu.org/source/data/Makefile.in 2019-04-17 21:42:15.000000000 +0200
|
||||
+++ icu/source/data/Makefile.in 2019-10-28 12:57:15.033649494 +0100
|
||||
@@ -226,6 +226,7 @@
|
||||
ifeq ($(PKGDATA_MODE),dll)
|
||||
SO_VERSION_DATA = $(OUTTMPDIR)/icudata.res
|
||||
$(SO_VERSION_DATA) : $(MISCSRCDIR)/icudata.rc | build-dir
|
||||
$(SO_VERSION_DATA) : $(MISCSRCDIR)/icudata.rc
|
||||
+ mkdir -p $(OUTTMPDIR)
|
||||
ifeq ($(MSYS_RC_MODE),1)
|
||||
rc.exe -i$(srcdir)/../common -i$(top_builddir)/common -fo$@ $(CPPFLAGS) $<
|
||||
|
||||
Vendored
+2
-2
@@ -15,9 +15,9 @@ diff -ur icu.org/source/config/mh-linux icu/source/config/mh-linux
|
||||
diff -ur icu.org/source/data/pkgdataMakefile.in icu/source/data/pkgdataMakefile.in
|
||||
--- icu.org/source/data/pkgdataMakefile.in 2016-06-15 20:58:17.000000000 +0200
|
||||
+++ icu/source/data/pkgdataMakefile.in 2017-04-21 22:38:18.892927822 +0200
|
||||
@@ -17,6 +17,9 @@
|
||||
OUTPUTFILE=icupkg.inc
|
||||
@@ -18,6 +18,9 @@
|
||||
MIDDLE_SO_TARGET=
|
||||
PKGDATA_TRAILING_SPACE=" "
|
||||
|
||||
+# escape $ with \ when passing to echo; needed to preserve $ORIGIN
|
||||
+SHLIB.c.shell := $(subst $$,\$$,$(SHLIB.c))
|
||||
|
||||
@@ -748,6 +748,20 @@ OString unicode::getExemplarLanguageForUScriptCode(UScriptCode eScript)
|
||||
case USCRIPT_OLD_SOGDIAN:
|
||||
sRet = "sog";
|
||||
break;
|
||||
#endif
|
||||
#if (U_ICU_VERSION_MAJOR_NUM >= 64)
|
||||
case USCRIPT_ELYMAIC:
|
||||
sRet = "arc-Elym";
|
||||
break;
|
||||
case USCRIPT_NYIAKENG_PUACHUE_HMONG:
|
||||
sRet = "hmn-Hmnp"; // macrolanguage code
|
||||
break;
|
||||
case USCRIPT_NANDINAGARI:
|
||||
sRet = "sa-Nand";
|
||||
break;
|
||||
case USCRIPT_WANCHO:
|
||||
sRet = "nnp-Wcho";
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
return sRet;
|
||||
|
||||
@@ -1682,6 +1682,15 @@
|
||||
#define RID_SUBSETSTR_MEDEFAIDRIN NC_("RID_SUBSETMAP", "Medefaidrin")
|
||||
#define RID_SUBSETSTR_OLD_SOGDIAN NC_("RID_SUBSETMAP", "Old Sogdian")
|
||||
#define RID_SUBSETSTR_SOGDIAN NC_("RID_SUBSETMAP", "Sogdian")
|
||||
#define RID_SUBSETSTR_EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS NC_("RID_SUBSETMAP", "Egyptian Hieroglyph Format Controls")
|
||||
#define RID_SUBSETSTR_ELYMAIC NC_("RID_SUBSETMAP", "Elymaic")
|
||||
#define RID_SUBSETSTR_NANDINAGARI NC_("RID_SUBSETMAP", "Nandinagari")
|
||||
#define RID_SUBSETSTR_NYIAKENG_PUACHUE_HMONG NC_("RID_SUBSETMAP", "Nyiakeng Puachue Hmong")
|
||||
#define RID_SUBSETSTR_OTTOMAN_SIYAQ_NUMBERS NC_("RID_SUBSETMAP", "Ottoman Siyaq Numbers")
|
||||
#define RID_SUBSETSTR_SMALL_KANA_EXTENSION NC_("RID_SUBSETMAP", "Small Kana Extension")
|
||||
#define RID_SUBSETSTR_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A NC_("RID_SUBSETMAP", "Symbols and Pictographs Extended-A")
|
||||
#define RID_SUBSETSTR_TAMIL_SUPPLEMENT NC_("RID_SUBSETMAP", "Tamil Supplement")
|
||||
#define RID_SUBSETSTR_WANCHO NC_("RID_SUBSETMAP", "Wancho")
|
||||
|
||||
#define RID_SVXSTR_FRAMEDIR_LTR NC_("RID_SVXSTR_FRAMEDIR_LTR", "Left-to-right (LTR)")
|
||||
#define RID_SVXSTR_FRAMEDIR_RTL NC_("RID_SVXSTR_FRAMEDIR_RTL", "Right-to-left (RTL)")
|
||||
|
||||
@@ -1777,6 +1777,35 @@ void SubsetMap::InitList()
|
||||
aAllSubsets.emplace_back( 0x10F30, 0x10F6F, SvxResId(RID_SUBSETSTR_SOGDIAN) );
|
||||
break;
|
||||
#endif
|
||||
#if (U_ICU_VERSION_MAJOR_NUM >= 64)
|
||||
case UBLOCK_EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS:
|
||||
aAllSubsets.emplace_back( 0x13430, 0x1343F, SvxResId(RID_SUBSETSTR_EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS) );
|
||||
break;
|
||||
case UBLOCK_ELYMAIC:
|
||||
aAllSubsets.emplace_back( 0x10FE0, 0x10FFF, SvxResId(RID_SUBSETSTR_ELYMAIC) );
|
||||
break;
|
||||
case UBLOCK_NANDINAGARI:
|
||||
aAllSubsets.emplace_back( 0x119A0, 0x119FF, SvxResId(RID_SUBSETSTR_NANDINAGARI) );
|
||||
break;
|
||||
case UBLOCK_NYIAKENG_PUACHUE_HMONG:
|
||||
aAllSubsets.emplace_back( 0x1E100, 0x1E14F, SvxResId(RID_SUBSETSTR_NYIAKENG_PUACHUE_HMONG) );
|
||||
break;
|
||||
case UBLOCK_OTTOMAN_SIYAQ_NUMBERS:
|
||||
aAllSubsets.emplace_back( 0x1ED00, 0x1ED4F, SvxResId(RID_SUBSETSTR_OTTOMAN_SIYAQ_NUMBERS) );
|
||||
break;
|
||||
case UBLOCK_SMALL_KANA_EXTENSION:
|
||||
aAllSubsets.emplace_back( 0x1B130, 0x1B16F, SvxResId(RID_SUBSETSTR_SMALL_KANA_EXTENSION) );
|
||||
break;
|
||||
case UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A:
|
||||
aAllSubsets.emplace_back( 0x1FA70, 0x1FAFF, SvxResId(RID_SUBSETSTR_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A) );
|
||||
break;
|
||||
case UBLOCK_TAMIL_SUPPLEMENT:
|
||||
aAllSubsets.emplace_back( 0x11FC0, 0x11FFF, SvxResId(RID_SUBSETSTR_TAMIL_SUPPLEMENT) );
|
||||
break;
|
||||
case UBLOCK_WANCHO:
|
||||
aAllSubsets.emplace_back( 0x1E2C0, 0x1E2FF, SvxResId(RID_SUBSETSTR_WANCHO) );
|
||||
break;
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user