Unicode BIDI (UBA): Test = RLE IS LRE -> 遵循规范的困难
Unicode BIDI (UBA): Test = RLE ES LRE -> Difficulties following the specs
这是一个比较具体的比迪算法问题,希望有人能帮助我理解算法。
我在 BidiTest-10.0.0d5.txt
的以下测试中遇到困难
@Levels x, 1, x
@Reorder 1
RLE ES LRE; 2
http://unicode.org/cldr/utility/bidi.jsp?a=%E2%80%AB%2B%E2%80%AA&p=LTR
上面的 unicode 工具对 RLE 字符应用规则 W6 并将其转换为 ON。
这是为什么?规则 W6 规定:
"Otherwise, separators and terminators change to Other Neutral".
显然我遗漏了一些细节,我似乎找不到它。
感谢任何提示,谢谢:)
我认为这就是正在发生的事情。该实现可能旨在保留而不是删除边界中立和显式格式化字符(请参阅 the implementation notes)。因此,规则 X9 添加操作 "do not remove any characters, but turn all RLE, LRE, RLO, LRO, and PDF characters into BN",从而将 LRE 变为 BN,然后规则 W6 添加操作 "change all BN types adjacent to ET, ES, or CS to ON as well",从而将作为 LRE 的 BN 更改为 ON。
这是一个比较具体的比迪算法问题,希望有人能帮助我理解算法。
我在 BidiTest-10.0.0d5.txt
@Levels x, 1, x
@Reorder 1
RLE ES LRE; 2
http://unicode.org/cldr/utility/bidi.jsp?a=%E2%80%AB%2B%E2%80%AA&p=LTR
上面的 unicode 工具对 RLE 字符应用规则 W6 并将其转换为 ON。
这是为什么?规则 W6 规定:
"Otherwise, separators and terminators change to Other Neutral".
显然我遗漏了一些细节,我似乎找不到它。
感谢任何提示,谢谢:)
我认为这就是正在发生的事情。该实现可能旨在保留而不是删除边界中立和显式格式化字符(请参阅 the implementation notes)。因此,规则 X9 添加操作 "do not remove any characters, but turn all RLE, LRE, RLO, LRO, and PDF characters into BN",从而将 LRE 变为 BN,然后规则 W6 添加操作 "change all BN types adjacent to ET, ES, or CS to ON as well",从而将作为 LRE 的 BN 更改为 ON。