Gepubliceerd: 12 februari 2025
De taak van een webrenderingengine is enorm, en veel van dit werk, zoals styling, media of lay-out, wordt aangestuurd door standaarden. Deze standaarden zorgen ervoor dat onafhankelijke engines met elkaar kunnen samenwerken, wat de bloei van het web mogelijk heeft gemaakt. Maar sommige details, zoals hoe tekst op pixelniveau wordt weergegeven, worden vaak overgelaten aan de interpretatie van de standaardiseringsorganisaties en zijn doorgaans afhankelijk van de besturingssystemen waarop browsers draaien.
In 2020 kreeg Microsoft Edge een unieke kans: een complete vervanging van de onderliggende rendering-engine. Edge stapte over op Chromium , weg van een platform dat alleen voor Windows beschikbaar was en rechtstreeks gebruikmaakte van Windows API's, en werd een echte platformonafhankelijke webrenderer. Vóór de overstap naar Chromium vertrouwde Edge volledig op een Windows API genaamd DirectWrite voor tekstweergave. Chromium daarentegen maakt gebruik van Skia , een krachtige en flexibele platformonafhankelijke grafische engine die veel van de besturingssysteemspecifieke code abstraheert van de API.
Tijdens de overgang van Edge naar Chromium kreeg het Edge-team de kans om feedback van gebruikers te verzamelen over de Chromium-renderingengine. Eén punt van feedback was significant: veel Edge-gebruikers gaven aan dat tekst er "vaal" uitzag en dat de weergave niet consistent was met tekst in andere delen van Windows.

Het team nam deze feedback serieus en deed onderzoek. Hoewel Skia DirectWrite op Windows gebruikt voor bepaalde functionaliteiten, zoals het opzoeken van lettertypen, wordt de uiteindelijke tekstrasterisatie rechtstreeks door Skia uitgevoerd. Een belangrijke factor in de feedback van gebruikers over de "vervaagde" tekst is de interne contrast- en gamma-instelling voor tekstweergave.
Er werden twee belangrijke verschillen in tekstcontrast en gammwaarden ontdekt tussen de op Chromium gebaseerde engine van Edge en de voorgaande engine. Ten eerste gebruikt Skia geen tekstcontrast- en gammwaarden van de Windows ClearType Tuner . Ten tweede gebruikt het andere standaardwaarden voor tekstcontrast en gamma dan de op DirectWrite gebaseerde tekstverwerkingsstack van Edge.
Het Edge-team heeft vorig jaar ondersteuning toegevoegd voor het rechtstreeks respecteren van de ClearType Tuner-waarden in Chromium. Hierdoor konden gebruikers van Chromium-gebaseerde browsers de tekstcontrast- en gamma-instellingen op Windows aanpassen. Hoewel dit een belangrijke stap in de goede richting was, passen de meeste gebruikers hun systeembrede tekstcontrast- en gamma-instellingen niet aan. De volgende stap was dan ook om serieus te overwegen de standaard tekstcontrast- en gamma-instellingen aan te passen voor zowel web- als browser-UI-tekstinhoud.
Het veranderen van de weergave van tekst op het web is een grote onderneming. Het web is altijd al tekstrijk geweest en een hoogwaardige tekstengine is essentieel. Het was duidelijk dat de contrastwaarde van de tekst moest worden verhoogd, maar er waren gegevens nodig om te bepalen in welke mate.
Het Edge-team begon in 2021 te experimenteren met verschillende tekstcontrastwaarden. Na veel gebruikersonderzoek concludeerden leden van zowel Edge als Chromium dat een contrastwaarde van 1,0 het beste overeenkwam met de tekstweergave van Edge vóór de Chromium-update en er consistent uitzag in vergelijking met andere native Windows-applicaties.
Binnen het Edge-team waren we ervan overtuigd dat ons onderzoek en onze experimenten nuttig konden zijn voor de gehele Chromium-community op Windows. Daarom deelden we onze bevindingen met het Chrome-team van Google, dat ze bevestigde met hun eigen experimenten. Vervolgens hebben we de nieuwe contrastwaarde standaard ingeschakeld voor Windows-builds, te beginnen met Chrome 132.
Tegenwoordig kunnen alle gebruikers van op Chromium gebaseerde browsers op Windows profiteren van de resultaten van jaren van gezamenlijk onderzoek, experimenten en implementatie.

Speciale dank aan Ian Prest, Daniel Libby en Alison Maher van Microsoft, en aan Dominik Röttsches, David Yeung, Ben Wagner en Brian Osman van Google voor hun bijdragen aan dit project!