jdk7: замена sun.font.fontManager / как получить информацию о имени файла из шрифта
Использование 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
больше не является классом и был преобразован в интерфейс. Я искал в Интернете и нашел некоторые решения, которые меня не устраивают, и я ищу другие идеи, которые помогут решить мою проблему.
Решения, которые я нашел:
Разверните мой проект на Java 6 вместо Java 7 (не рекомендуется, поскольку я использую некоторые новые функции в Java 7).Я нашел код класса FontManager онлайн, но его использование потребует включения множества других классов / интерфейсов, и процесс кажется пустым и отнимает много времени. Кроме того, я не могу использовать этот код, поскольку он является собственностью компании Sun.Что мне нужно это: *Способ найти точный путь к файлу шрифта в системе*. Все идеи приветствуются.