Skip to content

TinyVG

Features

  • Zig 언어용 SVG 라이브러리를 만들다 자체 벡터 포맷을 만들게 됨
  • 현재 벡터그래픽에선 대부분 SVG를 사용중
    • 하지만 새로운 SVG라이브러리 구현은 어려움
      • XML/CSS/ECMAScript 등 기반으로 만들어졌기 때문
      • 또한 SVG 자체도 너무 복잡해서, 각 구현체 별로 이미지가 다르게 보임
    • 특히 <text>를 포함한 경우 시스템에 따라 다름
      • 그래서 요즘은 Text를 다 Path로 변환하는 편법을 사용
  • TinyVG 는 SVG에서 정말 필요한 95%의 기능들을 가짐
    • 애니메이션, 스크립팅, 외부 리소스, 계층적 문서 구조등은 제외
  • 디자인 목표
    • 컴팩트한 바이너리 인코딩(SVG 보다 작게)
    • 여러 플랫폼 지원 가능하게 : GPU(Game), CPU(데스크탑 앱), Web, Embedded
    • SVG의 서브셋
    • 다양한 용도로 사용 가능 : 앱/툴바 아이콘, 그래프와 다이어그램, 만화/그림 등
    • 심플한 구현
  • 최적화된 SVG 대시 40% 크기 달성

See also

Favorite site