Ruby 使用外部TTF字体使用prawn生成带有日语文本的PDF
在Ruby 使用外部TTF字体使用prawn生成带有日语文本的PDF,ruby,ruby-on-rails-4,cjk,prawn,Ruby,Ruby On Rails 4,Cjk,Prawn,在Prawn::BASEDIR}/data/fonts/ 我尝试了gkai00mp.ttf,但生成的PDF仅显示第一个字母“千" 属于千葉, 比如说 我觉得这种字体适合汉字 font("#{Prawn::BASEDIR}/data/fonts/gkai00mp.ttf") do text "千葉" end 是否可以上载和使用外部字体? 如果是,可从何处获取该字体 我的环境: 最新的Ruby和Rails。 对虾0.12.0版我想在这里与大家分享解决方案 我也在这里发布了这个问题 建议是: P
Prawn::BASEDIR}/data/fonts/
我尝试了gkai00mp.ttf
,但生成的PDF仅显示第一个字母“千" 属于千葉, 比如说
我觉得这种字体适合汉字
font("#{Prawn::BASEDIR}/data/fonts/gkai00mp.ttf") do
text "千葉"
end
是否可以上载和使用外部字体?
如果是,可从何处获取该字体
我的环境:
最新的Ruby和Rails。
对虾0.12.0版我想在这里与大家分享解决方案 我也在这里发布了这个问题 建议是: Prawn附带的TTF字体用于测试和使用 这本手册…不适合经常使用。请在网上搜索 “免费日语TTF字体”,我相信你可能会找到一些东西 因此,我在谷歌上搜索并找到了mona.ttf,并进行了测试,特别是,这是有效的。我最近使用了Prawn(2.0.2版和
Prawn table
0.2.2版)生成了一个日语PDF,不幸的是,在接受的答案中没有发布任何ttf字体(尽管如此,公认的答案仍然对了解日语文本不能用Prawn的内置字体呈现有很大帮助!)
然而,我很幸运地使用了Prawn中的TTF文件,特别是他们在页面上列出的包含IPA Mincho和IPA Gothic字体的“4字体包”。我使用IPAPMincho字体(ipamp.TTF
)作为“普通”字体,使用IPAPGothic(ipagp.TTF
)作为“粗体”它们是不同的字体,但其中一种对我来说是另一种的“粗体版”
在我的Prawn配置中,我尽可能使用默认字体(比如,对于英文文档),但对于日语的TTF文件,它们是在动态中配置的。这导致代码看起来类似于以下内容:
Prawn::Document.generate("MyJapaneseDocument.pdf") do |pdf|
# assume `font_name` here is something like "IPA",
# ie not a font that is shipped with the Prawn gem
unless Prawn::Font::AFM::BUILT_INS.include?(font_name)
pdf.font_families.update(
font_name => {
normal: "path/to/ipamp.ttf",
bold: "path/to/ipagp.ttf"
}
)
end
pdf.font font_name
end
+1用于跟进和解决您自己的问题(也请勾选您自己的答案以解决问题)。如果您使用了任何其他有趣的代码使其工作,请将其添加到您的答案中,以供未来用户使用。