Java-Swing 응용 프로그램의 Ugly / Non-Aliased 글꼴


15

최근 Ubuntu로 전환했으며 webupd8team / java 리포지토리를 사용하여 Oracle의 Java JDK 8u45 (32 비트)를 설치했습니다.

Java-Swing 응용 프로그램에 앤티 앨리어싱이없는 깨진 글꼴이있는 것을 제외하고는 모든 것이 제대로 작동하는 것 같습니다. 글꼴을 변경해도 작동하지 않습니다. 동일한 글꼴을 사용하지만 Gedit와 같은 기본 응용 프로그램은 영향을받지 않습니다 (Eclipse와 같은 비 스윙 Java 응용 프로그램도 마찬가지 임). Swing 기반 응용 프로그램에만 영향을줍니다.

스크린 샷 : (jEdit v5.1)

jEdit의 스크린 샷

Ubuntu 15.04 (2015-06-15 현재 최신 버전)를 실행하고 있습니다. 내 Java 버전은 1.8.0_45이며 'java -version'은 다음과 같은 출력을 제공합니다.

java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) Server VM (build 25.45-b02, mixed mode)

비슷한 질문 (여기 및 다른 스택 교환 사이트)에서 제공된 수정을 시도했지만 작동하지 않습니다. 또한 / etc / environment ( https://wiki.archlinux.org/index.php/Java_Runtime_Environment_Fonts )에 다음 줄을 추가 했지만 명확한 결과를 얻지 못했습니다.

JAVA_FONTS=/usr/share/fonts/truetype
_JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on'

이 문제를 해결해야합니다. Windows-7에서와 동일한 Java 응용 프로그램이 작동합니다.

답변:


16

이 문제는 오랫동안 해결되어 솔루션을 게시하기로 결정했습니다. 기본적으로 문제는 여전히 있지만 매개 변수로 해결할 수 있습니다.

이 줄을 추가 :

_JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true'

/etc/environment문제 를 해결합니다.

이 수정은 Ubuntu 16.04 및 OpenJDK 8u151 (Oracle JDK 또는 Java 9에서는 확인되지 않음)부터 작동합니다.

작업 예 : 여기에 이미지 설명을 입력하십시오

참고 : 일부 글꼴 및 AA 설정은 문제를 복잡하게합니다. jEdit에서는 기본 Java 글꼴 ( "Dialog"라고 함)을 모든 것에 사용합니다. 텍스트 영역에는 다른 글꼴을 사용할 수 있지만 대화 상자는 버튼 등에 가장 적합합니다. 내가 찾은 최고의 텍스트 영역 AA 설정은 표준 이지만 마일리지는 다를 수 있습니다.


1
귀하의 솔루션은 훌륭하게 작동합니다!
Nadav B

1
우분투 18.10과 OpenJDK 11부터 다시 필요했습니다. 그리고 여전히 작동합니다! :)
tanius
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.