Redmine 甘特图导出 PDF 和 PNG 中文乱码问题

Redmine使用了RMagick来处理图片,fpdf处理PDF,并在调用时设定了字体
PDF中文字体

redmine 中关于PDF字体设置的代码

          case pdf_encoding
          when 'UTF-8'
            @font_for_content = 'FreeSans'
            @font_for_footer = 'FreeSans'
          when 'CP949'
            extend(PDF_Korean)
            AddUHCFont()
            @font_for_content = 'UHC'
            @font_for_footer = 'UHC'
          when 'CP932', 'SJIS', 'SHIFT_JIS'
            extend(PDF_Japanese)
            AddSJISFont()
            @font_for_content = 'SJIS'
            @font_for_footer = 'SJIS'
          when 'GB18030'
            extend(PDF_Chinese)
            AddGBFont()
            @font_for_content = 'GB'
            @font_for_footer = 'GB'
          when 'BIG5'
            extend(PDF_Chinese)
            AddBig5Font()
            @font_for_content = 'Big5'
            @font_for_footer = 'Big5'
          else
            @font_for_content = 'Arial'
            @font_for_footer = 'Helvetica'
          end

在中文时,Redmine 使用了GB字体,在debian or Ubuntu系统中,可使用APT安装
apt-get install ttf-arphic-bkai00mp ttf-arphic-bsmi00lp ttf-arphic-gbsn00lp ttf-arphic-gbsn00lp

参考 http://isis.poly.edu/~qiming/chinese-debian-mini-howto.html
图片中文问题(PNG)
图片中文也是类似的原理,下面是Redmine config/configuration.yml 中的内容
# This setting is not necessary in non CJK.
#
# Examples for Japanese:
# Windows:
# rmagick_font_path: C:\windows\fonts\msgothic.ttc
# Linux:
# rmagick_font_path: /usr/share/fonts/ipa-mincho/ipam.ttf
#
rmagick_font_path:

 

1>创建目录 /usr/share/fonts/truetype/arphic/

 

2> 下载gbsn00lp.ttf.gz

cd /tmp

wget http://down1.chinaunix.net/distfiles/gbsn00lp.ttf.gz

gunzip gbsn00lp.ttf.gz

cp /tmp/gbsn00lp.ttf   /usr/share/fonts/truetype/arphic/

 

3>修改这段代码,设定适当的中文字体路径即可,如:
rmagick_font_path: /usr/share/fonts/truetype/arphic/gbsn00lp.ttf

 

重新启动服务器,现在中文导出应当正常了。

本文使用的Redmine版本为 3.3.0

转载于:https://www.cnblogs.com/eos666/p/9431872.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值