ICU 4.6变更

以下是ICU 4.6的整理计划变更。其中一些来自CLDR,但我想把它们放在一个地方。

CLDR数据的变化

  1. 许多特定于地区的更改。[约翰处理这件事]。

  2. 基于Unihan数据的拼音和字根笔画排序。规则草案在中 http://www.unicode.org/review/pr-175/,并可能在公众审查期间更新。这些包括拼音、笔画、词根笔画的排序。为了比较,还包括拼音音译。除Unihan外,还使用了一些其他数据源。

  3. 从默认的法语排序规则中删除“向后次要”。当使用法语(或其他语言)时,用户仍可以通过参数或区域设置关键字(例如“fr-u-kb-true”)设置此选项;唯一的变化是,此选项不再是法语的默认选项。然而,这将是fr-CA的默认值。

  4. 排序规则还允许使用“import”语句。这样可以减少源字符串的大小,更好地维护,并使用欧盟语言的默认欧洲订购规则。

  5. 定制UCA DUCET。CLDR将在语言环境。默认情况下,这将由所有其他区域设置继承。然而,在,关键字为“ducet”。使用该关键字,区域设置ID“und-u-co-ducet”将允许访问原始ducet。使用为另一种语言定制的DUCET排序需要从DUCET规则和语言规则的串联中构建一个collator。根区域设置顺序将按以下方式修改:

    1. 标点将组合在一起,位于符号下方,空白上方。标点符号的相对顺序与DUCET匹配。这种分组只影响一个字符串中的标点符号与另一个字符串的符号的比较,例如“I纽约”与“I-NY”

    2. UCA中有两个符号和标点符号选项:不可忽略的,或转移。使用转移选项、符号和标点符号将被忽略,但第四级除外。将修改CLDR的默认设置,以便符号不受转移选项。所以转移只会导致忽略控件、空格和标点符号,而不会忽略符号(例如♥). 可以使用区域设置ID(如“fr-u-vt-1D371”)指定旧行为,以将Variable部分设置为包含其下的所有符号,或者在实现允许访问的地方进行参数化设置。另请参见:

    3. 在DUCET中,几乎所有货币符号都在数字之前分组。对于量身定制的UCA DUCET,此模式的两个例外也被移至该组:

      • U+20A8(₨)RUPEE标志

      • U+FDFC(﷼)RIAL标志

分数UCA、UCA_Rules的变化

  1. 更改重量分配,以便为CJK留出较大的间隙。(由于新的脚本,差距一直在缩小。)这将涉及对角色权重的更改:

    1. 使“不常用”字符具有3字节的权重。

      1. 对于UCA 5.2,这是针对老jamo,加上隐式BMP han。当前版本添加了:

      2. 脚本中超出的所有字符 tr31.html#表格_建议脚本,也不包括“渴望型”

      3. 在拉丁语之前排序的非货币符号。

    2. 使“最频繁”字符具有1字节的权重。

      1. 对于UCA 5.2,这是a-z加空格。当前版本添加了:

      2. 0-9、句点和逗号。

    1. 如果人们有基于数据的建议,我们可以进一步调整这些。

  1. 进行与定制UCA DUCET.

    1. 将标点符号组合在一起。

    2. 将变量顶部移动到符号下方。

    3. 将货币符号组合在一起。

  1. 生成“反向”规则表。那就是,制作与DUCET相同的CLDR_DUCET裁剪。在CLDR根目录的“ducet”下检查这些。

ICU代码变更

  1. 脚本和某些其他类别的字符(空白、货币符号、标点符号、大多数数字、其他符号)将可以参数化重新排序。例如,希腊语的规则可以指定排序顺序为:

    1. 标点符号<希腊字母<数字<货币符号<拉丁字母<其他脚本和字符。

  2. 特殊非字符权重。

    1. 代码点U+FFFF将被定制为具有高于所有其他字符的权重。重量为EF有限元这允许可靠地指定范围,例如代码点空间内的“Sch”≤X≤“Sch\uFFFF”。

    2. 代码点U+FFFE将被定制为具有低于所有其他字符的权重。重量为03 04。这允许 交错的级别在代码点空间内。

    3. 这些值是不可裁剪的,没有任何东西可以裁剪它们。也就是说,这两种情况都不能出现在排序规则中:例如,&\uFFFF<x是非法的。

  1. 所有其他非字符和所有独立的代理项都被视为未分配的代码点;也就是说,它们得到计算出的隐式值。

问题

变量顶部值

variable-top属性定义了使用“移位”主权重的字符。属性值是一系列代码点。它要求用户查看当前的UCA表并找到所需的第一个字符,在该字符下,所有内容都会发生移位。当所选字符在UCA排序中移动时,或者不再是组的第一个/最后一个时,行为将发生变化。

想法:提供一组具有稳定语义的小关键字,以及由UCA表本身定义的代码点序列或CE:

    • de-u-vt软件-没有人:“Shifted”不影响任何字符。(CE及物动词=00)

    • de-u-vt软件-空格:仅移动空格。(CE电压=第一个标点CE)

    • de-u-vt软件-穿孔:移动空格和标点符号。(CE及物动词=第一个符号CE)

    • de-u-vt软件-符号:移动空格、标点和大多数符号。(CE及物动词=第一个货币符号CE)

    • 去-u-vt-货币:最多移动到并包含货币符号。(CE及物动词=第一位CE)

    • de-u-vt软件-数字:最多移位到数字,包括数字。(CE及物动词=第一个字母CE)

    • de-u-vt软件-杜塞人:移位与DUCET默认值相同的字符集。