假设我有这个阿拉伯语代码段:
إذاأخذنابعينالإعتبارطبيعةتقلبالمناخوالمتغيراتالبينيةالسنويةوتلكعلطالمدىالطويلإضافةإلىت
在英语中,这意味着:“如果我们考虑到气候变异性和年际变异性的本质,以及由于缺乏所使用的测量和计算的准确性而长期考虑的性质……。”
现在,我想将其呈现为Reportlab PDF doc(python):
arabic_text = u'إذا أخذنا بعين الإعتبار طبيعة تقلب المناخ و المتغيرات البينية السنوية و تلك على المدى الطويل إضافة إلى عدم دقة القياسات والحسابات المتبعة'
arabic_text = arabic_reshaper.reshape(arabic_text) # join characters
arabic_text = get_display(arabic_text) # change orientation by using bidi
pdf_file=open('disclaimer.pdf','w')
pdf_doc = SimpleDocTemplate(pdf_file, pagesize=A4)
pdfmetrics.registerFont(TTFont('Arabic-normal', '../fonts/KacstOne.ttf'))
style = ParagraphStyle(name='Normal', fontName='Arabic-normal', fontSize=12, leading=12. * 1.2)
style.alignment=TA_RIGHT
pdf_doc.build([Paragraph(arabic_text, style)])
pdf_file.close()
结果是在这里https://www.dropbox.com/s/gdyt6930jlad8id/disclaimer.pdf。您可以看到文本本身是正确且可读的(至少对于Google Translate而言),但未按RTL脚本的预期进行包装。
GCT1015
相关分类