From 792f3d0a4161c5b0fccdb936c5b365368bb0c66a Mon Sep 17 00:00:00 2001 From: n4n5 Date: Sun, 21 Dec 2025 13:53:59 -0700 Subject: [PATCH 1/4] remove warning for marker --- crates/usvg/src/parser/svgtree/mod.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/crates/usvg/src/parser/svgtree/mod.rs b/crates/usvg/src/parser/svgtree/mod.rs index 30308dcb8..03f7b218f 100644 --- a/crates/usvg/src/parser/svgtree/mod.rs +++ b/crates/usvg/src/parser/svgtree/mod.rs @@ -286,7 +286,10 @@ impl<'a, 'input: 'a> SvgNode<'a, 'input> { Some(v) => Some(v), None => { // TODO: show position in XML - log::warn!("Failed to parse {} value: '{}'.", aid, value); + let is_marker = matches!(aid, AId::MarkerEnd | AId::MarkerStart | AId::MarkerMid); + if !is_marker || value != "none" { + log::warn!("Failed to parse {} value: '{}'.", aid, value); + } None } } From 838b839f44331d32bb04b55edb33927f69a2fbe7 Mon Sep 17 00:00:00 2001 From: n4n5 Date: Sun, 21 Dec 2025 14:59:30 -0700 Subject: [PATCH 2/4] fix --- crates/usvg/src/parser/svgtree/mod.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/usvg/src/parser/svgtree/mod.rs b/crates/usvg/src/parser/svgtree/mod.rs index 03f7b218f..e6a6ffad0 100644 --- a/crates/usvg/src/parser/svgtree/mod.rs +++ b/crates/usvg/src/parser/svgtree/mod.rs @@ -282,14 +282,14 @@ impl<'a, 'input: 'a> SvgNode<'a, 'input> { .iter() .find(|a| a.name == aid) .map(|a| a.value.as_str())?; + if value == "none" { + return None; + } match T::parse(*self, aid, value) { Some(v) => Some(v), None => { // TODO: show position in XML - let is_marker = matches!(aid, AId::MarkerEnd | AId::MarkerStart | AId::MarkerMid); - if !is_marker || value != "none" { - log::warn!("Failed to parse {} value: '{}'.", aid, value); - } + log::warn!("Failed to parse {} value: '{}'.", aid, value); None } } From 9266491fd011c37379edaaf5fde9b68ad78376d7 Mon Sep 17 00:00:00 2001 From: n4n5 Date: Sun, 21 Dec 2025 15:14:13 -0700 Subject: [PATCH 3/4] fix: catch AId with none --- crates/usvg/src/parser/svgtree/mod.rs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/crates/usvg/src/parser/svgtree/mod.rs b/crates/usvg/src/parser/svgtree/mod.rs index e6a6ffad0..f24c45d16 100644 --- a/crates/usvg/src/parser/svgtree/mod.rs +++ b/crates/usvg/src/parser/svgtree/mod.rs @@ -282,7 +282,21 @@ impl<'a, 'input: 'a> SvgNode<'a, 'input> { .iter() .find(|a| a.name == aid) .map(|a| a.value.as_str())?; - if value == "none" { + // These AId have a initial value of none + let is_possible_none = matches!( + aid, + AId::Mask + | AId::MarkerStart + | AId::MarkerMid + | AId::MarkerEnd + | AId::ClipPath + | AId::Filter + | AId::FontSizeAdjust + | AId::TextDecoration + | AId::Stroke + | AId::StrokeDasharray + ); + if is_possible_none && value == "none" { return None; } match T::parse(*self, aid, value) { From 47bace701c63321d92f96621ee056f8c96aab3b3 Mon Sep 17 00:00:00 2001 From: n4n5 Date: Sun, 21 Dec 2025 15:16:44 -0700 Subject: [PATCH 4/4] typo --- crates/usvg/src/parser/svgtree/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/usvg/src/parser/svgtree/mod.rs b/crates/usvg/src/parser/svgtree/mod.rs index f24c45d16..3591fd8f3 100644 --- a/crates/usvg/src/parser/svgtree/mod.rs +++ b/crates/usvg/src/parser/svgtree/mod.rs @@ -282,7 +282,7 @@ impl<'a, 'input: 'a> SvgNode<'a, 'input> { .iter() .find(|a| a.name == aid) .map(|a| a.value.as_str())?; - // These AId have a initial value of none + // These AId have an initial value of none let is_possible_none = matches!( aid, AId::Mask