Unicode BIDI (UBA): R RLI R;为什么 RLI 应该保持在 0 级

Unicode BIDI (UBA): R RLI R; Why should RLI stay on level 0

为 BIDI 实现隔离器逻辑让我再次陷入困境。给定以下测试用例。

@Levels: 1 0 1
@Reorder: 0 1 2
R  RLI  R ; 2  # LTR flag
\____/ \_/ (my run sequences)

这是我目前的理解:

处理 规则 X1-X8 后,您最终得到关卡 0 0 1,这将转换为两个独立的 运行 序列。

据我所知,规则 W1-W7 不应适用于任何字符。

然而,

规则 N1 会将 RLI 的级别提高到 1,因为它是两个强类型之间的 NIR和第一个序列的eos

规则 I1/2 然后将第一个 R 推到级别 1。

规则 L1 可以降低 RLI 的级别,但不适用于此处。

RLI 最终应该达到 0 级,这是怎么回事。


同样的问题,类似的测试,只是方向相反。

@Levels: 2 1 2
@Reorder: 2 1 0
L LRI L; 4

遗憾的是 http://unicode.org/cldr/utility/bidi.jsp 没有实现最新的算法,包括 RLI/LRI。

欢迎任何建议:) 谢谢。

好的,问题是 规则 N1 不应该被应用,因为 eos 是类型 L 而不是 R

我错过了 X10 上的说明:...如果有 none 或序列的最后一个字符是隔离启动器(缺少匹配的 PDI),则段落嵌入级别."