1. 程式人生 > >Redmine 甘特圖導出 PDF 和 PNG 中文亂碼問題

Redmine 甘特圖導出 PDF 和 PNG 中文亂碼問題

foo har redmine apt-get phi arp 啟動 字體 config

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

Redmine 甘特圖導出 PDF 和 PNG 中文亂碼問題