2011-09-15 3 views
2

자바에서 글꼴을 요청할 때 해당 글꼴이 없으면 매핑 할 글꼴을 결정해야합니다 (그래서 매핑을 사용할 수 있도록 기록 할 수 있습니다).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; 
    } 
} 

을하지만 자바 1.7에 fontmanager와 더 getRegisteredFonts() 정적 멤버 (나는 지금 실제로 인터페이스 생각)이 없습니다 : 자바 1.6에서 내가 사용할 수 있습니다. 그러면 어떻게 매핑을 얻을 수 있습니까?

감사 - 데이브

답변

관련 문제