Commit bcbda2647 for imagemagick.org
commit bcbda264771aa3271a832d763fd5fc31054c4b01
Author: Cristy <urban-warrior@imagemagick.org>
Date: Sat May 9 13:48:44 2026 -0400
stroke-antialiasing is not a valid SVG element
diff --git a/MagickCore/property.c b/MagickCore/property.c
index 2c12fb68b..96e2574c7 100644
--- a/MagickCore/property.c
+++ b/MagickCore/property.c
@@ -2185,7 +2185,7 @@ static char *TraceSVGClippath(const unsigned char *blob,size_t length,
" width=\"%.20g\" height=\"%.20g\">\n"
"<g>\n"
"<path fill-rule=\"evenodd\" style=\"fill:#000000;stroke:#000000;"
- "stroke-width:0;stroke-antialiasing:false\" d=\"\n"),(double) columns,
+ "stroke-width:0;shape-rendering:crispEdges\" d=\"\n"),(double) columns,
(double) rows);
(void) ConcatenateString(&path,message);
(void) memset(point,0,sizeof(point));
diff --git a/coders/svg.c b/coders/svg.c
index 85212b8af..586ef8ed8 100644
--- a/coders/svg.c
+++ b/coders/svg.c
@@ -1123,6 +1123,12 @@ static void SVGProcessStyleElement(SVGInfo *svg_info,const xmlChar *name,
case 'S':
case 's':
{
+ if (LocaleCompare(keyword,"shape-rendering") == 0)
+ {
+ (void) FormatLocaleFile(svg_info->file,"stroke-antialias %d\n",
+ LocaleCompare(value,"crispEdges") == 0);
+ break;
+ }
if (LocaleCompare(keyword,"stop-color") == 0)
{
(void) CloneString(&svg_info->stop_color,value);
@@ -1142,12 +1148,6 @@ static void SVGProcessStyleElement(SVGInfo *svg_info,const xmlChar *name,
"stroke \"%s\"\n",value);
break;
}
- if (LocaleCompare(keyword,"stroke-antialiasing") == 0)
- {
- (void) FormatLocaleFile(svg_info->file,"stroke-antialias %d\n",
- LocaleCompare(value,"true") == 0);
- break;
- }
if (LocaleCompare(keyword,"stroke-dasharray") == 0)
{
(void) FormatLocaleFile(svg_info->file,"stroke-dasharray %s\n",
@@ -2162,6 +2162,12 @@ static void SVGStartElement(void *context,const xmlChar *name,
case 'S':
case 's':
{
+ if (LocaleCompare(keyword,"shape-rendering") == 0)
+ {
+ (void) FormatLocaleFile(svg_info->file,"stroke-antialias %d\n",
+ LocaleCompare(value,"crispEdges") == 0);
+ break;
+ }
if (LocaleCompare(keyword,"stop-color") == 0)
{
(void) CloneString(&svg_info->stop_color,value);
@@ -2178,12 +2184,6 @@ static void SVGStartElement(void *context,const xmlChar *name,
(void) FormatLocaleFile(svg_info->file,"stroke \"%s\"\n",value);
break;
}
- if (LocaleCompare(keyword,"stroke-antialiasing") == 0)
- {
- (void) FormatLocaleFile(svg_info->file,"stroke-antialias %d\n",
- LocaleCompare(value,"true") == 0);
- break;
- }
if (LocaleCompare(keyword,"stroke-dasharray") == 0)
{
(void) FormatLocaleFile(svg_info->file,"stroke-dasharray %s\n",