Publicado em 12 de fevereiro de 2025
O trabalho de um mecanismo de renderização da Web é vasto, e grande parte desse trabalho, como estilo, mídia ou layout, é orientado por padrões. Esses padrões garantem que motores independentes possam ser interoperáveis, o que permitiu que a Web florescesse. No entanto, alguns detalhes mais sutis, como a forma como o texto é renderizado no nível do pixel, geralmente são deixados para interpretação pelos órgãos de padronização e normalmente dependem 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. O Edge fez a transição para o Chromium, deixando de ser uma plataforma exclusiva do Windows em que usava APIs do Windows diretamente e se tornou um renderizador da Web verdadeiramente 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 da Skia, um motor de gráficos multiplataforma flexível e poderoso, 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 não parecia consistente com o texto em outras partes do Windows.
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 do feedback "desbotado" dos usuários é o contraste interno e as configurações de gama para renderização de texto.
Duas principais diferenças no contraste de texto e nos valores de gama foram descobertas entre o mecanismo baseado em Chromium do Edge e o mecanismo anterior. Primeiro, o Skia não detecta os valores de contraste e gama do texto do Windows ClearType Tuner. Em segundo lugar, ele usa valores padrão diferentes para contraste e gama de texto em vez dos 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 no Chromium. Isso permitiu que os usuários de navegadores baseados em Chromium controlassem as configurações de contraste de texto e gama no Windows. Embora essa tenha sido uma etapa importante na direção certa, a maioria dos usuários tende a não ajustar as configurações de contraste e gama do texto em todo o sistema. A próxima fase dessa jornada foi considerar seriamente ajustar as configurações padrão de contraste e gama de texto para o conteúdo de texto da interface da Web e do navegador.
Mudar a aparência do texto na Web é uma tarefa difícil. A Web sempre foi pesada em texto, e é necessário ter um mecanismo de texto de alta qualidade. Era evidente que o valor do contraste do texto precisava aumentar, mas eram necessários dados para determinar o quanto ajustar.
A equipe do Edge começou a testar 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 aproximadamente à renderização de texto do Edge pré-Chromium e parecia consistente em comparação com outros aplicativos nativos do Windows.
Na equipe do Edge, acreditamos que nossas pesquisas e 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, a partir do Chrome 132.
Hoje, todos os usuários de navegadores baseados em Chromium no Windows podem se beneficiar desses anos de pesquisa, experimentação e implementação compartilhada.
Agradecemos especialmente a Ian Prest, Daniel Libby e Alison Maher, da Microsoft, e a Dominik Röttsches, David Yeung, Ben Wagner e Brian Osman, do Google, pelas contribuições a este projeto.