SVGに挑むTinyVG
(zig.news)<p>- Zig言語向けのSVGライブラリを作るうちに、独自のベクターフォーマットを作ることになった<br />
- 現在のベクターグラフィックスでは、ほとんどがSVGを使用している<br />
→ しかし新しいSVGライブラリの実装は難しい<br />
⇨ XML/CSS/ECMAScriptなどを基盤として作られているため <br />
⇨ さらにSVG自体も複雑すぎて、実装ごとに画像の見え方が異なる<br />
→ 特に<text>を含む場合はシステムによって異なる <br />
⇨ そのため最近では、TextをすべてPathに変換する回避策が使われている <br />
- TinyVGは、SVGで本当に必要な95%の機能を備えている<br />
→ アニメーション、スクリプティング、外部リソース、階層的な文書構造などは除外 <br />
- 設計目標 <br />
→ コンパクトなバイナリエンコーディング(SVGより小さい)<br />
→ 複数プラットフォームをサポート可能に:GPU(ゲーム)、CPU(デスクトップアプリ)、Web、組み込み <br />
→ SVGのサブセット <br />
→ 多様な用途に利用可能:アプリ/ツールバーのアイコン、グラフやダイアグラム、漫画/イラストなど<br />
→ シンプルな実装<br />
- 最適化されたSVG比で40%のサイズを達成 </p>
3件のコメント