【问题标题】:Rmagick unable to read fontRmagick 无法读取字体
【发布时间】:2015-03-18 14:26:12
【问题描述】:

我有一段代码在我的 Rails 应用程序中的图像上绘制文本,不久前,可能不得不升级到 OS X Yosemite,在我的本地计算机上读取字体时出现问题(生产服务器工作正常)。

我可以把它简化为这个例子:

require 'rvg/rvg'
font = '"/Users/xxxxxxxx/xxxx/app/assets/fonts/PTSans-Regular.ttf"'
rvg = Magick::RVG.new(100,100) do |canvas|
  canvas.text(0, 0, 'my text').styles(font: font)  
end  
rvg.draw

我收到此错误

Magick::ImageMagickError: unable to read font `"/Users/xxxxxxxx/xxxx/app/assets/fonts/PTSans-Regular.ttf"' @ error/annotate.c/RenderFreetype/1153: `(null)'
from /Users/xxxxxxxx/.rvm/gems/ruby-2.0.0-p353@xxxxxxxx/gems/rmagick-2.13.2/lib/rvg/misc.rb:322:in `get_type_metrics'

我尝试重新安装 imagemagick 和 rmagick gem,也带有这些标志:

brew install imagemagick --disable-openmp --build-from-source

另外,如果我改变了

font = "/Users/xxxxxx/xxxxx/app/assets/fonts/PTSans-Regular.ttf"

认为额外的引号可能会妨碍我,然后我得到

Magick::ImageMagickError: non-conforming drawing primitive definition `Users/xxxxx/xxxx/app/assets/fonts/PTSans-Regular.ttf' @ error/draw.c/DrawImage/3170
from /Users/xxxxxxx/.rvm/gems/ruby-2.0.0-p353@xxxx/gems/rmagick-2.13.2/lib/rvg/misc.rb:546:in `draw'

我也尝试从http://xquartz.macosforge.org/landing/安装最新版本的XQuartz

【问题讨论】:

  • 你介意试试font = 'url(/Users/xxxxxx/xxxxx/app/assets/fonts/PTSans-Regular.ttf)'吗?整个字符串的单引号,没有引号。在我的 Ubuntu 上,对引号类型的依赖更加奇怪。
  • 谢谢,但问题完全不同。我添加了一个答案

标签: ruby fonts imagemagick rmagick


【解决方案1】:

奇怪的是,这解决了它:

brew install gs

这个错误让我感到困惑,因为它没有说任何关于 ghostscript 的内容,但是,它根据 https://stackoverflow.com/a/13936374/322253 工作

【讨论】:

  • 太棒了!安装 gs 为我解决了这个问题!
猜你喜欢
  • 1970-01-01
  • 2011-11-08
  • 2014-06-02
  • 1970-01-01
  • 1970-01-01
  • 2013-07-25
  • 2010-11-04
  • 2019-01-23
  • 1970-01-01
相关资源
最近更新 更多