重症监护病房69
发布概述
版本号
初始版本的库版本号为69.1。 发布日期:2021-04-07
如果有维护版本,将是69.2、69.3等(在ICU 69开发期间,库版本号为69.0.x) 注意:可能在 维护-69 预打包下载文件中未包含的分支。
常见更改
对于挪威人来说,“no”又回到了规范代码,“nb”被视为等效代码。 这使挪威语的处理与其他宏语言代码保持一致。 没有新的语言环境,但有许多改进和错误修复; 请参阅CLDR发布页面
数字和测量单位格式: 计量单位案例和性别(技术预览)( 重症监护室-21123 ) NumberFormatter上的unitDisplayCase()setter设置语法大小写 FormattedNumber::getGender()返回输出单元的语法性别 这些API目前处理字符串:这将在未来版本中更改
以测量单位表示的二进制前缀(KiB、MiB等)( 重症监护室-21357 ) 自定义复合单位的格式( 重症监护病房-20941 ) 删除整数小数的新选项($1.99,$2,$2.01)( ICU-20886型 ) 新的符号显示选项“负”(不在负零上)( 重症监护室-21484 ) 分数有效舍入的新分辨率( ICU-2019年 )
NumberRangeFormatter支持跨字段( 重症监护病房-20421 ) 时区与本地时间的偏移:新API BasicTimeZone::getOffsetFromLocal()(C++和Java)和ucal_getTimeZoneOffsetFrom local(( 重症监护室-21372 & 重症监护室-21490 )
时区数据(tzdata)版本2021a(2021-1月)
ICU4C特定变化
新的NumberFormatter舍入模式:半数、半高、半低( 重症监护室-21493 ) 默认情况下,即使HarfBuzz可用,也不再构建布局扩展库。 ( 重症监护室-13837 )
ICU4J特定变化
迁移问题
CLDR 39改变了挪威语的语言代码关系 。以前,“nb”是主语言环境,“no”是它的别名。经过这一更改,“no。 这将在区域设置规范化和返回可用区域设置列表的API中可见。 假设只有语言子标记的区域设置除了根之外没有父级的代码可能需要更改。 对于LocaleMatcher:简体中文(zh=zh-Hans=zh-CN)与繁体中文(z-Hant=zh-TW)不再匹配。 这将在产品行为中可见。 另请参见其他 CLDR 39迁移问题 .
ICU4C公共头文件不再定义和使用宏FALSE和TRUE。 ( 重症监护室-21267 ) 这避免了这些宏定义和使用这些名称定义枚举常量的应用程序代码之间的冲突。 不再需要ICU宏:C++11和C99定义假值和真值。 ICU API目前继续使用ICU特定类型的UBool; 可以将标准值分配给UBool变量和参数,而不会发出警告。 如有必要,请更改呼叫站点以使用标准false和true值。 对于C(与C++相反),这些也是在<stdbool.h>中定义的宏。 如果需要时间迁移代码,例如在包含任何ICU头文件之前的应用程序代码中,或通过修补,可以过渡定义U_define_FALSE_AND_TRUE=1 unicode/u机器。 小时 和变化 #定义U_define_FALSE_AND_TRUE 0 改为赋值1。
根据平台的不同,从NULL构造StringPiece可能不明确。 如果出现问题,请将调用站点从使用NULL调整为使用nullptr。 ( 重症监护病房-20984 采购订单号1044 ) 这与中采用char16_t的问题类似 重症监护病房59 .
如果 重建ICU地区数据 根据(可能是修补过的)CLDR数据,请注意,现在ICU repo中有一个新的CLDR-to-ICU转换工具,取代了CLDR repo中的旧工具。 ( 重症监护病房-20693 )请参见 icu4c/source/data/cldr-icu-readme.txt
ICU4C平台支持
全部:构建ICU库需要对C++11的编译器支持。 某些平台(如IBM AIX、IBM z和Solaris)可能无法再构建ICU,除非有改进的编译器可用。
ICU 69不能用C++20编译器构建 。此版本的标准进行了不兼容的更改,需要更改ICU API。 ( ICU-20973型 ) 注意,ICU 67已经固定使用 u8“文字” 被C++20引入的不兼容打破 字符8_t 类型( 重症监护病房-20972 ), 并添加了一些API重载,以减少对reinterpret_cast的需要( 重症监护病房-20984 ).
macOS:XCode 8.3(LLVM clang 8.1.0)已经过测试。 Solaris公司 窗户: 支持的最低版本是Windows 7。 不再支持Windows XP和Windows Vista。 生成Visual Studio UWP项目需要 Visual Studio 2017 (或VS2019),带有 Windows 10 SDK 安装。 当使用“@compt=host”时,在低于Windows 10版本1703的版本上,6个区域设置存在日期和数字格式问题( #13119 ).
由于Windows没有ckb语言环境,LCID转换API不会往返库尔德语(ku)和中央库尔德语(ckb)( #2018年1月 ). 预构建的二进制文件现在使用Visual Studio 2019[MSVC2019],而不是Visual Studio 2017[MSVC2017]( 重症监护室-21108 ). 使用ICC编译器的Windows: IBM AIX: 待定
IBM z公司 待定