Windows의 Chromium 기반 브라우저에서 텍스트 렌더링 개선

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

게시일: 2025년 2월 12일

웹 렌더링 엔진의 작업은 방대하며 스타일 지정, 미디어, 레이아웃과 같은 작업의 대부분은 표준에 따라 실행됩니다. 이러한 표준을 통해 독립형 엔진이 상호 운용될 수 있으므로 웹이 번성할 수 있었습니다. 그러나 텍스트가 픽셀 수준에서 렌더링되는 방식과 같은 일부 세부사항은 표준 기관의 해석에 맡겨지는 경우가 많으며 일반적으로 브라우저가 실행되는 운영체제에 의존하게 됩니다.

2020년 Microsoft Edge는 드물게도 기본 렌더링 엔진을 완전히 교체할 기회를 얻었습니다. Edge가 Chromium으로 전환하여 Windows API를 직접 사용하는 Windows 전용 플랫폼에서 벗어나 진정한 크로스 플랫폼 웹 렌더러가 되었습니다. Chromium으로 전환하기 전에는 Edge에서 텍스트 렌더링을 위해 DirectWrite라는 Windows API를 전적으로 사용했습니다. 그러나 Chromium은 API에서 많은 운영체제별 코드를 추상화하는 강력하고 유연한 크로스 플랫폼 그래픽 엔진인 Skia를 사용합니다.

Edge가 Chromium으로 전환되는 동안 Edge팀은 Chromium 렌더링 엔진에 관한 사용자의 의견을 수집할 수 있었습니다. 한 가지 중요한 의견이 있었습니다. 많은 Edge 사용자가 텍스트가 '흐리게' 표시되고 Windows의 다른 부분에 있는 텍스트와 일관되지 않는다고 말했습니다.

Windows의 Chrome 132 이전 버전에서 텍스트가 희미하게 표시되었습니다.

YouTube는 이 의견을 진지하게 받아들여 조사를 진행했습니다. Skia는 글꼴 조회와 같은 특정 기능에 Windows에서 DirectWrite를 사용하지만 최종 텍스트 래스터화는 실제로 Skia에서 직접 처리합니다. 사용자의 '흐리게' 표시된다는 의견에 영향을 미치는 주요 요소 중 하나는 텍스트 렌더링의 내부 대비 및 감마 설정입니다.

Edge의 Chromium 기반 엔진과 이전 엔진 간에 텍스트 대비 및 감마 값의 두 가지 주요 차이점이 발견되었습니다. 첫째, Skia는 Windows ClearType Tuner에서 텍스트 대비 및 감마 값을 선택하지 않습니다. 둘째, 텍스트 대비 및 감마에 Edge의 DirectWrite 기반 텍스트 스택에서 사용하는 것과 다른 기본값을 사용합니다.

Edge팀은 작년에 Chromium에서 ClearType Tuner 값을 직접 따르는 지원을 추가했습니다. 이를 통해 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에게 감사의 인사를 전합니다.