Saya biasanya lebih suka Adobe Reader (masih v9 di Linux) daripada semua pemirsa PDF lainnya karena saya pikir itu memiliki kualitas rendering terbaik, meskipun yang lain baru-baru ini menyusul. Kualitas rendering ini tampaknya sebagian besar karena CoolType, implementasi rendering subpixel dari Adobe. Sayangnya saya telah menemukan bahwa Adobe Reader secara konsisten menonaktifkan rendering subpixel (berdasarkan per-halaman) segera setelah halaman tersebut mengandung elemen transparan. Sebuah contoh:
Bentuk biru buram, teks dirender menggunakan subpiksel:
Bentuk biru 50% transparan, teks diberikan dengan antialiasing standar:
Dua file pdf yang sesuai telah dihasilkan dengan cara yang persis sama (menggunakan TikZ / PGF dengan pdflatex), kecuali untuk menentukan transparansi dalam kasus kedua. Saya membuat pdf ini sendiri, tetapi saya sering mengamati efek yang sama dengan pdf dari sumber yang sama sekali berbeda. Anehnya, Foxit Reader dan Okular membuat dua pdf yang sama dengan cara yang persis sama (kecuali tentu saja untuk bagian transparan itu sendiri), tetapi pada kualitas IMHO yang umumnya lebih buruk.
Pertanyaan saya: Apakah seseorang tahu mengapa ini terjadi, dan apakah / bagaimana hal itu dapat dihindari?
sumber
Jawaban:
Rendering subpixel dilakukan dengan menggunakan warna individual dari suatu piksel. Setiap piksel pada layar dibuat oleh piksel yang bahkan lebih kecil dengan warna merah, hijau dan biru.
Jika Anda ingin membuat objek dengan lebar 10,3 piksel, Anda hanya akan menggunakan warna merah dari piksel ke-11. Layar kemudian akan memancarkan cahaya dari 31 subpiksel, yaitu 10 piksel penuh dan kemudian sepertiga piksel.
Jika Anda mencoba mensimulasikan efek ini sendiri, cukup dengan menggambar lebar 10 piksel putih, lalu piksel merah di sebelah kanan dengan latar belakang hitam, Anda akan melihat efeknya sendiri.
Masalahnya adalah Anda akan melihat bahwa tepi kanan akan berwarna merah, ini jika Anda melakukannya dengan cara itu. Kemungkinan besar, Adobe harus menggunakan algoritma canggih untuk membatalkan efek itu - mungkin dengan memperkuat nilai merah dan hijau dari piksel ke-10.
Menambahkan transparansi ke suatu algoritma yang sudah cukup maju mungkin adalah sesuatu yang belum mereka pecahkan dan oleh karena itu, mereka cukup menonaktifkan rendering subpixel.
Saya percaya ini adalah masalahnya, karena saya telah mencoba menerapkan rendering subpixel dengan cara naif ini dan saya melihat bahwa "sisi berwarna" berpengaruh pada diri saya sendiri.
sumber
Ini mungkin bug di Adobe, lebih baik dibesarkan di forum mereka.
Untuk meningkatkan tampilan font di Linux, Anda dapat mencoba menggunakan Infinality:
Lihat :
Rendering font yang lebih baik di linux dengan infinality
archlinux konfigurasi font - infinality .
sumber