SVG is a horribly complex graphics file format and an overkill for most projects. The specification includes way too many edge cases so implementing a new SVG renderer will always have drawbacks or missing pieces.
TinyVG tries to be simpler. Fewer features, but powerful enough to cover 90% of use cases.
Features
Compact binary encoding (39% size of a comparable SVG file on average)
Cover 90% of typically used SVG features files while only having a tiny fraction of complexity
Common 2D primitives are supported (paths, lines, rectangles, polygons)
Linear and radial two-point gradient support.
Configurable precision for smaller files.
Comprehensible specification
The native library is suitable for integrating TinyVG into native projects. Be it Zig, Rust, C or C++, you can use this library with any language that supports the C ABI.
Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7:30pm ET! To join, head over to YouTube and check out the show’s live chat and our Discord!
Python for Microcontrollers – Adafruit Daily — Python on Microcontrollers Newsletter: A New Arduino MicroPython Package Manager, How-Tos and Much More! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi
EYE on NPI – Adafruit Daily — EYE on NPI Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey