gpt4 book ai didi

java - jdk7 : sun. font.fontManager 替换/如何从 fontname 获取文件名信息

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:26:15 25 4
gpt4 key购买 nike

使用 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不再是一个类,已经被转换成了一个接口(interface)。我在网上搜索并提出了一些我不满意的解决方案,我正在寻找其他想法来帮助解决我的问题。

我找到的解决方案:

  1. 在 Java 6 而不是 Java 7 上部署我的项目(不推荐,因为我使用了 Java 7 中的一些新功能)。
  2. 我在网上找到了 FontManager 类的代码,但是使用它需要包括很多其他类/接口(interface),而且这个过程看起来很虚,而且很耗时。如果允许我使用该代码,我也不会,因为它是 Sun 公司的专有代码。

我需要的是: *一种在系统上找到确切字体文件路径的方法*。欢迎所有想法。

最佳答案

您不是在说您使用哪个 JDK(Oracle、OpenJDK 等)。可能你有

FontManagerFactory.getInstance()

可用。或者接口(interface)实现 Win32FontManager(如果您使用的是 Windows)?

关于java - jdk7 : sun. font.fontManager 替换/如何从 fontname 获取文件名信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13684342/

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