Prawn在Prawn::BASEDIR}/data/fonts/
我尝试了gkai00mp.ttf
,但生成的PDF只显示了千叶的第一个字母“千”。
我觉得这个字体对汉字有好处。
font("#{Prawn::BASEDIR}/data/fonts/gkai00mp.ttf") do
text "千葉"
end
是否可以上传和使用外部字体? 如果是,可以从哪里获得字体?
我的环境: 最新的Ruby和Rails。 虾版0.12.0
答案 0 :(得分:5)
在这里,我想与解决方案分享。
我也在此处发布了此问题https://github.com/prawnpdf/prawn/issues/595 建议是:
Prawn附带的TTF字体用于测试和使用 手册......它们不适合经常使用。进行网络搜索 “免费的日语TTF字体”,我相信你可能会找到一些东西。
所以,我用Google搜索并发现了http://www.wazu.jp/gallery/Fonts_Japanese.html并测试了 mona.ttf ,特别是,这很有效。
答案 1 :(得分:2)
我最近使用Prawn(带有prawn-table
版本0.2.2的版本2.0.2)来生成日语PDF,遗憾的是,在接受的答案中发布的任何TTF字体都没有任何运气(知道日语文本不能用Prawn的内置字体渲染,但是接受的答案仍然有很大帮助!)。
但是,我确实使用来自IPA fonts的TTF文件与Prawn,特别是他们在包含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