summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac2
-rw-r--r--download.lst8
-rw-r--r--external/icu/UnpackedTarball_icu.mk2
-rw-r--r--external/icu/c++20-comparison.patch.130
-rw-r--r--external/icu/do-not-reset-useful-cache-to-empty-in-populateNear.patch.237
-rw-r--r--external/icu/strict_ansi.patch15
-rw-r--r--i18nutil/source/utility/unicode.cxx8
-rw-r--r--include/svx/strings.hrc7
-rw-r--r--svx/source/dialog/charmap.cxx24
9 files changed, 58 insertions, 75 deletions
diff --git a/configure.ac b/configure.ac
index 064e0683637d..bacc245f9396 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10796,7 +10796,7 @@ fi
dnl ===================================================================
dnl Check for system icu
dnl ===================================================================
-ICU_MAJOR=71
+ICU_MAJOR=72
ICU_MINOR=1
ICU_RECLASSIFIED_PREPEND_SET_EMPTY="TRUE"
ICU_RECLASSIFIED_CONDITIONAL_JAPANESE_STARTER="TRUE"
diff --git a/download.lst b/download.lst
index 1b855434d7f9..0db9970fcd5d 100644
--- a/download.lst
+++ b/download.lst
@@ -106,10 +106,10 @@ export HUNSPELL_SHA256SUM := b2d9c5369c2cc7f321cb5983fda2dbf007dce3d9e1751974684
export HUNSPELL_TARBALL := hunspell-1.7.1.tar.gz
export HYPHEN_SHA256SUM := 304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705
export HYPHEN_TARBALL := 5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz
-export ICU_SHA256SUM := 67a7e6e51f61faf1306b6935333e13b2c48abd8da6d2f46ce6adca24b1e21ebf
-export ICU_TARBALL := icu4c-71_1-src.tgz
-export ICU_DATA_SHA256SUM := e3882b4fece6e5e039f22c3189b7ba224180fd26fdbfa9db284617455b93e804
-export ICU_DATA_TARBALL := icu4c-71_1-data.zip
+export ICU_SHA256SUM := a2d2d38217092a7ed56635e34467f92f976b370e20182ad325edea6681a71d68
+export ICU_TARBALL := icu4c-72_1-src.tgz
+export ICU_DATA_SHA256SUM := ee19f876507d6c23d9e0a2b631096f6b0eaa6fa61728c33a89efdb55e3385dea
+export ICU_DATA_TARBALL := icu4c-72_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
diff --git a/external/icu/UnpackedTarball_icu.mk b/external/icu/UnpackedTarball_icu.mk
index ccb1a1a8b9b2..f58223d5bc5f 100644
--- a/external/icu/UnpackedTarball_icu.mk
+++ b/external/icu/UnpackedTarball_icu.mk
@@ -36,11 +36,9 @@ $(eval $(call gb_UnpackedTarball_add_patches,icu,\
external/icu/c++20-comparison.patch.1 \
external/icu/ubsan.patch.1 \
external/icu/Wdeprecated-copy-dtor.patch \
- external/icu/strict_ansi.patch \
external/icu/icu4c-windows-cygwin-cross.patch.1 \
external/icu/icu4c-emscripten-cross.patch.1 \
external/icu/icu4c-use-pkgdata-single-ccode-file-mode.patch.1 \
- external/icu/do-not-reset-useful-cache-to-empty-in-populateNear.patch.2 \
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) \
diff --git a/external/icu/c++20-comparison.patch.1 b/external/icu/c++20-comparison.patch.1
index 3d2d7c042951..fa10b048ce41 100644
--- a/external/icu/c++20-comparison.patch.1
+++ b/external/icu/c++20-comparison.patch.1
@@ -1,6 +1,6 @@
diff -ur icu.org/source/i18n/unicode/rbtz.h icu/source/i18n/unicode/rbtz.h
---- icu.org/source/i18n/unicode/rbtz.h 2021-10-28 18:04:57.000000000 +0200
-+++ icu/source/i18n/unicode/rbtz.h 2021-11-15 18:56:24.364137609 +0100
+--- icu.org/source/i18n/unicode/rbtz.h 2022-10-19 02:53:21.000000000 +0200
++++ icu/source/i18n/unicode/rbtz.h 2022-10-24 22:20:10.889969185 +0200
@@ -87,6 +87,7 @@
* @stable ICU 3.8
*/
@@ -10,8 +10,8 @@ diff -ur icu.org/source/i18n/unicode/rbtz.h icu/source/i18n/unicode/rbtz.h
/**
* Adds the `TimeZoneRule` which represents time transitions.
diff -ur icu.org/source/i18n/unicode/simpletz.h icu/source/i18n/unicode/simpletz.h
---- icu.org/source/i18n/unicode/simpletz.h 2021-10-28 18:04:57.000000000 +0200
-+++ icu/source/i18n/unicode/simpletz.h 2021-11-15 19:01:41.774487719 +0100
+--- icu.org/source/i18n/unicode/simpletz.h 2022-10-19 02:53:21.000000000 +0200
++++ icu/source/i18n/unicode/simpletz.h 2022-10-24 22:20:10.890969183 +0200
@@ -112,6 +112,7 @@
* @stable ICU 2.0
*/
@@ -21,8 +21,8 @@ diff -ur icu.org/source/i18n/unicode/simpletz.h icu/source/i18n/unicode/simpletz
/**
* Constructs a SimpleTimeZone with the given raw GMT offset and time zone ID,
diff -ur icu.org/source/i18n/unicode/smpdtfmt.h icu/source/i18n/unicode/smpdtfmt.h
---- icu.org/source/i18n/unicode/smpdtfmt.h 2021-10-28 18:04:57.000000000 +0200
-+++ icu/source/i18n/unicode/smpdtfmt.h 2021-11-15 19:02:47.382353381 +0100
+--- 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 @@
* @stable ICU 2.0
*/
@@ -32,8 +32,8 @@ diff -ur icu.org/source/i18n/unicode/smpdtfmt.h icu/source/i18n/unicode/smpdtfmt
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 2021-10-28 18:04:57.000000000 +0200
-+++ icu/source/i18n/unicode/stsearch.h 2021-11-15 19:03:27.014272230 +0100
+--- 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
@@ -298,6 +298,7 @@
* @stable ICU 2.0
*/
@@ -43,8 +43,8 @@ diff -ur icu.org/source/i18n/unicode/stsearch.h icu/source/i18n/unicode/stsearch
// public get and set methods ----------------------------------------
diff -ur icu.org/source/i18n/unicode/tzrule.h icu/source/i18n/unicode/tzrule.h
---- icu.org/source/i18n/unicode/tzrule.h 2021-10-28 18:04:57.000000000 +0200
-+++ icu/source/i18n/unicode/tzrule.h 2021-11-15 19:14:52.191331967 +0100
+--- icu.org/source/i18n/unicode/tzrule.h 2022-10-19 02:53:21.000000000 +0200
++++ icu/source/i18n/unicode/tzrule.h 2022-10-24 22:30:23.298744116 +0200
@@ -257,6 +257,7 @@
* @stable ICU 3.8
*/
@@ -52,8 +52,8 @@ diff -ur icu.org/source/i18n/unicode/tzrule.h icu/source/i18n/unicode/tzrule.h
+ bool operator!=(const InitialTimeZoneRule& that) const {return !operator==(that);}
/**
- * Gets the time when this rule takes effect in the given year.
-@@ -468,6 +469,7 @@
+ * Returns if this rule represents the same rule and offsets as another.
+@@ -454,6 +455,7 @@
* @stable ICU 3.8
*/
virtual bool operator!=(const TimeZoneRule& that) const override;
@@ -61,7 +61,7 @@ diff -ur icu.org/source/i18n/unicode/tzrule.h icu/source/i18n/unicode/tzrule.h
/**
* Gets the start date/time rule used by this rule.
-@@ -684,6 +686,7 @@
+@@ -670,6 +672,7 @@
* @stable ICU 3.8
*/
virtual bool operator!=(const TimeZoneRule& that) const override;
@@ -70,8 +70,8 @@ diff -ur icu.org/source/i18n/unicode/tzrule.h icu/source/i18n/unicode/tzrule.h
/**
* Gets the time type of the start times used by this rule. The return value
diff -ur icu.org/source/i18n/unicode/vtzone.h icu/source/i18n/unicode/vtzone.h
---- icu.org/source/i18n/unicode/vtzone.h 2021-10-28 18:04:57.000000000 +0200
-+++ icu/source/i18n/unicode/vtzone.h 2021-11-15 19:16:07.461130004 +0100
+--- icu.org/source/i18n/unicode/vtzone.h 2022-10-19 02:53:21.000000000 +0200
++++ icu/source/i18n/unicode/vtzone.h 2022-10-24 22:20:10.895969172 +0200
@@ -83,6 +83,7 @@
* @stable ICU 3.8
*/
diff --git a/external/icu/do-not-reset-useful-cache-to-empty-in-populateNear.patch.2 b/external/icu/do-not-reset-useful-cache-to-empty-in-populateNear.patch.2
deleted file mode 100644
index bd7fe74fb42a..000000000000
--- a/external/icu/do-not-reset-useful-cache-to-empty-in-populateNear.patch.2
+++ /dev/null
@@ -1,37 +0,0 @@
-From 34b2f7174ba187d99dfb8704b9cf19d369accc13 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= <l.lunak@centrum.cz>
-Date: Wed, 16 Mar 2022 10:54:03 +0100
-Subject: [PATCH] do not reset useful cache to empty in populateNear()
-
----
- icu4c/source/common/rbbi_cache.cpp | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/icu4c/source/common/rbbi_cache.cpp b/icu4c/source/common/rbbi_cache.cpp
-index 26d82df781..54a77c97c6 100644
---- a/icu/source/common/rbbi_cache.cpp
-+++ b/icu/source/common/rbbi_cache.cpp
-@@ -352,7 +352,7 @@ UBool RuleBasedBreakIterator::BreakCache
- if ((position < fBoundaries[fStartBufIdx] - 15) || position > (fBoundaries[fEndBufIdx] + 15)) {
- int32_t aBoundary = 0;
- int32_t ruleStatusIndex = 0;
-- if (position > 20) {
-+ if (position > 20 && false) { // handleSafePrevious() is broken and always returns 0
- int32_t backupPos = fBI->handleSafePrevious(position);
-
- if (backupPos > 0) {
-@@ -376,7 +376,10 @@ UBool RuleBasedBreakIterator::BreakCache::populateNear(int32_t position, UErrorC
- ruleStatusIndex = fBI->fRuleStatusIndex;
- }
- }
-- reset(aBoundary, ruleStatusIndex); // Reset cache to hold aBoundary as a single starting point.
-+ // Reset cache to hold aBoundary as a single starting point.
-+ // Do not do so if what's in the cache is still more useful than an empty cache.
-+ if (!(aBoundary == 0 && position > fBoundaries[fEndBufIdx]))
-+ reset(aBoundary, ruleStatusIndex);
- }
-
- // Fill in boundaries between existing cache content and the new requested position.
---
-2.34.1
-
diff --git a/external/icu/strict_ansi.patch b/external/icu/strict_ansi.patch
deleted file mode 100644
index 972f0e65b1f1..000000000000
--- a/external/icu/strict_ansi.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- source/io/ufile.cpp
-+++ source/io/ufile.cpp
-@@ -21,12 +21,6 @@
- */
-
- #include "unicode/platform.h"
--#if defined(__GNUC__) && !defined(__clang__) && defined(__STRICT_ANSI__)
--// g++, fileno isn't defined if __STRICT_ANSI__ is defined.
--// clang fails to compile the <string> header unless __STRICT_ANSI__ is defined.
--// __GNUC__ is set by both gcc and clang.
--#undef __STRICT_ANSI__
--#endif
-
- #include "locmap.h"
- #include "unicode/ustdio.h"
diff --git a/i18nutil/source/utility/unicode.cxx b/i18nutil/source/utility/unicode.cxx
index 33f1ca2f190e..6e002aa69f18 100644
--- a/i18nutil/source/utility/unicode.cxx
+++ b/i18nutil/source/utility/unicode.cxx
@@ -829,6 +829,14 @@ OString unicode::getExemplarLanguageForUScriptCode(UScriptCode eScript)
sRet = "sq-Vith"; // macrolanguage code
break;
#endif
+#if (U_ICU_VERSION_MAJOR_NUM >= 72)
+ case USCRIPT_KAWI:
+ sRet = "mis-Kawi"; // Uncoded with script
+ break;
+ case USCRIPT_NAG_MUNDARI:
+ sRet = "unr-Nagm";
+ break;
+#endif
}
return sRet;
}
diff --git a/include/svx/strings.hrc b/include/svx/strings.hrc
index e6863c3b2228..d0b66a81f135 100644
--- a/include/svx/strings.hrc
+++ b/include/svx/strings.hrc
@@ -1786,6 +1786,13 @@
#define RID_SUBSETSTR_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_A NC_("RID_SUBSETMAP", "Canadian Aboriginal Syllabics Extended-A")
#define RID_SUBSETSTR_VITHKUQI NC_("RID_SUBSETMAP", "Vithkuqi")
#define RID_SUBSETSTR_ZNAMENNY_MUSICAL_NOTATION NC_("RID_SUBSETMAP", "Znamenny Musical Notation")
+#define RID_SUBSETSTR_ARABIC_EXTENDED_C NC_("RID_SUBSETMAP", "Arabic Extended-C")
+#define RID_SUBSETSTR_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_H NC_("RID_SUBSETMAP", "CJK Unified Ideographs Extension H")
+#define RID_SUBSETSTR_CYRILLIC_EXTENDED_D NC_("RID_SUBSETMAP", "Cyrillic Extended-D")
+#define RID_SUBSETSTR_DEVANAGARI_EXTENDED_A NC_("RID_SUBSETMAP", "Devanagari Extended-A")
+#define RID_SUBSETSTR_KAKTOVIK_NUMERALS NC_("RID_SUBSETMAP", "Kaktovik Numerals")
+#define RID_SUBSETSTR_KAWI NC_("RID_SUBSETMAP", "Kawi")
+#define RID_SUBSETSTR_NAG_MUNDARI NC_("RID_SUBSETMAP", "Nag Mundari")
#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 b268fff518d1..bc3950ad2ca6 100644
--- a/svx/source/dialog/charmap.cxx
+++ b/svx/source/dialog/charmap.cxx
@@ -1894,7 +1894,29 @@ void SubsetMap::InitList()
aAllSubsets.emplace_back( 0x1CF00, 0x1CFCF, SvxResId(RID_SUBSETSTR_ZNAMENNY_MUSICAL_NOTATION) );
break;
#endif
-
+#if (U_ICU_VERSION_MAJOR_NUM >= 72)
+ case UBLOCK_ARABIC_EXTENDED_C:
+ aAllSubsets.emplace_back( 0x10EC0, 0x10EFF, SvxResId(RID_SUBSETSTR_ARABIC_EXTENDED_C) );
+ break;
+ case UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_H:
+ aAllSubsets.emplace_back( 0x31350, 0x323AF, SvxResId(RID_SUBSETSTR_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_H) );
+ break;
+ case UBLOCK_CYRILLIC_EXTENDED_D:
+ aAllSubsets.emplace_back( 0x1E030, 0x1E08F, SvxResId(RID_SUBSETSTR_CYRILLIC_EXTENDED_D) );
+ break;
+ case UBLOCK_DEVANAGARI_EXTENDED_A:
+ aAllSubsets.emplace_back( 0x11B00, 0x11B5F, SvxResId(RID_SUBSETSTR_DEVANAGARI_EXTENDED_A) );
+ break;
+ case UBLOCK_KAKTOVIK_NUMERALS:
+ aAllSubsets.emplace_back( 0x1D2C0, 0x1D2DF, SvxResId(RID_SUBSETSTR_KAKTOVIK_NUMERALS) );
+ break;
+ case UBLOCK_KAWI:
+ aAllSubsets.emplace_back( 0x11F00, 0x11F5F, SvxResId(RID_SUBSETSTR_KAWI) );
+ break;
+ case UBLOCK_NAG_MUNDARI:
+ aAllSubsets.emplace_back( 0x1E4D0, 0x1E4FF, SvxResId(RID_SUBSETSTR_NAG_MUNDARI) );
+ break;
+#endif
}
#if OSL_DEBUG_LEVEL > 0 && !defined NDEBUG