bf2fec
From 86dfa34c6d83b70923d462fecad316dafd9a1fc4 Mon Sep 17 00:00:00 2001
bf2fec
Message-Id: <86dfa34c6d83b70923d462fecad316dafd9a1fc4.1531839924.git.erack@redhat.com>
bf2fec
From: Eike Rathke <erack@redhat.com>
bf2fec
Date: Mon, 16 Jul 2018 15:20:32 +0200
bf2fec
Subject: [PATCH] Upgrade to ICU 62.1
bf2fec
MIME-Version: 1.0
bf2fec
Content-Type: multipart/mixed; boundary="------------erAck-patch-parts"
bf2fec
bf2fec
This is a multi-part message in MIME format.
bf2fec
--------------erAck-patch-parts
bf2fec
Content-Type: text/plain; charset=UTF-8; format=fixed
bf2fec
Content-Transfer-Encoding: 8bit
bf2fec
bf2fec
bf2fec
Change-Id: I9426e77aa85cfe068df59db47b8ac50b59cd4eb3
bf2fec
Reviewed-on: https://gerrit.libreoffice.org/57500
bf2fec
Reviewed-by: Eike Rathke <erack@redhat.com>
bf2fec
Tested-by: Jenkins
bf2fec
---
bf2fec
 configure.ac                        |  2 +-
bf2fec
 download.lst                        |  8 +++----
bf2fec
 external/icu/UnpackedTarball_icu.mk |  1 -
bf2fec
 external/icu/icu4c-mkdir.patch.1    |  6 ++---
bf2fec
 external/icu/ofz4860.patch.2        | 25 ---------------------
bf2fec
 i18nutil/source/utility/unicode.cxx | 23 +++++++++++++++++++
bf2fec
 include/svx/strings.hrc             | 11 +++++++++
bf2fec
 svx/source/dialog/charmap.cxx       | 35 +++++++++++++++++++++++++++++
bf2fec
 8 files changed, 77 insertions(+), 34 deletions(-)
bf2fec
 delete mode 100644 external/icu/ofz4860.patch.2
bf2fec
bf2fec
bf2fec
--------------erAck-patch-parts
bf2fec
Content-Type: text/x-patch; name="0001-Upgrade-to-ICU-62.1.patch"
bf2fec
Content-Transfer-Encoding: 8bit
bf2fec
Content-Disposition: attachment; filename="0001-Upgrade-to-ICU-62.1.patch"
bf2fec
bf2fec
diff --git a/configure.ac b/configure.ac
bf2fec
index 23b3fd4953c9..2fd11a9b3d19 100644
bf2fec
--- a/configure.ac
bf2fec
+++ b/configure.ac
bf2fec
@@ -9066,7 +9066,7 @@ SYSTEM_GENBRK=
bf2fec
 SYSTEM_GENCCODE=
bf2fec
 SYSTEM_GENCMN=
bf2fec
 
bf2fec
-ICU_MAJOR=61
bf2fec
+ICU_MAJOR=62
bf2fec
 ICU_MINOR=1
bf2fec
 ICU_RECLASSIFIED_PREPEND_SET_EMPTY="TRUE"
bf2fec
 ICU_RECLASSIFIED_CONDITIONAL_JAPANESE_STARTER="TRUE"
bf2fec
diff --git a/download.lst b/download.lst
bf2fec
index dd3519b74a8d..0d4e974ed105 100644
bf2fec
--- a/download.lst
bf2fec
+++ b/download.lst
bf2fec
@@ -102,10 +102,10 @@ export HUNSPELL_SHA256SUM := 3cd9ceb062fe5814f668e4f22b2fa6e3ba0b339b921739541ce
bf2fec
 export HUNSPELL_TARBALL := hunspell-1.6.2.tar.gz
bf2fec
 export HYPHEN_SHA256SUM := 304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705
bf2fec
 export HYPHEN_TARBALL := 5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz
bf2fec
-export ICU_SHA256SUM := d007f89ae8a2543a53525c74359b65b36412fa84b3349f1400be6dcf409fafef
bf2fec
-export ICU_TARBALL := icu4c-61_1-src.tgz
bf2fec
-export ICU_DATA_SHA256SUM := d149ed0985b5a6e16a9d8ed66f105dd58fd334c276779f74241cfa656ed2830a
bf2fec
-export ICU_DATA_TARBALL := icu4c-61_1-data.zip
bf2fec
+export ICU_SHA256SUM := 3dd9868d666350dda66a6e305eecde9d479fb70b30d5b55d78a1deffb97d5aa3
bf2fec
+export ICU_TARBALL := icu4c-62_1-src.tgz
bf2fec
+export ICU_DATA_SHA256SUM := 93bcaf58cfa9223972da79cb8e0f94819ace4995db6041b84f4d9bd810246d1d
bf2fec
+export ICU_DATA_TARBALL := icu4c-62_1-data.zip
bf2fec
 export JFREEREPORT_FLOW_ENGINE_SHA256SUM := 233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd
bf2fec
 export JFREEREPORT_FLOW_ENGINE_TARBALL := ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
bf2fec
 export JFREEREPORT_FLUTE_SHA256SUM := 1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133
bf2fec
diff --git a/external/icu/UnpackedTarball_icu.mk b/external/icu/UnpackedTarball_icu.mk
bf2fec
index c789e6eb8d84..6800c1fb5ea8 100644
bf2fec
--- a/external/icu/UnpackedTarball_icu.mk
bf2fec
+++ b/external/icu/UnpackedTarball_icu.mk
bf2fec
@@ -34,7 +34,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,icu,\
bf2fec
 	external/icu/icu4c-clang-cl.patch.1 \
bf2fec
 	$(if $(filter-out ANDROID,$(OS)),external/icu/icu4c-icudata-stdlibs.patch.1) \
bf2fec
 	external/icu/icu4c-khmerbreakengine.patch.1 \
bf2fec
-	external/icu/ofz4860.patch.2 \
bf2fec
 	external/icu/icu4c-61-werror-shadow.patch.1 \
bf2fec
 ))
bf2fec
 
bf2fec
diff --git a/external/icu/icu4c-mkdir.patch.1 b/external/icu/icu4c-mkdir.patch.1
bf2fec
index 3234f151b677..7de4cf51174c 100644
bf2fec
--- a/external/icu/icu4c-mkdir.patch.1
bf2fec
+++ b/external/icu/icu4c-mkdir.patch.1
bf2fec
@@ -1,10 +1,10 @@
bf2fec
 diff -ur icu.org/source/data/Makefile.in icu/source/data/Makefile.in
bf2fec
---- icu.org/source/data/Makefile.in	2016-06-15 20:58:17.000000000 +0200
bf2fec
-+++ icu/source/data/Makefile.in	2017-04-21 22:29:00.747158002 +0200
bf2fec
+--- icu.org/source/data/Makefile.in	2018-06-21 11:39:15.000000000 +0200
bf2fec
++++ icu/source/data/Makefile.in	2018-07-16 13:18:26.928109541 +0200
bf2fec
 @@ -367,6 +367,7 @@
bf2fec
  ifeq ($(PKGDATA_MODE),dll)
bf2fec
  SO_VERSION_DATA = $(OUTTMPDIR)/icudata.res
bf2fec
- $(SO_VERSION_DATA) : $(MISCSRCDIR)/icudata.rc
bf2fec
+ $(SO_VERSION_DATA) : $(MISCSRCDIR)/icudata.rc | build-dir
bf2fec
 +	mkdir -p $(OUTTMPDIR)
bf2fec
  ifeq ($(MSYS_RC_MODE),1)
bf2fec
  	rc.exe -i$(srcdir)/../common -i$(top_builddir)/common -fo$@ $(CPPFLAGS) $<
bf2fec
diff --git a/external/icu/ofz4860.patch.2 b/external/icu/ofz4860.patch.2
bf2fec
deleted file mode 100644
bf2fec
index 14114d52878b..000000000000
bf2fec
--- a/external/icu/ofz4860.patch.2
bf2fec
+++ /dev/null
bf2fec
@@ -1,25 +0,0 @@
bf2fec
-From 529ba01ee606940ca273b187be8ce9ba31cf2d90 Mon Sep 17 00:00:00 2001
bf2fec
-From: David Tardon <dtardon@redhat.com>
bf2fec
-Date: Fri, 19 Jan 2018 10:41:02 +0100
bf2fec
-Subject: [PATCH] ofz#4860 fix past-the-end read from array
bf2fec
-
bf2fec
----
bf2fec
- icu4c/source/common/locmap.cpp | 2 +-
bf2fec
- 1 file changed, 1 insertion(+), 1 deletion(-)
bf2fec
-
bf2fec
-diff --git a/icu4c/source/common/locmap.cpp b/icu4c/source/common/locmap.cpp
bf2fec
-index cbb2b810a..6d62d8310 100644
bf2fec
---- a/icu4c/source/common/locmap.cpp
bf2fec
-+++ b/icu4c/source/common/locmap.cpp
bf2fec
-@@ -1015,7 +1015,7 @@ static const char*
bf2fec
- getPosixID(const ILcidPosixMap *this_0, uint32_t hostID)
bf2fec
- {
bf2fec
-     uint32_t i;
bf2fec
--    for (i = 0; i <= this_0->numRegions; i++)
bf2fec
-+    for (i = 0; i < this_0->numRegions; i++)
bf2fec
-     {
bf2fec
-         if (this_0->regionMaps[i].hostID == hostID)
bf2fec
-         {
bf2fec
--- 
bf2fec
-2.14.3
bf2fec
-
bf2fec
diff --git a/i18nutil/source/utility/unicode.cxx b/i18nutil/source/utility/unicode.cxx
bf2fec
index 6d90b15ca42e..876750d6119d 100644
bf2fec
--- a/i18nutil/source/utility/unicode.cxx
bf2fec
+++ b/i18nutil/source/utility/unicode.cxx
bf2fec
@@ -726,6 +726,29 @@ OString unicode::getExemplarLanguageForUScriptCode(UScriptCode eScript)
bf2fec
         case USCRIPT_ZANABAZAR_SQUARE:
bf2fec
             sRet = "mn-Zanb";   // abugida to write Mongolian
bf2fec
             break;
bf2fec
+#endif
bf2fec
+#if (U_ICU_VERSION_MAJOR_NUM >= 62)
bf2fec
+        case USCRIPT_DOGRA:
bf2fec
+            sRet = "dgo";       // Dogri proper
bf2fec
+            break;
bf2fec
+        case USCRIPT_GUNJALA_GONDI:
bf2fec
+            sRet = "wsg";       // Adilabad Gondi
bf2fec
+            break;
bf2fec
+        case USCRIPT_MAKASAR:
bf2fec
+            sRet = "mak";
bf2fec
+            break;
bf2fec
+        case USCRIPT_MEDEFAIDRIN:
bf2fec
+            sRet = "mis-Medf";  // Uncoded with script
bf2fec
+            break;
bf2fec
+        case USCRIPT_HANIFI_ROHINGYA:
bf2fec
+            sRet = "rhg";
bf2fec
+            break;
bf2fec
+        case USCRIPT_SOGDIAN:
bf2fec
+            sRet = "sog";
bf2fec
+            break;
bf2fec
+        case USCRIPT_OLD_SOGDIAN:
bf2fec
+            sRet = "sog";
bf2fec
+            break;
bf2fec
 #endif
bf2fec
     }
bf2fec
     return sRet;
bf2fec
# Slightly adapted to rawhide/F29 libreoffice-6-0-6
bf2fec
diff --git a/include/svx/strings.hrc b/include/svx/strings.hrc
bf2fec
index 86c2215ac1c4..18fd984a1bd8 100644
bf2fec
--- a/include/svx/strings.hrc
bf2fec
+++ b/include/svx/strings.hrc
bf2fec
@@ -1656,6 +1656,17 @@
bf2fec
 #define RID_SUBSETSTR_SOYOMBO                               NC_("RID_SUBSETMAP", "Soyombo")
bf2fec
 #define RID_SUBSETSTR_SYRIAC_SUPPLEMENT                     NC_("RID_SUBSETMAP", "Syriac Supplement")
bf2fec
 #define RID_SUBSETSTR_ZANABAZAR_SQUARE                      NC_("RID_SUBSETMAP", "Zanabazar Square")
bf2fec
+#define RID_SUBSETSTR_CHESS_SYMBOLS                         NC_("RID_SUBSETMAP", "Chess Symbols")
bf2fec
+#define RID_SUBSETSTR_DOGRA                                 NC_("RID_SUBSETMAP", "Dogra")
bf2fec
+#define RID_SUBSETSTR_GEORGIAN_EXTENDED                     NC_("RID_SUBSETMAP", "Georgian Extended")
bf2fec
+#define RID_SUBSETSTR_GUNJALA_GONDI                         NC_("RID_SUBSETMAP", "Gunjala Gondi")
bf2fec
+#define RID_SUBSETSTR_HANIFI_ROHINGYA                       NC_("RID_SUBSETMAP", "Hanifi Rohingya")
bf2fec
+#define RID_SUBSETSTR_INDIC_SIYAQ_NUMBERS                   NC_("RID_SUBSETMAP", "Indic Siyaq Numbers")
bf2fec
+#define RID_SUBSETSTR_MAKASAR                               NC_("RID_SUBSETMAP", "Makasar")
bf2fec
+#define RID_SUBSETSTR_MAYAN_NUMERALS                        NC_("RID_SUBSETMAP", "Mayan Numerals")
bf2fec
+#define RID_SUBSETSTR_MEDEFAIDRIN                           NC_("RID_SUBSETMAP", "Medefaidrin")
bf2fec
+#define RID_SUBSETSTR_OLD_SOGDIAN                           NC_("RID_SUBSETMAP", "Old Sogdian")
bf2fec
+#define RID_SUBSETSTR_SOGDIAN                               NC_("RID_SUBSETMAP", "Sogdian")
bf2fec
 
bf2fec
 #endif
bf2fec
 
bf2fec
diff --git a/svx/source/dialog/charmap.cxx b/svx/source/dialog/charmap.cxx
bf2fec
index 3bf3a01d520f..fcaa955541df 100644
bf2fec
--- a/svx/source/dialog/charmap.cxx
bf2fec
+++ b/svx/source/dialog/charmap.cxx
bf2fec
@@ -1744,6 +1744,41 @@ void SubsetMap::InitList()
bf2fec
                     aAllSubsets.emplace_back( 0x11A00, 0x11A4F, SvxResId(RID_SUBSETSTR_ZANABAZAR_SQUARE) );
bf2fec
                     break;
bf2fec
 #endif
bf2fec
+#if (U_ICU_VERSION_MAJOR_NUM >= 62)
bf2fec
+                case UBLOCK_CHESS_SYMBOLS:
bf2fec
+                    aAllSubsets.emplace_back( 0x1FA00, 0x1FA6F, SvxResId(RID_SUBSETSTR_CHESS_SYMBOLS) );
bf2fec
+                    break;
bf2fec
+                case UBLOCK_DOGRA:
bf2fec
+                    aAllSubsets.emplace_back( 0x11800, 0x1184F, SvxResId(RID_SUBSETSTR_DOGRA) );
bf2fec
+                    break;
bf2fec
+                case UBLOCK_GEORGIAN_EXTENDED:
bf2fec
+                    aAllSubsets.emplace_back( 0x1C90, 0x1CBF, SvxResId(RID_SUBSETSTR_GEORGIAN_EXTENDED) );
bf2fec
+                    break;
bf2fec
+                case UBLOCK_GUNJALA_GONDI:
bf2fec
+                    aAllSubsets.emplace_back( 0x11D60, 0x11DAF, SvxResId(RID_SUBSETSTR_GUNJALA_GONDI) );
bf2fec
+                    break;
bf2fec
+                case UBLOCK_HANIFI_ROHINGYA:
bf2fec
+                    aAllSubsets.emplace_back( 0x10D00, 0x10D3F, SvxResId(RID_SUBSETSTR_HANIFI_ROHINGYA) );
bf2fec
+                    break;
bf2fec
+                case UBLOCK_INDIC_SIYAQ_NUMBERS:
bf2fec
+                    aAllSubsets.emplace_back( 0x1EC70, 0x1ECBF, SvxResId(RID_SUBSETSTR_INDIC_SIYAQ_NUMBERS) );
bf2fec
+                    break;
bf2fec
+                case UBLOCK_MAKASAR:
bf2fec
+                    aAllSubsets.emplace_back( 0x11EE0, 0x11EFF, SvxResId(RID_SUBSETSTR_MAKASAR) );
bf2fec
+                    break;
bf2fec
+                case UBLOCK_MAYAN_NUMERALS:
bf2fec
+                    aAllSubsets.emplace_back( 0x1D2E0, 0x1D2FF, SvxResId(RID_SUBSETSTR_MAYAN_NUMERALS) );
bf2fec
+                    break;
bf2fec
+                case UBLOCK_MEDEFAIDRIN:
bf2fec
+                    aAllSubsets.emplace_back( 0x16E40, 0x16E9F, SvxResId(RID_SUBSETSTR_MEDEFAIDRIN) );
bf2fec
+                    break;
bf2fec
+                case UBLOCK_OLD_SOGDIAN:
bf2fec
+                    aAllSubsets.emplace_back( 0x10F00, 0x10F2F, SvxResId(RID_SUBSETSTR_OLD_SOGDIAN) );
bf2fec
+                    break;
bf2fec
+                case UBLOCK_SOGDIAN:
bf2fec
+                    aAllSubsets.emplace_back( 0x10F30, 0x10F6F, SvxResId(RID_SUBSETSTR_SOGDIAN) );
bf2fec
+                    break;
bf2fec
+#endif
bf2fec
 
bf2fec
             }
bf2fec
 
bf2fec
bf2fec
--------------erAck-patch-parts--
bf2fec
bf2fec