4

ImageMagick が Web フォントで動作するかどうか知っている人はいますか? (または、おそらく STD IN 経由でフィードしますか?) 以下の行を試してみましたが、うまくいきませんでした:

convert -fill black -font http://fonts.googleapis.com/css?family=Diplomata+SC -pointsize 72 label:'Acme Dynamite Company, LLC' logo.png

私の目標は、ユーザーが Google Web Font を選択できるようにすることです。

4

4 に答える 4

5

GWF API を wget すると、TTF URL が返されます。

$ wget -qO- "http://fonts.googleapis.com/css?family=Diplomata+SC" | urlext2

http://themes.googleusercontent.com/static/fonts/diplomatasc/v1/JdVwAwfE1a_pahXjk5qpNonF5uFdDttMLvmWuJdhhgs.ttf

$

于 2012-05-12T00:54:26.580 に答える
4

最終更新: ユーザー barethon が python woff から ttf へのコンバーターを作成しました。これは完全に機能します。( https://github.com/hanikesn/woff2otf/blob/master/woff2otf.py ) 必要なフォントを Google から取り込んで、ttf に変換し、imagemagick で使用できるようになりました。私が望んでいたよりも少し複雑ですが、大したことではありません。

于 2012-05-05T21:19:13.287 に答える
2

現時点ではこれがかなり古いことはわかっていますが、他の人を節約するために、必要なことを行うための基本的な PHP を次に示します。curl などを使用するように最適化することもできますが、人々を動かすにはこれで十分なはずです。ブラウザからアクセスすると woff と woff2 の URL が返されるようですが、それ以外からアクセスすると tff が返されます。

    $fontUrl = 'http://fonts.googleapis.com/css?family=Anton';
    $fontDescription = file_get_contents($fontUrl);

    $startStr = 'url(';
    $startStrLen = strlen($startStr);
    $start = strpos($fontDescription, $startStr) + $startStrLen;
    $end = strpos($fontDescription, ')', $start);
    $tffUrl = substr($fontDescription, $start, $end - $start);

    $tffFile = '/tmp/anton.ttf';
    file_put_contents($tffFile, file_get_contents($tffUrl));

    $im = new Imagick();
    $im->setFont($tffFile);
    $im->newPseudoImage(100, 100, "caption:Hello");
    $im->setImageFormat('png');
    $im->setImageBackgroundColor(new ImagickPixel('transparent'));
    header('Content-Type: image/png');
    echo $im->__toString();
于 2015-07-14T22:48:34.803 に答える