2015-01-20 12 views
15

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/

+0

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

+0

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

Trả lời

54

Lạ lùng thay, này cố định nó:

brew install gs 

Lỗi khiến tôi bối rối vì nó không nói gì về ghostscript, tuy nhiên, nó hoạt động theo https://stackoverflow.com/a/13936374/322253

+1

Tuyệt vời! Cài đặt gs đã khắc phục sự cố cho tôi !! – nterry

Các vấn đề liên quan