raqote backend for rendering usvg data
usvg
rendering implementation using the raqote library.
Warning: the raqote
library is still in development and pretty unstable.
You should prefer other backends.
This backend intentionally doesn't provide a C API.
Build
Right now, this is the only backend that uses Rust-based 2D library, therefore building process is fairly straightforward.
Sadly, you still need a C++ compiler to build harfbuzz.
on Windows using MSVC
Install stable-x86_64-pc-windows-msvc
Rust target.
Build using x64 Native Tools Command Prompt for VS 2017
shell:
set PATH=%userprofile%\.cargo\bin;%PATH%
rustup.exe default stable-x86_64-pc-windows-msvc
cargo.exe build --release
on Windows using MSYS2
Install stable-x86_64-pc-windows-gnu
Rust target.
And then:
You can use i686 target in the same way.
on Linux
Install harfbuzz
using your distributive's package manager.
On Ubuntu you can install it via:
Build resvg
:
on macOS
Runtime dependencies
harfbuzz
on Linux. On other OS'es it will be built statically.
Running resvg CLI
The resulting binary can be found at: target/release/resvg-raqote
Running examples
A simple SVG to PNG converter:
Render image using a manually constructed SVG render tree:
Draw bounding boxes around all shapes on input SVG: