2011-09-15 26 views
2

私はJavaの下でフォントを要求するとき、そのフォントが存在しない場合は、どのフォントにマップするかを決定する必要があります。 Javaの1.6の下で私が使用できます。Javaで要求されたフォントに対してどのようなフォントを取得するのですか?

Font logicalFont = new java.awt.Font(fontname, java.awt.Font.PLAIN, 12); 

for (int i = 0; i < FontManager.getRegisteredFonts().length; i++) { 
    Font2D font2D = FontManager.getRegisteredFonts()[i]; 
    if (font2D instanceof CompositeFont && font2D.getFontName(Locale.getDefault()).equals(logicalFont.getFontName())) { 
     PhysicalFont physicalFont = ((CompositeFont) font2D).getSlotFont(0); 
     log.warn("The requested font '" + fontname + "' does not exist on this system. Substituting the font '" + physicalFont.getFamilyName(Locale.getDefault()) + "'"); 
     return; 
    } 
} 

が、Java 1.7でFontManagerにはgetRegisteredFonts()静的メンバを(私はそれが今、実際にインターフェースだと思う)がありません。どうすればマッピングを取得できますか?

感謝 - デイブ

答えて

関連する問題