3 回答

TA貢獻1786條經驗 獲得超11個贊
似乎 OpenJDK 11 不再包含一些與字體相關的內容,而且您的操作系統目前本身也沒有提供任何內容。
您可以嘗試在您的操作系統中安裝一些與字體相關的軟件包,看看是否能解決問題。
另請參閱https://www.oracle.com/technetwork/java/javase/11-relnote-issues-5012449.html#JDK-8191522上的發行說明

TA貢獻1796條經驗 獲得超7個贊
我認為你必須安裝一些字體,否則在到達這一點之前你會得到一個 NullPointerException 。
這個簡單的程序運行正常嗎,如果沒有安裝字體會失???
import java.awt.*;
public class Fonts
{
public static void main(String[] args) throws Exception
{
Font defaultFont = Font.decode(null);
System.out.println(defaultFont);
}
}
我認為問題更多在于您的字體配置不正確,很明顯 getDefaultPhysicalFont() 期望獲得PhysicalFont類型的字體,但實際上獲得的是CompositeFont類型的字體,不清楚為什么會發生這種情況。
嘗試運行
fc-cache -rv *pathoffonts*
例如
fc-cache -rv /usr/share/fonts
當我也使用 Jakarta Poi 添加相同的錯誤時,這似乎對我有用,但是我還沒有得到一致的結果。
添加回答
舉報