字体'Arial'不可用于JVM

gdf*_*osa 5 java jboss jvm jasper-reports

我正在开发一个使用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.
Run Code Online (Sandbox Code Playgroud)

我找到了一个解决这个问题的常用解决方案,而且确实有效:

sudo apt-get install msttcorefonts
Run Code Online (Sandbox Code Playgroud)

但是,我想了解Jasper如何使用字体,以及如何搜索Unix环境中安装的字体.也许更好的问题是:JVM如何处理原生字体?谁能给我一个关于这个主题的详细解释?如何在运行时为JVM提供系统字体?

Pet*_*rey 4

Java 要求操作系统提供字体。其工作原理取决于操作系统。

http://en.wikipedia.org/wiki/Arial声明它安装在 MS-Windows 和 MAC OSX 上