| Crates.io | raqote-usvg-render |
| lib.rs | raqote-usvg-render |
| version | 0.12.0 |
| created_at | 2020-11-13 09:33:37.470745+00 |
| updated_at | 2020-11-13 10:34:21.537304+00 |
| description | raqote renderer for usvg. |
| homepage | |
| repository | https://github.com/Yarn/raqote-usvg-render |
| max_upload_size | |
| id | 311887 |
| size | 132,913 |
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.
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.
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
Install stable-x86_64-pc-windows-gnu Rust target.
And then:
pacman -S mingw-w64-x86_64-gcc
rustup default stable-x86_64-pc-windows-gnu
cargo build --release
You can use i686 target in the same way.
Install harfbuzz using your distributive's package manager.
On Ubuntu you can install it via:
sudo apt install libharfbuzz-dev
Build resvg:
cargo build --release
cargo build --release
harfbuzz on Linux. On other OS'es it will be built statically.
cargo run --release -- in.svg out.png
The resulting binary can be found at: target/release/resvg-raqote
A simple SVG to PNG converter:
cargo run --example minimal -- in.svg out.png
Render image using a manually constructed SVG render tree:
cargo run --example custom_rtree
Draw bounding boxes around all shapes on input SVG:
cargo run --example draw_bboxes -- bboxes.svg bboxes.png -z 4