Besseres Text-Rendering in Chromium-basierten Browsern unter Windows

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

Veröffentlicht: 12. Februar 2025

Die Aufgaben einer Web-Rendering-Engine sind vielfältig und ein Großteil dieser Arbeit, z. B. Styling, Media oder Layout, wird durch Standards bestimmt. Diese Standards sorgen dafür, dass unabhängige Engines interoperabel sein können, was die Entwicklung des Webs ermöglicht hat. Einige Details, z. B. wie Text auf Pixelebene gerendert wird, werden jedoch oft den Normierungsgremien überlassen und hängen in der Regel vom Betriebssystem ab, auf dem die Browser ausgeführt werden.

2020 bot sich für Microsoft Edge eine seltene Gelegenheit: die vollständige Ersetzung der zugrunde liegenden Rendering-Engine. Edge wurde auf Chromium umgestellt. Zuvor war es eine reine Windows-Plattform, auf der Windows-APIs direkt verwendet wurden. Jetzt ist es ein echter plattformübergreifender Web-Renderer. Vor der Umstellung auf Chromium stützte sich Edge für das Rendern von Text vollständig auf eine Windows-API namens DirectWrite. Chromium basiert jedoch auf Skia, einer leistungsstarken und flexiblen plattformübergreifenden Grafik-Engine, die einen Großteil des betriebssystemspezifischen Codes von ihrer API abstrahiert.

Während der Umstellung von Edge auf Chromium hatte das Edge-Team die Möglichkeit, Feedback von seinen Nutzern zur Chromium-Rendering-Engine zu sammeln. Ein Feedback war besonders wichtig: Viele Edge-Nutzer gaben an, dass Text „verwaschen“ wirkte und nicht mit Text in anderen Teilen von Windows übereinstimmte.

In Chrome unter Windows vor Version 132 sah Text blass aus.

Das Team hat dieses Feedback ernst genommen und einige Untersuchungen durchgeführt. Skia verwendet DirectWrite unter Windows für bestimmte Funktionen wie die Schriftartsuche, die endgültige Textrasterung wird jedoch direkt von Skia übernommen. Ein wichtiger Faktor für das „verwaschene“ Feedback von Nutzern sind die internen Kontrast- und Gammaeinstellungen für die Textwiedergabe.

Es wurden zwei Hauptunterschiede in Bezug auf Textkontrast und Gammawerte zwischen der Chromium-basierten Engine von Edge und der vorherigen Engine festgestellt. Erstens werden Kontrast- und Gammawerte für Text nicht vom Windows ClearType Tuner übernommen. Zweitens werden andere Standardwerte für Textkontrast und Gamma verwendet als im DirectWrite-basierten Text-Stack von Edge.

Das Edge-Team hat letztes Jahr Unterstützung für die Berücksichtigung der ClearType Tuner-Werte direkt in Chromium hinzugefügt. So konnten Nutzer von Chromium-basierten Browsern den Textkontrast und die Gammaeinstellungen unter Windows anpassen. Das war zwar ein wichtiger Schritt in die richtige Richtung, aber die meisten Nutzer passen den systemweiten Textkontrast und die Gamma-Einstellungen nicht an. In der nächsten Phase haben wir daher ernsthaft in Erwägung gezogen, die Standardeinstellungen für Textkontrast und Gamma sowohl für Web- als auch für Browser-UI-Textinhalte anzupassen.

Das Aussehen von Text im Web zu ändern, ist ein großes Unterfangen. Das Web war schon immer textlastig und eine hochwertige Text-Engine ist unerlässlich. Es war klar, dass der Textkontrastwert erhöht werden musste, aber es waren Daten erforderlich, um zu bestimmen, wie stark er angepasst werden sollte.

Das Edge-Team begann bereits 2021 mit verschiedenen Textkontrastwerten zu experimentieren. Nach vielen Nutzerstudien haben Mitglieder von Edge und Chromium festgestellt, dass ein Kontrastwert von 1,0 dem Textrendering von Edge vor Chromium sehr nahe kommt und im Vergleich zu anderen nativen Windows-Anwendungen konsistent aussieht.

Wir vom Edge-Team waren der Meinung, dass unsere Forschung und unsere Experimente für die gesamte Chromium-Community unter Windows von Vorteil sein könnten. Deshalb haben wir unsere Ergebnisse mit dem Chrome-Team bei Google geteilt, das sie mit eigenen Experimenten bestätigt hat. Anschließend haben wir den neuen Kontrastwert standardmäßig für Windows-Builds aktiviert, beginnend mit Chrome 132.

Heute können alle Nutzer von Chromium-basierten Browsern unter Windows von den gemeinsamen Forschungsarbeiten, Experimenten und Implementierungen der letzten Jahre profitieren.

Der Text sieht nach dem Wechsel scharf und klar aus.

Vielen Dank an Ian Prest, Daniel Libby und Alison Maher von Microsoft sowie an Dominik Röttsches, David Yeung, Ben Wagner und Brian Osman von Google für ihre Beiträge zu diesem Projekt.