下载ICU 62

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

发布概述

ICU 62升级到Unicode 11和CLDR 33.1语言环境数据。可以在MessageFormat中使用与语言环境无关的骨架字符串,以便更好地控制数字格式。几个still-draft NumberFormatter方法和助手类已被修改或重命名。在C++中,DecimalFormat包装了新的NumberFormatter代码,并且有一个新的数字和货币解析实现。

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

请使用 icu支持邮件列表和/或 重症监护室-气管用于错误报告。

ICU固定门票清单62

版本号

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

如果有维护版本,它们将是62.2、62.3等(在ICU 62开发期间,库版本号为62.0.x)

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

常见更改

    • Unicode 11码:684个新字符,包括7个新脚本、Mtavruli格鲁吉亚大写字母、5个新汉字和66个新表情符号。

  • CLDR第33.1页:

      • Unicode 11脚本元数据,排序规则,中文音译。

      • 修复工具错误后,中文排序笔画顺序从Unicode 7更新为Unicode 11。

    • 数字格式化

      • NumberFormatter现在可以从 本地中立骨架字符串(类似于DateFormat)(#8610). 这在不应翻译占位符详细信息的翻译消息中特别有用。如果样式字段的前缀为“::”,MessageFormat会将其识别为数字骨架,如“文件数:{num,number,:round-integer group-min2}”(#13742)

      • 新的“转换”函数用于从DecimalFormat获取NumberFormatter,从NumberFormatter获取Format。

      • 新的C API(unicode/unumberformatter。小时. (#13597)目前,它仅支持通过框架字符串进行格式设置。

      • 修改或重命名了几个still-draft NumberFormatter方法和helper类;至少有一个版本暂时保留以前的版本(已弃用),以帮助进行转换。

    • Break Iterator规则:正确的Break迭代器操作不再需要“安全”规则。为了向后兼容,包含安全规则的现有规则集将继续工作,其中包含的安全规则将被忽略。已更新Break Iterator二进制数据格式以反映此更改。

    • 换行符:边界规则已更新,以反映Unicode 11版本的 UAX#14型具体来说,对表情符号ZWJ序列的处理得到了改进。(#13770)

ICU4C特定变化

    • 对数字解析进行彻底的检查。请参阅设计文件变更摘要;行为基本上与以前的版本兼容,但存在一些已知的差异。

  • DecimalFormat现在包装了新的NumberFormatter代码。

ICU4J特定变化

    • (无)

已知问题

常见问题

    • 希腊语大小写转换(大写/小写)可能会产生不正确的结果。请参见#13851有关详细信息和修补程序。(注意:此修复包含在 维护-62分支)。

重症监护病房4C

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

  • DecimalFormat&CurrencyUnit不仅用于接受“无货币”的NULL字符串,还用于接受空字符串(作为未记录的功能)。门票 #13850使其再次接受空的货币代码字符串。

  • 在(某些?)ARM平台上,数字格式代码因未对齐的内存访问而崩溃。请参见 #20001有关详细信息和建议的修复。

    • 在DecimalFormat.getCurrencyInstance中,当未设置货币时,字符串的格式为“XXX 1.00”,而不是以前版本中的“¨1.00”。此行为将在63.1中更改。请参见 #13731了解详细信息。

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

重症监护病房4J

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

迁移问题

    1. 在某些货币符号和数字之间插入空白的修复可能需要修改“黄金数据”测试#6560

    2. 这个 Unicode 11.0码更改可能还需要修复一些代码/测试。尤其是:

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

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

      3. Georgia的套管行为不同,与其他脚本的套管行为也不同。

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 SDK安装。

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

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

    • 使用ICC编译器的Windows:

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

  • IBM z公司

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

ICU更新62.2

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

    • IANA tzdata2019a公司

ICU4C下载

最新的ICU4C 62版本

库版本号: 62.2

发布日期: 2019-04-11

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

以前的ICU4C 62版本

库版本号: 62.1

发布日期:2018-06-20

ICU4J下载

最新的ICU4J 62版本

库版本号: 62.2

发布日期:2019年4月11日

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

Maven依赖项:

<依赖性>

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

<artifactId>icu4j</artifactId>

<版本>62.2</版本>

</依赖关系>

以前的ICU4J 62版本

库版本号: 62.1

发布日期:2018-06-20