1

我在带有 docker 的窗口 7 中使用 gem gruff,但是当我尝试编写 g.data 时出现此错误:

unable to read font `\Users\Raul del Rio\Desktop\grupo-43\Vera.ttf' @ error/annotate.c/RenderFreetype/1362
Extracted source (around line #32):


puts "mira para que revises"
puts g
g.write("pie_keynote.png")




Rails.root: /example
Application Trace | Framework Trace | Full Trace

app/controllers/articles_controller.rb:32:in `index'

这是我的articles_controller第32行代码:

g = Gruff::Pie.new
g.title = "Visual Pie Graph Test"
g.font="\\Users\\Raul del Rio\\Desktop\\grupo-43\\Vera.ttf"
g.data 'Fries', 20
g.data 'Hamburgers', 50
puts "mira para que revises"
puts g
g.write("pie_keynote.png")

我真的不明白为什么会出现错误:(这是应用程序文件夹的照片:

在此处输入图像描述

我还尝试以下方法:

g = Gruff::Pie.new
g.font=ActionController::Base.helpers.asset_path("Vera.ttf")
g.title = "Visual Pie Graph Test"
@datasets.each do |data|
  g.data(data[0], data[1])
end

# Default theme
g.write("pie_keynote.png")

并给我一个奇怪的错误:

unable to read font `/assets/Vera-c4c45690b345435b2cba52ecabe275f05e49b389b39fe68ad03afbb551288d3d.ttf' @ error/annotate.c/RenderFreetype/1362

在此处输入图像描述

在另一次尝试中,我在 .env 文件中写入以下内容:

MAGICK_FONT_PATH=/Users/Raul del Rio/Desktop/grupo-43/Vera.ttf

并给我下一个错误:

Magick::ImageMagickError in ArticlesController#index 
unable to open file `/Users/Raul del Rio/Desktop/grupo-43/Vera.ttf/type.xml': No such file or directory @ error/blob.c/FileToBlob/987

在另一次尝试中,我再次编辑 .env 文件并进行了一些修改:

MAGICK_FONT_PATH=C:/Users/Raul del Rio/Desktop/grupo-43/font

屏幕错误给我:

unable to open file `C:/Users/Raul del Rio/Desktop/grupo-43/font/type.xml': No such file or directory @ error/blob.c/FileToBlob/987

现在我做了一个带有字体的文件夹:

在此处输入图像描述

4

2 回答 2

1

查看源代码,它说要设置一个指向带有字体的路径的 ENV var:

Looks for Bitstream Vera as the default font. Expects an environment var
# of MAGICK_FONT_PATH to be set. (Uses RMagick's default font otherwise.)

这里有更多信息,但基本上(在类似 unix 的操作系统上)执行以下操作:

export MAGICK_FONT_PATH=/path/to/fonts/dir

在 Windows 上按照这些说明进行操作。

于 2018-07-04T07:07:45.883 回答
0

最后,使用 docker 中的以下包解决了所有问题:

docker-compose run web install ghostscript

似乎它建立了 docker 和 windows 之间的路由。我真的不知道我如何或为什么需要它,但工作。

这是我找到信息的地方:https ://github.com/docksal/docksal/issues/362

于 2018-07-16T05:31:49.803 回答