使用Jfreechart導出后台訂閱的圖形,在生成圖片里的文字就用到了:theme.setRegularFont(new Font("SimSun", Font.PLAIN, 12)),也可以寫成 theme.setRegularFont(newFont("宋體" , Font.PLAIN, 12)),因為是在服務器端生成圖片如果部署的機器沒有中文字體會亂碼。
發生亂碼如圖所示:
如何查找字體文件?
以Win7操作系統搜索“SimSun”字體為例:在開始菜單的搜索框輸入“字體”,打開字體管理器,在搜索輸入框中輸入“SimSun“,如圖:
注意這其實不是我們要搜索的字體,這里推薦一款查看字體的軟件NexusFont,綠色版的,下載解壓縮后直接運行\NexusFont\NexusFont.exe即可,在搜索框中輸入“SimSun “,如圖:
我們雙擊第二個字體,會看到字體的名字名稱:宋體,如圖:
我們可以再重復在Win7下搜索字體的步驟,這次搜索“宋體“就能搜索到了,如圖:
如何添加字體?
Windows系統不需要添加,字體很全,這里主要講在Linux/Unix下如何添加字體:
1、新建目錄
在%JAVA_HOME%/jre/lib/fonts 文件夾下,新建文件夾,命名為 fallback。
注意:是JAVA_HOME不是JRE_HOME
2、添加中文字體
將SimSun.ttc的字體文件拷貝到新建的%JAVA_HOME%/jre/lib/fonts/fallback目錄下。
通過以上的操作,訂閱報表的圖形上的文字就不再亂碼了。