我正在处理一个使用Jasperreports的Java项目。在之前的其他项目中,我多次使用了相同的技术,但在Unix环境中打印报告时总是遇到同样的问题。
我的项目使用:
- JBoss 4.2.3.GA
- Java 1.6
- Jasperreports 4.7.0
出现的异常为:
net.sf.jasperreports.engine.util.JRFontNotFoundException: Font 'Arial' is not available to the JVM. See the Javadoc for more details.
我找到了一个通用的解决方案来解决这个问题,它确实有效:
sudo apt-get install msttcorefonts
然而,我想了解Jasper如何使用字体,以及它如何搜索安装在Unix环境中的这些字体。也许一个更好的问题是:JVM如何处理本地字体?有人可以给我详细解释一下这个主题吗?系统字体如何在运行时对JVM可用?