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應用程序使用。 –