From d79c7bf5a095f186ad724c6ca2eeb72ae42b6fdf Mon Sep 17 00:00:00 2001 From: Markus Scherer Date: Wed, 27 Mar 2024 17:27:43 -0700 Subject: [PATCH] ICU-22707 expectedLong script names --- icu4c/source/data/unidata/changes.txt | 9 +++++++-- icu4c/source/test/cintltst/cucdapi.c | 4 ++++ .../test/java/com/ibm/icu/dev/test/lang/TestUScript.java | 4 ++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/icu4c/source/data/unidata/changes.txt b/icu4c/source/data/unidata/changes.txt index a975dd2aa92c..02752c8e0445 100644 --- a/icu4c/source/data/unidata/changes.txt +++ b/icu4c/source/data/unidata/changes.txt @@ -159,7 +159,10 @@ export UNICODE_TOOLS=~/oss/unicodetools/mine/src * new constants for new property values - preparseucd.py error: - ValueError: missing uchar.h enum constants for some property values: [('blk', {'Garay', 'Tulu_Tigalari', 'Todhri', 'Sunuwar', 'Egyptian_Hieroglyphs_Ext_A', 'Kirat_Rai', 'Symbols_For_Legacy_Computing_Sup', 'Myanmar_Ext_C', 'Ol_Onal', 'Gurung_Khema'}), ('sc', {'Gara', 'Onao', 'Todr', 'Krai', 'Tutg', 'Sunu', 'Gukh'}), ('InSC', {'Reordering_Killer'})] + ValueError: missing uchar.h enum constants for some property values: + [('blk', {'Garay', 'Tulu_Tigalari', 'Todhri', 'Sunuwar', 'Egyptian_Hieroglyphs_Ext_A', 'Kirat_Rai', 'Symbols_For_Legacy_Computing_Sup', 'Myanmar_Ext_C', 'Ol_Onal', 'Gurung_Khema'}), + ('sc', {'Gara', 'Onao', 'Todr', 'Krai', 'Tutg', 'Sunu', 'Gukh'}), + ('InSC', {'Reordering_Killer'})] = PropertyValueAliases.txt new property values (diff old & new .txt files) (cd $UNIDATA_ROOT && diff -u uni15.1/final/ucd/PropertyValueAliases.txt uni16/alpha/UCD/ucd/PropertyValueAliases.txt | egrep '^[-+][a-zA-Z]') +age; 16.0 ; V16_0 @@ -195,7 +198,7 @@ export UNICODE_TOOLS=~/oss/unicodetools/mine/src + Indic_Syllabic_Category: uchar.h & UCharacter.IndicSyllabicCategory + after adding new API constants, run preparseucd.py again -TODO +TODO: need to update CLDR script metadata first * update Script metadata: SCRIPT_PROPS[] in uscript_props.cpp & UScript.ScriptMetadata (not strictly necessary for NOT_ENCODED scripts) @@ -216,6 +219,8 @@ to find out the latest `bazel` version, and copying that version number into the $ICU_SRC/.bazeliskrc config file. (Revert if you find incompatibilities, or, better, update our build & config files.) +TODO + * generate data files - remember to define the environment variables diff --git a/icu4c/source/test/cintltst/cucdapi.c b/icu4c/source/test/cintltst/cucdapi.c index 27936f1b2105..4ac94f718922 100644 --- a/icu4c/source/test/cintltst/cucdapi.c +++ b/icu4c/source/test/cintltst/cucdapi.c @@ -433,6 +433,8 @@ void TestUScriptCodeAPI(void){ "Kawi", "Nag_Mundari", // new in ICU 75 "Aran", + // new in ICU 76 + "Garay", "Gurung_Khema", "Kirat_Rai", "Ol_Onal", "Sunuwar", "Todhri", "Tulu_Tigalari", }; static const char* expectedShort[] = { "Bali", "Batk", "Blis", "Brah", "Cham", "Cirt", "Cyrs", "Egyd", "Egyh", "Egyp", @@ -475,6 +477,8 @@ void TestUScriptCodeAPI(void){ "Kawi", "Nagm", // new in ICU 75 "Aran", + // new in ICU 76 + "Gara", "Gukh", "Krai", "Onao", "Sunu", "Todr", "Tutg", }; int32_t j = 0; if(UPRV_LENGTHOF(expectedLong)!=(USCRIPT_CODE_LIMIT-USCRIPT_BALINESE)) { diff --git a/icu4j/main/core/src/test/java/com/ibm/icu/dev/test/lang/TestUScript.java b/icu4j/main/core/src/test/java/com/ibm/icu/dev/test/lang/TestUScript.java index 331643082b00..554cd5b9e396 100644 --- a/icu4j/main/core/src/test/java/com/ibm/icu/dev/test/lang/TestUScript.java +++ b/icu4j/main/core/src/test/java/com/ibm/icu/dev/test/lang/TestUScript.java @@ -339,6 +339,8 @@ public void TestNewCode(){ "Kawi", "Nag_Mundari", // new in ICU 75 "Aran", + // new in ICU 76 + "Garay", "Gurung_Khema", "Kirat_Rai", "Ol_Onal", "Sunuwar", "Todhri", "Tulu_Tigalari", }; String[] expectedShort = new String[]{ "Bali", "Batk", "Blis", "Brah", "Cham", "Cirt", "Cyrs", "Egyd", "Egyh", "Egyp", @@ -381,6 +383,8 @@ public void TestNewCode(){ "Kawi", "Nagm", // new in ICU 75 "Aran", + // new in ICU 76 + "Gara", "Gukh", "Krai", "Onao", "Sunu", "Todr", "Tutg", }; if(expectedLong.length!=(UScript.CODE_LIMIT-UScript.BALINESE)) { errln("need to add new script codes in lang.TestUScript.java!");