2012-03-23 29 views
4

ImageMagickを使用してSVGをPNGに変換し、@ font-faceを使用してカスタムフォントを追加してからSVGファイルを追加するまでチャームのように動作します。 Batikではこれはうまくいきましたが、ImageMagickでは今はうまく動作しません。ImageMagickを使ってカスタムフォントでSVGをPNGに変換

"convert -list font"に記載されているフォントに変更することはできますが、フォントを頻繁に変更する必要があるため、font-fileや他の解決方法関係ない。

SVGファイルには複数のフォントファミリを含めることができ、ImageMagickインストールにはrsvgデリゲートが含まれています。

アイデア?ありがとう!

+0

ImageMagickが動作しない場合は、コマンドラインでも呼び出すことができる 'inkscape'を使って変換を行うことを検討してください。私は@ font-faceサポートがどのようなものか分かりませんが、あなたがそれを調べているかどうかを知ることに興味があるはずです。 – halfer

+0

ImageMagickを使用してSVG - > PNGをすべて行い、フォントを除きすべてうまく動作します。私はtype.xmlを使用してそれらをインストールしようとしますが、私はそうしたくはありません。 –

+0

にもかかわらず、動作中のInkscapeは部分的に動作するImageMagickよりも優れています。 CLIでコンバージョンを開始するのがどれほど簡単であるかを考えれば、試してみる価値はありませんか? – halfer

答えて

0

Inkscapeはコマンドラインから実行できます。これには変換を行うための豊富なオプションがあり(man inkscape参照)、--verbと--selectオプションを使用すると、GUIの中からアクションを実行することもできます。

ハーフファーが指摘しているように、変換もかなり高速です。ただし、そのレンダラは、rsvgが行うシングルパスの静的表示ではなく、対話式表示用に設計されているため、場合によってはrsvgが高速になる場合があります。また、WebサーバーにInkscapeをインストールすると、このGUIアプリケーションが依存する多数の依存関係のために、問題が発生することがあります。

これらのコマンドラインオプションをInkscapeに追加すると、rsvgが多くのフォントフェイスを含むSVGの機能それ以来、rsvgは改善されており、現在、font-faceプロパティによるフォントの置換をサポートするべきだと私は考えています。最も一般的な問題は、rsvgが見えない場所にフォントをインストールしていることです(独自フォントがディストリビューションの別のパスに保存されている可能性があります)。

幸いです。

1

librsvg2パッケージで提供されるrsvg-convert(コマンドラインプログラム)を試してください。

Amazon LinuxでImageMagickと同じ問題があります(私のUbuntuデスクトップではありません)。 私はImageMagickのSVG処理がかなり悪いと思います。 "display:none"スタイルプロパティは正しく認識されません。

+0

IllustratorからSVGをエクスポートしましたが、fontType = SVGFontType.OUTLINEFONT(IllustratorからSVGをJS API経由でエクスポートし、GUIにも存在することがあります)までSVGをエクスポートするまで、フォントはrsvg-convertによって正しく表示されませんでした。 – tremby

関連する問題