0
在Ubuntu上安装了Oracle 8 jdk,在jre/lib中它具有各种fontProperties文件和一个包含字体的字体目录。但是,当安装OpenJdk 8时,jre/lib中的字体文件上没有这样的字体文件夹。在Linux上为Openjdk Java定义/安装字体的位置
那么它从哪里得到它的字体,它是否与任何字体一起取决于系统在其他地方安装了一些字体。
更新 根据通知发出gerynix
fc-list
没有返回字体
GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames()
给
java.lang.NullPointerException
at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)
at sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219)
at sun.awt.FontConfiguration.init(FontConfiguration.java:107)
at sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:774)
at sun.font.SunFontManager$2.run(SunFontManager.java:431)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.SunFontManager.<init>(SunFontManager.java:376)
at sun.awt.FcFontManager.<init>(FcFontManager.java:35)
at sun.awt.X11FontManager.<init>(X11FontManager.java:57)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:83)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
at sun.java2d.SunGraphicsEnvironment.getFontManagerForSGE(SunGraphicsEnvironment.java:190)
at sun.java2d.SunGraphicsEnvironment.getAvailableFontFamilyNames(SunGraphicsEnvironment.java:224)
at sun.java2d.SunGraphicsEnvironment.getAvailableFontFamilyNames(SunGraphicsEnvironment.java:252)
at sun.java2d.HeadlessGraphicsEnvironment.getAvailableFontFamilyNames(HeadlessGraphicsEnvironment.java:94)
at Fonts.main(Fonts.java:10)
所以我认为,如果你有一个精简的Linux机器,没有字体那么依赖于某些字体安装会失败的任何代码,有没有linux命令我可以用它来检查安装了哪些字体? –
fc-list,第一个谷歌搜索结果为“linux检查可用字体” – gerynix
好吧,我完成了这两个命令显然没有字体。所以machien是一个运行linux的硬件,我不能像通常的机器那样更新它,有没有办法通过复制文件而不影响其他任何东西来安装字体供我的Java应用程序使用。 –