SVG を PNG にラスタライズするために Cairo/RSVG ベースのソリューションを使用しています。これは、 Convert SVG to PNG in Pythonの StackOverflow で既に説明されています。ただし、このソリューションはカスタム フォントでは機能しないようです。
SVG フォントの埋め込みについて説明しているこのページを見つけました。
例で説明されているように、XLink を介して外部 SVG からそれらを含めようとしました。フォントを同じ SVG ファイルに直接埋め込んでみました。それで失敗したので、CSS Web Fonts 構文を試しました。Cairo でレンダリングする場合、3 つの方法のいずれも機能しません (また、Ubuntu のデフォルト ビューアーである Eye of GNOME でも機能しません)。
ImageMagick を試してみましたが、Cairo とまったく同じ結果が得られました。
一方、3 つのフォント埋め込み方法はすべて、Google Chrome またはwebkit2png.pyを使用して WebKit でフォントを適切にレンダリングします。ただし、可能であれば、サーバー上で QT WebKit を使用することは避けたいと思います。これは、重要なセットアップ (xvfb などを含む) であり、非常に効率的でも安定的でもない可能性があるためです。
Python から SVG を PNG にレンダリングする別の方法はありますか?