Prepare for builds against ICU 64
authorEike Rathke <erack@redhat.com>
Tue, 29 Oct 2019 19:31:41 +0000 (20:31 +0100)
committerRene Engelhard <rene@debian.org>
Wed, 20 Nov 2019 13:15:21 +0000 (13:15 +0000)
ICU 64 adds new scripts and Unicode blocks from Unicode 12 that need to
be handled.

This adds 9 new resource strings that will show up for translators, but
are not really necessary to be translated; unless a distribution
actually builds against ICU 64 they won't be displayed and even then
only in very rare circumstances (in Special Characters for fonts
containing the glyphs of these new Unicode blocks, unlikely). TDF builds
will not be affected as they are built against internal ICU 63.

Change-Id: I3cfdf6d2a4c6a56deb72ef837175ad48b1f521b5
Reviewed-on: https://gerrit.libreoffice.org/81714
Tested-by: Jenkins
Reviewed-by: Sophie Gautier <gautier.sophie@gmail.com>
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
Gbp-Pq: Name Prepare-for-builds-against-ICU-64.diff

i18nutil/source/utility/unicode.cxx
include/svx/strings.hrc
svx/source/dialog/charmap.cxx

index 7e0c425368bee22ed32b8d4543631ad8b42b7334..ad3305aa0fca2b6b4776400e1c89fd443bcfba48 100644 (file)
@@ -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;
index 7434d1e3f890b13cf60ca9112dfe3822aff32014..eaaf61abfc01d69ee0f8b2971dc8465aa8a118a4 100644 (file)
 #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)")
index 52401b486bc8721196e88b10e62bafddeb49d43c..bf91c73dd6a4c993f01d5fe983e48242a446496e 100644 (file)
@@ -1783,6 +1783,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
 
             }