openjdk java字体库_如何安装Java 9 openjdk应用程序所需的最小字体集

我有一个blackbox

linux机器,它只带有一个字体/usr/lib/fonts/ipag.ttf但它似乎没有正确安装和自定义openjdk 9安装

openjdk安装没有任何字体,但我尝试创建一个字体目录并将此字体复制到其中,但它没有任何效果.

当我运行我的非gui应用程序时,它需要字体才能使用jakarta-poi创建excel电子表格,但它失败了:

Caused by: java.lang.NullPointerException

at java.desktop/sun.awt.FontConfiguration.getVersion(Unknown Source)

at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(Unknown Source)

at java.desktop/sun.awt.FontConfiguration.init(Unknown Source)

at java.desktop/sun.awt.X11FontManager.createFontConfiguration(Unknown Source)

at java.desktop/sun.font.SunFontManager$2.run(Unknown Source)

at java.base/java.security.AccessController.doPrivileged(Native Method)

at java.desktop/sun.font.SunFontManager.(Unknown Source)

at java.desktop/sun.awt.FcFontManager.(Unknown Source)

at java.desktop/sun.awt.X11FontManager.(Unknown Source)

然后我试着跑步

fc-cache -rv /usr/lib/fonts

这报告已安装了字体(虽然fc-list没有返回任何内容)

现在我的应用程序得到了更多,但仍然失败,报告

Caused by: java.lang.NullPointerException

at java.desktop/sun.awt.FcFontManager.getDefaultPlatformFont(Unknown Source)

at java.desktop/sun.font.SunFontManager$2.run(Unknown Source)

at java.base/java.security.AccessController.doPrivileged(Native Method)

at java.desktop/sun.font.SunFontManager.(Unknown Source)

at java.desktop/sun.awt.FcFontManager.(Unknown Source)

at java.desktop/sun.awt.X11FontManager.(Unknown Source)

那么我该如何解决这个问题,我不清楚Java应用程序工作所需的最小字体集是什么.我不清楚我是否只需要提供字体或fonts.properties文件,或者该文件仅由Oracle jres而不是OpenJdk使用

我在OpenJdk1.8中遇到了同样的问题,但是从内存中简单地创建一个字体文件夹并将字体放入其中似乎可行,但现在这个openjdk 9版本无效.

我可以将字体复制到机器上,但是我无法运行安装命令来直接将字体安装到机器上.

更新

然后我复制了Oracle jre提供的Lucida字体并放入jre / libs / font并在该文件夹上运行fc-cache -rv它现在可以工作了,为什么ipag.ttf字体不够用呢?

为什么我必须运行fc-cache cant java只需通过在fonts文件夹中找到它们来获取字体.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值