GN⁺ 2025-03-21 | parent | ★ favorite | on: 웹 폰트의 메모리 안전성 강화(developer.chrome.com)
Hacker News 의견
  • Google에서 fuzzing으로 발견된 문제를 해결하는 데 최소 0.25명의 소프트웨어 엔지니어가 필요함

    • 이러한 추가 작업을 측정하는 방식이 마음에 듦
    • FreeType을 사용하지 않더라도 TTF 힌팅 명령을 완전히 사용할 수 있는 방법이 있기를 바람
    • Windows와 macOS는 더 이상 적절한 힌팅을 활성화할 방법이 없는 것 같음
    • FreeType도 2.7 버전 이후로 부적절한 힌팅을 기본값으로 설정함
    • 적절히 힌팅된 텍스트가 어떻게 보이는지 궁금하다면 스크린샷을 참조할 수 있음
    • Windows는 XP 이후로 폰트 힌팅을 포기한 것으로 의심됨
    • UI 스케일링과 다양한 해상도의 화면에서 래스터 이미지를 보는 것이 흐릿함을 유발함
  • Rust의 진정한 힘은 안전성을 향한 점진적인 전환과 기존 프로젝트에 통합될 수 있는 능력임

    • 대규모 재작성 없이 구성 요소를 하나씩 마이그레이션할 수 있음
  • 폰트가 모니터 패널의 서브픽셀 레이아웃에 따라 렌더링되는 방식에 대해 배우고 있음

    • Windows는 모든 패널이 RGB 레이아웃을 사용한다고 가정하고 ClearType 소프트웨어가 그 가정에 따라 폰트를 렌더링함
    • 새로운 디스플레이 유형에서는 텍스트 프린징이 발생함
    • MacType이나 Better ClearType Tuner 같은 타사 도구가 존재하지만 Chrome이나 Electron에서는 작동하지 않음
    • 새로운 패널 기술이 보편화되면서 서브픽셀 레이아웃을 그래픽 레이어에 전달하는 표준을 정의하는 노력이 필요함
    • Blur Busters에서 일부 노력이 보이지만 공급업체의 인식은 아직 부족함
  • Skia는 고급 텍스트 레이아웃을 수행하고 글리프를 캐시하는 고급 라이브러리임

    • Skia는 C++로 작성되었으며 Google에서 만듦
    • FreeType은 글리프를 측정하고 렌더링하며 다양한 안티앨리어싱 모드와 힌팅을 지원함
    • FreeType은 C로 작성되었으며 Google에서 만든 것이 아님
    • 왜 FreeType이 먼저 Rust로 재작성되었는지 궁금함
  • 글꼴은 OpenType Sanitizer를 통해 처리되기 전에 통과됨

    • 글꼴 형식이 그렇게 나쁜지 파일을 소독해야 하는지 궁금함
    • 정수 오버플로가 취약성의 원인 중 하나로 식별됨
    • 많은 언어가 오버플로를 감지하지 않으며, RISC-V 같은 현대 아키텍처도 오버플로 트랩을 포함하지 않음
    • Rust 같은 새로운 언어가 오버플로 트랩을 포함하지 않는 이유를 이해할 수 없음