You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

阿拉伯文本与数字混排排版异常问题及正确输入方法咨询

问题原因与解决方法

问题根源:双向文本(BiDi)排版规则

阿拉伯语属于RTL(从右到左)书写体系,而数字是中性字符——排版时会被周围文本的方向属性“吸附”,遵循Unicode双向文本算法的自动排序逻辑,这就是你遇到位置错乱的核心原因:

  • 当你在阿拉伯语后加数字:RTL文本会把中性的数字纳入自身的排版流,数字被“拉”到视觉左侧,符合RTL从右到左的阅读顺序。
  • 当数字在阿拉伯语前:开头的数字会被编辑器默认的LTR(从左到右)环境影响,和RTL文本形成独立块,所以位置保持不变。
  • 复制阿拉伯语到两个数字中间:RTL文本块插入后,BiDi算法会重新排序混合的LTR数字和RTL文本,导致数字被拆分到文本两侧。

正确的数字输入方式

别排斥U+200E(LTR左向标记)和U+200F(RTL右向标记),它们就是用来解决双向文本混合排版问题的,数字场景同样适用:

1. 让数字固定在阿拉伯语视觉右侧

在阿拉伯语末尾添加LTR标记,强制后续数字按LTR方向排版:

weather_type = "غائم جزئياً\u200E 01"
weather_type = "غائم\u200E 02"
weather_type = "غبار\u200E 03"

2. 阿拉伯语两侧都放数字(视觉上01 阿拉伯语 02)

用标记分隔不同方向的文本块,避免自动排序:

weather_type = "\u200E01\u200F غائم جزئياً \u200E01"
  • \u200E01:强制数字01按LTR显示在左侧
  • \u200F:结束LTR块,让后续阿拉伯语保持RTL方向
  • \u200E01:强制右侧数字按LTR显示在视觉右侧

内容的提问来源于stack exchange,提问作者peter.slizik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 08:03:14