2013-05-27 3 views
0

JLabel, JTextField 및 기타 Java Swing 구성 요소가있는 애플릿이 있습니다. 반면에, 나는 "AR", "AR-ExtB"(확장 B 영역) 및 "AR-Plus"(보충 개인 사용 영역 -A)와 같은 .tif 파일을 유니 코드 글꼴로 가지고 있습니다. 애플릿이 사용자가 입력하는 코드 포인트에 따라 모든 GUI 구성 요소에서 세 개의 .ttf 파일을 사용하기를 원합니다.Java Applet GUI 구성 요소의 다중 유니 코드 글꼴

1) 이러한 구성 요소가 여러 글꼴로 작동하는 옵션이 없음을 알고 있습니다. 따라서 글꼴을 구성 요소로 설정하는 명시적인 방법은 옵션이 아닙니다.

2) $ JAVA_HOME/lib 디렉토리의 fontconfig.properties 파일을 수정하여이 작업을 수행하는 방법이 있습니다. 예를 들어, "대화"(논리) 글꼴이 .ttf 파일을 하나의 논리 글꼴이지만 문제는 다른 모든 Java 응용 프로그램에도 이러한 글꼴이 있으므로 원하는 시나리오가 아닌 것입니다.

3) "대체 글꼴": 화면에 글리프를 표시 할 수있는 다른 글꼴이 없을 때 사용됩니다. 이것은 JAVA 기본 글꼴로는 처리 할 수없는 문자 만 표시하므로 해결 방법이 아닙니다.

질문 :

사람이 어떻게 모든 GUI 스윙 구성 요소의 글꼴로이 .TTF 파일을 사용하는 아이디어를 가지고 있지만 애플릿 내에서 할, 아니 전 세계적으로 JVM에서 실행되는 모든 응용 프로그램을 검색 하시나요?

+0

- -

Oracle docs

을 확인 논리 폰트 사용이 자바 논리 폰트가 작동하는 방법입니다 지원에 대한 링크가 있나요? "논리적"글꼴의 자바 개념은 JDK가 "Dialog"와 같은 논리적 글꼴 이름을 사용하면 일부 실제 글꼴이 확실히로드된다는 것을 보증한다는 것을 의미합니다. 따라서이 문제를 피할 수 있습니다. 특정 플랫폼에 어떤 글꼴이로드되는지에 대해 걱정할 필요가 없음). – Shorn

+0

Ooops, 신경 쓰지 마세요 - 이제 폰트 config doco에서 작동하는 것으로 보입니다 (fontconfig.properties는 HtmlView 용으로 생각했습니다). – Shorn

답변

0

TTF 파일을 글꼴로 사용하려면 글꼴을로드하고 이와 같이 설정하여 Font 개체를 만들어야합니다.

try { 
    GraphicsEnvironment ge = 
     GraphicsEnvironment.getLocalGraphicsEnvironment(); 
    ge.registerFont(Font.createFont(Font.TRUETYPE_FONT, new File("A.ttf"))); 
} catch (IOException|FontFormatException e) { 
    //Handle exception 
} 

이 후 글꼴 개체를 사용할 수 있습니다. 점 2에 대해서는 의 Suman