更改重量分配,以便为CJK留出较大的间隙。(由于新的脚本,差距一直在缩小。)这将涉及对角色权重的更改:
使“不常用”字符具有3字节的权重。
对于UCA 5.2,这是针对老jamo,加上隐式BMP han。当前版本添加了:
脚本中超出的所有字符 tr31.html#表格_建议脚本,也不包括“渴望型”
在拉丁语之前排序的非货币符号。
使“最频繁”字符具有1字节的权重。
对于UCA 5.2,这是a-z加空格。当前版本添加了:
0-9、句点和逗号。
如果人们有基于数据的建议,我们可以进一步调整这些。
进行与定制UCA DUCET.
将标点符号组合在一起。
将变量顶部移动到符号下方。
将货币符号组合在一起。
生成“反向”规则表。那就是,制作与DUCET相同的CLDR_DUCET裁剪。在CLDR根目录的“ducet”下检查这些。
ICU代码变更
脚本和某些其他类别的字符(空白、货币符号、标点符号、大多数数字、其他符号)将可以参数化重新排序。例如,希腊语的规则可以指定排序顺序为:
标点符号<希腊字母<数字<货币符号<拉丁字母<其他脚本和字符。
特殊非字符权重。
代码点U+FFFF将被定制为具有高于所有其他字符的权重。重量为EF有限元这允许可靠地指定范围,例如代码点空间内的“Sch”≤X≤“Sch\uFFFF”。
代码点U+FFFE将被定制为具有低于所有其他字符的权重。重量为03 04。这允许 交错的级别在代码点空间内。
这些值是不可裁剪的,没有任何东西可以裁剪它们。也就是说,这两种情况都不能出现在排序规则中:例如,&\uFFFF<x是非法的。
所有其他非字符和所有独立的代理项都被视为未分配的代码点;也就是说,它们得到计算出的隐式值。
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默认值相同的字符集。