Я пытаюсь создать PDF-файл, содержащий арабский абзац, с помощью библиотеки FPDF. Слова на арабском языке отображаются неправильно (должно быть справа налево), но они отображаются слева направо как английские.
что я пробовал: 1- загрузить шрифт, поддерживающий арабские буквы 2- закодировать файл .txt и декодировать его обратно, чтобы записать его в pdf (используя UTF-8)
Примечание: после запуска переменная txt (с кодировкой='utf-8') содержит слова правильно, как и в файле .txt, проблема только в pdf
pdf = fpdf.FPDF(format='letter')
# Read text file
name = 'mqal.txt'
with open(name, 'r', encoding="utf-8") as f:
txt = f.read()
pdf.add_page()
# freeserif because it support arabic letters
pdf.add_font('FreeSerif', '', 'FreeSerif.ttf', uni=True)
pdf.set_font('FreeSerif', '', 12)
pdf.multi_cell(0, 5, txt,0,'R')
pdf.ln()
pdf.cell(0, 5, 'End')
pdf.output("mqal8.pdf")
ВЫВОД (В ФАЙЛЕ PDF):
ملعت نودو ،ةددحم تاوطخ وأ دعاوق يأ عبتت نأ نود لاقم ةباتكب أدبت نأ كنكمي ديكأتلابو معن
اهلوحتو كراكفأ رصعب أدبتو ،كبوساح مامأ سلجت نأ وه هلعف كيلع ام لك ،لاقملا ةباتك سسأ
،هتباتك تمت عومسم مالكب نوكت ام هبشأ ةجيتنلا نوكتس ام ابلاغ ،بوتكم صن ىلإ ةرشابم
اعبط اذه
لإ
это должно быть так:
نعم وبالتأكيد يمكنك أن تبدأ بكتابة مقال دون أن تتبع أي قواعد أو خطوات محددة، ودون تعلم أسس كتابة المقال، كل ما عليك فعله هو أن تجلس أمام حاسوبك، وتبدأ بعصر أفكارك وتحولها مباشرة إلى نص مكتوب، غالبا ما ستكون النتيجة أشبه ما تكون بكلام مسموع تمت كتابته، هذا طبعا إلّا إن كنت خبيرا بكتابة المقالات
Подробнее здесь: https://stackoverflow.com/questions/588 ... pdf-python
Мобильная версия