2017-02-22 73 views
0

这是一个相当具体的bidi算法问题,我希望有人能帮助我理解算法。Unicode BIDI(UBA):Test = RLE ES LRE - >遵循规范的困难

我有一个硬的时间与以下测试从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陈述:

“否则,分隔符和终止符更改为其他中性”。

显然我错过了一些细节,我似乎无法找到它。

任何暗示赞赏,谢谢:)

回答

1

我认为这是发生了什么事。实现可能被设计为保留而不是移除边界中立和明确的格式化字符(参见the implementation notes)。因此,规则X9添加了“不删除任何字符,但将所有RLE,LRE,RLO,LRO和PDF字符转换为BN”这一动作,从而将LRE转换为BN,然后规则W6添加了“更改所有BN类型相邻到ET,ES或CS也是ON“,并将BN的LRE改为ON。

+0

谢谢@graham-asher,我完全错过了实现注释。继这些额外的步骤解决了它:) – butterbrot