下载ICU 63

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

发布概述

ICU 63更新了CLDR 34现场数据,并进行了许多添加和更正,以及一些新语言。ICU为数字和货币添加API范围格式化,以及用于其他Unicode属性和构建自定义属性的API。CLDR和ICU包括测试即将到来的日本日历时代准备就绪的数据。

有关包括迁移问题在内的更多详细信息,请参阅下文。

请使用 icu支持邮件列表和/或查找/提交错误报告.

ICU固定门票清单63

版本号

初始版本的库版本号为63.1。

如果有维护版本,则将为63.2、63.3等(在ICU 63开发期间,库版本号为63.0.x)

注意:可能在 维护-63未包含在下面的预打包下载文件中的分支。

常见更改

  • CLDR第34页

      • 针对Unicode 11调整的分段规则和表情符号排序顺序

      • 索马里和爪哇数据现在达到中等水平(文档内容)

      • 汤加、孔卡尼、毛利人、宗卡、鞑靼人、库尔德人(ku)和科萨人的数据现已达到基本水平

      • 许多其他语言的数据添加和更正

      • ICU增加了以下语言:信德语、毛利语、土库曼语、爪哇语、语际语、库尔德语(ku)、科萨语

    • 新货币:委内瑞拉的Bolívar Soberano(VES)

    • 2019年开始的新日本日历时代:CLDR和ICU包括可启用的测试数据。(重症监护室#12973, CLDR#10750)

      • 要启用CLDR新日文时代占位符名称,请设置环境变量(以及ICU4J的Java系统属性)ICU_enable_TENTATIVE_era=true。

    • 用于数字和货币范围格式的新API(类NumberRangeFormatter, #11276)

    • 支持其他Unicode属性:Indic_Positional_Category和Indic_Syllabic_Categore(#8966)和垂直方向(#12850)

    • 新的代码点映射和尝试API,将Unicode代码点(U+0000..U+10FFFF)映射为整数值。(#13530)

      • Java类CodePointMap、CodePointTrie、MutableCodePointTrie

      • C类型UCPMap、UCPTrie、UMutableCPTrie

    • 用于获取每个二进制属性的UnicodeSet和每个枚举/int值属性的代码点映射的新API。(#20086)

    • 完全符合 UAX 14号断线(所需的BreakIterator功能工作)。(#7270)

ICU4C特定变化

    • C++区域设置类

      • LanguageTag()/toLanguageTag()的其他函数,以及使用StringPiece和ByteSink而不是原始缓冲区更容易、更安全地使用的函数。(#13417)

      • 移动语义。(#13645)

    • ICU4C:已修复各种内存不足(OOM)问题。(票证查询)

    • 这个icu配置工具已被弃用。您可以使用--禁用icu-config选项禁用安装icu-config。或者,您可以使用--启用icu-config启用icu-config。将来,icu-config将默认禁用。(#62845)

ICU4J特定变化

    • 需要Java 7,而不是Java 6。(#13413)

已知问题

常见问题

    • 使用货币格式化程序的NaN解析失败(#20211)

    • 第一次使用属性时,UnicodeSet(“[:intprop=value:]”)性能回归。请参见#20250有关详细信息和修复。

重症监护病房4C

    • ICU4C需要C++11支持。某些平台(如IBM AIX、IBM z和Solaris)可能无法再构建ICU,除非有改进的编译器可用。请参阅下面的“ICU4C平台支持”部分。

  • Cygwin生成失败:显式模板实例化需要在命名空间内。(#20214).

  • ICU4C回归:为无效或缺失的区域设置创建DateTimePatternGenerator将返回“U_missing_RESOURCE_ERROR”,而不是返回到root并发出警告。(重症监护病房-20558).

    • Cygwin解压缩无法正确解压缩预构建的Windows二进制文件(#20567,固定在64.2中)。

重症监护病房4J

    • ICU4J 63升级到Java 7,旨在支持Android API 21级,但一些代码需要API 24级。请参见#20255年有关详细信息和修复。

    • 何时时区。时区_JDK设置为时区类型,则欧洲/都柏林的时区格式在最新的Oracle和OpenJDK运行时上不正确(“爱尔兰标准时间”和“格林威治标准时间”被替换)(#13798).

迁移问题

    1. 最近Unicode 11.0码更改可能需要修复一些代码/测试。尤其是:

      1. 分词现在将空白分组在一起。

      2. 一般来说,分段简化了表情符号序列的测试。

      3. 与其他脚本相比,格鲁吉亚语的大小写行为不同,格鲁吉亚语的大小写行为也不同。

    2. 法语分组分隔符从无中断空格U+00A0改为窄无中断空格U+202F。

    3. ListFormatter的C/C++代码已被移动向上的从公共库到i18n库,以便它可以额外输出FieldPosition信息。如果应用程序正在使用此API,但尚未与i18n库链接,则需要将其添加到其链接器输入集。(与相关#13754)

    4. Python 3警告:ICU 64需要Python3进行数据构建。该警告将在ICU 64中变成错误。

ICU4C平台支持

  • 全部:构建ICU库需要对C++11的编译器支持。

    • GCC:版本4.8和更高版本已经过测试。

    • IBM AIX:

      • xlC C/C++当前不支持足够的C++11子集(#13393)

      • gcc可能有效

  • macOS:XCode 8.3(LLVM clang 8.1.0)已经过测试。

  • Solaris公司

  • 窗户:

    • 支持的最低版本是Windows 7。不再支持Windows XP和Windows Vista。

    • 生成Visual Studio UWP项目需要 Visual Studio 2017使用的版本Windows 10软件开发工具包安装。

      • 注意:Visual Studio 2017中有关于优化器问题的报告(例如#13636). 如果您在VS2017上遇到问题,您可能希望使用VS2015作为解决方案。

      • 使用“@compat=host”时,在低于Windows 10版本1703的版本上,6个区域设置存在日期和数字格式问题(#13119).

    • 由于Windows没有ckb语言环境,LCID转换API没有往返库尔德语(ku)和中央库尔德语(ckb)(#20181).

    • 使用ICC编译器的Windows:

      • 源文件编码。ICC编译器无法识别/utf-8型选项。众所周知,工作区取得了成功。(#13251)

  • IBM z公司

      • xlC C/C++当前不支持足够的C++11子集(#13393)

ICU更新63.2

    • 日本新纪元Reiwa(令和) 支持

    • IANA tzdata2019a公司

ICU4C下载

最新的ICU4C 63版本

库版本号: 63.2

发布日期: 2019-04-11

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

以前的ICU4C 63版本

库版本号: 63.1

发布日期:2018-10-15

ICU4J下载

最新的ICU4J 63版本

库版本号: 63.2

发布日期: 2019-04-11

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

Maven依赖项:

<依赖性>

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

<artifactId>icu4j</artifactId>

<版本>63.2</版本>

</依赖性>

以前的ICU4J 63版本

库版本号: 63.1

发布日期:2018-10-15