2017-11-07 8 views
0

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 ... - あなたはあなたができることをやるたらちょうど:

上記チェーンのコメントパー
+0

あなたはフォントファイルではなく、名前へのパスでフォントを指定する必要があります。 fontconfigがインストールされている必要があり、フォント名を追加するにはtype.xmlファイルを編集する必要があります。 Times New Romanなどのスペースでフォント名のバリエーションを確認しましたか? Helveticaが動作しない場合は、フォントファイルがインストールされていますか? – fmw42

+0

@ fmw42興味深い、私は明日の朝にそのショットをあげる。ステージングURLに/ assets/[name]を続け、サイコロを付けずにENV変数を設定しようとしました。そのtype.xmlはステージングにプッシュされるものですか? Helveticaがインストールされているかどうかについては、 'identify -list font'に表示されていればインストールされていると思いますか?それはそこにあるからです。 –

+0

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

答えて

0

ImageMagickにフォントを直接設定するときにフォントを参照してください。

だから...はい。

.fonts 
| - "SF-Pro-Text-Light.otf 
| - "SF-Pro-Text-Regular.otf 

canvas = Magick::Image.read("caption:#{@statement.text}"){ 
     self.size = "300x300" 
     self.colorspace = RGBColorspace 
     self.background_color = 'white' 
     self.font = "SF-Pro-Text-Light" 
     self.gravity = CenterGravity 
     self.pointsize = 26 
    }.first 
関連する問題