看,我一直在寻找一个更好的选择来生成动态内容在阿拉伯语和繁体中文语言在我的web应用程序中使用gem Prawn
。我用英语和德语试过了,工作很好。但是,不支持阿拉伯文和中文。
在搜索了很多之后,我发现我们可以使用特定的字体来生成相同的内容。我们需要下载自定义字体并将其放入Prawn基础目录中,在创建pdf对象后,我们需要通过以下行添加此自定义字体:
pdf.font "#{Prawn::BASEDIR}/data/fonts/custom_font.ttf" (Gem directory)
但是,我尝试过的字体类型,我不确定它是否完全相同的翻译,我已经在我的应用程序中使用谷歌翻译。对中国人来说,这是个大问题。
那么,你们谁能建议我怎样才能得到一个更好的阿拉伯语和中文字体(免费下载),它也应该支持跨浏览器。
谢谢。
您可以使用自定义字体来满足您的目的:
对于Arabic
,您可以使用trado.ttf
对于Chinese
:您可以使用gkai00mp.ttf
在'/app/assets/'
路径中创建一个文件夹fonts,并通过在application.rb
中添加下面的行将其添加到asset_path
,
config.assets.paths << Rails.root.join("app", "assets", "fonts")
要生成PDF报告的阿拉伯文/中文内容,请按以下步骤操作。
pdftable = Prawn::Document.new
if I18n.locale == :ar
#pdftable.font "#{Prawn::BASEDIR}/data/fonts/trado.ttf"
pdftable.font Rails.root.join('app', 'assets', 'fonts', 'trado.ttf')
pdftable.text_direction = :rtl
elsif I18n.locale == :zh
#pdftable.font "#{Prawn::BASEDIR}/data/fonts/gkai00mp.ttf"
pdftable.font Rails.root.join('app', 'assets', 'fonts', 'gkai00mp.ttf')
end
希望您能生成阿拉伯文/中文的报告。
要正确打印阿拉伯语,您需要使用以下gem将阿拉伯字母转换为它们相连的可读形式:
https://github.com/staii/arabic-letter-connector