在window10操作系统中下,java程序可以正常输出微软雅黑字体的图片,是因为系统自带这个字体。然而在ubuntu系统中,一般情况下是没有这个字体的,所以不能正常运行。
先找到java环境自带的字体目录,一般在jre/lib/fonts下。在此目录下创建一个fallback目录,把字体放到这个目录下,然后重启java程序。
注意事项:目录fallback和他的父目录fonts的权限尽量保持一致。
下面是我解决问题的环境:
系统:Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-93-generic x86_64)
java版本:1.7.0_79(64位)
tomcat版本:7.0.68
下面是将汉字输出图片的代码:
/**
* 用户昵称的最后一个字符生成头像。
*/
public String generatePhoto(String userName, String alias) {
try {
String userPhotoPath = userFolderPath + "/" + userName;
Files.makeDir(new File(userPhotoPath));
String lastChar = alias.substring(alias.length() - 1);// 用户昵称的最后一个字符
String userPhotoPathAbsolute = userPhotoPath + "/" + "AUTOGENphoto.png";// 图片存