PyGTK+ ベースのプログラムでは、Reportlab を使用して PDF 出力を生成しています。ユーザーがその PDF 出力のフォントを選択できるようにしたいと思います (この問題の一部が原因です)。(Py)GTK+ 内の標準的な方法は、この種のタスクに gtk.FontChooser を使用することで、pango.FontDescriptionを返すようです。
私にとって重要な部分は、そのようなオブジェクトを reportlab が理解できるもの、つまり への引数として使用できるものに変換する方法のようですpdfmetrics.registerFont()
。どんな助けでも感謝します。
(主な問題はおそらく、Pango FontDescription が TrueType、Type1、OpenType などのさまざまなタイプのフォントに統一されたインターフェイスを提供することを目的としているように見えることですが、ReportLab では通常、これらのタイプのそれぞれを構築するために異なるクラスを使用します。などreportlab.pdfbase.ttfonts.TTFont
)
(そして、ええ、長期的には、PDF の生成のために cairo に切り替えたいと思っています。しかし、cairo と pango でこれらすべての優れた高レベルの Platypus レイアウト機能に相当するものを実装するには、少し手間がかかります...)