10P by xguru 2021-12-23 | favorite | 댓글 3개

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

흐음 저는 그래도 텍스트 인코딩이었으면 좋겠네요.

타이젠에서 쓰이는 ThorVG도 있습니다 (약자가 겹치겠네요 ㅋㅋ;)

https://github.com/Samsung/thorvg

근데 정작 메인 사이트인 https://tinyvg.tech/ 가 다운된 상태네요.
SVG가 복잡하다는건 널리 알려진 사실이고, 다양한 대안들이 나오긴 합니다.

- 구글의 IconVG https://github.com/google/iconvg
- 애니메이션용 벡터그래픽인 Lottie http://airbnb.io/lottie/

* 글에서 언급한 "Quite OK Image format - O(n) 무손실 이미지 압축" https://news.hada.io/topic?id=5433