]> granicus.if.org Git - imagemagick/commitdiff
Further SVG compliance
authorCristy <urban-warrior@imagemagick.org>
Sun, 16 Sep 2018 14:03:38 +0000 (10:03 -0400)
committerCristy <urban-warrior@imagemagick.org>
Sun, 16 Sep 2018 14:03:38 +0000 (10:03 -0400)
MagickCore/draw.c
coders/svg.c

index 630bcd95cea45ab1a6b335e7c46ce93c33825bbb..6e4ee1ab0ea84a60634bef95242ccf460e0efbe0 100644 (file)
@@ -3676,6 +3676,7 @@ static MagickBooleanType RenderMVGContent(Image *image,
         if (LocaleCompare("text",keyword) == 0)
           {
             primitive_type=TextPrimitive;
+            cursor=0.0;
             break;
           }
         if (LocaleCompare("text-align",keyword) == 0)
index 36dc23c7141e21a9dd7a02a97e283c1a48820e76..82c3b4e3d6d75534c3cb576a2e576024eaa781e4 100644 (file)
@@ -2228,9 +2228,11 @@ static void SVGStartElement(void *context,const xmlChar *name,
                         affine.tx=svg_info->bounds.x+x*
                           cos(DegreesToRadians(fmod(angle,360.0)))+y*
                           sin(DegreesToRadians(fmod(angle,360.0)));
-                        affine.ty=svg_info->bounds.y+x*
-                          sin(DegreesToRadians(fmod(angle,360.0)))-y*
+                        affine.ty=svg_info->bounds.y-x*
+                          sin(DegreesToRadians(fmod(angle,360.0)))+y*
                           cos(DegreesToRadians(fmod(angle,360.0)));
+                        affine.tx-=x/2.0;
+                        affine.ty-=y/2.0;
                         break;
                       }
                     break;