下载ICU 56

ICU是软件国际化首选库,由使用 广泛的公司和组织.

发布概述

此版本的功能包括支持CLDR 28和Unicode 8.0。

有关更多详细信息,包括 移民问题,请参见下文。

常见变更

    • CLDR 28:有关CLDR中许多更改的详细信息,请参阅CLDR第28页.

    • Unicode数据更新为Unicode 8.0码:41个新的表情符号字符,5771个新的汉字/日文/韩文表意字符,6个新脚本,改进的字符属性数据等。

    • 通过在资源束之间共享字符串值,ICU数据大小减少了约7.2%(1.8MB)。[#11537]

  • DateIntervalFormat现在以秒处理间隔,并更加一致地设置FieldPosition。[#11706, #11726]

  • DateFormat::createInstanceForSkeleton()缓存DateFormat模式而不是DateTimePatternGenerator实例,以获得更好的性能(用于缓存命中)和更低的堆内存消耗。[#11780]

    • StringSearch(基于排序)默认为在规范化边界上进行匹配,而不是在字素簇边界上进行,这会在印度语文本上产生更多匹配。[#11750]

    • RuleBasedNumberFormat(拼写数字)现在处理四舍五入(仅Java)、无穷大、NaN。[#11653, #11760, #8223]

    • 旧的Normalizer/unorm.h大部分已被Normalizer 2取代(并通过其重新实现),现在已弃用。[#7303]

    • COLON已作为与日期字段[UDAT_]TIME_SEPARATOR_field相对应的日期模式字符撤回;当前没有与该字段对应的模式字符。[#11773]

    • 支持区域设置键“cf”指定货币格式样式,并与UNumberFormatStyle的NumberFormat值交互:[#11787]

      • 对于NumberFormat样式UNUM_CURRENCY/CURRENCYSTYLE,默认为“标准”货币样式(通常对负数使用减号),但新的区域设置键“cf”可以与值“标准”或“帐户”一起使用,以指定货币格式样式(“帐户”表示会计样式,通常对负号使用括号)。

      • 对于其他NumberFormat样式,将忽略区域设置键“cf”(它们覆盖区域设置首选项):

        • UNUM_CURRENCY_ISO/ISOCURRENCYSTYLE公司

        • UNUM_CURRENCY_PLURAL/PLURALCURRENCY样式

        • UNUM_CURRENCY_ACCOUNTING/ACCOUNTINGCURRENCYSTYLE(通用_通用_会计)

        • UNUM_CASH_货币/货币风格

      • 新的NumberFormat样式可用于显式指定标准样式,而忽略区域设置键“cf”

        • UNUM_CURRENCY_STANDARD/STANDARDCURRENCY样式

ICU4C特定变化

    • C API通过UNumberFormatStyle添加对CompactDecimalFormat的支持:UNUM_DECIMAL_COMPACT_SHORT、UNUM_DECIMAL_COMPACT_LONG[#11693]

    • 较大的UnicodeString对象在对象内部存储更多字符,无需堆分配;UnicodeString对象大小现在可以在构建时进行配置。[#11551]

    • 在64位机器上,从对象大小40字节(包含15个内部UChar)增加到新的默认值64字节(包含27个UChar。

    • 一些C++类现在有swap()和moveFrom()方法,并在支持它们的编译器上支持C++11移动语义。[#10086]

    • UnicodeString、LocalPointer、LocalArray

    • 对DecimalFormat代码进行重构,以修复错误、提高可维护性和 提高性能. [#10458]

  • 新建FilteredBreakIterator抑制某些线段边界例如,它可以抑制“史密斯先生”中间的句子边界。[#11248]

  • 内部共享缓存已从无界更改为有界。[#11767]

  • 对于类型为UBRK_SENTENCE的[U]BreakIterator,区域设置键“ss”现在可以与值“standard”一起使用,以指定应使用标准的断句抑制数据,或与值“none”一起使用以指示不应使用断句抑制数据(默认值)。[#11770]

  • 校对机:由于预计算的不安全备份表,首次启动时间提高了20%[#11886]

  • 许多内存泄漏和缓冲区溢出都是基于静态代码分析修复的,主要是在数据构建工具中。

ICU4J特定变化

    • ULocale支持Android Locale脚本代码和Unicode扩展[#11674]

    • DurationFormat已被弃用。它支持的语言环境很少,并且没有随着时间的推移而得到改进。其大部分功能可通过MeasureFormat和RelativeDateTimeFormatter获得。[#11887]

已知问题

  • ICU4C 56不能在Microsoft Visual Studio 2015下编译(#11822)

  • ICU4C源代码tar和zip文件具有readme.html,该文件错误地声明源是候选版本(#12046)

迁移问题

  • 有关于CLDR更改可能导致的迁移问题的详细信息 CLDR 28迁移.

    • COLON已被撤销为与日期字段[UDAT_]TIME_SEPARATOR_field相对应的日期模式字符;当前没有与该字段对应的模式字符。[#11773]

ICU更新56.2

    • 新日本时代Reiwa(和)支持

    • IANA tzdata2019a公司

ICU4C下载

最新的ICU4C 56版本

版本: 56.2

发布日期: 2019-04-11

可在git/GitHub标签页上下载源代码和二进制文件:https://github.com/unicode-org/icu/releases/tag/release-56-2

以前的ICU4C 56版本

版本: 56.1

发布日期:2015-10-07

ICU4J下载

最新的ICU4J 56版本

版本: 56.2

发布日期: 2019-04-11

可在git/GitHub标签页上下载源代码和二进制文件:https://github.com/unicode-org/icu/releases/tag/release-56-2

Maven依赖关系:

<依赖性>

<groupId>com.ibm.icu</groupId>

<artifactId>icu4j</artifactId>

<版本>56.2</版本>

</依赖性>

以前的ICU4J 56版本

版本:56.1

发布日期:2015-10-07