Ubuntu 12.04 LTSでPhantomJS / wkhtmltopdfを使用してHTMLをPDFに変換しましたが、非常に奇妙な文字間隔エラーが発生しました。たとえば、間の内部距離英語そしてxa非常にランダムで間違っているようです。
OS Xで同じコードを実行すると、これらの問題は発生しないため、問題がLinuxに関連していると思われます。また、PNGでレンダリングしてもよさそうです。
私はMicrosoft Coreフォントを使用しています。すべてのフォントに同じカーニングの問題があります。。例えばxaいつも問題になりますが、フォントの問題でもないようです。
このリンクで提案されているように〜/.fonts.confを修正してみましたが、違いはありませんでした。
- https://wiki.ubuntu.com/Fonts
- http://www.kilobitspersecond.com/2009/04/17/ubuntu-font-hinting-you-a-cautionary-tale/
この問題を解決する方法のアイデアは混乱しています。
答え1
私の解決策はwkhtmltopdfに移行することでした。
この場合、私の問題が発生したことがわかりました。
- いつもPhantomJSで
- ~/.fonts.conf が存在し、無効な場合は wkhtmltopdf を使用してください。
PhantomJSとwkhtmltopdfの違いは、後者がレンダリングにXサーバーを使用していることです。これが私が経験している他の動作の理由かもしれません。
wkhtmltopdfを使用すると問題なく動作し、PhantomJSはまだ面白いフォントレンダリングを提供します。私の考えでは、wkhtmltopdfがhtmlからpdfへの変換のみを必要とする場合は、より成熟したオプションであるように見え、引き続き使用されるようです。
これは良く見えます(フォントは異なりますが、フォント自体には問題はありませんでした)