2008-09-26 5 views
3

특정 글꼴 (예 : 모노 스페이스)을 사용하는 국제 문자에 대한 Java의 지원에 대해서는 Java 설명서를 살펴본 후 그물을 훑어 보았지만 명확한 구체적인 답변을 얻을 수 없었습니다.자바, 유니 코드 및 글꼴

java 1.4와 java 1.5/1.6 사이에 변경 사항이 있습니다. 예를 들어, Java 1.4에서 JTextArea의 글꼴을 Monospace로 설정하면 외래 문자를 처리 할 수 ​​없으며 (대신 사각형을 가져옵니다) Java 1.5/1.6에서는 제대로 작동하는 것 같습니다.

이러한 차이점이나 개선 된 지원은 어디서나 명확하게 문서화되어 있습니까?

감사 Internationalization Enhancements에서

답변

2

:

다국어 텍스트,

다국어 텍스트를 렌더링하려면 렌더링 논리 폰트를 사용하여 2D는 현재 지원되는 모든 기록 시스템에 설치된 호스트 OS 글꼴을 활용합니다. 예를 들어 태국어 로켈 환경에서 실행되지만 한국어 글꼴이 설치된 경우 태국어와 한국어가 모두 렌더링됩니다. 또한 JRE는 lib/fonts/fallback 디렉토리에 설치된 실제 글꼴을 자동으로 감지하여 이러한 실제 글꼴을 2D 렌더링을위한 모든 논리 글꼴에 추가합니다. 윈도우에 유니 코드 API를

사용

AWT는 이제 윈도우 2000/XP에 유니 코드 API를 사용합니다. 결과적으로 일부 구성 요소는 Windows 로켈 설정에 제한받지 않고 텍스트를 처리 할 수 ​​있습니다. 예를 들어, AWT 텍스트 구성 요소는 Windows 로켈 설정에 관계없이 Devanagari 작성 시스템에서 텍스트를 수락하고 표시 할 수 있습니다. (강조 광산)

0

"외국"은 어떻게됩니까? 대부분의 라틴 기반 글꼴은 ISO-8859-1의 상반부에있는 악센트 부호가있는 문자와 다른 문자를 적어도 처리 할 수 ​​있지만, 그 이상의 것을 지원할 수 있다고 생각하지는 않습니다.

일반적으로 사용자가 기본 OS에서 검색 할 수있는 지원되는 글꼴 목록에서 선택하도록 허용하는 것이 가장 좋습니다. 그렇게 할 수 없거나 원하지 않는다면 CSS 접근 방식을 사용할 수 있습니다 : 허용되는 글꼴 목록을 반복하고 설치된 첫 번째 글꼴을 사용하십시오.

목록을 채우려면 "프로그래머 글꼴"또는 "고정 폭 글꼴"만 입력하면됩니다. 필자는 Java의 논리적 글꼴, 특히 Windows 용 Courier 또는 Courier New 인 Monospace를 전혀 좋아하지 않았습니다. 나는 몇 년 전에 그것을 사용하기를 그만 뒀다.