Renderização de texto melhorada em navegadores baseados em Chromium no Windows

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

Publicado em 12 de fevereiro de 2025

O trabalho de um mecanismo de renderização da Web é vasto, e grande parte dele, como estilo, mídia ou layout, é impulsionado por padrões. Esses padrões garantem que mecanismos independentes possam ser interoperáveis, o que permitiu que a Web prosperasse. No entanto, alguns detalhes mais refinados, como a renderização de texto no nível de pixel, geralmente são deixados para interpretação pelos órgãos de padrões e normalmente acabam dependendo dos sistemas operacionais em que os navegadores são executados.

Em 2020, o Microsoft Edge teve uma oportunidade rara: uma substituição completa do mecanismo de renderização subjacente. O Edge fez a transição para o Chromium, saindo de uma plataforma exclusiva do Windows em que usava APIs do Windows diretamente, e se tornou um renderizador da Web multiplataforma. Antes da mudança para o Chromium, o Edge dependia totalmente de uma API do Windows chamada DirectWrite para renderização de texto. No entanto, o Chromium depende do Skia, um mecanismo de gráficos multiplataforma poderoso e flexível, que abstrai grande parte do código específico do sistema operacional da API.

Durante a transição do Edge para o Chromium, a equipe do Edge teve a oportunidade de coletar feedback dos usuários sobre o mecanismo de renderização do Chromium. Um feedback foi significativo: muitos usuários do Edge compartilharam que o texto parecia "desbotado" e que não parecia consistente com o texto em outras partes do Windows.

O texto parecia desbotado no Chrome para Windows antes da versão 132.

A equipe levou esse feedback a sério e fez algumas investigações. Embora o Skia use o DirectWrite no Windows para determinadas funcionalidades, como a pesquisa de fontes, a rasterização de texto final é processada diretamente pelo Skia. Um dos principais fatores no feedback "desbotado" dos usuários são as configurações internas de contraste e gama para renderização de texto.

Foram descobertas duas principais diferenças nos valores de contraste e gama de texto entre o mecanismo baseado no Chromium do Edge e o mecanismo anterior. Primeiro, o Skia não coleta valores de contraste e gama de texto do Windows ClearType Tuner. Em segundo lugar, ele usa valores padrão diferentes para contraste e gama de texto do que os usados pela pilha de texto baseada em DirectWrite do Edge.

No ano passado, a equipe do Edge adicionou suporte para respeitar os valores do ClearType Tuner diretamente no Chromium. Isso deu aos usuários de navegadores baseados no Chromium a capacidade de controlar as configurações de contraste e gama de texto no Windows. Embora tenha sido um passo significativo na direção certa, a maioria dos usuários não ajusta as configurações de contraste e gama de texto em todo o sistema. Portanto, a próxima fase dessa jornada foi considerar seriamente o ajuste das configurações padrão de contraste e gama de texto para conteúdo de texto da Web e da interface do navegador.

Mudar a aparência do texto na Web é uma tarefa grande. A Web sempre foi muito textual, e um mecanismo de texto de alta qualidade é necessário. Era evidente que o valor de contraste do texto precisava aumentar, mas eram necessários dados para determinar o quanto ajustar.

A equipe do Edge começou a fazer testes com vários valores de contraste de texto em 2021. Depois de muita pesquisa com usuários, membros do Edge e do Chromium determinaram que um valor de contraste de 1,0 correspondia à renderização de texto do Edge pré-Chromium e parecia consistente em comparação com outros aplicativos nativos do Windows.

Na equipe do Edge, acreditávamos que nossa pesquisa e nossos experimentos poderiam ser benéficos para a comunidade do Chromium no Windows. Por isso, compartilhamos nossas descobertas com a equipe do Chrome no Google, que as confirmou com os próprios experimentos. Em seguida, ativamos o novo valor de contraste por padrão para builds do Windows, começando com o Chrome 132.

Hoje, todos os usuários de navegadores baseados no Chromium no Windows podem se beneficiar desses anos de pesquisa, testes e implementação compartilhados.

O texto fica nítido e claro após a troca.

Agradecimentos especiais a Ian Prest, Daniel Libby e Alison Maher da Microsoft, bem como a Dominik Röttsches, David Yeung, Ben Wagner e Brian Osman do Google pelas contribuições a este projeto.