当前位置: 首页 > 知识库问答 >
问题:

在Linux上为OpenjdkJava定义/安装字体的位置

宗政颖逸
2023-03-14

在Ubuntu上安装了Oracle 8 jdk,在jre/lib中,它有各种fontProperties文件和一个包含字体的字体目录。但是当安装OpenJdk 8时,jre/lib中的字体文件中没有这样的字体文件夹。

那么它的字体从哪里来,它是否有任何字体取决于系统在其他地方安装了一些字体。

根据gerynix的建议更新

fc列表

不返回任何字体

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)

共有1个答案

米飞龙
2023-03-14

它从运行应用程序的环境中获取。

观察:

GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames()

https://docs.oracle.com/javase/7/docs/api/java/awt/GraphicsEnvironment.html

 类似资料:
  • 问题内容: 我没有使用Flash或php-并且要求我将自定义字体添加到简单的HTML布局中。“ KG June Bug” 我已经在本地下载了-是否有简单的CSS技巧来完成此操作? 问题答案: 是的,您可以使用名为@ font-face的CSS功能。它仅在CSS3中得到正式批准,但在CSS2中提出并实现,并在IE中得到了很长时间的支持。 您可以像这样在CSS中声明它: 然后,您可以像其他标准字体一样

  • 本文向大家介绍rubygems 在Linux上安装,包括了rubygems 在Linux上安装的使用技巧和注意事项,需要的朋友参考一下 示例 在安装rubygems之前,请确保已安装ruby,然后: 在Ubuntu上使用apt-get安装RubyGems 使用yum安装RubyGems 手动安装方法            

  • 我试图在Centos上安装JDK,但是我得到了一个错误:

  • 本小节我们将介绍如何在 Linux 平台安装 Java 。我们选用最常用的 Linux 发行版本 CentOS 来进行(注:版本号为 CentOS 7.6)。 如果你想在其他平台安装 Java,请查看对应平台的安装教程: 在 Windows 上安装 Java 在 MacOS 上安装 Java 1. 下载安装包 我们首先打开 Oracle 官网的 JDK 下载地址,找到 Java SE 14 版块,

  • 本文向大家介绍postgresql 在GNU + Linux上安装,包括了postgresql 在GNU + Linux上安装的使用技巧和注意事项,需要的朋友参考一下 示例 在大多数GNU + Linux操作系统上,可以使用操作系统软件包管理器轻松安装PostgreSQL。 红帽家族 可以在这里找到存储库:https://yum.postgresql.org/repopackages.php 使用

  • 如果你能够自己下载并编译 Go 的源代码的话,对你来说是非常有教育意义的,你可以根据这个页面找到安装指南和下载地址:Download the Go distribution。 我们接下来也会带你一步步地完成安装过程。 设置 Go 环境变量 我们在 Linux 系统下一般通过文件 $HOME/.bashrc 配置自定义环境变量,根据不同的发行版也可能是文件 $HOME/.profile,然后使用 g