我需要在reportlab中创建一个表格,其中包含阿拉伯语和希伯来语等RTL语言的文本以及英语等LTR语言。
关注this帖子后,我在每个阿拉伯语/希伯来语单词的开头添加了Unicode字符“RIGHT-TO-LEFT EMBEDDING”(U + 202B),以及Unicode字符'POP DIRECTIONAL FORMATTING '(U + 202C)在每个单词的末尾。
所以阿拉伯语'مرحبا'将是这样的:
u'\u202B\uFEE3\uFEAD\uFEA4\uFE92\uFE8E\u202C'
同样,希伯来语'שלום'将是这样的:
u'\u202B\u202E\u05e9\u05DC\u05D5\u05DD\u202C'
不幸的是,在我在reportlab生成PDF的表格中,这个词仍然反过来说:'ابحرم'和 'םולש'
(Nb。我还尝试在RTL字符之前添加Unicode字符'RIGHT-TO-LEFT MARK'(U + 200F),如下所示:
print u'\u200F\uFEE3\uFEAD\uFEA4\uFE92\uFE8E'
关注this帖子
但结果是一样的:()
当我使用ipython打印这个unicode字符串时,文本将反转出来:
print u'\uFEE3\uFEAD\uFEA4\uFE92\uFE8E'
ابحرم
print u'\u202B\u202E\u05e9\u05DC\u05D5\u05DD\u202C'
םולש
如何才能正确显示阿拉伯语和希伯来语文本?
的Nb。我检查了PythonBidi和PyFriBidi,但我不想使用这些库。