2011-08-16 4 views
3

Terminal면을 사용하여 내 프로그램 (Windows에서는 플랫폼 독립성이 중요하지 않음)에서 읽기 문자열을 표시하려고합니다.강제 모노 스페이스 터미널 폰트 사용 Java AWT

사용하는 경우 Font font = Font.decode("Terminal-10"); 모노 스페이스가 아닙니다.

내가 사용하는 경우 Font font = new Font(Font.MONOSPACED, Font.PLAIN, 11); 모두 잘되고 있지만 Courier처럼 보입니다.

내가 사용하는 경우

그냥 기본값 (일부 12 점 일반 글꼴)을 사용하고

HashMap attr = new HashMap<TextAttribute,TextAttribute>(); 
attr.put("FAMILY", Font.MONOSPACED); 
attr.put("FONT", Font.decode("Terminal-10")); 

font = new Font(attr); 

를 (아마도 임은 API 문서를 잘못 해석). 속성을 터미널 글꼴로 올바르게 설정하는 방법? Graphics2D에 문자열을 그리고서 ImageIO으로 저장하고 있습니다.

답변

1

Java AWT는 비트 맵 글꼴을 전혀 지원하지 않습니다. Font 클래스에서 보는 것으로 판단하면 TRUETYPE_FONTTYPE1_FONT 만 처리합니다. 터미널은 비트 맵 글꼴이므로 AWT의 글꼴 시스템을 사용하여 쉽게 사용할 수있는 방법이 없습니다.

저는 현재 this question에서 제한적인 성공을 거둔 내 간단한 비트 맵 글꼴 엔진을 사용하여 비슷한 문제를 해결하려고합니다.

관련 문제