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 7 ではなく Java 6 にデプロイします (Java 7 のいくつかの新機能を使用するため、お勧めしません)。
- FontManager クラスのコードをオンラインで見つけましたが、それを使用するには他の多くのクラス/インターフェイスを含める必要があり、プロセスはダミーで時間がかかるようです。また、そのコードは Sun 社の所有物であるため、そのコードを使用することが許可されている場合は使用しません。
私が必要としているのは: *システム上の正確なフォント ファイル パスを見つける方法*。すべてのアイデアを歓迎します。