使用Oracle(Sun)JDK6并尝试迁移到Oracle JDK7
我正在使用sun.awt.GraphicsEnvironment
查找所有系统字体,以便使用它们来更改我的pdf文件中使用的pdf字体。这是我正在使用的确切代码:
GraphicsEnvironment gEnv = GraphicsEnvironment.getLocalGraphicsEnvironment();
// get all system fonts
final Font[] fonts = gEnv.getAllFonts();
之后我需要在系统上获得确切的字体文件路径,所以我使用:
FontManager.getFontPath(true) + "/" +
FontManager.getFileNameForFontName(font_name);
现在的问题是sun.font.FontManager
不再是类并且已经转换为接口。我在网上搜索并提出了一些我不满意的解决方案,我正在寻找其他想法来帮助解决我的问题。
我找到的解决方案:
我需要的是: * 一种在系统上找到确切字体文件路径的方法 *。欢迎所有想法。
答案 0 :(得分:3)
你不是说你使用的是哪个JDK(Oracle,OpenJDK,..)。可能你有
FontManagerFactory.getInstance()
可用的。或者是接口实现Win32FontManager
(如果你在Windows上)?
答案 1 :(得分:0)
此代码适用于 Windows 10 和 IBM Java 8
sun.font.SunFontManager.getInstance().getPlatformFontPath(true)
但在 macOS 11 和 AdoptOpenJDK 8/11 上,返回空字符串。