Python 中的 Pyfpdf 土耳其字符

Pyfpdf Turkish Character in Python

我想在我的 Python 应用程序中使用包含土耳其语字符的文本创建 pdf,但出现错误。我的代码如下。我该如何解决这个问题?

# -*- coding: utf-8 -*-
from fpdf import FPDF
import os

def add_image(image_path):
    pdf = FPDF()
    pdf.add_page()

    epw = pdf.w - 2 * pdf.l_margin
    pdf.set_font('Arial', 'B', 14.0)
    txt = u'ATATÜRK LİSESİ 2019 2020 EĞİTİM ÖĞRETİM YILI 11C SINIFI'
    stxt = txt.encode('iso-8859-9')
    pdf.cell(epw, 0.0, stxt, align='C')

如果我使用下面的代码,我会收到“UnicodeEncodeError: 'latin-1' codec can't encode character '\u0130' in position 60: ordinal not in range(256)' 错误

epw = pdf.w - 2 * pdf.l_margin
pdf.set_font('Arial', 'B', 14.0)
txt = 'ATATÜRK LİSESİ 2019 2020 EĞİTİM ÖĞRETİM YILI 11C SINIFI'
#stxt = txt.encode('iso-8859-9')
pdf.cell(epw, 0.0, txt, align='C')

我将 'tr-arial.ttf' 字体下载到应用程序文件夹,我找到了这个解决方案:

epw = pdf.w - 2 * pdf.l_margin
txt = u'ATATÜRK LİSESİ 2019 2020 EĞİTİM ÖĞRETİM YILI 11C SINIFI'
pdf.add_font('tr-arial', '', 'tr-arial.ttf', uni=True)
pdf.set_font('tr-arial', '', 11)
pdf.cell(epw, 0.0, txt, align='C')