PNGに変換しようとしている次のようなSVG画像があります。
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<image x="0" y="0" width="158" height="158"
xlink:href="http://cdn.sstatic.net/stackexchange/img/logos/so/so-icon.png" />
</svg>
これは Ubuntu 10.04 では機能していましたが、12.04 では機能しません。その理由は、RSVG が相対パスを持たない画像 URL をロードしないようになったためと思われます。
ここではオプションではありません。私の Web サイトは SVG を生成します (安全であることはわかっています) が、HTTP 経由で画像を読み込む必要があります。
画像は Chrome では問題なく表示されますが、Imagemagick、Gimp、または (奇妙なことに) Inkscape では表示されません。
それが役立つ場合は、PHP 経由で Imagemagick を使用していますが、ここでは RSVG が SVG 変換のデリゲートです。
librsvgを再コンパイルする以外に、これを回避する方法について誰かアイデアがありますか?
ImageMagick (RSVG) will not import images in SVGで提案を試しましたが、この問題のように疑わしいようです: rsvg はリンクされた画像をレンダリングしません
ここで責任のあるコードを見つけました: https://git.gnome.org/browse/librsvg/tree/rsvg-base.c#n2169
私は間違っているかもしれませんが、再コンパイルする以外に再度有効にする方法がなく、他の URL からの読み込みを無効にしたようです。