summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--share/extensions/xaml2svg.xsl8
-rw-r--r--share/extensions/xaml2svg/properties.xsl7
-rw-r--r--share/extensions/xaml2svg/shapes.xsl12
3 files changed, 24 insertions, 3 deletions
diff --git a/share/extensions/xaml2svg.xsl b/share/extensions/xaml2svg.xsl
index b0e7925f1..c5f1cfd75 100644
--- a/share/extensions/xaml2svg.xsl
+++ b/share/extensions/xaml2svg.xsl
@@ -20,6 +20,12 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
+
+Version history:
+
+20070907 Initial release
+20070912 Removed NaN as viewBox values
+
-->
<xsl:stylesheet version="1.0"
@@ -42,7 +48,7 @@ xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<svg>
<xsl:attribute name="overflow">visible</xsl:attribute>
<xsl:variable name="viewBox"><xsl:apply-templates mode="boundingbox" /></xsl:variable>
- <xsl:if test="system-property('xsl:vendor') = 'Microsoft'">
+ <xsl:if test="system-property('xsl:vendor') = 'Microsoft' and (msxsl:node-set($viewBox)/boundingbox/@x1 != '') and (msxsl:node-set($viewBox)/boundingbox/@x2 != '') and (msxsl:node-set($viewBox)/boundingbox/@y1 != '') and (msxsl:node-set($viewBox)/boundingbox/@y2 != '')">
<xsl:attribute name="viewBox">
<xsl:value-of select="concat(msxsl:node-set($viewBox)/boundingbox/@x1, ' ')" />
<xsl:value-of select="concat(msxsl:node-set($viewBox)/boundingbox/@y1, ' ')" />
diff --git a/share/extensions/xaml2svg/properties.xsl b/share/extensions/xaml2svg/properties.xsl
index e00011549..dcb6111bd 100644
--- a/share/extensions/xaml2svg/properties.xsl
+++ b/share/extensions/xaml2svg/properties.xsl
@@ -20,6 +20,12 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
+
+Version history:
+
+20070907 Initial release
+20070912 TemplateBinding in template_color
+
-->
<xsl:stylesheet version="1.0"
@@ -129,6 +135,7 @@ xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<xsl:value-of select="concat('#', substring($colorspec, string-length($colorspec) - 5, 3))" />
</xsl:when>
<xsl:when test="contains($colorspec, '{StaticResource ')"><xsl:value-of select="concat('url(#', substring-before(substring-after($colorspec, '{StaticResource '), '}'), ')')" /></xsl:when>
+ <xsl:when test="contains($colorspec, '{TemplateBinding ')"><xsl:value-of select="concat('url(#', substring-before(substring-after($colorspec, '{TemplateBinding '), '}'), ')')" /></xsl:when>
<xsl:otherwise><xsl:value-of select="$colorspec" /></xsl:otherwise>
</xsl:choose>
</xsl:template>
diff --git a/share/extensions/xaml2svg/shapes.xsl b/share/extensions/xaml2svg/shapes.xsl
index 45510e33f..db300154e 100644
--- a/share/extensions/xaml2svg/shapes.xsl
+++ b/share/extensions/xaml2svg/shapes.xsl
@@ -20,6 +20,13 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
+
+Version history:
+
+20070907 Initial release
+20070912 starts-with(@Data, 'F0 ') to strip of F0 from path data
+20070912 nonzero and evenodd were outside xsl:attribute (reported by bulia byak and Ted Gould)
+
-->
<xsl:stylesheet version="1.0"
@@ -36,14 +43,15 @@ exclude-result-prefixes="def">
<xsl:if test="@Data">
<xsl:attribute name="d">
<xsl:choose>
+ <xsl:when test="starts-with(@Data, 'F0 ')"><xsl:value-of select="substring-after(@Data, 'F0 ')" /></xsl:when>
<xsl:when test="starts-with(@Data, 'F1 ')"><xsl:value-of select="substring-after(@Data, 'F1 ')" /></xsl:when>
<xsl:otherwise><xsl:value-of select="@Data" /></xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:if>
<xsl:choose>
- <xsl:when test="@FillRule = 'nonzero' or starts-with(@Data, 'F1 ')"><xsl:attribute name="fill-rule"></xsl:attribute>nonzero</xsl:when>
- <xsl:when test="@FillRule = 'evenodd' or starts-with(@Data, 'F0 ')"><xsl:attribute name="fill-rule"></xsl:attribute>evenodd</xsl:when>
+ <xsl:when test="@FillRule = 'nonzero' or starts-with(@Data, 'F1 ')"><xsl:attribute name="fill-rule">nonzero</xsl:attribute></xsl:when>
+ <xsl:when test="@FillRule = 'evenodd' or starts-with(@Data, 'F0 ')"><xsl:attribute name="fill-rule">evenodd</xsl:attribute></xsl:when>
</xsl:choose>
<xsl:call-template name="template_properties" />
<xsl:call-template name="template_transform" />