resvg can render color fonts now, aka Emojis.
In TrueType terms, COLRv0, COLRv1 (mostly), sbix, CBDT and SVG tables are supported.
Thanks to @LaurenzV.
Fonts matching and fallback can be controlled by the caller via usvg::FontResolver now.
Thanks to @LaurenzV.
usvg::Options::font_resolver. Similar to usvg::Options::image_href_resolver we already had.
usvg::Options::fontdb
Support double-quoted FuncIRIs, aka url("#id").
image element viewbox flattening.
Instead of having usvg::Image::view_box that the caller should handle themselves,
we instead replace it with transform and optional clip-path.
This greatly simplifies image rendering.
usvg::Image::size
Tree viewbox flattening.
Similar to image above, but affects the root svg element instead.
pattern viewbox flattening.
Similar to image above, but for patterns.
Improve vertical text rendering.
Thanks to @LaurenzV.
Changed
usvg::fontdb::Database should be set in usvg::Options and not passed
to the parser separately now.
usvg::Options and usvg::ImageHrefResolver have a lifetime now.
Replace usvg::Visibility enum with just bool.
usvg::Path::visibility() is replaced with usvg::Path::is_visible()
usvg::Image::visibility() is replaced with usvg::Image::is_visible()
usvg::TextSpan::visibility() is replaced with usvg::TextSpan::is_visible()
Always represent feImage content as a link to an element.
In SVG, feImage can contain a link to an element or a base64 image data, just like image.
From now, the inlined base64 data will always be represented by a link to an actual image element.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps resvg from 0.41.0 to 0.43.0.
Release notes
Sourced from resvg's releases.
Changelog
Sourced from resvg's changelog.
... (truncated)
Commits
e90c06e
Version bump.d8c8780
Update dependencies.546df09
Simplify transform logic for glyphs (#797)34b9b4c
Add support for decoding WebP images (#747)1a6922d
Fix canvas size limits calculation.11a8423
Use zune-jpeg for JPEG decoding (#789)ef1905c
Fix transformation in COLR fontsba1be45
Fix TrueType SVG fonts handling063e403
Update usvg spec.6ea34aa
Removegenerate_release_notes
from tagged releases.Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show