Font jelek / Non-Alias ​​di Aplikasi Java-Swing

15

Saya baru-baru ini beralih ke Ubuntu dan saya telah menginstal Oracle Java JDK 8u45 (32 bit) menggunakan repositori webupd8team / java.

Semuanya tampaknya berfungsi dengan baik kecuali bahwa aplikasi Java-Swing memiliki font yang rusak dan jelek tanpa anti-aliasing. Mengubah font tidak berfungsi. Aplikasi asli seperti Gedit meskipun memiliki font yang sama tidak terpengaruh (juga aplikasi non-Swing Java seperti Eclipse); ini hanya mempengaruhi aplikasi berbasis Swing.

Tangkapan layar: (jEdit v5.1)

Cuplikan layar jEdit

Saya menjalankan Ubuntu 15.04 (yang merupakan versi terbaru pada 2015-06-15). Versi Java saya adalah 1.8.0_45 dan 'java -version' memberikan output berikut:

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)

Saya sudah mencoba perbaikan yang diberikan dalam pertanyaan serupa (di sini dan di situs stackexchange lainnya) tetapi tidak bekerja. Saya juga menambahkan baris berikut di / etc / environment (seperti yang diberikan di sini: https://wiki.archlinux.org/index.php/Java_Runtime_Environment_Fonts ) tetapi mereka tidak memberi saya hasil yang jelas.

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

Saya yakin pasti ada perbaikan untuk ini. Aplikasi Java yang sama berfungsi sebagaimana mestinya pada Windows-7.

hexman
sumber

Jawaban:

16

Masalah ini telah lama diperbaiki, jadi saya memutuskan untuk mengirim solusi. Perhatikan bahwa masalahnya masih ada di sana secara default tetapi bisa diperbaiki dengan parameter.

Menambahkan baris ini:

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

untuk /etc/environmentmemperbaiki masalah ini.

Perbaikan ini berfungsi pada Ubuntu 16.04 dan OpenJDK 8u151 (belum diperiksa dengan Oracle JDK atau Java 9).

Contoh kerja: masukkan deskripsi gambar di sini

Catatan : Beberapa font dan pengaturan AA memperumit masalah. Dalam jEdit, saya menggunakan font Java default ("Dialog" seperti namanya) untuk semuanya. Anda mungkin dapat menggunakan font lain untuk Area Teks tetapi Dialog adalah yang terbaik untuk tombol, dll. Pengaturan AA Area Teks terbaik yang saya temukan adalah standar tetapi jarak tempuh Anda mungkin berbeda.

hexman
sumber
1
Solusi Anda sangat bagus!
Nadav B
1
Sekali lagi diperlukan pada Ubuntu 18.10 dan OpenJDK 11. Dan masih berfungsi! :)
tanius