configure.ac | 2 download.lst | 8 external/icu/0001-ICU-23054-const-up-struct-that-gencmn-outputs.patch.2 | 25 external/icu/UnpackedTarball_icu.mk | 2 external/icu/Wunnecessary-virtual-specifier.patch | 833 ---------- external/icu/c++20-comparison.patch.1 | 6 external/icu/icu4c-scriptrun.patch.1 | 4 i18nutil/source/utility/unicode.cxx | 17 include/svx/strings.hrc | 8 svx/source/dialog/charmap.cxx | 26 10 files changed, 61 insertions(+), 870 deletions(-)
New commits: commit a02e38567e1d5414a253e04a81b67ccfa25ed8f4 Author: Xisco Fauli <[email protected]> AuthorDate: Fri Oct 31 14:40:11 2025 +0100 Commit: Xisco Fauli <[email protected]> CommitDate: Mon Nov 3 11:40:50 2025 +0100 ICU: upgrade to 78.1 0001-ICU-23054-const-up-struct-that-gencmn-outputs.patch.2 and Wunnecessary-virtual-specifier.patch have been fixed upstream Downloaded from https://github.com/unicode-org/icu/releases/tag/release-78.1 Change-Id: Iaec032611e6616f7d553d4c807b75dfa21a32e7d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193269 Tested-by: Jenkins Reviewed-by: Xisco Fauli <[email protected]> diff --git a/configure.ac b/configure.ac index c0b4201b4629..d97666e32610 100644 --- a/configure.ac +++ b/configure.ac @@ -11517,7 +11517,7 @@ fi dnl =================================================================== dnl Check for system icu dnl =================================================================== -ICU_MAJOR=77 +ICU_MAJOR=78 ICU_MINOR=1 ICU_CFLAGS_internal="-I${WORKDIR}/UnpackedTarball/icu/source/i18n -I${WORKDIR}/UnpackedTarball/icu/source/common" ICU_LIBS_internal="-L${WORKDIR}/UnpackedTarball/icu/source/lib -licuuc" diff --git a/download.lst b/download.lst index 7e89beb4f27c..637a978a5c9c 100644 --- a/download.lst +++ b/download.lst @@ -352,10 +352,10 @@ IACCESSIBLE2_TARBALL := IAccessible2-1.3+git20231013.3d8c7f0.tar.gz # three static lines # so that git cherry-pick # will not run into conflicts -ICU_SHA256SUM := 588e431f77327c39031ffbb8843c0e3bc122c211374485fa87dc5f3faff24061 -ICU_TARBALL := icu4c-77_1-src.tgz -ICU_DATA_SHA256SUM := 1e08bfafa442260ccabf9a872d4eab12de813d42b90769df056bab032b37e1d3 -ICU_DATA_TARBALL := icu4c-77_1-data.zip +ICU_SHA256SUM := 6217f58ca39b23127605cfc6c7e0d3475fe4b0d63157011383d716cb41617886 +ICU_TARBALL := icu4c-78.1-sources.tgz +ICU_DATA_SHA256SUM := e7b652244f27194e0ea46a0d21cfc714ee8a818e1fd82d51a93bc91516fdcf65 +ICU_DATA_TARBALL := icu4c-78.1-data.zip # three static lines # so that git cherry-pick # will not run into conflicts diff --git a/external/icu/0001-ICU-23054-const-up-struct-that-gencmn-outputs.patch.2 b/external/icu/0001-ICU-23054-const-up-struct-that-gencmn-outputs.patch.2 deleted file mode 100644 index 6e620e883e57..000000000000 --- a/external/icu/0001-ICU-23054-const-up-struct-that-gencmn-outputs.patch.2 +++ /dev/null @@ -1,25 +0,0 @@ -From a918593e59e4fc67055420281940f67a068e0598 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <[email protected]> -Date: Tue, 15 Jul 2025 11:21:18 +0100 -Subject: [PATCH] ICU-23054 const up struct that gencmn outputs - ---- - icu4c/source/tools/toolutil/pkg_gencmn.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/icu4c/source/tools/toolutil/pkg_gencmn.cpp b/icu4c/source/tools/toolutil/pkg_gencmn.cpp -index 3ec965d8e6..c1a46e9aed 100644 ---- a/icu4c/source/tools/toolutil/pkg_gencmn.cpp -+++ b/icu4c/source/tools/toolutil/pkg_gencmn.cpp -@@ -360,7 +360,7 @@ createCommonDataFile(const char *destDir, const char *name, const char *entrypoi - - snprintf( - buffer, sizeof(buffer), -- "U_EXPORT struct { " -+ "U_EXPORT const struct { " - " uint16_t headerSize; " - " uint8_t magic1, magic2; " - " UDataInfo info; " --- -2.49.0 - diff --git a/external/icu/UnpackedTarball_icu.mk b/external/icu/UnpackedTarball_icu.mk index 312c82475347..92777dd331cb 100644 --- a/external/icu/UnpackedTarball_icu.mk +++ b/external/icu/UnpackedTarball_icu.mk @@ -40,8 +40,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,icu,\ 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/no-python.patch \ - external/icu/Wunnecessary-virtual-specifier.patch \ - external/icu/0001-ICU-23054-const-up-struct-that-gencmn-outputs.patch.2 \ )) $(eval $(call gb_UnpackedTarball_add_file,icu,source/data/brkitr/khmerdict.dict,external/icu/khmerdict.dict)) diff --git a/external/icu/Wunnecessary-virtual-specifier.patch b/external/icu/Wunnecessary-virtual-specifier.patch deleted file mode 100644 index 9ba9c9ad317f..000000000000 --- a/external/icu/Wunnecessary-virtual-specifier.patch +++ /dev/null @@ -1,833 +0,0 @@ ---- source/common/unicode/uniset.h -+++ source/common/unicode/uniset.h -@@ -495,7 +495,7 @@ - * @return <tt>true</tt> if the specified set is equal to this set. - * @stable ICU 2.0 - */ -- virtual bool operator==(const UnicodeSet& o) const; -+ bool operator==(const UnicodeSet& o) const; - - /** - * Compares the specified object with this set for equality. Returns -@@ -522,7 +522,7 @@ - * @see Object#hashCode() - * @stable ICU 2.0 - */ -- virtual int32_t hashCode() const; -+ int32_t hashCode() const; - - /** - * Get a UnicodeSet pointer from a USet -@@ -792,7 +792,7 @@ - * @stable ICU 2.0 - * @see getRangeCount - */ -- virtual int32_t size() const; -+ int32_t size() const; - - /** - * Returns <tt>true</tt> if this set contains no elements. -@@ -800,7 +800,7 @@ - * @return <tt>true</tt> if this set contains no elements. - * @stable ICU 2.0 - */ -- virtual UBool isEmpty() const; -+ UBool isEmpty() const; - - /** - * @return true if this set contains multi-character strings or the empty string. -@@ -825,7 +825,7 @@ - * @return true if the test condition is met - * @stable ICU 2.0 - */ -- virtual UBool contains(UChar32 start, UChar32 end) const; -+ UBool contains(UChar32 start, UChar32 end) const; - - /** - * Returns <tt>true</tt> if this set contains the given -@@ -843,7 +843,7 @@ - * @return true if the test condition is met - * @stable ICU 2.4 - */ -- virtual UBool containsAll(const UnicodeSet& c) const; -+ UBool containsAll(const UnicodeSet& c) const; - - /** - * Returns true if this set contains all the characters -@@ -1231,7 +1231,7 @@ - * to this set. - * @stable ICU 2.0 - */ -- virtual UnicodeSet& add(UChar32 start, UChar32 end); -+ UnicodeSet& add(UChar32 start, UChar32 end); - - /** - * Adds the specified character to this set if it is not already -@@ -1337,7 +1337,7 @@ - * @param end last character, inclusive, of range - * @stable ICU 2.0 - */ -- virtual UnicodeSet& retain(UChar32 start, UChar32 end); -+ UnicodeSet& retain(UChar32 start, UChar32 end); - - - /** -@@ -1375,7 +1375,7 @@ - * from this set. - * @stable ICU 2.0 - */ -- virtual UnicodeSet& remove(UChar32 start, UChar32 end); -+ UnicodeSet& remove(UChar32 start, UChar32 end); - - /** - * Removes the specified character from this set if it is present. -@@ -1412,7 +1412,7 @@ - * A frozen set will not be modified. - * @stable ICU 2.0 - */ -- virtual UnicodeSet& complement(); -+ UnicodeSet& complement(); - - /** - * Complements the specified range in this set. Any character in -@@ -1426,7 +1426,7 @@ - * @param end last character, inclusive, of range - * @stable ICU 2.0 - */ -- virtual UnicodeSet& complement(UChar32 start, UChar32 end); -+ UnicodeSet& complement(UChar32 start, UChar32 end); - - /** - * Complements the specified character in this set. The character -@@ -1463,7 +1463,7 @@ - * @see #add(UChar32, UChar32) - * @stable ICU 2.0 - */ -- virtual UnicodeSet& addAll(const UnicodeSet& c); -+ UnicodeSet& addAll(const UnicodeSet& c); - - /** - * Retains only the elements in this set that are contained in the -@@ -1476,7 +1476,7 @@ - * @param c set that defines which elements this set will retain. - * @stable ICU 2.0 - */ -- virtual UnicodeSet& retainAll(const UnicodeSet& c); -+ UnicodeSet& retainAll(const UnicodeSet& c); - - /** - * Removes from this set all of its elements that are contained in the -@@ -1489,7 +1489,7 @@ - * this set. - * @stable ICU 2.0 - */ -- virtual UnicodeSet& removeAll(const UnicodeSet& c); -+ UnicodeSet& removeAll(const UnicodeSet& c); - - /** - * Complements in this set all elements contained in the specified -@@ -1501,7 +1501,7 @@ - * this set. - * @stable ICU 2.4 - */ -- virtual UnicodeSet& complementAll(const UnicodeSet& c); -+ UnicodeSet& complementAll(const UnicodeSet& c); - - /** - * Removes all of the elements from this set. This set will be -@@ -1509,7 +1509,7 @@ - * A frozen set will not be modified. - * @stable ICU 2.0 - */ -- virtual UnicodeSet& clear(); -+ UnicodeSet& clear(); - - /** - * Close this set over the given attribute. For the attribute -@@ -1546,7 +1546,7 @@ - * @return a reference to this set. - * @stable ICU 4.2 - */ -- virtual UnicodeSet &removeAllStrings(); -+ UnicodeSet &removeAllStrings(); - - /** - * Iteration method that returns the number of ranges contained in -@@ -1555,7 +1555,7 @@ - * @see #getRangeEnd - * @stable ICU 2.4 - */ -- virtual int32_t getRangeCount() const; -+ int32_t getRangeCount() const; - - /** - * Iteration method that returns the first character in the -@@ -1564,7 +1564,7 @@ - * @see #getRangeEnd - * @stable ICU 2.4 - */ -- virtual UChar32 getRangeStart(int32_t index) const; -+ UChar32 getRangeStart(int32_t index) const; - - /** - * Iteration method that returns the last character in the -@@ -1573,7 +1573,7 @@ - * @see #getRangeEnd - * @stable ICU 2.4 - */ -- virtual UChar32 getRangeEnd(int32_t index) const; -+ UChar32 getRangeEnd(int32_t index) const; - - /** - * Serializes this set into an array of 16-bit integers. Serialization -@@ -1631,7 +1631,7 @@ - * A frozen set will not be modified. - * @stable ICU 2.4 - */ -- virtual UnicodeSet& compact(); -+ UnicodeSet& compact(); - - /** - * Return the class ID for this class. This is useful only for ---- source/i18n/unicode/regex.h -+++ source/i18n/unicode/regex.h -@@ -145,7 +145,7 @@ - * @return the copy of this RegexPattern - * @stable ICU 2.4 - */ -- virtual RegexPattern *clone() const; -+ RegexPattern *clone() const; - - - /** -@@ -325,7 +325,7 @@ - * @return the #URegexpFlag match mode flags - * @stable ICU 2.4 - */ -- virtual uint32_t flags() const; -+ uint32_t flags() const; - - /** - * Creates a RegexMatcher that will match the given input against this pattern. The -@@ -344,7 +344,7 @@ - * - * @stable ICU 2.4 - */ -- virtual RegexMatcher *matcher(const UnicodeString &input, -+ RegexMatcher *matcher(const UnicodeString &input, - UErrorCode &status) const; - - private: -@@ -376,7 +376,7 @@ - * - * @stable ICU 2.6 - */ -- virtual RegexMatcher *matcher(UErrorCode &status) const; -+ RegexMatcher *matcher(UErrorCode &status) const; - - - /** -@@ -425,7 +425,7 @@ - * the returned string may no longer reflect the RegexPattern object. - * @stable ICU 2.4 - */ -- virtual UnicodeString pattern() const; -+ UnicodeString pattern() const; - - - /** -@@ -438,7 +438,7 @@ - * - * @stable ICU 4.6 - */ -- virtual UText *patternText(UErrorCode &status) const; -+ UText *patternText(UErrorCode &status) const; - - - /** -@@ -454,7 +454,7 @@ - * - * @stable ICU 55 - */ -- virtual int32_t groupNumberFromName(const UnicodeString &groupName, UErrorCode &status) const; -+ int32_t groupNumberFromName(const UnicodeString &groupName, UErrorCode &status) const; - - - /** -@@ -473,7 +473,7 @@ - * - * @stable ICU 55 - */ -- virtual int32_t groupNumberFromName(const char *groupName, int32_t nameLength, UErrorCode &status) const; -+ int32_t groupNumberFromName(const char *groupName, int32_t nameLength, UErrorCode &status) const; - - - /** -@@ -514,7 +514,7 @@ - * @return The number of fields into which the input string was split. - * @stable ICU 2.4 - */ -- virtual int32_t split(const UnicodeString &input, -+ int32_t split(const UnicodeString &input, - UnicodeString dest[], - int32_t destCapacity, - UErrorCode &status) const; -@@ -558,7 +558,7 @@ - * - * @stable ICU 4.6 - */ -- virtual int32_t split(UText *input, -+ int32_t split(UText *input, - UText *dest[], - int32_t destCapacity, - UErrorCode &status) const; -@@ -767,7 +767,7 @@ - * @return true if there is a match - * @stable ICU 2.4 - */ -- virtual UBool matches(UErrorCode &status); -+ UBool matches(UErrorCode &status); - - - /** -@@ -780,7 +780,7 @@ - * @return true if there is a match - * @stable ICU 2.8 - */ -- virtual UBool matches(int64_t startIndex, UErrorCode &status); -+ UBool matches(int64_t startIndex, UErrorCode &status); - - - /** -@@ -796,7 +796,7 @@ - * @return true if there is a match at the start of the input string. - * @stable ICU 2.4 - */ -- virtual UBool lookingAt(UErrorCode &status); -+ UBool lookingAt(UErrorCode &status); - - - /** -@@ -812,7 +812,7 @@ - * @return true if there is a match. - * @stable ICU 2.8 - */ -- virtual UBool lookingAt(int64_t startIndex, UErrorCode &status); -+ UBool lookingAt(int64_t startIndex, UErrorCode &status); - - - /** -@@ -827,7 +827,7 @@ - * @return true if a match is found. - * @stable ICU 2.4 - */ -- virtual UBool find(); -+ UBool find(); - - - /** -@@ -844,7 +844,7 @@ - * @return true if a match is found. - * @stable ICU 55 - */ -- virtual UBool find(UErrorCode &status); -+ UBool find(UErrorCode &status); - - /** - * Resets this RegexMatcher and then attempts to find the next substring of the -@@ -855,7 +855,7 @@ - * @return true if a match is found. - * @stable ICU 2.4 - */ -- virtual UBool find(int64_t start, UErrorCode &status); -+ UBool find(int64_t start, UErrorCode &status); - - - /** -@@ -867,7 +867,7 @@ - * @return a string containing the matched input text. - * @stable ICU 2.4 - */ -- virtual UnicodeString group(UErrorCode &status) const; -+ UnicodeString group(UErrorCode &status) const; - - - /** -@@ -887,14 +887,14 @@ - * @return the captured text - * @stable ICU 2.4 - */ -- virtual UnicodeString group(int32_t groupNum, UErrorCode &status) const; -+ UnicodeString group(int32_t groupNum, UErrorCode &status) const; - - /** - * Returns the number of capturing groups in this matcher's pattern. - * @return the number of capture groups - * @stable ICU 2.4 - */ -- virtual int32_t groupCount() const; -+ int32_t groupCount() const; - - - /** -@@ -911,7 +911,7 @@ - * - * @stable ICU 4.6 - */ -- virtual UText *group(UText *dest, int64_t &group_len, UErrorCode &status) const; -+ UText *group(UText *dest, int64_t &group_len, UErrorCode &status) const; - - /** - * Returns a shallow clone of the entire live input string with the UText current native index -@@ -933,7 +933,7 @@ - * - * @stable ICU 4.6 - */ -- virtual UText *group(int32_t groupNum, UText *dest, int64_t &group_len, UErrorCode &status) const; -+ UText *group(int32_t groupNum, UText *dest, int64_t &group_len, UErrorCode &status) const; - - /** - * Returns the index in the input string of the start of the text matched -@@ -942,7 +942,7 @@ - * @return The (native) position in the input string of the start of the last match. - * @stable ICU 2.4 - */ -- virtual int32_t start(UErrorCode &status) const; -+ int32_t start(UErrorCode &status) const; - - /** - * Returns the index in the input string of the start of the text matched -@@ -951,7 +951,7 @@ - * @return The (native) position in the input string of the start of the last match. - * @stable ICU 4.6 - */ -- virtual int64_t start64(UErrorCode &status) const; -+ int64_t start64(UErrorCode &status) const; - - - /** -@@ -967,7 +967,7 @@ - * @return the (native) start position of substring matched by the specified group. - * @stable ICU 2.4 - */ -- virtual int32_t start(int32_t group, UErrorCode &status) const; -+ int32_t start(int32_t group, UErrorCode &status) const; - - /** - * Returns the index in the input string of the start of the text matched by the -@@ -982,7 +982,7 @@ - * @return the (native) start position of substring matched by the specified group. - * @stable ICU 4.6 - */ -- virtual int64_t start64(int32_t group, UErrorCode &status) const; -+ int64_t start64(int32_t group, UErrorCode &status) const; - - /** - * Returns the index in the input string of the first character following the -@@ -997,7 +997,7 @@ - * a byte index for UTF-8. - * @stable ICU 2.4 - */ -- virtual int32_t end(UErrorCode &status) const; -+ int32_t end(UErrorCode &status) const; - - /** - * Returns the index in the input string of the first character following the -@@ -1012,7 +1012,7 @@ - * a byte index for UTF-8. - * @stable ICU 4.6 - */ -- virtual int64_t end64(UErrorCode &status) const; -+ int64_t end64(UErrorCode &status) const; - - - /** -@@ -1032,7 +1032,7 @@ - * a byte index for UTF8. - * @stable ICU 2.4 - */ -- virtual int32_t end(int32_t group, UErrorCode &status) const; -+ int32_t end(int32_t group, UErrorCode &status) const; - - /** - * Returns the index in the input string of the character following the -@@ -1051,7 +1051,7 @@ - * a byte index for UTF8. - * @stable ICU 4.6 - */ -- virtual int64_t end64(int32_t group, UErrorCode &status) const; -+ int64_t end64(int32_t group, UErrorCode &status) const; - - /** - * Resets this matcher. The effect is to remove any memory of previous matches, -@@ -1061,7 +1061,7 @@ - * @return this RegexMatcher. - * @stable ICU 2.4 - */ -- virtual RegexMatcher &reset(); -+ RegexMatcher &reset(); - - - /** -@@ -1079,7 +1079,7 @@ - * @return this RegexMatcher. - * @stable ICU 2.8 - */ -- virtual RegexMatcher &reset(int64_t index, UErrorCode &status); -+ RegexMatcher &reset(int64_t index, UErrorCode &status); - - - /** -@@ -1099,7 +1099,7 @@ - * @return this RegexMatcher. - * @stable ICU 2.4 - */ -- virtual RegexMatcher &reset(const UnicodeString &input); -+ RegexMatcher &reset(const UnicodeString &input); - - - /** -@@ -1115,7 +1115,7 @@ - * - * @stable ICU 4.6 - */ -- virtual RegexMatcher &reset(UText *input); -+ RegexMatcher &reset(UText *input); - - - /** -@@ -1142,7 +1142,7 @@ - * - * @stable ICU 4.8 - */ -- virtual RegexMatcher &refreshInputText(UText *input, UErrorCode &status); -+ RegexMatcher &refreshInputText(UText *input, UErrorCode &status); - - private: - /** -@@ -1167,7 +1167,7 @@ - * @return the input string - * @stable ICU 2.4 - */ -- virtual const UnicodeString &input() const; -+ const UnicodeString &input() const; - - /** - * Returns the input string being matched. This is the live input text; it should not be -@@ -1177,7 +1177,7 @@ - * - * @stable ICU 4.6 - */ -- virtual UText *inputText() const; -+ UText *inputText() const; - - /** - * Returns the input string being matched, either by copying it into the provided -@@ -1189,7 +1189,7 @@ - * - * @stable ICU 4.6 - */ -- virtual UText *getInput(UText *dest, UErrorCode &status) const; -+ UText *getInput(UText *dest, UErrorCode &status) const; - - - /** Sets the limits of this matcher's region. -@@ -1210,7 +1210,7 @@ - * @param status A reference to a UErrorCode to receive any errors. - * @stable ICU 4.0 - */ -- virtual RegexMatcher ®ion(int64_t start, int64_t limit, UErrorCode &status); -+ RegexMatcher ®ion(int64_t start, int64_t limit, UErrorCode &status); - - /** - * Identical to region(start, limit, status) but also allows a start position without -@@ -1223,7 +1223,7 @@ - * U_INDEX_OUTOFBOUNDS_ERROR is returned. - * @stable ICU 4.6 - */ -- virtual RegexMatcher ®ion(int64_t regionStart, int64_t regionLimit, int64_t startIndex, UErrorCode &status); -+ RegexMatcher ®ion(int64_t regionStart, int64_t regionLimit, int64_t startIndex, UErrorCode &status); - - /** - * Reports the start index of this matcher's region. The searches this matcher -@@ -1233,7 +1233,7 @@ - * @return The starting (native) index of this matcher's region. - * @stable ICU 4.0 - */ -- virtual int32_t regionStart() const; -+ int32_t regionStart() const; - - /** - * Reports the start index of this matcher's region. The searches this matcher -@@ -1243,7 +1243,7 @@ - * @return The starting (native) index of this matcher's region. - * @stable ICU 4.6 - */ -- virtual int64_t regionStart64() const; -+ int64_t regionStart64() const; - - - /** -@@ -1254,7 +1254,7 @@ - * @return The ending point (native) of this matcher's region. - * @stable ICU 4.0 - */ -- virtual int32_t regionEnd() const; -+ int32_t regionEnd() const; - - /** - * Reports the end (limit) index (exclusive) of this matcher's region. The searches -@@ -1264,7 +1264,7 @@ - * @return The ending point (native) of this matcher's region. - * @stable ICU 4.6 - */ -- virtual int64_t regionEnd64() const; -+ int64_t regionEnd64() const; - - /** - * Queries the transparency of region bounds for this matcher. -@@ -1274,7 +1274,7 @@ - * @return true if this matcher is using opaque bounds, false if it is not. - * @stable ICU 4.0 - */ -- virtual UBool hasTransparentBounds() const; -+ UBool hasTransparentBounds() const; - - /** - * Sets the transparency of region bounds for this matcher. -@@ -1294,7 +1294,7 @@ - * @return This Matcher; - * @stable ICU 4.0 - **/ -- virtual RegexMatcher &useTransparentBounds(UBool b); -+ RegexMatcher &useTransparentBounds(UBool b); - - - /** -@@ -1304,7 +1304,7 @@ - * @return true if this matcher is using anchoring bounds. - * @stable ICU 4.0 - */ -- virtual UBool hasAnchoringBounds() const; -+ UBool hasAnchoringBounds() const; - - - /** -@@ -1319,7 +1319,7 @@ - * @return This Matcher - * @stable ICU 4.0 - */ -- virtual RegexMatcher &useAnchoringBounds(UBool b); -+ RegexMatcher &useAnchoringBounds(UBool b); - - - /** -@@ -1334,7 +1334,7 @@ - * @return true if the most recent match hit the end of input - * @stable ICU 4.0 - */ -- virtual UBool hitEnd() const; -+ UBool hitEnd() const; - - /** - * Return true the most recent match succeeded and additional input could cause -@@ -1345,7 +1345,7 @@ - * @return true if more input could cause the most recent match to no longer match. - * @stable ICU 4.0 - */ -- virtual UBool requireEnd() const; -+ UBool requireEnd() const; - - - /** -@@ -1353,7 +1353,7 @@ - * @return the RegexPattern for this RegexMatcher - * @stable ICU 2.4 - */ -- virtual const RegexPattern &pattern() const; -+ const RegexPattern &pattern() const; - - - /** -@@ -1372,7 +1372,7 @@ - * @return a string containing the results of the find and replace. - * @stable ICU 2.4 - */ -- virtual UnicodeString replaceAll(const UnicodeString &replacement, UErrorCode &status); -+ UnicodeString replaceAll(const UnicodeString &replacement, UErrorCode &status); - - - /** -@@ -1395,7 +1395,7 @@ - * - * @stable ICU 4.6 - */ -- virtual UText *replaceAll(UText *replacement, UText *dest, UErrorCode &status); -+ UText *replaceAll(UText *replacement, UText *dest, UErrorCode &status); - - - /** -@@ -1418,7 +1418,7 @@ - * @return a string containing the results of the find and replace. - * @stable ICU 2.4 - */ -- virtual UnicodeString replaceFirst(const UnicodeString &replacement, UErrorCode &status); -+ UnicodeString replaceFirst(const UnicodeString &replacement, UErrorCode &status); - - - /** -@@ -1445,7 +1445,7 @@ - * - * @stable ICU 4.6 - */ -- virtual UText *replaceFirst(UText *replacement, UText *dest, UErrorCode &status); -+ UText *replaceFirst(UText *replacement, UText *dest, UErrorCode &status); - - - /** -@@ -1475,7 +1475,7 @@ - * @stable ICU 2.4 - * - */ -- virtual RegexMatcher &appendReplacement(UnicodeString &dest, -+ RegexMatcher &appendReplacement(UnicodeString &dest, - const UnicodeString &replacement, UErrorCode &status); - - -@@ -1506,7 +1506,7 @@ - * - * @stable ICU 4.6 - */ -- virtual RegexMatcher &appendReplacement(UText *dest, -+ RegexMatcher &appendReplacement(UText *dest, - UText *replacement, UErrorCode &status); - - -@@ -1520,7 +1520,7 @@ - * @return the destination string. - * @stable ICU 2.4 - */ -- virtual UnicodeString &appendTail(UnicodeString &dest); -+ UnicodeString &appendTail(UnicodeString &dest); - - - /** -@@ -1536,7 +1536,7 @@ - * - * @stable ICU 4.6 - */ -- virtual UText *appendTail(UText *dest, UErrorCode &status); -+ UText *appendTail(UText *dest, UErrorCode &status); - - - /** -@@ -1562,7 +1562,7 @@ - * @return The number of fields into which the input string was split. - * @stable ICU 2.6 - */ -- virtual int32_t split(const UnicodeString &input, -+ int32_t split(const UnicodeString &input, - UnicodeString dest[], - int32_t destCapacity, - UErrorCode &status); -@@ -1591,7 +1591,7 @@ - * - * @stable ICU 4.6 - */ -- virtual int32_t split(UText *input, -+ int32_t split(UText *input, - UText *dest[], - int32_t destCapacity, - UErrorCode &status); -@@ -1617,7 +1617,7 @@ - * @param status A reference to a UErrorCode to receive any errors. - * @stable ICU 4.0 - */ -- virtual void setTimeLimit(int32_t limit, UErrorCode &status); -+ void setTimeLimit(int32_t limit, UErrorCode &status); - - /** - * Get the time limit, if any, for match operations made with this Matcher. -@@ -1625,7 +1625,7 @@ - * @return the maximum allowed time for a match, in units of processing steps. - * @stable ICU 4.0 - */ -- virtual int32_t getTimeLimit() const; -+ int32_t getTimeLimit() const; - - /** - * Set the amount of heap storage available for use by the match backtracking stack. -@@ -1648,7 +1648,7 @@ - * - * @stable ICU 4.0 - */ -- virtual void setStackLimit(int32_t limit, UErrorCode &status); -+ void setStackLimit(int32_t limit, UErrorCode &status); - - /** - * Get the size of the heap storage available for use by the back tracking stack. -@@ -1657,7 +1657,7 @@ - * stack size is unlimited. - * @stable ICU 4.0 - */ -- virtual int32_t getStackLimit() const; -+ int32_t getStackLimit() const; - - - /** -@@ -1673,7 +1673,7 @@ - * @param status A reference to a UErrorCode to receive any errors. - * @stable ICU 4.0 - */ -- virtual void setMatchCallback(URegexMatchCallback *callback, -+ void setMatchCallback(URegexMatchCallback *callback, - const void *context, - UErrorCode &status); - -@@ -1688,7 +1688,7 @@ - * @param status A reference to a UErrorCode to receive any errors. - * @stable ICU 4.0 - */ -- virtual void getMatchCallback(URegexMatchCallback *&callback, -+ void getMatchCallback(URegexMatchCallback *&callback, - const void *&context, - UErrorCode &status); - -@@ -1706,7 +1706,7 @@ - * @param status A reference to a UErrorCode to receive any errors. - * @stable ICU 4.6 - */ -- virtual void setFindProgressCallback(URegexFindProgressCallback *callback, -+ void setFindProgressCallback(URegexFindProgressCallback *callback, - const void *context, - UErrorCode &status); - -@@ -1721,7 +1721,7 @@ - * @param status A reference to a UErrorCode to receive any errors. - * @stable ICU 4.6 - */ -- virtual void getFindProgressCallback(URegexFindProgressCallback *&callback, -+ void getFindProgressCallback(URegexFindProgressCallback *&callback, - const void *&context, - UErrorCode &status); - ---- source/i18n/unicode/tblcoll.h -+++ source/i18n/unicode/tblcoll.h -@@ -242,7 +242,7 @@ - * the based Collator. - * @stable ICU 2.2 - */ -- virtual CollationElementIterator* createCollationElementIterator( -+ CollationElementIterator* createCollationElementIterator( - const UnicodeString& source) const; - - /** -@@ -254,7 +254,7 @@ - * based Collator. - * @stable ICU 2.2 - */ -- virtual CollationElementIterator* createCollationElementIterator( -+ CollationElementIterator* createCollationElementIterator( - const CharacterIterator& source) const; - - // Make deprecated versions of Collator::compare() visible. diff --git a/external/icu/c++20-comparison.patch.1 b/external/icu/c++20-comparison.patch.1 index fa10b048ce41..6e9155df57e2 100644 --- a/external/icu/c++20-comparison.patch.1 +++ b/external/icu/c++20-comparison.patch.1 @@ -23,14 +23,14 @@ diff -ur icu.org/source/i18n/unicode/simpletz.h icu/source/i18n/unicode/simpletz diff -ur icu.org/source/i18n/unicode/smpdtfmt.h icu/source/i18n/unicode/smpdtfmt.h --- icu.org/source/i18n/unicode/smpdtfmt.h 2022-10-19 02:53:21.000000000 +0200 +++ icu/source/i18n/unicode/smpdtfmt.h 2022-10-24 22:20:10.891969181 +0200 -@@ -877,6 +877,7 @@ +@@ -534,6 +534,7 @@ * @stable ICU 2.0 */ - virtual bool operator==(const Format& other) const override; + U_I18N_API virtual bool operator==(const Format& other) const override; + bool operator!=(const SimpleDateFormat& that) const {return !operator==(that);} - using DateFormat::format; + diff -ur icu.org/source/i18n/unicode/stsearch.h icu/source/i18n/unicode/stsearch.h --- icu.org/source/i18n/unicode/stsearch.h 2022-10-19 02:53:21.000000000 +0200 +++ icu/source/i18n/unicode/stsearch.h 2022-10-24 22:20:10.892969178 +0200 diff --git a/external/icu/icu4c-scriptrun.patch.1 b/external/icu/icu4c-scriptrun.patch.1 index f2f2cf9f3b55..ab560bee9055 100644 --- a/external/icu/icu4c-scriptrun.patch.1 +++ b/external/icu/icu4c-scriptrun.patch.1 @@ -1,7 +1,7 @@ diff -ur icu.org/source/extra/scrptrun/scrptrun.cpp icu/source/extra/scrptrun/scrptrun.cpp --- icu.org/source/extra/scrptrun/scrptrun.cpp 2017-01-20 01:20:31.000000000 +0100 +++ icu/source/extra/scrptrun/scrptrun.cpp 2017-04-21 22:59:31.708037770 +0200 -@@ -151,7 +151,11 @@ +@@ -153,7 +153,11 @@ // characters above it on the stack will be poped. if (pairIndex >= 0) { if ((pairIndex & 1) == 0) { @@ -12,8 +12,8 @@ diff -ur icu.org/source/extra/scrptrun/scrptrun.cpp icu/source/extra/scrptrun/sc + parenStack.resize(nVecSize + 128); + parenStack[parenSP].pairIndex = pairIndex; parenStack[parenSP].scriptCode = scriptCode; + startSP = parenSP; } else if (parenSP >= 0) { - int32_t pi = pairIndex & ~1; @@ -185,7 +189,14 @@ // pop it from the stack if (pairIndex >= 0 && (pairIndex & 1) != 0 && parenSP >= 0) { diff --git a/i18nutil/source/utility/unicode.cxx b/i18nutil/source/utility/unicode.cxx index ff7d6a649136..7030e72b331e 100644 --- a/i18nutil/source/utility/unicode.cxx +++ b/i18nutil/source/utility/unicode.cxx @@ -1025,6 +1025,23 @@ OString unicode::getExemplarLanguageForUScriptCode(UScriptCode eScript) case USCRIPT_TULU_TIGALARI: sRet = "sa-Tutg"_ostr; break; +#endif +#if (U_ICU_VERSION_MAJOR_NUM >= 77) + case USCRIPT_BERIA_ERFE: + sRet = "zag-Berf"_ostr; + break; + case USCRIPT_SIDETIC: + sRet = "xsd-Sidt"_ostr; + break; + case USCRIPT_TAI_YO: + sRet = "tyj-Tayo"_ostr; + break; + case USCRIPT_TOLONG_SIKI: + sRet = "kru-Tols"_ostr; + break; + case USCRIPT_TRADITIONAL_HAN_WITH_LATIN: + sRet = "zh-Hntl"_ostr; + break; #endif } return sRet; diff --git a/include/svx/strings.hrc b/include/svx/strings.hrc index 011092678295..48f5b89f0d54 100644 --- a/include/svx/strings.hrc +++ b/include/svx/strings.hrc @@ -1818,6 +1818,14 @@ #define RID_SUBSETSTR_SYMBOLS_FOR_LEGACY_COMPUTING_SUPPLEMENT NC_("RID_SUBSETMAP", "Symbols for Legacy Computing Supplement") #define RID_SUBSETSTR_TODHRI NC_("RID_SUBSETMAP", "Todhri") #define RID_SUBSETSTR_TULU_TIGALARI NC_("RID_SUBSETMAP", "Tulu-Tigalari") +#define RID_SUBSETSTR_BERIA_ERFE NC_("RID_SUBSETMAP", "Beria Erfe") +#define RID_SUBSETSTR_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_J NC_("RID_SUBSETMAP", "CJK Unified Ideographs Extension J") +#define RID_SUBSETSTR_MISCELLANEOUS_SYMBOLS_SUPPLEMENT NC_("RID_SUBSETMAP", "Miscellaneous Symbols Supplement") +#define RID_SUBSETSTR_SHARADA_SUPPLEMENT NC_("RID_SUBSETMAP", "Sharada Supplement") +#define RID_SUBSETSTR_SIDETIC NC_("RID_SUBSETMAP", "Sidetic") +#define RID_SUBSETSTR_TAI_YO NC_("RID_SUBSETMAP", "Tai Yo") +#define RID_SUBSETSTR_TANGUT_COMPONENTS_SUPPLEMENT NC_("RID_SUBSETMAP", "Tangut Components Supplement") +#define RID_SUBSETSTR_TOLONG_SIKI NC_("RID_SUBSETMAP", "Tolong Siki") #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)") diff --git a/svx/source/dialog/charmap.cxx b/svx/source/dialog/charmap.cxx index 71c81261350d..32999d6e63fe 100644 --- a/svx/source/dialog/charmap.cxx +++ b/svx/source/dialog/charmap.cxx @@ -1959,6 +1959,32 @@ void SubsetMap::InitList() case UBLOCK_TULU_TIGALARI: aAllSubsets.emplace_back( 0x11380, 0x113FF, SvxResId(RID_SUBSETSTR_TULU_TIGALARI) ); break; +#endif +#if (U_ICU_VERSION_MAJOR_NUM >= 77) + case UBLOCK_BERIA_ERFE: + aAllSubsets.emplace_back( 0x16EA0, 0x16EDF, SvxResId(RID_SUBSETSTR_BERIA_ERFE) ); + break; + case UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_J: + aAllSubsets.emplace_back( 0x323B0, 0x3347F, SvxResId(RID_SUBSETSTR_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_J) ); + break; + case UBLOCK_MISCELLANEOUS_SYMBOLS_SUPPLEMENT: + aAllSubsets.emplace_back( 0x1CEC0, 0x1CEFF, SvxResId(RID_SUBSETSTR_MISCELLANEOUS_SYMBOLS_SUPPLEMENT) ); + break; + case UBLOCK_SHARADA_SUPPLEMENT: + aAllSubsets.emplace_back( 0x11B60, 0x11B7F, SvxResId(RID_SUBSETSTR_SHARADA_SUPPLEMENT) ); + break; + case UBLOCK_SIDETIC: + aAllSubsets.emplace_back( 0x10940, 0x1095F, SvxResId(RID_SUBSETSTR_SIDETIC) ); + break; + case UBLOCK_TAI_YO: + aAllSubsets.emplace_back( 0x1E6C0, 0x1E6FF, SvxResId(RID_SUBSETSTR_TAI_YO) ); + break; + case UBLOCK_TANGUT_COMPONENTS_SUPPLEMENT: + aAllSubsets.emplace_back( 0x18D80, 0x18DFF, SvxResId(RID_SUBSETSTR_TANGUT_COMPONENTS_SUPPLEMENT) ); + break; + case UBLOCK_TOLONG_SIKI: + aAllSubsets.emplace_back( 0x11DB0, 0x11DEF, SvxResId(RID_SUBSETSTR_TOLONG_SIKI) ); + break; #endif }
