| 方向性 | 相关字符 | 效果 |
|---|---|---|
| Left-to-Right (LTR) | 强字符从左至右(英文字母、汉子以及世界上大部分左->右书写的文字) |
方向性确定,LTR 或 RTL,和上下文无关.并且可能会影响其前后字符的方向性. |
| Right-to-Left (RTL) | 强字符从右至左(阿拉伯文字、希伯来文字以及右->左书写的文字) |
同上 |
| Left-to-Right (LTR) / Right-to-Left (RTL) | 弱字符(数字和数字相关的符号) | 和强字符一样方向性也是确定的,但是不会影响前后字符的方向性. |
| Neutral | 中性字符(大部分标点符号和空格) | 方向性不确定,由上下文环境决定其方向 |
全局方向
也可以称为基础方向.全局方向是一个文本中的总体方向,在安卓中,我们通过调整TextView的textDirection来控制单个TextView的全局方向。
如何混排
这里说一下我浅薄的理解,在没有引入控制字符的条件下。
首先对于强字符来说,他们有自己的展示顺序,在展示的时候,可以把逻辑上在一块儿的强字符组合起来就可以。
对于中性字符来说,如果中性字符是第一个字符,那么这个字符的方向性就取决于上下文的方向性,如果中性字符不是第一个字符,则看它逻辑上顺序的前一个强字符的方向性,这也是说为什么弱字符不会影响前后字符的方向性的原因,如果它是ltr,那么这个中性字符就是ltr.如果这个字符是rtl,那么这个字符就是rtl。
个人目前认为控制字符可以认为是具有某种方向性的强字符。