Dipublikasikan: 12 Februari 2025
Tugas mesin rendering web sangat luas, dan sebagian besar pekerjaan ini, seperti gaya visual, media, atau tata letak, didorong oleh standar. Standar ini memastikan bahwa mesin independen dapat saling beroperasi, yang telah memungkinkan web berkembang. Namun, beberapa detail yang lebih mendetail, seperti cara teks dirender di tingkat piksel, sering kali diserahkan kepada penafsiran oleh badan standar, dan biasanya berakhir dengan mengandalkan sistem operasi tempat browser berjalan.
Pada tahun 2020, Microsoft Edge memiliki peluang yang jarang terjadi—penggantian lengkap mesin rendering yang mendasarinya. Edge bertransisi ke Chromium, bukan platform khusus Windows yang menggunakan Windows API secara langsung, dan menjadi perender web lintas platform yang sebenarnya. Sebelum beralih ke Chromium, Edge sepenuhnya mengandalkan Windows API yang disebut DirectWrite untuk rendering teks. Namun, Chromium mengandalkan Skia, mesin grafis lintas platform yang canggih dan fleksibel, yang memisahkan banyak kode khusus sistem operasi dari API-nya.
Selama transisi Edge ke Chromium, tim Edge memiliki kesempatan untuk mengumpulkan masukan dari penggunanya tentang mesin rendering Chromium. Satu bagian masukan sangat signifikan—banyak pengguna Edge menyampaikan bahwa teks tampak "pudar" dan tidak terlihat konsisten dengan teks di bagian lain Windows.
Tim kami menanggapi masukan ini dengan serius dan melakukan beberapa penyelidikan. Meskipun Skia menggunakan DirectWrite di Windows untuk fungsi tertentu seperti pencarian font, rasterisasi teks akhir sebenarnya ditangani langsung oleh Skia. Selain itu, salah satu faktor utama dalam masukan "pudar" dari pengguna adalah setelan kontras internal dan gamma untuk rendering teks.
Dua perbedaan utama dalam kontras teks dan nilai gamma ditemukan antara mesin berbasis Chromium Edge dan mesin sebelumnya. Pertama, Skia tidak mengambil nilai kontras dan gamma teks dari Windows ClearType Tuner. Kedua, implementasi ini menggunakan nilai default yang berbeda untuk kontras dan gamma teks dibandingkan dengan nilai yang digunakan oleh stack teks berbasis DirectWrite Edge.
Tahun lalu, tim Edge menambahkan dukungan untuk mematuhi nilai ClearType Tuner di Chromium secara langsung. Hal ini memberi pengguna browser berbasis Chromium kemampuan untuk mengontrol setelan gamma dan kontras teks di Windows. Meskipun ini adalah langkah signifikan ke arah yang benar, sebagian besar pengguna cenderung tidak menyesuaikan setelan gamma dan kontras teks di seluruh sistem. Jadi, fase berikutnya dalam perjalanan ini adalah mempertimbangkan dengan serius untuk menyesuaikan setelan gamma dan kontras teks default untuk konten teks UI web dan browser.
Mengubah tampilan teks di web adalah pekerjaan besar. Web selalu berisi banyak teks, dan mesin teks berkualitas tinggi diperlukan. Terlihat jelas bahwa nilai kontras teks perlu ditingkatkan, tetapi data diperlukan untuk menentukan seberapa banyak penyesuaian yang diperlukan.
Tim Edge mulai bereksperimen dengan berbagai nilai kontras teks pada tahun 2021. Setelah banyak riset pengguna, anggota Edge dan Chromium menentukan bahwa nilai kontras 1,0 sangat cocok dengan rendering teks Edge pre-Chromium dan terlihat konsisten dibandingkan dengan aplikasi Windows native lainnya.
Di tim Edge, kami yakin bahwa riset dan eksperimen kami dapat bermanfaat untuk seluruh komunitas Chromium di Windows, jadi kami membagikan temuan kami kepada tim Chrome di Google, yang mengonfirmasinya dengan eksperimen mereka sendiri. Kemudian, kami melanjutkan untuk mengaktifkan nilai kontras baru secara default untuk build Windows, mulai dari Chrome 132.
Saat ini, semua pengguna browser berbasis Chromium di Windows dapat memperoleh manfaat dari riset, eksperimen, dan penerapan bersama selama beberapa tahun terakhir.
Terima kasih khusus kepada Ian Prest, Daniel Libby, dan Alison Maher di Microsoft, serta Dominik Röttsches, David Yeung, Ben Wagner, dan Brian Osman di Google atas kontribusi mereka pada project ini.