▲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 같은 새로운 언어가 오버플로 트랩을 포함하지 않는 이유를 이해할 수 없음
Hacker News 의견
Google에서 fuzzing으로 발견된 문제를 해결하는 데 최소 0.25명의 소프트웨어 엔지니어가 필요함
Rust의 진정한 힘은 안전성을 향한 점진적인 전환과 기존 프로젝트에 통합될 수 있는 능력임
폰트가 모니터 패널의 서브픽셀 레이아웃에 따라 렌더링되는 방식에 대해 배우고 있음
Skia는 고급 텍스트 레이아웃을 수행하고 글리프를 캐시하는 고급 라이브러리임
글꼴은 OpenType Sanitizer를 통해 처리되기 전에 통과됨