Dear ICU team & users,
This is new API for: ICU 78
Ticket: https://unicode-org.atlassian.net/browse/ICU-23038
Almost every Unicode release defines some new property values. ICU adds corresponding API constants which are "born @stable" (they are not @draft first for a while) so that they are immediately usable without problems.
See https://blog.unicode.org/2025/05/unicode-170-beta-review-open.html and https://www.unicode.org/review/pri526/ for Unicode 17 beta.
We are adding the following property value constants:
C/C++
unicode/uchar.h
enum UBlockCode {
// New blocks in Unicode 17.0.0
/** @stable ICU 78 */
UBLOCK_BERIA_ERFE = 339, /*[16EA0]*/
/** @stable ICU 78 */
UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_J = 340, /*[323B0]*/
/** @stable ICU 78 */
UBLOCK_CHISOI = 341, /*[16D80]*/
/** @stable ICU 78 */
UBLOCK_MISCELLANEOUS_SYMBOLS_SUPPLEMENT = 342, /*[1CEC0]*/
/** @stable ICU 78 */
UBLOCK_SHARADA_SUPPLEMENT = 343, /*[11B60]*/
/** @stable ICU 78 */
UBLOCK_SIDETIC = 344, /*[10940]*/
/** @stable ICU 78 */
UBLOCK_TAI_YO = 345, /*[1E6C0]*/
/** @stable ICU 78 */
UBLOCK_TANGUT_COMPONENTS_SUPPLEMENT = 346, /*[18D80]*/
/** @stable ICU 78 */
UBLOCK_TOLONG_SIKI = 347, /*[11DB0]*/
typedef enum UJoiningGroup {
U_JG_THIN_NOON, /**< @stable ICU 78 */
typedef enum ULineBreak {
/** @stable ICU 78 */
U_LB_UNAMBIGUOUS_HYPHEN = 48,/*[HH]*/
unicode/uscript.h
typedef enum UScriptCode {
/** @stable ICU 78 */
USCRIPT_BERIA_ERFE = 208, /* Berf */
/** @stable ICU 78 */
USCRIPT_CHISOI = 209, /* Chis */
/** @stable ICU 78 */
USCRIPT_SIDETIC = 210, /* Sidt */
/** @stable ICU 78 */
USCRIPT_TAI_YO = 211, /* Tayo */
/** @stable ICU 78 */
USCRIPT_TOLONG_SIKI = 212, /* Tols */
Java
public final class UCharacter {
public static final class UnicodeBlock extends Character.Subset {
// New blocks in Unicode 17.0.0
/** @stable ICU 78 */
public static final int BERIA_ERFE_ID = 339; /*[16EA0]*/
/** @stable ICU 78 */
public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_J_ID = 340; /*[323B0]*/
/** @stable ICU 78 */
public static final int CHISOI_ID = 341; /*[16D80]*/
/** @stable ICU 78 */
public static final int MISCELLANEOUS_SYMBOLS_SUPPLEMENT_ID = 342; /*[1CEC0]*/
/** @stable ICU 78 */
public static final int SHARADA_SUPPLEMENT_ID = 343; /*[11B60]*/
/** @stable ICU 78 */
public static final int SIDETIC_ID = 344; /*[10940]*/
/** @stable ICU 78 */
public static final int TAI_YO_ID = 345; /*[1E6C0]*/
/** @stable ICU 78 */
public static final int TANGUT_COMPONENTS_SUPPLEMENT_ID = 346; /*[18D80]*/
/** @stable ICU 78 */
public static final int TOLONG_SIKI_ID = 347; /*[11DB0]*/
...
// New blocks in Unicode 17.0.0
/** @stable ICU 78 */
public static final UnicodeBlock BERIA_ERFE = new UnicodeBlock("BERIA_ERFE", BERIA_ERFE_ID);
/** @stable ICU 78 */
public static final UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_J =
new UnicodeBlock("CJK_UNIFIED_IDEOGRAPHS_EXTENSION_J", CJK_UNIFIED_IDEOGRAPHS_EXTENSION_J_ID);
/** @stable ICU 78 */
public static final UnicodeBlock CHISOI = new UnicodeBlock("CHISOI", CHISOI_ID);
/** @stable ICU 78 */
public static final UnicodeBlock MISCELLANEOUS_SYMBOLS_SUPPLEMENT =
new UnicodeBlock("MISCELLANEOUS_SYMBOLS_SUPPLEMENT", MISCELLANEOUS_SYMBOLS_SUPPLEMENT_ID);
/** @stable ICU 78 */
public static final UnicodeBlock SHARADA_SUPPLEMENT =
new UnicodeBlock("SHARADA_SUPPLEMENT", SHARADA_SUPPLEMENT_ID);
/** @stable ICU 78 */
public static final UnicodeBlock SIDETIC = new UnicodeBlock("SIDETIC", SIDETIC_ID);
/** @stable ICU 78 */
public static final UnicodeBlock TAI_YO = new UnicodeBlock("TAI_YO", TAI_YO_ID);
/** @stable ICU 78 */
public static final UnicodeBlock TANGUT_COMPONENTS_SUPPLEMENT =
new UnicodeBlock("TANGUT_COMPONENTS_SUPPLEMENT", TANGUT_COMPONENTS_SUPPLEMENT_ID);
/** @stable ICU 78 */
public static final UnicodeBlock TOLONG_SIKI = new UnicodeBlock("TOLONG_SIKI", TOLONG_SIKI_ID);
public static interface JoiningGroup
/** @stable ICU 78 */
public static final int THIN_NOON = 105;
public static interface LineBreak
/** @stable ICU 78 */
public static final int UNAMBIGUOUS_HYPHEN = 48; /*[HH]*/
public final class UScript {
/** @stable ICU 78 */
public static final int BERIA_ERFE = 208; /* Berf */
/** @stable ICU 78 */
public static final int CHISOI = 209; /* Chis */
/** @stable ICU 78 */
public static final int SIDETIC = 210; /* Sidt */
/** @stable ICU 78 */
public static final int TAI_YO = 211; /* Tayo */
/** @stable ICU 78 */
public static final int TOLONG_SIKI = 212; /* Tols */
public final class VersionInfo {
/**
* Unicode 17.0 version
* @stable ICU 78
*/
public static final VersionInfo UNICODE_17_0;
Dear ICU team & users,
This is new API for: ICU 78
Ticket: https://unicode-org.atlassian.net/browse/ICU-23038
Almost every Unicode release defines some new property values. ICU adds corresponding API constants which are "born @stable" (they are not @draft first for a while) so that they are immediately usable without problems.
See https://blog.unicode.org/2025/05/unicode-170-beta-review-open.html and https://www.unicode.org/review/pri526/ for Unicode 17 beta.
We are adding the following property value constants:
Update: The UTC has decided to remove the Chisoi script from Unicode 17. Chisoi is now expected to go into Unicode 18 instead.
As a result, we will remove the API constants from ICU 78 for the Chisoi script and block.