虾unicode字符渲染

时间:2013-05-22 13:45:16

标签: utf-8 rendering prawn

我正在尝试使用prawn生成带有Unicode字符的PDF。我检查了corefonts包中的Arial字体包含必需的字符,注册它,并选择为默认字体:

 font_path = "/usr/share/fonts/corefonts/"
 font_families.update("sans" => {
   normal: { file: "#{font_path}/arial.ttf" },
   bold:   { file: "#{font_path}/arialbd.ttf" },
   bold_italic:   { file: "#{font_path}/arialbi.ttf" }
 })

 font "sans"

现在我正试图在formatted_text_box中输出Unicode文本,如下所示:

  formatted_text_box [{text: my_text, font: "sans", size: 14, styles: [:bold]}], 
      at: [10, 160], 
      align: :center, 
      width: 330,
      height: 20,
      overflow: :shrink_to_fit

不幸的是,文本不是粗体,并且没有显示非ascii字符。如果我将样式参数更改为[:normal],则可以,但我需要加粗。

此外,如果在致电formatted_text_box之前我把它放在:

  text "anything"

formatted_text_box中的文字正确呈现!

两者都有:0.12.0和1.0.0.rc2。

我做错了吗?

0 个答案:

没有答案