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

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

Công việc của công cụ kết xuất web rất rộng 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 được điều khiển bằng các tiêu chuẩn. Các 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ờ đó web phát triển mạnh mẽ. Tuy nhiên, một số chi tiết tinh tế hơn, chẳng hạn như cách văn bản được kết xuất ở cấp pixel, thường do các tổ chức tiêu chuẩn diễn giải và thường phụ thuộc 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, rời khỏi nền tảng chỉ dành cho Windows nơi trình duyệt này sử dụng trực tiếp các API Windows và trở thành trình kết xuất web đa 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 tóm tắt nhiều mã dành riêng cho hệ điều hành từ API của công cụ này.

Trong quá trình chuyển đổi Edge 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 quan trọng là nhiều người dùng Edge chia sẻ rằng văn bản có vẻ "mờ" 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 trông bị mờ trên Chrome trên Windows phiên bản trước 132.

Nhóm chúng tôi đã xem xét nghiêm túc ý 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 như tra cứu phông chữ, nhưng việc tạo điểm ảnh văn bản cuối cùng thực sự do Skia trực tiếp xử lý. Và một yếu tố chính trong phản hồi "mờ" 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 hai đ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 nhận giá trị độ tương phản văn bản và gamma từ Windows ClearType Tuner. Thứ hai, lớp này sử dụng các giá trị mặc định khác nhau cho độ tương phản và gamma của văn bản 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ợ tuân thủ các giá trị của ClearType Tuner trong Chrome. Điều này giúp 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 đúng hướng, nhưng hầu hết người dùng có xu hướng không điều chỉnh chế độ cài đặt gamma và độ tương phản 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à cân nhắc nghiêm túc việc điều chỉnh các 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 văn bản trên web là một công việc lớn. Trang web luôn chứa 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 cần có dữ liệu để xác định mức độ điều chỉnh.

Nhóm Edge bắt đầu thử nghiệm với nhiều giá trị độ tương phản 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 đã xác định rằng giá trị tương phản 1,0 khớp gần như hoàn toàn với kết xuất văn bản của Edge trước Chromium và trông nhất quán so với các ứng dụng gốc khác của Windows.

Nhóm Edge tin rằng nghiên cứu và 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ẻ những phát hiện của mình với nhóm Chrome tại Google. Nhóm này đã xác nhận những phát hiện đó bằng các thử nghiệm của riêng họ. Sau đó, chúng tôi tiếp tục 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 qua khi chia sẻ nghiên cứu, thử nghiệm và triển khai.

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

Cảm ơn đặc biệt 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 đã đóng góp cho dự án này!