gpt4 book ai didi

java - 如何找出 Java 7 和 8 中的字体文件路径

转载 作者:搜寻专家 更新时间:2023-11-01 03:52:01 25 4
gpt4 key购买 nike

在 Java 7 和 8 中,由于 FontManager 发生了变化,所以现在我要找出一个字体文件路径,例如 c:/windows/fonts/arial.ttf。现在如何使用 Java 7 和 8 执行此操作?

编辑

我有一个字体对象或字体名称,现在我想找出字体的文件路径。例如,我有字体名称或 Font 对象,例如 Extra CVS bold,现在我想有办法获取 c:/windows/fonts/x32cvs_b.ttf 其中 x32cvs_b.ttf 是必需的。

最佳答案

Object font2D;
try {
// Java 7+.
font2D = Class.forName("sun.font.FontUtilities").getDeclaredMethod("getFont2D", new Class[] {Font.class})
.invoke(null, new Object[] {font});
} catch (Throwable ignored) {
font2D = Class.forName("sun.font.FontManager").getDeclaredMethod("getFont2D", new Class[] {Font.class})
.invoke(null, new Object[] {font});
}
Field platNameField = Class.forName("sun.font.PhysicalFont").getDeclaredField("platName");
platNameField.setAccessible(true);
String file = (String)platNameField.get(font2D);

关于java - 如何找出 Java 7 和 8 中的字体文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23848469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com