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,因为它是两个强类型之间的 NI
,R
和第一个序列的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),则段落嵌入级别."
为 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,因为它是两个强类型之间的 NI
,R
和第一个序列的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),则段落嵌入级别."