Я пытаюсь сделать круговые диаграммы в моем приложении ruby ​​on rails

Я использую gem gruff в окне 7 с Docker, но когда я пытаюсь написать 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'

и это мой код статьи 32_controller строки:

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

и теперь я сделал папку со шрифтом:

введите описание изображения здесь

2 ответа

Решение

Наконец, все проблемы были решены с помощью следующего пакета в Docker:

docker-compose run web install ghostscript

Кажется, он устанавливает маршруты между докером и окнами. Я действительно не знаю, как и зачем мне это нужно, но работаю.

Вот где я нашел информацию: https://github.com/docksal/docksal/issues/362

Глядя на источник, он говорит, чтобы установить переменную ENV, указывающую на путь со шрифтами:

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

И на окнах следуйте этим инструкциям.

Другие вопросы по тегам