Update to ICU 69.1

Change-Id: I32836175a877349777dcbb6eb7b0d813aa31199a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115479
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
This commit is contained in:
Eike Rathke 2021-05-11 23:34:24 +02:00
parent 6b1d5bafdc
commit c2a3a1f1ad
5 changed files with 19 additions and 61 deletions

View file

@ -10403,7 +10403,7 @@ SYSTEM_GENBRK=
SYSTEM_GENCCODE=
SYSTEM_GENCMN=
ICU_MAJOR=68
ICU_MAJOR=69
ICU_MINOR=1
ICU_RECLASSIFIED_PREPEND_SET_EMPTY="TRUE"
ICU_RECLASSIFIED_CONDITIONAL_JAPANESE_STARTER="TRUE"

View file

@ -112,10 +112,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 := a9f2e3d8b4434b8e53878b4308bd1e6ee51c9c7042e2b1a376abefb6fbb29f2d
export ICU_TARBALL := icu4c-68_1-src.tgz
export ICU_DATA_SHA256SUM := 03ea8b4694155620548c8c0ba20444f1e7db246cc79e3b9c4fc7a960b160d510
export ICU_DATA_TARBALL := icu4c-68_1-data.zip
export ICU_SHA256SUM := 4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745
export ICU_TARBALL := icu4c-69_1-src.tgz
export ICU_DATA_SHA256SUM := 4fc2d8cfc3343673123586fca3967404abd4e346fba5515829204533b3bae4bf
export ICU_DATA_TARBALL := icu4c-69_1-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

View file

@ -36,12 +36,12 @@ $(eval $(call gb_UnpackedTarball_add_patches,icu,\
external/icu/c++20-comparison.patch \
external/icu/ubsan.patch.1 \
external/icu/Wdeprecated-copy-dtor.patch \
external/icu/icu4c-khmerbreakengine.patch.1 \
external/icu/strict_ansi.patch \
external/icu/icu4c-windows-cygwin-cross.patch.1 \
external/icu/icu4c-emscripten-cross.patch.1 \
external/icu/icu4c-khmerbreakengine.patch.1 \
external/icu/icu4c-$(if $(filter ANDROID,$(OS)),android,rpath).patch.1 \
$(if $(filter-out ANDROID,$(OS)),external/icu/icu4c-icudata-stdlibs.patch.1) \
external/icu/icu4c-emscripten-cross.patch.1 \
))
$(eval $(call gb_UnpackedTarball_add_file,icu,source/data/brkitr/khmerdict.dict,external/icu/khmerdict.dict))

View file

@ -1,6 +1,6 @@
diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
--- icu.org/source/common/dictbe.cpp 2020-04-22 22:04:20.000000000 +0200
+++ icu/source/common/dictbe.cpp 2020-05-11 18:55:07.702282061 +0200
--- icu.org/source/common/dictbe.cpp 2021-04-08 02:10:27.000000000 +0200
+++ icu/source/common/dictbe.cpp 2021-05-11 22:41:25.504455054 +0200
@@ -32,7 +32,19 @@
******************************************************************
*/
@ -216,7 +216,7 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
// Dictionary leaves text after longest prefix, not longest word. Back up.
if (count <= 0) {
utext_setNativeIndex(text, start);
@@ -815,53 +990,30 @@
@@ -803,53 +978,30 @@
* KhmerBreakEngine
*/
@ -282,7 +282,7 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
UTRACE_EXIT_STATUS(status);
}
@@ -874,180 +1026,204 @@
@@ -862,176 +1014,204 @@
int32_t rangeStart,
int32_t rangeEnd,
UVector32 &foundBreaks ) const {
@ -357,13 +357,9 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
- goto foundBest;
- }
- do {
- int32_t wordsMatched = 1;
- if (words[(wordsFound + 1) % KHMER_LOOKAHEAD].candidates(text, fDictionary, rangeEnd) > 0) {
- if (wordsMatched < 2) {
- // Followed by another dictionary word; mark first word as a good candidate
- words[wordsFound % KHMER_LOOKAHEAD].markCurrent();
- wordsMatched = 2;
- }
- // Followed by another dictionary word; mark first word as a good candidate
- words[wordsFound % KHMER_LOOKAHEAD].markCurrent();
+ utext_setNativeIndex(text, rangeStart);
+ int32_t numCodePts = rangeEnd - rangeStart;
+ // bestSnlp[i] is the snlp of the best segmentation of the first i
@ -639,8 +635,8 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
#if !UCONFIG_NO_NORMALIZATION
diff -ur icu.org/source/common/dictbe.h icu/source/common/dictbe.h
--- icu.org/source/common/dictbe.h 2020-04-22 22:04:20.000000000 +0200
+++ icu/source/common/dictbe.h 2020-05-11 19:08:24.754634732 +0200
--- icu.org/source/common/dictbe.h 2021-04-08 02:10:27.000000000 +0200
+++ icu/source/common/dictbe.h 2021-05-11 22:37:49.753857647 +0200
@@ -34,7 +34,8 @@
* threads without synchronization.</p>
*/
@ -757,8 +753,8 @@ diff -ur icu.org/source/common/dictbe.h icu/source/common/dictbe.h
/**
diff -ur icu.org/source/common/dictionarydata.cpp icu/source/common/dictionarydata.cpp
--- icu.org/source/common/dictionarydata.cpp 2020-04-22 22:04:20.000000000 +0200
+++ icu/source/common/dictionarydata.cpp 2020-05-11 18:50:43.703113749 +0200
--- icu.org/source/common/dictionarydata.cpp 2021-04-08 02:10:27.000000000 +0200
+++ icu/source/common/dictionarydata.cpp 2021-05-11 22:37:49.754857645 +0200
@@ -44,7 +44,7 @@
int32_t UCharsDictionaryMatcher::matches(UText *text, int32_t maxLength, int32_t limit,
@ -806,8 +802,8 @@ diff -ur icu.org/source/common/dictionarydata.cpp icu/source/common/dictionaryda
if (values != NULL) {
values[wordCount] = bt.getValue();
diff -ur icu.org/source/common/dictionarydata.h icu/source/common/dictionarydata.h
--- icu.org/source/common/dictionarydata.h 2020-04-22 22:04:20.000000000 +0200
+++ icu/source/common/dictionarydata.h 2020-05-11 18:50:43.704113746 +0200
--- icu.org/source/common/dictionarydata.h 2021-04-08 02:10:27.000000000 +0200
+++ icu/source/common/dictionarydata.h 2021-05-11 22:37:49.754857645 +0200
@@ -21,6 +21,7 @@
#include "unicode/utext.h"
#include "unicode/udata.h"

View file

@ -1,41 +1,3 @@
--- a/source/common/rbbitblb.cpp
+++ a/source/common/rbbitblb.cpp
@@ -1402,12 +1402,13 @@
U_ASSERT (sd->fAccepting <= 255);
U_ASSERT (sd->fLookAhead <= 255);
U_ASSERT (0 <= sd->fTagsIdx && sd->fTagsIdx <= 255);
- row->r8.fAccepting = sd->fAccepting;
- row->r8.fLookAhead = sd->fLookAhead;
- row->r8.fTagsIdx = sd->fTagsIdx;
+ RBBIStateTableRow8 *row8 = reinterpret_cast<RBBIStateTableRow8 *>(row);
+ row8->fAccepting = sd->fAccepting;
+ row8->fLookAhead = sd->fLookAhead;
+ row8->fTagsIdx = sd->fTagsIdx;
for (col=0; col<catCount; col++) {
U_ASSERT (sd->fDtran->elementAti(col) <= kMaxStateFor8BitsTable);
- row->r8.fNextState[col] = sd->fDtran->elementAti(col);
+ row8->fNextState[col] = sd->fDtran->elementAti(col);
}
} else {
U_ASSERT (sd->fAccepting <= 0xffff);
@@ -1603,12 +1603,13 @@
UnicodeString *rowString = (UnicodeString *)fSafeTable->elementAt(state);
RBBIStateTableRow *row = (RBBIStateTableRow *)(table->fTableData + state*table->fRowLen);
if (use8BitsForSafeTable()) {
- row->r8.fAccepting = 0;
- row->r8.fLookAhead = 0;
- row->r8.fTagsIdx = 0;
+ RBBIStateTableRow8 *row8 = reinterpret_cast<RBBIStateTableRow8 *>(row);
+ row8->fAccepting = 0;
+ row8->fLookAhead = 0;
+ row8->fTagsIdx = 0;
for (col=0; col<catCount; col++) {
U_ASSERT(rowString->charAt(col) <= kMaxStateFor8BitsTable);
- row->r8.fNextState[col] = static_cast<uint8_t>(rowString->charAt(col));
+ row8->fNextState[col] = static_cast<uint8_t>(rowString->charAt(col));
}
} else {
row->r16.fAccepting = 0;
diff -ur icu.org/source/tools/genrb/rbutil.c icu/source/tools/genrb/rbutil.c
--- icu.org/source/tools/genrb/rbutil.c 2020-10-28 22:21:12.000000000 +0100
+++ icu/source/tools/genrb/rbutil.c 2020-11-16 19:50:44.005119253 +0100