My Herokuアプリケーションは、あらゆる種類のrmagickフォントファミリを認識したくないようです。次のような状況では、フォントがTimes New Romanになると予想されますが、代わりにシステムのデフォルトが使用されます。私はHelveticaに変更しようとしました。同じ結果です。HerokuがRmagickフォントを認識しない
canvas = Magick::Image.read("caption:#{@statement.text}"){
self.size = "300x300"
self.colorspace = RGBColorspace
self.background_color = 'white'
self.font = "TimesNewRoman"
# self.font = "Helvetica"
self.gravity = CenterGravity
self.pointsize = 26
}.first
私はidentify -list font
を実行し、TimesNewRomanとHelveticaの両方がシステムに認識されているが、私のイメージはそれらを使用することを拒否することが観察されました。
ボーナスコンテキスト:これは、メッセージ/ Facebook Messager/etcに表示するog:imageメタタグのプレビュー画像用です。私がフォントファミリを使っていて、画像をHTMLページに直接表示しても、問題はなく、適切なフォントが使用されます。どうやら、それはあなたのHerokuのアプリのルートに.fonts
フォルダを追加し、そこにあなたのフォントを移動するのと同じくらい簡単だ
Wowwwwwwwwww ... - あなたはあなたができることをやるたらちょうど:
上記チェーンのコメントパー
あなたはフォントファイルではなく、名前へのパスでフォントを指定する必要があります。 fontconfigがインストールされている必要があり、フォント名を追加するにはtype.xmlファイルを編集する必要があります。 Times New Romanなどのスペースでフォント名のバリエーションを確認しましたか? Helveticaが動作しない場合は、フォントファイルがインストールされていますか? – fmw42
@ fmw42興味深い、私は明日の朝にそのショットをあげる。ステージングURLに/ assets/[name]を続け、サイコロを付けずにENV変数を設定しようとしました。そのtype.xmlはステージングにプッシュされるものですか? Helveticaがインストールされているかどうかについては、 'identify -list font'に表示されていればインストールされていると思いますか?それはそこにあるからです。 –
type.xmlファイルに追加されない限り、 'identify -list font'と表示されません。システム上のどこにあるのかを確認する必要があります。 http://www.imagemagick.org/script/resources.phpを参照してください。私のIM 6.9.9.23バージョンでは、/usr/local/etc/ImageMagick-6/type.xmlにあります。互換性のあるフォントをすべて自動的に追加するには、Anthony Thyssenスクリプト(http://www.imagemagick.org/Usage/scripts/imagick_type_gen)を参照してください。それ以外の場合は、フォントファイル – fmw42