#python #unicode #fonts #fpdf
#python #Юникод #шрифты #fpdf
Вопрос:
Мне нужно распечатать текст в PDF, но текст, который я печатаю, не является ascii. Основываясь на выходных данных моего кода, он генерирует что-то вроде этого
[][][][][][][] ( Окно 😉 )
Я пытаюсь выяснить, как напечатать текст, отличный от ascii, в PDF. Спасибо!
#!/usr/bin/env python
# -*- coding: utf-8 -*-
def sample():
pdf = fpdf.FPDF()
pdf.add_page()
text = '안녕하세요'
pdf.add_font('DejaVu', '', 'fpdf\unifont\DejaVuSansCondensed.ttf', uni=True)
pdf.set_font('DejaVu', '', 9)
pdf.text(x=data_column, y=start_y (3 * charheight),
txt=str(u": {0}".format(text)))
Ответ №1:
Вы используете шрифт, который не поддерживает символы хангыля. В документах fpdf используется шрифт eunjin для обозначения хангыля:
# Add a Alee Unicode font (uses UTF-8)
# General purpose Hangul truetype fonts that contain Korean syllable
# and Latin9 (iso8859-15) characters.
pdf.add_font('eunjin', '', 'Eunjin.ttf', uni=True)
pdf.set_font('eunjin', '', 14)
pdf.write(8, u'Korean: 안녕하세요')