Skip to content

A collection of parsers for SVG types.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

linebender/svgtypes

Repository files navigation

SVG Types

A collection of parsers for SVG types.

Linebender Zulip, #resvg channel dependency status Apache 2.0 or MIT license. Build status Crates.io Docs

Supported SVG types

Features

  • Complete support of paths, so data like M10-20A5.5.3-4 110-.1 will be parsed correctly.
  • Implicit path commands will be automatically converted into explicit one.
  • Some SVG2 data types support.
  • Pretty fast.

Limitations

  • Accepts only normalized values, e.g. an input text should not contain   or &data;.
  • All keywords must be lowercase. Case-insensitive parsing is supported only for colors (requires allocation for named colors).
  • The <color> followed by the <icccolor> is not supported. As the <icccolor> itself.
  • System colors, like fill="AppWorkspace", are not supported. They were deprecated anyway.

Safety

  • The library should not panic. Any panic considered as a critical bug and should be reported.
  • The library forbids unsafe code.

Alternatives

None.

Minimum supported Rust Version (MSRV)

This version of SVG Types has been verified to compile with Rust 1.65 and later.

Future versions of SVG Types might increase the Rust version requirement. It will not be treated as a breaking change and as such can even happen with small patch releases.

Click here if compiling fails.

As time has passed, some of SVG Types's dependencies could have released versions with a higher Rust requirement. If you encounter a compilation issue due to a dependency and don't want to upgrade your Rust toolchain, then you could downgrade the dependency.

# Use the problematic dependency's name and version
cargo update -p package_name --precise 0.1.1

Community

Linebender Zulip, #resvg channel

Discussion of SVG Types development happens in the Linebender Zulip at https://xi.zulipchat.com/, specifically the #resvg channel. All public content can be read without logging in.

License

Licensed under either of

at your option.

Contribution

Contributions are welcome by pull request. The Rust code of conduct applies. Please feel free to add your name to the AUTHORS file in any substantive pull request.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.

About

A collection of parsers for SVG types.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages