私の Ubuntu 14.04 ラップトップには、GraphicsMagick と PHP 拡張機能 (GMagick) がインストールされています。コマンドラインから以下を実行すると、
gm convert -font /usr/share/fonts/truetype/google-fonts/RockSalt.ttf svg_file.svg jpeg_file.jpg
必要に応じて、フォントを使用して JPEG をレンダリングします。ただし、このPHPコード
$gm = new Gmagick();
$draw = new GmagickDraw();
$draw->setfont("/usr/share/fonts/truetype/google-fonts/RockSalt.ttf");
$gm->readImageBlob($svg);
$gm->setImageFormat("jpeg");
$gm->drawimage($draw);
$gm->writeImage($jpgFile);
$gm->clear();
同じことができず、デフォルトのフォントで JPEG を作成します。ここで何が問題になる可能性がありますか?
これは SVG です。
<?xml version="1.0"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="737" height="521"><defs/> <g class="main"> <title>Main</title> <rect fill="#ffffff" stroke-width="0" x="27.24188" y="429.44421" width="682.51626" height="68.18413" id="svg_2" class="element" opacity="0.75" stroke="#000000"/> <g text-anchor="start" font-family="Rock Salt" fill="#000" font-size="20" class="element textarea" id="svg_3"> <rect opacity="0" stroke-width="0" x="27.24188" y="429.44421" width="682.51626" height="68.18413" id="svg_4"/> <g class="textGroup"> <text class="eol" y="470.98331" x="44.46314" xml:space="preserve">Your memories will last forever</text> </g> </g> </g></svg>