ruby – 如何在OS X上使用Prawn的Arial字体?

前端之家收集整理的这篇文章主要介绍了ruby – 如何在OS X上使用Prawn的Arial字体?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图使用 ruby在OS X上使用Prawn生成一个PDF文件.我有以下几个:
font 'Arial'

Arial安装在我的Mac上但是当我尝试生成PDF时,我会收到以下错误

Prawn::Errors::UnknownFont in ProjectsController#show
Arial is not a known font.

如何使这个通用字体在Prawn中工作?事实上,除了Helvetica或Times New Roman之外的几乎任何事情都会引起同样的错误.这是Rails 3.2应用程序的一部分.

如果我尝试直接加载字体ttf文件,根据Ashish的建议,我得到一个坏字体系列消息:

RuntimeError (Bad font family):
  app/pdfs/quote_sheet_pdf.rb:29:in `page_top'
  app/pdfs/quote_sheet_pdf.rb:12:in `initialize'
  app/controllers/projects_controller.rb:9:in `new'
  app/controllers/projects_controller.rb:9:in `block (2 levels) in show'
  app/controllers/projects_controller.rb:7:in `show'
  config/initializers/quiet_assets.rb:7:in `call_with_quiet_assets'

解决方法

如果您使用:样式选项调用文本,例如
text "Hello World",:style => :italic

那么当时使用的字体需要有一个关联的字体系列,否则你会看到你所看到的“坏字体系列”错误.这个:

Prawn::Document.generate("output.pdf") do
  font "/Library/Fonts/Arial.ttf"
  text "Hello World",:style => :italic
end

产生:不良字体系列(RuntimeError).

一种方法是总是指定您想要更改样式的确切字体文件,例如

font "/Library/Fonts/Arial Italic.ttf"
text "Hello World"

一个更好的选择是创建一个具有所需样式的字体系列:

Prawn::Document.generate("output.pdf") do

  font_families.update("Arial" => {
    :normal => "/Library/Fonts/Arial.ttf",:italic => "/Library/Fonts/Arial Italic.ttf",:bold => "/Library/Fonts/Arial Bold.ttf",:bold_italic => "/Library/Fonts/Arial Bold Italic.ttf"
  })

  font "Arial"
  text "Hello World"
  text "Hello World",:style => :italic
  text "Hello World",:style => :bold
  text "Hello World",:style => :bold_italic
end

设置字体后,您可以使用Arial作为字体名称,您可以轻松使用不同的样式.

原文链接:https://www.f2er.com/ruby/272891.html

猜你在找的Ruby相关文章