ICU是 软件国际化首选库ICU 51.2是ICU 51的维护版本,请参阅以下信息。
ICU 51.1是ICU的主要版本,具有新功能、新API以及数据和代码中的许多错误修复。
自ICU 50以来的主要变化包括以下内容:
常见变更
ICU4C特定变化
支持“dangi”韩国阴历(已经在ICU4J中)。[#9616]
添加CompactDecimalFormat(已在ICU4J中)。[#9543]
添加TerritoryContainer API(已在ICU4J中)。[#8451]
UnicodeString默认构造函数和析构函数现在内联。[#9635]
布局引擎现在支持“morx”表。[#9868]
修复了一些ICU 50回归:
添加ucal_getTimeZoneID。[#9735]
C类++ 字母索引该实现现在与Java并驾齐驱,包括对所有中文排序裁剪的全面支持。
U8_NEXT()和类似的低级宏现在支持以NUL结尾的UTF-8字符串。[#9664]230
像U8_NEXT_OR_FFFD()这样的新宏对于格式错误的序列返回U+FFFD。[#9662]
转换:新的“良好的单向”映射类型,例如用于变体选择器序列。[#9602]
ICU4J特定变化
已知问题
重症监护病房4C:
[固定于51.2]使用Visual Studio生成时,enumset.h未复制到include文件夹[#10047]
[固定于51.2]2013年4月18日:布局引擎中的安全漏洞。[#10107](所有早期版本)
使用来自不可信源的字体的应用程序容易受到安全问题的攻击。
范围:这些问题不会影响不使用ICU布局引擎的应用程序。这些问题将主要影响处理来自不可信源(如webfonts)的字体的应用程序。
注:应用程序必须实施LEFontInstance::getFontTable(LETag,size_t和length)在其LEFontInstance子类中,以便ICU可以正确绑定-检查字体表。
交叉引用:以下RedHat Bug#、CVE和Oracle Java Bug#通过以下补丁修复,该补丁与Java 1.7 u update 21同步:
RH#952656-CVE-2013-2419 OpenJDK:字体处理错误(2D,Java#8001031)
RH#952708-CVE-2013-2383 OpenJDK:字体布局和字形表错误(2D,Java#8004986)
RH#952709-CVE-2013-2384 OpenJDK:字体布局和字形表错误(2D,Java#8004987)
RH#952711-CVE-2013-1569 OpenJDK:字体布局和字形表错误(2D,Java#8004994)
补丁:请下载并覆盖以下补丁程序(这将替换您的源/布局目录)。
哈夫巴斯:ICU Layout的用户是强烈地鼓励考虑 HarfBuzz项目作为ICU布局引擎的替代品。负责布局引擎的ICU团队成员正在为HarfBuzz提供修复和功能,并且提供了一个下拉包装器,允许使用HarfBuz直接替换ICU布局引擎。请参见:http://www.freedesktop.org/wiki/Software/HarfBuzz
ICU 51.2更新
注:有关ICU4C和ICU4J的具体更改,请参阅以下章节。另外,请参阅ICU trac51.2里程碑页面以获取更改的完整描述。
新日本时代Reiwa(和)支持
IANA tzdata2019a公司
版本:51.3
发布日期:2019-04-11
可在git/GitHub标签页上下载源代码和二进制文件:https://github.com/unicode-org/icu/releases/tag/release-51-3
以前的ICU4J 51版本
版本: 51.2
发布日期:2013-05-23
自51.1年以来ICU4C的具体变化(见ICU trac51.2里程碑页面更多详细信息)
版本: 51.1(ICU4C首次公开发布51)
发布日期: 2013-03-22