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.
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 major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Updates the requirements on resvg, tiny-skia and usvg to permit the latest version. Updates
resvg
to 0.37.0Release notes
Sourced from resvg's releases.
Changelog
Sourced from resvg'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
.Updates
tiny-skia
to 0.11.3Changelog
Sourced from tiny-skia's changelog.
... (truncated)
Commits
4741251
Version bump.fb7a6f4
AddPath::compute_tight_bounds
f050a90
Version bump.f659d94
Remove support of non-stable Rust.529cb8f
Do not run clippy on CI.628b066
Transform::is_valid
was treating 1/4096 as zero.d2b7abb
Clippy fixes and CI workflow update.eb03212
Remove unnecessary casts.e4f3f72
Add MSRV as rust-version field.94e91d0
Directly use associated constants on numeric types.Updates
usvg
to 0.37.0Release 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