Data di pubblicazione: 12 febbraio 2025
Il lavoro di un motore di rendering web è vasto e gran parte di questo lavoro, come lo stile, i contenuti multimediali o il layout, è guidato dagli standard. Questi standard garantiscono che i motori indipendenti possano essere interoperabili, il che ha permesso al web di prosperare. Tuttavia, alcuni dettagli più precisi, come il rendering del testo a livello di pixel, sono spesso lasciati all'interpretazione degli enti di standardizzazione e in genere finiscono per basarsi sui sistemi operativi su cui vengono eseguiti i browser.
Nel 2020, Microsoft Edge ha avuto una rara opportunità: la sostituzione completa del suo motore di rendering sottostante. Edge è passato a Chromium, abbandonando una piattaforma solo Windows in cui utilizzava direttamente le API Windows e diventando un vero renderer web multipiattaforma. Prima del passaggio a Chromium, Edge si basava interamente su un'API Windows chiamata DirectWrite per il rendering del testo. Tuttavia, Chromium si basa su Skia, un motore grafico multipiattaforma potente e flessibile, che astrae gran parte del codice specifico del sistema operativo dalla sua API.
Durante la transizione di Edge a Chromium, il team di Edge ha avuto l'opportunità di raccogliere feedback dai suoi utenti sul motore di rendering di Chromium. Un feedback è stato significativo: molti utenti di Edge hanno condiviso che il testo appariva "sbiadito" e che non sembrava coerente con il testo in altre parti di Windows.

Il team ha preso sul serio questo feedback e ha effettuato alcune indagini. Anche se Skia utilizza DirectWrite su Windows per alcune funzionalità come la ricerca dei caratteri, la rasterizzazione finale del testo viene gestita direttamente da Skia. Uno dei fattori principali del feedback "sbiadito" degli utenti sono le impostazioni interne di contrasto e gamma per il rendering del testo.
Sono state rilevate due differenze principali nel contrasto del testo e nei valori gamma tra il motore basato su Chromium di Edge e il motore precedente. Innanzitutto, Skia non rileva i valori di contrasto e gamma del testo da Windows ClearType Tuner. In secondo luogo, utilizza valori predefiniti diversi per il contrasto del testo e la gamma rispetto a quelli utilizzati dallo stack di testo basato su DirectWrite di Edge.
L'anno scorso, il team di Edge ha aggiunto il supporto per il rispetto dei valori di ClearType Tuner direttamente in Chromium. In questo modo, gli utenti dei browser basati su Chromium possono controllare le impostazioni di contrasto del testo e gamma su Windows. Sebbene questo sia stato un passo importante nella giusta direzione, la maggior parte degli utenti tende a non modificare le impostazioni di contrasto e gamma del testo a livello di sistema. La fase successiva di questo percorso è stata quella di prendere seriamente in considerazione la possibilità di modificare le impostazioni predefinite di contrasto e gamma del testo sia per i contenuti di testo web che per quelli dell'interfaccia utente del browser.
Modificare l'aspetto del testo sul web è un'impresa ardua. Il web è sempre stato ricco di testo ed è necessario un motore di testo di alta qualità. Era evidente che il valore di contrasto del testo doveva aumentare, ma erano necessari dati per determinare di quanto regolarlo.
Il team di Edge ha iniziato a sperimentare vari valori di contrasto del testo nel 2021. Dopo molte ricerche sugli utenti, i membri di Edge e Chromium hanno stabilito che un valore di contrasto pari a 1,0 corrispondeva da vicino al rendering del testo di Edge pre-Chromium e sembrava coerente rispetto ad altre applicazioni Windows native.
Nel team di Edge, abbiamo ritenuto che la nostra ricerca e i nostri esperimenti potessero essere utili alla community Chromium su Windows, quindi abbiamo condiviso i nostri risultati con il team di Chrome di Google, che li ha confermati con i propri esperimenti. Abbiamo quindi proceduto all'attivazione del nuovo valore di contrasto per impostazione predefinita per le build di Windows, a partire da Chrome 132.
Oggi, tutti gli utenti di browser basati su Chromium su Windows possono trarre vantaggio da questi anni di ricerca, sperimentazione e implementazione condivise.

Un ringraziamento speciale a Ian Prest, Daniel Libby e Alison Maher di Microsoft, nonché a Dominik Röttsches, David Yeung, Ben Wagner e Brian Osman di Google per il loro contributo a questo progetto.