Heroku不承认Rmagick字体

时间:2017-11-07 01:16:25

标签: heroku fonts imagemagick rmagick

我的Heroku应用程序似乎并不想识别任何类型的rmagick字体系列。在下面的情况下,我希望字体是Times New Roman,但它是一些系统默认值。我尝试过更改为Helvetica,它的结果相同 - 通用外观系统字体。

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页面上,则没有问题,它使用适当的字体。

1 个答案:

答案 0 :(得分:1)

以上链中的每条评论:

Wowwwwwwwwww ...显然它就像在你的Heroku应用程序的根目录中添加.fonts文件夹然后将字体移动到那里一样简单 - 一旦你这样做,你可以直接引用字体将它设置到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