ICU API notice: new property values for Unicode 17

26 views
Skip to first unread message

Markus Scherer

unread,
Jun 3, 2025, 2:17:48 PMJun 3
to icu-d...@unicode.org

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;


Sincerely,
markus

Markus Scherer

unread,
Jul 28, 2025, 5:33:46 PMJul 28
to icu-d...@unicode.org
On Fri, May 30, 2025 at 12:18 PM Markus Scherer <marku...@gmail.com> wrote:

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.


Sincerely,
markus
Reply all
Reply to author
Forward
0 new messages