小编Has*_*adi的帖子

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

使用Oracle(Sun)JDK6并尝试迁移到Oracle JDK7

sun.awt.GraphicsEnvironment用来查找所有系统字体,以便使用它们来更改我的pdf文件中使用的pdf字体.这是我正在使用的确切代码:

GraphicsEnvironment gEnv = GraphicsEnvironment.getLocalGraphicsEnvironment();

// get all system fonts
final Font[] fonts = gEnv.getAllFonts();
Run Code Online (Sandbox Code Playgroud)

之后我需要在系统上获得确切的字体文件路径,所以我使用:

FontManager.getFontPath(true) + "/" +
               FontManager.getFileNameForFontName(font_name);
Run Code Online (Sandbox Code Playgroud)

现在的问题是,sun.font.FontManager它不再是一个类,而是已经转换为接口.我在网上搜索并提出了一些我不满意的解决方案,我正在寻找其他想法来帮助解决我的问题.

我发现的解决方案:

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

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

java fonts java-7 jdk-internal-api

6
推荐指数
1
解决办法
3768
查看次数

标签 统计

fonts ×1

java ×1

java-7 ×1

jdk-internal-api ×1