操作系统如何知道是否在字符串上应用bidi算法用于显示目的?
我知道希伯来语可能采用ISO-Logical形式,但操作系统如何知道如何指出特定字符串包含希伯来语(或任何其他RTL语言)?
答案 0 :(得分:2)
根据How to detect whether a character belongs to a Right To Left language? - 似乎它们是从左到右存储的,而且是字符代码决定它是否是RTL语言。
答案 1 :(得分:0)
现在,按照Unicode标准的建议,这样做的方法是按逻辑顺序存储文本(良好的解释here),这意味着它的读取顺序。
操作系统通过查看字符代码知道特定字符串包含希伯来语。它应用Unicode Bidirectional Algorithm来确定正确的显示顺序。通常,操作系统会首先快速扫描字符串,以查看是否存在约束订单的任何从右到左的字符或控制代码。如果没有,则字符串不需要重新排序。