Grad-Shaded Visio SVG export displays silhouette-only in inkscape
Visio 2003 has some nice (gradient shaded isometric) computer and network shapes that I'd like to use in inkscape drawings. Visio 2003 does have an SVG export, and that SVG does display perfectly in Adobe acrobat reader. Inkscape (probably due to librsvg) only displays the silhouette of the shape, with solid black as the only visible color.
Here is a simple one, pda.svg, that I thought would be short enough to post to the list. I stripped out the useless "v:" namespace where Visio stores additional information.
Can anyone tell if this is simply a syntax issue, and that Visio's SVG export could be XSLT'd into a form that Inkscape (librsvg) could use? Or is it using svg features that librsvg isn't supporting yet. What about Cairo's xsvg?
I have the png of pda.svg rendered in adobe svg viewer 3.0, if anyone wants a point of reference. Thanks.
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> <!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 pda.svg Page-1 --> <svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="0.524548in" height="1.07484in" viewBox="0 0 37.7675 77.3884" xml:space="preserve" color-interpolation-filters="sRGB" class="st9">
<style type="text/css"> <![CDATA[ .st1 {fill:#dddddd} .st2 {fill:url(#grad36-8);stroke:none;stroke-linecap:round; stroke-linejoin:round;stroke-width:0.72} .st3 {fill:url(#grad26-12);stroke:none; stroke-linecap:round; stroke-linejoin:round;stroke-width:0.72} .st4 {fill:#ffffff;stroke:#ffffff;stroke-linecap:round; stroke-linejoin:round;stroke-width:0.72} .st5 {stroke:#000000; stroke-linecap:round; stroke-linejoin:round;stroke-width:1} .st6 {fill:url(#grad39-21);stroke:#000000;stroke-linecap:round; stroke-linejoin:round;stroke-width:0.72} .st7 {stroke:#ffffff; stroke-linecap:round;stroke-linejoin:round; stroke-width:0.72} .st8 {fill:url(#grad35-31);stroke:#000000;stroke-linecap:round; stroke-linejoin:round;stroke-width:0.72} .st9 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible; stroke-linecap:square;stroke-miterlimit:3} ]]> </style>
<defs id="Patterns_And_Gradients"> <radialGradient id="grad36-8" cx="0" cy="0" r="1"> <stop offset="0" style="stop-color:#ffffff;stop-opacity:1"/> <stop offset="1" style="stop-color:#c0c0c0;stop-opacity:1"/> </radialGradient> <linearGradient id="grad26-12" x1="0" y1="0" x2="1" y2="0"> <stop offset="0" style="stop-color:#969696;stop-opacity:1"/> <stop offset="0.5" style="stop-color:#ffffff;stop-opacity:1"/> <stop offset="1" style="stop-color:#969696;stop-opacity:1"/> </linearGradient> <radialGradient id="grad39-21" cx="1" cy="1" r="1"> <stop offset="0" style="stop-color:#ffffff;stop-opacity:1"/> <stop offset="1" style="stop-color:#c0c0c0;stop-opacity:1"/> </radialGradient> <pattern id="grad35-31" x="0" y="0" width="1" height="1" patternContentUnits="objectBoundingBox"> <path d="M 0.5 0.5 L 0 0 L 0 1 z" style="fill:url(#grad27-32)"/> <path d="M 0.5 0.5 L 1 0 L 1 1 z" style="fill:url(#grad25-33)"/> <path d="M 0.5 0.5 L 0 0 L 1 0 z" style="fill:url(#grad30-34)"/> <path d="M 0.5 0.5 L 0 1 L 1 1 z" style="fill:url(#grad28-35)"/> </pattern> <linearGradient id="grad27-32" x1="1" y1="0" x2="0" y2="0"> <stop offset="0" style="stop-color:#ffffff;stop-opacity:1"/> <stop offset="1" style="stop-color:#c6d1e3;stop-opacity:1"/> </linearGradient> <linearGradient id="grad25-33" x1="0" y1="0" x2="1" y2="0"> <stop offset="0" style="stop-color:#ffffff;stop-opacity:1"/> <stop offset="1" style="stop-color:#c6d1e3;stop-opacity:1"/> </linearGradient> <linearGradient id="grad30-34" x1="0" y1="1" x2="0" y2="0"> <stop offset="0" style="stop-color:#ffffff;stop-opacity:1"/> <stop offset="1" style="stop-color:#c6d1e3;stop-opacity:1"/> </linearGradient> <linearGradient id="grad28-35" x1="0" y1="0" x2="0" y2="1"> <stop offset="0" style="stop-color:#ffffff;stop-opacity:1"/> <stop offset="1" style="stop-color:#c6d1e3;stop-opacity:1"/> </linearGradient> </defs> <g> <title>Page-1</title> <g id="group1-1" transform="translate(1,-22.4)"> <title>PDA</title> <g id="shape2-2" transform="translate(23.04,0)"> <title>Sheet.2</title> <path d="M7.26 77.39 A6.17383 6.13387 -147.42 0 0 10.09 66.05 L4.99 61.8 L0 77.39 L7.26 77.39 Z" class="st1"/> </g> <g id="shape3-5" transform="translate(0,0.994011)"> <title>Sheet.3</title> <path d="M0.01 64.98 A6.92177 6.46609 -173.26 0 0 1.96 68.95 A27.0149 25.2365 -173.65 0 0 18.82 77.39 A23.3148 21.7799 -13.91 0 0 23.04 75.67 L23.04 38.95 A110.542 103.264 -176.97 0 0 -0 25.73 L0.01 64.98 Z" class="st2"/> </g> <g id="shape4-9" transform="translate(23.04,-0.72)"> <title>Sheet.4</title> <path d="M-0 77.39 A9.04877 8.45306 -3.65 0 0 5.76 72.35 L5.76 37.43 A4.19595 3.91972 174.04 0 1 -0 40.67 L0 77.39 Z" class="st3"/> </g> <g id="shape5-13" transform="translate(0,-37.1654)"> <title>Sheet.5</title> <path d="M0 63.89 A110.543 103.266 3.02 0 1 23.04 77.11 A4.19685 3.92056 -5.85 0 0 28.8 73.87 A58.4628 54.614 -177.28 0 0 5.93 60.6 A5.55284 5.18728 -180 0 0 -0 63.89 Z" class="st4"/> </g> <g id="shape6-15" transform="translate(0,-2.78408E-005)"> <title>Sheet.6</title> <path d="M0.01 65.97 A11.1884 10.4518 -180 0 0 1.96 69.95 A25.0318 23.3838 -180 0 0 19.53 77.39 A10.5963 9.89872 -2.06 0 0 28.8 71.63 L28.8 36.71 A58.4348 54.5878 -177.35 0 0 5.9 23.43 A5.6639 5.29102 -0.98 0 0 -0 26.84 L0.01 65.97" class="st5"/> </g> <g id="shape7-18" transform="translate(-29.1787,7.51528) rotate(-30)"> <title>Sheet.7</title> <ellipse cx="3.29831" cy="72.7766" rx="3.29831" ry="4.61179" class="st6"/> </g> <g id="shape8-22" transform="translate(-21.03,4.1047) rotate(-30)"> <title>Sheet.8</title> <ellipse cx="1.36922" cy="75.4621" rx="1.36922" ry="1.92632" class="st6"/> </g> <g id="shape9-25" transform="translate(3.6,-11.52)"> <title>Sheet.9</title> <path d="M15.98 77.39 L0 68.17 L0 44.27" class="st7"/> </g> <g id="shape10-28" transform="translate(3.6,-11.52)"> <title>Sheet.10</title> <path d="M0.72 67.67 L15.98 76.52 L15.98 77.39 L15.98 53.56 L0 44.27 L0.72 44.7 L0.72 67.67 Z" class="st8"/> </g> <g id="shape11-36" transform="translate(-33.9645,-3.4758) rotate(-30)"> <title>Sheet.11</title> <ellipse cx="1.36922" cy="75.4621" rx="1.36922" ry="1.92632" class="st6"/> </g> <g id="shape12-39" transform="translate(-20.7104,-26.3426) rotate(-30)"> <title>Sheet.12</title> <ellipse cx="0.886417" cy="76.1414" rx="0.886417" ry="1.24708" class="st6"/> </g> </g> </g> </svg>
On Mon, 19 Jul 2004, Jeff Kowalczyk wrote:
Visio 2003 has some nice (gradient shaded isometric) computer and network shapes that I'd like to use in inkscape drawings. Visio 2003 does have an SVG export, and that SVG does display perfectly in Adobe acrobat reader. Inkscape (probably due to librsvg) only displays the silhouette of the shape, with solid black as the only visible color.
Can anyone tell if this is simply a syntax issue, and that Visio's SVG export could be XSLT'd into a form that Inkscape (librsvg) could use? Or is it using svg features that librsvg isn't supporting yet. What about Cairo's xsvg?
Looks like it uses CSS style, which Inkscape doesn't support very completely. I don't know of a workaround, but would love to know of one, as I've run into it with output from other tools.
Bryce
We do not yet support <style> CSS specifications, only inline ones using the style= attribute. It's a roadmap task for 0.47, but I wonder if we should move it up?
There are several major pre-requisites to this work, that are scheduled for between now and 0.47 such as adding the libcroco dependency, and two milestone's worth of gutting and rewriting style.*. The milestone to look at is 0.44, as that is the first pre-req for this work.
Bryce
On Mon, 19 Jul 2004, bulia byak wrote:
We do not yet support <style> CSS specifications, only inline ones using the style= attribute. It's a roadmap task for 0.47, but I wonder if we should move it up?
bulia byak wrote:
We do not yet support <style> CSS specifications, only inline ones using the style= attribute.
I'm not up on the spec to know whether all CSS styles have full equivalents in style= format.
Does the example file look like inkscape could handle rendering, were it in the style= format?
I'm not up on the spec to know whether all CSS styles have full equivalents in style= format.
The style= attribute uses the same CSS syntax and semantics, so it's absolutely equivalent.
Does the example file look like inkscape could handle rendering, were it in the style= format?
I haven't tried, but I'm reasonably sure that it does. You can try :)
On Tue, 2004-07-20 at 00:32, bulia byak wrote:
I'm not up on the spec to know whether all CSS styles have full equivalents in style= format.
The style= attribute uses the same CSS syntax and semantics, so it's absolutely equivalent.
The sad part is that, IIRC, according to the SVG spec if we support style= we are supposed to support the rest of CSS also (the other option is to support only XML attributes).
-mental
participants (5)
-
Bryce Harrington
-
bulia byak
-
Jeff Kowalczyk
-
MenTaLguY
-
Nathan Hurst