Hiển thị văn bản tốt hơn trong các trình duyệt dựa trên Chromium trên Windows

Kurt Catti-Schmidt
Kurt Catti-Schmidt
Patrick Brosset
Patrick Brosset

Xuất bản: Ngày 12 tháng 2 năm 2025

Công việc của một công cụ kết xuất web là rất lớn và phần lớn công việc này (chẳng hạn như tạo kiểu, nội dung nghe nhìn hoặc bố cục) đều tuân theo các tiêu chuẩn. Những tiêu chuẩn này đảm bảo rằng các công cụ độc lập có thể tương tác với nhau, nhờ đó giúp web phát triển mạnh mẽ. Tuy nhiên, một số chi tiết cụ thể hơn, chẳng hạn như cách văn bản được hiển thị ở cấp độ pixel, thường được các tổ chức tiêu chuẩn diễn giải và thường dựa vào hệ điều hành mà trình duyệt chạy trên đó.

Năm 2020, Microsoft Edge có một cơ hội hiếm có: thay thế hoàn toàn công cụ kết xuất cơ bản. Edge chuyển sang Chromium, không còn là nền tảng chỉ dành cho Windows nơi Edge sử dụng trực tiếp các API Windows và trở thành một trình kết xuất web nhiều nền tảng thực sự. Trước khi chuyển sang Chromium, Edge hoàn toàn dựa vào một API Windows có tên là DirectWrite để hiển thị văn bản. Tuy nhiên, Chromium dựa vào Skia, một công cụ đồ hoạ đa nền tảng mạnh mẽ và linh hoạt, giúp trừu tượng hoá nhiều mã dành riêng cho hệ điều hành khỏi API của công cụ này.

Trong quá trình chuyển đổi sang Chromium, nhóm Edge đã có cơ hội thu thập ý kiến phản hồi của người dùng về công cụ kết xuất Chromium. Một ý kiến phản hồi đáng chú ý là nhiều người dùng Edge cho biết văn bản xuất hiện "bị nhoè" và không nhất quán với văn bản ở các phần khác của Windows.

Văn bản có vẻ nhạt màu trên Chrome trên Windows phiên bản trước 132.

Nhóm đã nghiêm túc xem xét ý kiến phản hồi này và tiến hành điều tra. Mặc dù Skia sử dụng DirectWrite trên Windows cho một số chức năng nhất định (chẳng hạn như tra cứu phông chữ), nhưng quá trình tạo raster văn bản cuối cùng thực sự được Skia xử lý trực tiếp. Một yếu tố chính trong ý kiến phản hồi "nhạt nhoà" của người dùng là chế độ cài đặt độ tương phản và gamma nội bộ để hiển thị văn bản.

Chúng tôi phát hiện ra 2 điểm khác biệt chính về độ tương phản văn bản và giá trị gamma giữa công cụ dựa trên Chromium của Edge và công cụ trước đó. Trước tiên, Skia không lấy độ tương phản văn bản và giá trị gamma từ Windows ClearType Tuner. Thứ hai, nó sử dụng các giá trị mặc định khác nhau cho độ tương phản văn bản và gamma so với các giá trị mà ngăn xếp văn bản dựa trên DirectWrite của Edge sử dụng.

Năm ngoái, nhóm Edge đã thêm tính năng hỗ trợ tôn trọng các giá trị ClearType Tuner trong Chromium. Nhờ đó, người dùng trình duyệt dựa trên Chromium có thể kiểm soát chế độ cài đặt độ tương phản văn bản và gamma trên Windows. Mặc dù đây là một bước quan trọng theo hướng đi đúng, nhưng hầu hết người dùng thường không điều chỉnh chế độ cài đặt độ tương phản và gamma của văn bản trên toàn hệ thống. Vì vậy, giai đoạn tiếp theo trong hành trình này là nghiêm túc cân nhắc việc điều chỉnh chế độ cài đặt độ tương phản và gamma mặc định của văn bản cho cả nội dung văn bản trên web và giao diện người dùng của trình duyệt.

Việc thay đổi giao diện của văn bản trên web là một việc lớn. Web luôn có nhiều văn bản và cần có một công cụ văn bản chất lượng cao. Rõ ràng là giá trị độ tương phản của văn bản cần tăng lên, nhưng chúng tôi cần dữ liệu để xác định mức độ điều chỉnh.

Nhóm Edge bắt đầu thử nghiệm nhiều giá trị độ tương phản của văn bản từ năm 2021. Sau nhiều nghiên cứu về người dùng, các thành viên của cả Edge và Chromium đều xác định rằng giá trị độ tương phản là 1.0 gần như khớp với quá trình kết xuất văn bản của Edge trước Chromium và có vẻ nhất quán so với các ứng dụng Windows gốc khác.

Nhóm Edge tin rằng nghiên cứu và các thử nghiệm của chúng tôi có thể mang lại lợi ích cho cộng đồng Chromium nói chung trên Windows. Vì vậy, chúng tôi đã chia sẻ kết quả nghiên cứu với nhóm Chrome tại Google. Nhóm này đã xác nhận kết quả bằng các thử nghiệm của riêng họ. Sau đó, chúng tôi tiến hành bật giá trị độ tương phản mới theo mặc định cho các bản dựng Windows, bắt đầu từ Chrome 132.

Ngày nay, tất cả người dùng trình duyệt dựa trên Chromium trên Windows đều có thể hưởng lợi từ những năm nghiên cứu, thử nghiệm và triển khai chung này.

Văn bản trông rõ ràng và sắc nét sau khi chuyển đổi.

Xin chân thành cảm ơn Ian Prest, Daniel Libby và Alison Maher tại Microsoft, cũng như Dominik Röttsches, David Yeung, Ben Wagner và Brian Osman tại Google vì những đóng góp của họ cho dự án này!