<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tinyvg on despatches</title><link>https://icle.es/tags/tinyvg/</link><description>Recent content in Tinyvg on despatches</description><generator>Hugo</generator><language>en</language><lastBuildDate>Thu, 19 Jun 2025 21:38:42 +0100</lastBuildDate><atom:link href="https://icle.es/tags/tinyvg/index.xml" rel="self" type="application/rss+xml"/><item><title>SVG To TVG</title><link>https://icle.es/2025/06/07/svg-to-tvg/</link><pubDate>Sat, 07 Jun 2025 17:02:22 +0000</pubDate><guid>https://icle.es/2025/06/07/svg-to-tvg/</guid><description>&lt;p>I am using &lt;a href="https://github.com/david-vanderson/dvui">dvui&lt;/a> in a project and it
uses &lt;a href="https://tinyvg.tech/">TinyVG&lt;/a> for its icon format.&lt;/p>
&lt;p>While it sounds swell, most icons I could find were still
&lt;a href="https://en.wikipedia.org/wiki/SVG">SVG&lt;/a>.&lt;/p>
&lt;p>When I tried to use a standard SVG, I got the following errors:&lt;/p>
```
warning(dvui): iconTexture Tinyvg error error.InvalidData rendering icon craft at height 16

warning(dvui): iconWidth Tinyvg error error.InvalidData parsing icon craft
```</description><content:encoded><![CDATA[<p>I am using <a href="https://github.com/david-vanderson/dvui">dvui</a> in a project and it
uses <a href="https://tinyvg.tech/">TinyVG</a> for its icon format.</p>
<p>While it sounds swell, most icons I could find were still
<a href="https://en.wikipedia.org/wiki/SVG">SVG</a>.</p>
<p>When I tried to use a standard SVG, I got the following errors:</p>
```
warning(dvui): iconTexture Tinyvg error error.InvalidData rendering icon craft at height 16

warning(dvui): iconWidth Tinyvg error error.InvalidData parsing icon craft
```
<p>I couldn&rsquo;t find a lot of resources online on how to convert an SVG file into
TinyVG.</p>
<p>On their <a href="https://tinyvg.tech/">website, under tooling</a>, there are links with
binaries for various operating systems.</p>
<p>I am not a fan of downloading binaries, but it seemed reasonable - maybe run it
in a <a href="https://wiki.archlinux.org/title/Chroot">chroot</a> or container to be safe.</p>
<p>It needed two steps:</p>
<h2 id="convert-from-svg-to-tinyvg-text">Convert from SVG to TinyVG Text</h2>
```bash
./svg2tvgt <path-to-svg-file>
```
<p>It will put the output in the same directory as the source file</p>
<h2 id="convert-from-tinyvg-text-to-binary">Convert from TinyVG Text to Binary</h2>
```bash
./tvg-text -I tvgt -O tvg <path-to-tvgt-file>
```
<p>It will output the binary tvg file in the same directory as the source</p>
<h2 id="repo--status">Repo &amp; Status</h2>
<p>The <a href="https://github.com/TinyVG/sdk">SDK Repo</a> is using Zig 0.11 and hasn&rsquo;t had
an update in almost a year. There is a PR pending to update it to Zig 0.14,
which has been waiting a month.</p>
<p>It doesn&rsquo;t build on Zig 0.14 as it stands.</p>
<p>I worry that it might already be abandoned, but am hopeful that it will come
back to life.</p>]]></content:encoded></item></channel></rss>