Java环境下如何新添加字体

使用Jfreechart导出后台订阅的图形,在生成图片里的文字就用到了:theme.setRegularFont(new Font("SimSun", Font.PLAIN, 12)),也可以写成 theme.setRegularFont(newFont("宋体" , Font.PLAIN, 12)),因为是在服务器端生成图片如果部署的机器没有中文字体会乱码。

发生乱码如图所示:

 

 

如何查找字体文件?

以Win7操作系统搜索“SimSun”字体为例:在开始菜单的搜索框输入“字体”,打开字体管理器,在搜索输入框中输入“SimSun“,如图:

Java环境下如何新添加字体.2.png

注意这其实不是我们要搜索的字体,这里推荐一款查看字体的软件NexusFont,绿色版的,下载解压缩后直接运行\NexusFont\NexusFont.exe即可,在搜索框中输入“SimSun “,如图:

Java环境下如何新添加字体.3.png

我们双击第二个字体,会看到字体的名字名称:宋体,如图:

Java环境下如何新添加字体.4.png

我们可以再重复在Win7下搜索字体的步骤,这次搜索“宋体“就能搜索到了,如图:

Java环境下如何新添加字体.5.png

 

如何添加字体?

Windows系统不需要添加,字体很全,这里主要讲在Linux/Unix下如何添加字体:

1、新建目录

在%JAVA_HOME%/jre/lib/fonts 文件夹下,新建文件夹,命名为 fallback。

注意:是JAVA_HOME不是JRE_HOME

2、添加中文字体

将SimSun.ttc的字体文件拷贝到新建的%JAVA_HOME%/jre/lib/fonts/fallback目录下。

通过以上的操作,订阅报表的图形上的文字就不再乱码了。

 

posted @ 2019-11-07 16:56  这是一个BUG  阅读(4918)  评论(0编辑  收藏  举报