加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 20:11:52 所属栏目:百科 来源:网络整理
导读:我试图使用 ruby在OS X上使用Prawn生成一个PDF文件.我有以下几个: font 'Arial' Arial安装在我的Mac上但是当我尝试生成PDF时,我会收到以下错误: Prawn::Errors::UnknownFont in ProjectsController#showArial is not a known font. 如何使这个通用字体在Pr
我试图使用 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作为字体名称,您可以轻松使用不同的样式.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读