阿拉伯语/中文翻译在Prawn - Rails中无法正常工作?

时间:2014-03-27 09:09:11

标签: ruby-on-rails ruby-on-rails-3 fonts multilingual prawn

请参阅,我一直在寻找一个更好的选择,使用gem Prawn在我的网络应用程序中以阿拉伯语繁体中文语言生成动态内容。我用英语德语尝试了它,并且工作正常。但是,不支持阿拉伯语和中文..

经过大量搜索,我发现我们可以使用特定的字体来生成相同的字体。我们需要下载自定义字体并放入Prawn基目录,在创建pdf对象后,我们需要通过以下行添加这个自定义字体:

pdf.font "#{Prawn::BASEDIR}/data/fonts/custom_font.ttf" (Gem directory)

但是,对于我尝试过的字体类型,我不确定它是否与我使用Google翻译器在我的应用中提供的翻译完全相同。对于中国人来说,这是一个大问题。

那么,你们中的任何人都可以建议我如何为阿拉伯语和中文(可自由下载)获得更好的字体,它还应该支持跨浏览器。

谢谢。

2 个答案:

答案 0 :(得分:0)

您可以使用自定义字体服务于您的目的:

对于Arabic:您可以使用trado.ttf

对于Chinese:您可以使用gkai00mp.ttf

'/app/assets/'路径中创建文件夹字体,并在asset_path中添加以下行,将其添加到application.rb

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

希望您能用阿拉伯语/中文生成报告。

答案 1 :(得分:0)

要正确打印阿拉伯语,您需要使用以下gem将阿拉伯字母转换为连接的可读形式:

this post