公開日: 2025 年 2 月 12 日
ウェブ レンダリング エンジンの処理は多岐にわたり、スタイル設定、メディア、レイアウトなど、その多くは標準によって推進されています。これらの標準により、独立したエンジンの相互運用性が確保され、ウェブが繁栄するようになりました。ただし、テキストがピクセル単位でレンダリングされる方法など、細かい部分は標準化団体による解釈に委ねられることが多く、通常はブラウザが動作するオペレーティング システムに依存することになります。
2020 年、Microsoft Edge は、基盤となるレンダリング エンジンを完全に置き換えるという、まれな機会を得ました。Edge は Chromium に移行し、Windows API を直接使用する Windows 専用プラットフォームから、真のクロス プラットフォーム ウェブ レンダラになりました。Chromium に切り替える前は、Edge はテキストのレンダリングに DirectWrite という Windows API に完全に依存していました。ただし、Chromium は Skia に依存しています。Skia は、強力で柔軟なクロス プラットフォーム グラフィック エンジンであり、API からオペレーティング システム固有のコードの多くを抽象化します。
Edge の Chromium への移行中、Edge チームは Chromium レンダリング エンジンに関するユーザーからのフィードバックを収集する機会がありました。1 つのフィードバックが重要でした。多くの Edge ユーザーから、テキストが「色あせて」見え、Windows の他の部分のテキストと一致していないという報告がありました。
チームはこのフィードバックを真摯に受け止め、調査を行いました。Skia は、フォント検索などの特定の機能に Windows で DirectWrite を使用しますが、最終的なテキストのラスタライズは実際には Skia によって直接処理されます。また、ユーザーから「色が薄い」というフィードバックが寄せられている原因の一つは、テキストのレンダリングに関する内部のコントラストとガンマ設定です。
Edge の Chromium ベースのエンジンと以前のエンジンには、テキストのコントラストとガンマ値に主に 2 つの違いがあります。まず、Skia は Windows ClearType チューナーからテキストのコントラストとガンマの値を取得しません。2 つ目は、テキストのコントラストとガンマに、Edge の DirectWrite ベースのテキスト スタックとは異なるデフォルト値を使用していることです。
Edge チームは昨年、Chromium で ClearType チューナーの値を直接尊重するサポートを追加しました。これにより、Chromium ベースのブラウザのユーザーは、Windows でテキストのコントラストとガンマの設定を制御できるようになりました。これは正しい方向への大きな一歩でしたが、ほとんどのユーザーはシステム全体のテキストのコントラストとガンマの設定を調整しません。そのため、この取り組みの次の段階では、ウェブとブラウザ UI のテキスト コンテンツの両方で、デフォルトのテキストのコントラストとガンマ設定を調整することを真剣に検討しました。
ウェブ上のテキストの外観を変更することは、大きな作業です。ウェブは常にテキスト中心であり、高品質のテキスト エンジンが必要です。テキストのコントラスト値を上げる必要があることは明らかでしたが、調整の程度を判断するにはデータが必要でした。
Edge チームは 2021 年に、さまざまなテキストのコントラスト値のテストを始めました。多くのユーザー調査を行った結果、Edge と Chromium の両方の担当者は、コントラスト値 1.0 が Chromium 以前の Edge のテキスト レンダリングとよく一致し、他のネイティブ Windows アプリケーションと比較しても一貫性があると判断しました。
Edge チームは、この調査とテストが Windows 上の Chromium コミュニティ全体に有益であると判断し、Google の Chrome チームと調査結果を共有しました。Chrome チームは独自のテストでその結果を確認しました。その後、Chrome 132 以降の Windows ビルドで、新しいコントラスト値をデフォルトで有効にしました。
現在、Windows で Chromium ベースのブラウザを使用しているすべてのユーザーは、過去数年間にわたる共有された研究、テスト、実装の成果を享受できます。
このプロジェクトに貢献してくれた Microsoft の Ian Prest、Daniel Libby、Alison Maher 氏、Google の Dominik Röttsches、David Yeung、Ben Wagner、Brian Osman 氏に感謝します。