Mengapa font terkadang terlihat "gemuk" di Mac OS X?

19

Terkadang saat melanjutkan dari penangguhan, font di Mac OS X terlihat "lebih gemuk" dari biasanya. Sayangnya saat ini saya tidak bisa mendapatkan Macbook Pro saya untuk menunjukkan perilaku "normal" untuk perbandingan, sudah tidak normal kemarin dan hari ini. Jika saya bisa mendapatkan tangkapan layar dari apa yang saya pikir 'normal', saya akan menambahkannya.

"Memperbaiki" ini sudah acak. Saya menggunakan monitor eksternal, dan kadang-kadang mencabutnya dan menghubungkannya kembali, atau bahkan mematikannya dan menghidupkan kembali telah berfungsi. Terkadang dengan layar terpasang (atau tidak) mendeteksi tampilan berfungsi. Kadang-kadang keluar atau reboot sepenuhnya adalah yang diperlukan.

Tampilan yang digunakan:

Perangkat lunak tempat saya melihat ini terjadi, paling tidak paling mencolok:

  • Firefox (tangkapan layar di bawah)
  • ITerm
  • Sesuatu
  • MacIrssi (tangkapan layar di bawah)

Saya menggunakan Mac OS X 10.5.8.

"Abnormal" view dari MacIrssi dengan Inconsolata 16 pt.

abnormal (Macirssi)

Tampilan "Abnormal" dari Firefox.

abnormal (Firefox)

Akhirnya mendapatkannya beralih kembali, meskipun setelah melanjutkan dari menangguhkan punggungnya menjadi "gemuk" :-(.

normal (Macirssi)

Dan 'normal' di Firefox:

normal (Firefox)

jtimberman
sumber
Bagaimana Anda mendapatkan font untuk kembali normal? Mulai ulang?
Stephen Jennings
Sejauh ini sudah acak. Kadang-kadang mendeteksi tampilan melakukannya, ketika saya menggunakan monitor eksternal saya, mati / hidup, atau mencabut dan menyumbat karya, itu sebabnya saya menanyakan pertanyaan ini, saya kira :-).
jtimberman
@Arjan, saya memperbarui posting. Itu 'abnormal' saat ini.
jtimberman
1
Bisakah Anda menambahkan tangkapan layar sekarang dari versi "tidak normal"?
Brian Campbell
Karena mereka lebih bahagia dan merasa lebih betah di Apple ... jadi mereka "membiarkan semuanya bergaul", seolah-olah, merajuk dalam kegembiraan mereka yang nyaman. Dan itulah mengapa beberapa font pada Mac terlihat lebih gemuk ...

Jawaban:

21

Masalahnya menjadi jelas ketika Anda memperbesar gambar:

Memperbesar tangkapan layar font "gemuk", menampilkan piksel berwarna
Memperbesar tangkapan layar font "kurus", menampilkan piksel abu-abu

Seperti yang Anda lihat, versi kurus sepenuhnya abu-abu, sedangkan versi gemuk memiliki beberapa piksel yang sedikit kemerahan, dan beberapa yang agak kebiru-biruan.

Ini terjadi karena sub-pixel anti-aliasing . Layar LCD sebenarnya tidak mengandung piksel persegi yang bisa berwarna apa saja; sebagai gantinya, ia memiliki tiga elemen persegi panjang kurus yang merah, hijau, dan biru. (Gambar di bawah dari Wikipedia).

Pola Pixel pada berbagai tampilan

Saat font anti-aliasing, alih-alih hanya menggunakan nuansa abu-abu, Anda dapat memvariasikan intensitas masing-masing dari tiga warna, untuk memungkinkan Anda merender pada tiga kali resolusi horizontal yang dapat Anda capai hanya dengan anti-aliasing dengan nuansa abu-abu. Gambar-gambar berskala yang saya berikan tidak benar-benar mewakili apa yang Anda lihat; sebaliknya, font harus terlihat jauh lebih halus karena bentuk dan penempatan piksel. Akan lebih akurat untuk menyajikannya seperti ini:

Contoh teks anti-alias Sub-Pixel

Jadi, apa yang Anda lihat adalah bahwa kadang-kadang font dirender dengan sub-pixel anti-aliasing, dan kadang-kadang sedang diterjemahkan dengan anti-aliasing normal. Saya akan menebak bahwa algoritma anti-aliasing sub-pixel yang digunakan dioptimalkan untuk teks hitam pada latar belakang putih, yang dapat menjelaskan mengapa teks tampak sedikit "gemuk" bila dilihat sebagai teks putih pada latar belakang hitam.

Di sisi lain, itu mungkin hanya rendering font yang lebih akurat. Jika Anda melihat versi font yang sama dengan skala yang ditingkatkan, terlihat sedikit lebih berani dan kurang tipis daripada versi "kurus" yang ditunjukkan di atas:

Contoh teks dengan ukuran font yang lebih tinggi

Alasannya beralih bolak-balik antara dua versi mungkin karena monitor kedua Anda. Saya tidak tahu persis kapan OS memutuskan ini, atau bagaimana cara kerjanya, tetapi kemungkinan mendeteksi LCD dengan tata letak subpixel yang tidak diketahui. Karena tidak tahu tata letak piksel, maka standar anti-aliasing yang lebih aman (karena anti-aliasing sub-piksel dapat terlihat sangat aneh ketika ditampilkan pada LCD dengan tata letak yang salah). Sepertinya entah bagaimana, Anda kadang-kadang mendapatkannya untuk membuat satu keputusan, dan kadang-kadang mendapatkannya untuk membuat yang lain. Saya percaya bahwa sekali aplikasi dijalankan dalam mode rendering tertentu, itu tidak akan berubah sampai Anda berhenti dan meluncurkan kembali aplikasi, yang akan menjelaskan mengapa Anda melihat perilaku yang tidak menentu;

Jika Anda hanya ingin membuat ini konsisten di semua aplikasi, tidak peduli apakah Anda menggunakan LCD kedua atau tidak, dan selalu menggunakan font kurus, Anda cukup mematikan pemulusan font di panel preferensi sistem Appearance:

Sorot "Gunakan LCD Font Smoothing When Available" di panel preferensi sistem Appearance

Tentu saja, maka Anda kehilangan sub-pixel anti-aliasing di mana-mana. Seperti yang ditunjukkan oleh John Rudy, Anda bisa mendapatkan kontrol berbutir lebih halus dengan mengikuti instruksi untuk mengatur level secara manual menggunakan defaultsprogram ; atau jika Anda belum menggunakan Snow Leopard, maka Anda masih harus memiliki kontrol yang lebih halus yang tersedia untuk Anda di System Preferences.

Brian Campbell
sumber
FYI Saya mendapatkan hasil terbaik pada tampilan laptop saya ketika tidak mencentang "Gunakan font LCD smoothing when available".
jtimberman
12

Sepertinya ada perbedaan dalam anti-aliasing, yang bisa masuk akal jika Anda melihat perilaku ini di suspend / resume dan koneksi / pemutusan sambungan monitor eksternal. Bisa jadi monitor Dell Anda memicu perubahan dalam mode anti-aliasing yang digunakan oleh sistem.

Bergantung pada versi Mac OS X Anda, Anda mungkin memiliki opsi untuk mengontrol perataan font yang digunakan oleh sistem di jendela Appearance System Preferences. (Pada Snow Leopard, saya hanya melihat kotak centang untuk "menggunakan perataan font LCD bila tersedia." Ini sepertinya sesuai dengan pengaturan "Otomatis - Terbaik untuk Tampilan Utama" yang lama.)

Anda masih dapat mengonfigurasi ini melalui properti sistem di Terminal.app. Artikel ini menjelaskan detailnya, yang akan saya ringkas di bawah ini:

Ada lima pengaturan untuk perataan font:

  1. Otomatis - Terbaik untuk Tampilan Utama
  2. Standar - Terbaik untuk CRT (opsi 1)
  3. Cahaya (opsi 2)
  4. Medium - Terbaik untuk Flat Panel (opsi 3)
  5. Strong (opsi 4)

Untuk mengontrol ini dengan ketat sehingga Anda tidak lagi berada di dunia otomatis, gunakan Terminal.app untuk mengubah seluruh sistem properti. Saya curiga jika Anda melakukan ini, pergantian layar (antara monitor dan saya menduga mungkin screen saver Anda untuk menangguhkan / melanjutkan) seharusnya tidak lagi mengacaukan pengaturan Anda.

Di Terminal.app, masukkan:

    defaults -currentHost write -globalDomain AppleFontSmoothing -int 2

Ubah opsi 2ke mana saja (dari daftar di atas, gunakan nomor opsi setelah teks) yang paling Anda sukai.

John Rudy
sumber
Referensi bagus! Its "bukannya mengandalkan LCD untuk melaporkan apa yang harus digunakan pengaturan" mungkin memang menyebabkan perubahan mendadak, saya kira.
Arjan
Saya menggunakan iTerm, bukan Terminal.app, dan tangkapan layar monospace berasal dari Macirssi.
jtimberman
Karena saya menggunakan Leopard dan bukan Snow Leopard, opsi ini tersedia di System Preferences -> Appearance. "Standar ... CRT" benar-benar terlihat "normal" di layar Macbook, meskipun saya harus menunggu untuk memeriksa LCD eksternal ketika saya kembali ke kantor besok.
jtimberman
2
@jtimberman, seperti untuk saya menggunakan iTerm, bukan Terminal.app perhatikan bahwa perintah yang diberikan oleh John tidak berpengaruh pada Terminal saja. Anda juga dapat menggunakan ITerm untuk menjalankannya.
Arjan
0

Jika Anda menggunakan CRT, Anda dapat mengharapkan beberapa distorsi warna, kecerahan dan rasio aspek dalam waktu sampai CRT sepenuhnya memanas. Monitor apa yang Anda gunakan?

Charles Stewart
sumber
Layar lcd macbook internal. Saya bahkan tidak memiliki CRT lagi.
jtimberman