4

11 月にこの質問をした後、Python pdf 生成のすべてのニーズに対して ReportLab に非常に満足しています。

ただし、ReportLab は通常の TrueType (TTF) フォントを使用しますが、OpenType (OTF) フォントをサポートしていないことが判明しました。

私が取り組んでいる現在のウィジェットの 1 つは、いくつかの OpenType フォントを使用する必要があるため、残念なことに、ReportLab は実行から除外されました。

Python 用の OpenType 互換 PDF ジェネレーターを推奨できる人はいますか?

派手である必要はありません。UTF-8 テキストをページにドロップできればよいだけです。


更新: OpenType フォントには、グリフ アウトラインの格納方法に基づいて、TrueType スタイルと PostScript スタイルの 2 つの種類があります。ReportLab は TypeType スタイルのみをサポートします。Windows では、拡張子によって違いがわかります。TrueType スタイルの TrueType と OpenType は .TTF であり、PostScript スタイルの OpenType は .OTF です。

ですから、私の本当の質問は、.otf フォントをサポートする Python PDF ジェネレーターを推奨できる人はいますか?

4

2 に答える 2

4

そのようなものは依存します... OpenType は TrueType を拡張することを目的としていました (そして TrueTypeの一般的な構造を内部で使用してます) 。それは、フォントの使用に必要な特別な OTF 特性があるかどうかにかかっていると思います。

実際、reportlab の TTFontFile クラス ソースの一部のコメントでは、名前で OpenType について言及されているため、試してみる価値はあるでしょう。


編集: コメントは、reportlab が OTF フォントをサポートできない場合をほぼ要約したエラー メッセージを参照しています。OTF フォントは、アウトライン データをいくつかの形式で保存できます (上記のウィキペディアのリンクを参照してください)。この場合、フォントは CFF 形式を使用しているように見えます。reportlab は特にそのフォント パーサーをチェックし、reportlab は「Postscript アウトラインはサポートされていません」というエラー メッセージで明確に拒否します。

これで、私のフォントと PDF ジェネレーターの専門知識はほぼ終わりです。ごめん!代替案の提案をお待ちしております。


編集 2: OK、Django のドキュメントを見ると、別の完全な PDF API であるpdflibを参照していることがわかります。私は PDFlib を直接使用した経験がなく、無料ではありません (価格もライセンスもありません)。また、bloomin パッケージ全体をダウンロードしないと英語の API を見ることができなかったので、彼らのドキュメントが煩わしいと思います (無料の試用版があるかどうかはわかりません)。ただし、ドイツ語のドキュメントは見ましたが、不思議なことに無料で個別にダウンロードできます。私の大学での第二言語であるドイツ語は、Unicode と 8 ビットの OpenType フォントを PostScript アウトラインでサポートしていると主張していることを認識できました。

私は彼らに熱狂しているように聞こえますか?いいえ:-)それらを使用し、愛している誰かが私を修正してくれることを願っています.繰り返しますが、私はそれらを直接経験していません. 予算が許し、他のすべてが失敗した場合、それはオプションかもしれません.

于 2009-05-21T22:51:45.707 に答える