Java supports true type physical fonts, and looks for font files in the JRE fonts library, and then from the font location(s) defined by the host operating system。在OSX上我有一个位于$ JAVA_HOME / lib / fonts /中的arial.ttf(来自windows),我已经从/ Library / Fonts中删除了mac Arial.ttf,并且{{3}中没有任何arial字体文件}。
当我从IntelliJ启动Java SE 6应用程序(并确认System.getenv(" JAVA_HOME")设置为我的$ JAVA_HOME)时,
即使在" Invalidate Caches和Restart"之后,GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames()
和getAllFonts()
也未列出" Arial"。当我在终端中运行相同的应用程序时,System.getenv(" JAVA_HOME")会报告相同的位置,但是" Arial"被列为可用的字体系列(我可以在我的应用程序中使用arial字体)。
java version "1.6.0_65"
和javac 1.6.0_65
中,which java
向我提供$JAVA_HOME/bin/java
。 JAVA_HOME
指向JDK,而不是JRE。 sourceCompatibility = 1.6
。 -Djava.awt.headless
。 有关从IntelliJ启动应用程序时未找到arial字体的原因的任何建议吗?
编辑:我尝试了更多的东西: