Support non-default markers order via
paint-order.
Previously, only fill and stroke could have been swapped.
Thanks to @LaurenzV.
usvg_tree::Text::flattened that will contain a flattened/outlined text.
usvg_tree::Text::bounding_box. Will be set only after text flattening.
Optimize usvg_tree::NodeExt::abs_transform by storing absolute transforms in the tree
instead of calculating them each time.
Changed
usvg_tree::Text::positions was replaced with usvg_tree::Text::dx and usvg_tree::Text::dy.
usvg_tree::CharacterPosition::x and usvg_tree::CharacterPosition::y are gone.
They were redundant and you should use usvg_tree::TextChunk::x
and usvg_tree::TextChunk::y instead.
usvg_tree::LinearGradient::id and usvg_tree::RadialGradient::id are moved to
usvg_tree::BaseGradient::id.
Do not generate element IDs during parsing. Previously, some elements like clipPaths
and filters could have generated IDs, but it wasn't very reliable and mostly unnecessary.
Renderer doesn't rely on them and usvg writer would generate them anyway.
Text-to-paths conversion via usvg_text_layout::Tree::convert_text no longer replaces
original text elements with paths, but instead puts them into usvg_tree::Text::flattened.
Removed
The transform field from usvg_tree::Path, usvg_tree::Image and usvg_tree::Text.
Only usvg_tree::Group can have it.
It doesn't break anything, because those properties were never used before anyway.
Thanks to @LaurenzV.
usvg_tree::CharacterPosition
usvg_tree::Path::text_bbox. Use usvg_tree::Text::bounding_box instead.
usvg_text_layout::TextToPath trait for Text nodes.
Only the whole tree can be converted at once.
Fixed
Path object bounding box calculation. We were using point bounds instead of tight contour bounds.
Was broken since v0.34
Convert text-to-paths in embedded SVGs as well. The one inside the Image node.
Thanks to @LaurenzV.
Indirect text-decoration resolving in some cases.
Thanks to @LaurenzV.
(usvg) Clip paths writing to SVG.
Thanks to @LaurenzV.
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)
Updates the requirements on usvg to permit the latest version.
Release notes
Sourced from usvg's releases.
Changelog
Sourced from usvg's changelog.
... (truncated)
Commits
1dfe9e5
Version bump.d38a3ed
Update dependencies.ec819c7
(usvg-cli) FixfeImage
writing.5dc9648
(usvg-cli) Fix text-on-path writing in clip paths and masks.537dd26
Support text preserving in the usvg CLI tool.7e1f99c
Update changelog.3fc967b
Latest svgtypes.46adb9c
Fix path object bounding box calculation.b9eddd6
Revert: Makepico-args
a binary-only dependency.6eb5cf2
Optimizeusvg_tree::NodeExt::abs_transform
.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