Tôi có một đoạn mã để vẽ văn bản ở trên cùng của một hình ảnh trong ứng dụng Rails của tôi và kể từ ngắn trước đây, có thể phải nâng cấp lên OS X Yosemite, nó có vấn đề với việc đọc phông chữ trên máy địa phương của tôi (máy chủ sản xuất đang hoạt động tốt).Rmagick không đọc được phông chữ
tôi có thể làm giảm nó để ví dụ này:
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
tôi nhận được lỗi này
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/[email protected]/gems/rmagick-2.13.2/lib/rvg/misc.rb:322:in `get_type_metrics'
tôi đã cố gắng cài đặt lại ImageMagick và đá quý rmagick, cũng với những lá cờ:
brew install imagemagick --disable-openmp --build-from-source
Ngoài ra, nếu tôi thay đổi
font = "/Users/xxxxxx/xxxxx/app/assets/fonts/PTSans-Regular.ttf"
nghĩ rằng có dấu ngoặc kép phụ có thể nhận được trong cách, sau đó tôi nhận được
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/[email protected]/gems/rmagick-2.13.2/lib/rvg/misc.rb:546:in `draw'
Tôi cũng đã cố gắng để cài đặt phiên bản mới nhất của XQuartz từ http://xquartz.macosforge.org/landing/
Bạn có muốn thử 'font = 'url (/Users/xxxxxx/xxxxx/app/assets/fonts/PTSans-Regular.ttf)'' không? Dấu nháy đơn cho toàn bộ chuỗi, không có dấu ngoặc kép nào khác. Trên Ubuntu, sự phụ thuộc vào kiểu trích dẫn thậm chí còn kỳ lạ hơn. – mudasobwa
Cảm ơn nhưng vấn đề là một cái gì đó hoàn toàn khác nhau. Tôi đã thêm câu trả lời – Cristian