<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.synfig.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ferguweb</id>
		<title>Synfig Studio :: Documentation - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.synfig.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ferguweb"/>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/Special:Contributions/Ferguweb"/>
		<updated>2026-04-10T15:46:36Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.26.3</generator>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Doc:Overview/es&amp;diff=12682</id>
		<title>Doc:Overview/es</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Doc:Overview/es&amp;diff=12682"/>
				<updated>2010-06-12T01:07:01Z</updated>
		
		<summary type="html">&lt;p&gt;Ferguweb: Created page with '&amp;lt;!-- Page info --&amp;gt; {{Title|Introducción}} {{Navigation|Category:Manual|Doc:Getting Started}} Category:Manual Category:Unverified &amp;lt;!-- Page info end --&amp;gt; Synfig Studio es …'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Page info --&amp;gt;&lt;br /&gt;
{{Title|Introducción}}&lt;br /&gt;
{{Navigation|Category:Manual|Doc:Getting Started}}&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Unverified]]&lt;br /&gt;
&amp;lt;!-- Page info end --&amp;gt;&lt;br /&gt;
Synfig Studio es un programa de animación vectorial en 2D de código abierto. Está diseñado para producir animaciones con calidad cinematográfica con pocas personas y recursos.&lt;br /&gt;
&lt;br /&gt;
Según [http://en.wikipedia.org/w/index.php?title=Animation&amp;amp;oldid=358878912 Wikipedia], la animación es la exhibición rápida de una secuencia de imágenes para crear una ilusión de movimiento. Tradicionalmente, la animación 2D se creaba dibujando individualmente cada imagen mostrada. Dichas imágenes se denominan &amp;quot;fotogramas&amp;quot; y este método se llama &amp;quot;animación fotograma a fotograma&amp;quot;. Para crear una buena ilusión de movimiento se necesita dibujar muchos fotogramas, es por ello que este método requiere mucho tiempo y recursos.&lt;br /&gt;
&amp;lt;!-- TODO: Insert illustration of frame-by-frame animation here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Synfig Studio está diseñado para eliminar la necesidad de dibujar cada fotograma de forma individual. Existen dos técnicas para lograr esto:&lt;br /&gt;
* Animación por transformación (Morphing)&lt;br /&gt;
* Animación por cortes (Cutout animation)&lt;br /&gt;
&lt;br /&gt;
'''Morphing''' es una técnica que toma dos imágenes y crea una suave transición entre ellas. En el proceso de transición una forma se deforma hacia la otra y esta deformación se controla mediante puntos de control. En Synfig Studio las imágenes construidas a partir de formas vectoriales y la transformación se realizan de forma automática. Esto permite crear la animación dibujando únicamente posiciones clave a intervalos de tiempo relativamente amplios. Los artistas pueden dibujar tantos fotogramas como necesiten para crear una sensación de movimiento básica para la escena y Synfig Studio se encarga de crear los fotogramas de enmedio.&lt;br /&gt;
&amp;lt;!-- TODO: Insert illustration of morphing animation here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cutout animation''' se crea dividiendo los objetos en partes y aplicandoles alguna transformación sencilla (como translación, rotación o escalado) en diferentes momentos del tiempo. Synfig Studio usa estos valores para interpolar el movimiento para los fotogramas de enmedio. La animación por corte se puede producir a partir de imágenes bitmap o de gráficos vectoriales.&lt;br /&gt;
&amp;lt;!-- TODO: Insert illustration of cutout animation here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En ambos casos, el papel de Synfig Studio es rellenar los huecos entre fotogramas dibujados (también llamados &amp;quot;fotogramas clave&amp;quot;) para producir una animación suave y fluida. Este proceso se denomina &amp;quot;intermediación&amp;quot; (&amp;quot;tweening&amp;quot;). Pero la intermediación no es la única ventaja de Synfig Studio.&lt;br /&gt;
&lt;br /&gt;
Aunque Synfig Studio no está directamente pensado para dibujar animaciones fotograma a fotograma, puede ser usado para llevar sus animaciones fotograma a fotograma dibujadas a mano al nivel de calidad cinematográfica. Esto se consigue convirtiendo la información de mapas de bits de cada fotograma a formato vectorial. Este proceso se denomina &amp;quot;trazado&amp;quot; (&amp;quot;tracing&amp;quot;). Existen infinidad de efectos integrados en Synfig Studio que le permitirán lograr unas animaciones de aspecto profesional.&lt;br /&gt;
&amp;lt;!-- TODO: Illustration - bitmap image and same image traced in Synfig Studio --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tanto si realiza animaciones fotograma a fotograma como si no, Synfig Studio puede proporcionarle control flexible sobre la información repetitiva, como colores, características de los contornos, texturas, imágenes y mucho más -incluso las trayectorias de animación y sus conjuntos (acciones). La reutilización de información repetitiva se logra mediante el enlazado. Esta potencia de Synfig Studio es especialmente importante para grandes proyectos de animación.&lt;br /&gt;
&lt;br /&gt;
No sólo puede enlazar elementos de información artística, sino también definir relaciones entre ellos utilizando un conjunto de funciones. Esto permite crear animaciones automáticas basadas en unas leyes definidas, llevando el proceso entero de animación a un nuevo nivel.&lt;br /&gt;
&amp;lt;!-- TODO: Example illustration of parabolic shot --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TODO: Write a few lines here that Synfig can be used to produce simple animations too --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para coronarlo todo, Synfig Studio es un software potente dirigido a la creación de animaciones de cualquier complejidad.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Category:Manual|Doc:Getting Started}}&lt;/div&gt;</summary>
		<author><name>Ferguweb</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Doc:Svg2synfig/es&amp;diff=12656</id>
		<title>Doc:Svg2synfig/es</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Doc:Svg2synfig/es&amp;diff=12656"/>
				<updated>2010-06-09T00:18:13Z</updated>
		
		<summary type="html">&lt;p&gt;Ferguweb: Created page with '== Opción 1 == Esta opción utiliza una hoja de estilo XSLT 2.0 para transformar el XML de SVG a XML de Synfig. === Objetivo === Convertir una imagen SVG en un archivo Synfig pa…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Opción 1 ==&lt;br /&gt;
Esta opción utiliza una hoja de estilo XSLT 2.0 para transformar el XML de SVG a XML de Synfig.&lt;br /&gt;
=== Objetivo ===&lt;br /&gt;
Convertir una imagen SVG en un archivo Synfig para importarlo. Publicado por primera vez en el foro: http://synfig.org/forums/viewtopic.php?t=30&lt;br /&gt;
=== Prerrequisitos ===&lt;br /&gt;
# Asegúrese de tener instalado un entorno de ejecución Java (JRE).&lt;br /&gt;
# Obtenga una versión reciente del procesador de XSLT SAXON para Java de http://saxon.sourceforge.net/. Versión recomendada: Saxon-SA 9.0 (saxonsa9-0-0-2j.zip).&lt;br /&gt;
# Extraiga el paquete SAXON a una carpeta de su elección. Como ejemplo vamos a utilizar d:\saxon en lo sucesivo. La carpeta contendrá varios archivos JAR.&lt;br /&gt;
# Cree el archivo d:\saxon\svg2synfig.xsl con el contenido proporcionado al final de este documento ({{l|#svg2synfig.xsl}}).&lt;br /&gt;
==== Prerrequisitos opcionales para Windows ====&lt;br /&gt;
Si no desea utilizar la línea de comandos, cree un archivo de procesamiento por lotes d:\saxon\svg2synfig.bat con este contenido:&lt;br /&gt;
 @java -jar %0\..\saxon9.jar -xsl:%0\..\svg2synfig.xsl %1 &amp;gt; %0\..\synfig.sif&lt;br /&gt;
 @pause&lt;br /&gt;
=== Transformación de un SVG en un archivo Synfig ===&lt;br /&gt;
==== Archivo de proceso por lotes de Windows ====&lt;br /&gt;
# Simplemente suelte el archivo SVG sobre svg2synfig.bat.&lt;br /&gt;
==== Línea de comandos ====&lt;br /&gt;
# Cambie el directorio a d:\saxon.&lt;br /&gt;
# Introduzca el siguiente comando (sustituya your_input.svg por la ruta a su archivo SVG):&lt;br /&gt;
 java -jar saxon9.jar -xsl:svg2synfig.xsl your_input.svg &amp;gt; synfig.sif&lt;br /&gt;
=== Resultado ===&lt;br /&gt;
Si la conversión ha tenido éxito, el resultado se escribirá en el archivo d:\saxon\synfig.sif.&lt;br /&gt;
Puede abrir este archivo en Synfig.&lt;br /&gt;
=== Limitaciones ===&lt;br /&gt;
* No parece funcionar con SaxonB (la versión FOSS)&lt;br /&gt;
* Los SVG comprimidos (svgz) deben ser descomprimidos primero.&lt;br /&gt;
* Únicamente los trayectos de objetos SVG están soportados. Intente convertir todos los objetos a trayectos.&lt;br /&gt;
* Sólo un subconjunto de elementos de trayecto está soportado. Intente modificar todos los nodos de trayecto de forma que tengan tangentes divididas, y todos los segmentos de trayecto sean curvas.&lt;br /&gt;
* El coloreado sofisticado (gradientes, por ejemplo) no está soportado.&lt;br /&gt;
* Sólo las transformaciones básicas están soportadas.&lt;br /&gt;
* Relleno y contorno en el mismo objeto no está soportado.&lt;br /&gt;
=== svg2synfig.xsl ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;2.0&amp;quot; exclude-result-prefixes=&amp;quot;#all&amp;quot;&lt;br /&gt;
		xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&lt;br /&gt;
		xmlns:svg=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&lt;br /&gt;
		xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
		xmlns:math=&amp;quot;http://exslt.org/math&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xsl:output method=&amp;quot;xml&amp;quot; indent=&amp;quot;yes&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:apply-templates/&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;svg:svg&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;width&amp;quot; select=&amp;quot;math:units_to_px(@width)&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;height&amp;quot; select=&amp;quot;math:units_to_px(@height)&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;has_view_box&amp;quot; select=&amp;quot;matches(@viewBox, '(\d+\s){3}\d+')&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;canvas version=&amp;quot;0.2&amp;quot; id=&amp;quot;{@id}&amp;quot;&lt;br /&gt;
				width=&amp;quot;{if ($has_view_box) then replace(@viewBox, '(\d+)\s(\d+)\s(\d+)\s(\d+)', '$3') else $width}&amp;quot;&lt;br /&gt;
				height=&amp;quot;{if ($has_view_box) then replace(@viewBox, '(\d+)\s(\d+)\s(\d+)\s(\d+)', '$4') else $height}&amp;quot;&lt;br /&gt;
				view-box=&amp;quot;{if ($has_view_box) then @viewBox else concat('0 0 ', $width, ' ', $height)}&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:apply-templates select=&amp;quot;svg:g|svg:svg|svg:path&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;/canvas&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;svg:g&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;layer type=&amp;quot;PasteCanvas&amp;quot; active=&amp;quot;true&amp;quot; version=&amp;quot;0.1&amp;quot; desc=&amp;quot;{@id}&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;param name=&amp;quot;canvas&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;canvas&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:apply-templates/&amp;gt;&lt;br /&gt;
				&amp;lt;/canvas&amp;gt;&lt;br /&gt;
			&amp;lt;/param&amp;gt;&lt;br /&gt;
		&amp;lt;/layer&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;xsl:template match=&amp;quot;svg:path&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;style&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:for-each select=&amp;quot;ancestor-or-self::*&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:sort select=&amp;quot;position()&amp;quot; data-type=&amp;quot;number&amp;quot; order=&amp;quot;descending&amp;quot;/&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:value-of select=&amp;quot;concat(@style, ';fill:', @fill, ';stroke:', @stroke, ';stroke-width:', @stroke-width, ';')&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;self&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;is_fill&amp;quot; select=&amp;quot;not(matches(replace($style, 'fill:[^n;][^o].*', ''), 'fill:none'))&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:analyze-string select=&amp;quot;@d&amp;quot; regex=&amp;quot;m[^z]+(z|$)&amp;quot; flags=&amp;quot;i&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:matching-substring&amp;gt;&lt;br /&gt;
				&amp;lt;layer type=&amp;quot;{if ($is_fill) then 'region' else 'outline'}&amp;quot; version=&amp;quot;0.1&amp;quot; desc=&amp;quot;{$self/@id}&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:call-template name=&amp;quot;style-to-color&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:with-param name=&amp;quot;style&amp;quot; select=&amp;quot;replace(replace($style, ':none.*', ''), if ($is_fill) then '.*fill:([^;]+).*' else '.*stroke:([^;]+).*', '$1')&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/xsl:call-template&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:if test=&amp;quot;not ($is_fill)&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:call-template name=&amp;quot;style-to-width&amp;quot;&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:with-param name=&amp;quot;style&amp;quot; select=&amp;quot;replace($style, '.*stroke-width:([^;]+).*', '$1')&amp;quot;/&amp;gt;&lt;br /&gt;
						&amp;lt;/xsl:call-template&amp;gt;&lt;br /&gt;
					&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
					&amp;lt;param name=&amp;quot;bline&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;bline type=&amp;quot;bline_point&amp;quot; loop=&amp;quot;{matches(., 'z', 'i')}&amp;quot;&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:call-template name=&amp;quot;path-to-bline&amp;quot;&amp;gt;&lt;br /&gt;
								&amp;lt;xsl:with-param name=&amp;quot;path&amp;quot; select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
								&amp;lt;xsl:with-param name=&amp;quot;node&amp;quot; select=&amp;quot;$self&amp;quot; tunnel=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
							&amp;lt;/xsl:call-template&amp;gt;&lt;br /&gt;
						&amp;lt;/bline&amp;gt;&lt;br /&gt;
					&amp;lt;/param&amp;gt;&lt;br /&gt;
				&amp;lt;/layer&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:matching-substring&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:analyze-string&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;xsl:template name=&amp;quot;path-to-bline&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;path&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;stripped&amp;quot; select=&amp;quot;replace(replace(translate($path, ',', ' '), '(\d)-', '$1 -'), '\s*([a-z]+)\s*', '$1', 'i')&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;closed&amp;quot; select=&amp;quot;if (matches($stripped, 'z', 'i')) then $stripped else replace($stripped, 'm([-\d.]+\s[-\d.]+).*$', '$0l$1z', 'i')&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;tmp&amp;quot; select=&amp;quot;replace($closed, '([-\d.]+\s[-\d.]+)l([-\d.]+\s[-\d.]+)', '$1c$1 $2 $2', 'i')&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;curve&amp;quot; select=&amp;quot;replace($tmp, '([-\d.]+\s[-\d.]+)l([-\d.]+\s[-\d.]+)', '$1c$1 $2 $2', 'i')&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:analyze-string select=&amp;quot;$curve&amp;quot; regex=&amp;quot;\s([-\d.]+\s[-\d.]+)\s[-\d.]+\s[-\d.]+z&amp;quot; flags=&amp;quot;i&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:matching-substring&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:analyze-string select=&amp;quot;concat(regex-group(1), $curve)&amp;quot; regex=&amp;quot;([-\d.]+)\s([-\d.]+)[m\s]([-\d.]+)\s([-\d.]+)c([-\d.]+)\s([-\d.]+)&amp;quot; flags=&amp;quot;i&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:matching-substring&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:call-template name=&amp;quot;node-to-bline-point&amp;quot;&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:with-param name=&amp;quot;c1_x&amp;quot; select=&amp;quot;regex-group(1)&amp;quot;/&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:with-param name=&amp;quot;c1_y&amp;quot; select=&amp;quot;regex-group(2)&amp;quot;/&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:with-param name=&amp;quot;x&amp;quot; select=&amp;quot;regex-group(3)&amp;quot;/&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:with-param name=&amp;quot;y&amp;quot; select=&amp;quot;regex-group(4)&amp;quot;/&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:with-param name=&amp;quot;c2_x&amp;quot; select=&amp;quot;regex-group(5)&amp;quot;/&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:with-param name=&amp;quot;c2_y&amp;quot; select=&amp;quot;regex-group(6)&amp;quot;/&amp;gt;&lt;br /&gt;
						&amp;lt;/xsl:call-template&amp;gt;&lt;br /&gt;
					&amp;lt;/xsl:matching-substring&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:analyze-string&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:matching-substring&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:analyze-string&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;xsl:template name=&amp;quot;node-to-bline-point&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;x&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;y&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;c1_x&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;c1_y&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;c2_x&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;c2_y&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;node&amp;quot; tunnel=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;transform&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:for-each select=&amp;quot;$node/ancestor-or-self::*/@transform&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;t&amp;quot; select=&amp;quot;math:resolve_transform($transform)&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;transformed_x&amp;quot; select=&amp;quot;$t[5] + $t[1] * xs:float($x) + $t[3] * xs:float($y)&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;transformed_y&amp;quot; select=&amp;quot;$t[6] + $t[2] * xs:float($x) + $t[4] * xs:float($y)&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;transformed_c1_x&amp;quot; select=&amp;quot;$t[5] + $t[1] * xs:float($c1_x) + $t[3] * xs:float($c1_y)&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;transformed_c1_y&amp;quot; select=&amp;quot;$t[6]+ $t[2] * xs:float($c1_x) + $t[4] * xs:float($c1_y)&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;transformed_c2_x&amp;quot; select=&amp;quot;$t[5] + $t[1] * xs:float($c2_x) + $t[3] * xs:float($c2_y)&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;transformed_c2_y&amp;quot; select=&amp;quot;$t[6]+ $t[2] * xs:float($c2_x) + $t[4] * xs:float($c2_y)&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;entry&amp;gt;&lt;br /&gt;
			&amp;lt;composite type=&amp;quot;bline_point&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;point&amp;gt;&lt;br /&gt;
					&amp;lt;vector&amp;gt;&lt;br /&gt;
						&amp;lt;x&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;$transformed_x&amp;quot;/&amp;gt;&amp;lt;/x&amp;gt;&lt;br /&gt;
						&amp;lt;y&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;$transformed_y&amp;quot;/&amp;gt;&amp;lt;/y&amp;gt;&lt;br /&gt;
					&amp;lt;/vector&amp;gt;&lt;br /&gt;
				&amp;lt;/point&amp;gt;&lt;br /&gt;
				&amp;lt;width&amp;gt;&lt;br /&gt;
					&amp;lt;real value=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
				&amp;lt;/width&amp;gt;&lt;br /&gt;
				&amp;lt;origin&amp;gt;&lt;br /&gt;
					&amp;lt;real value=&amp;quot;0.5&amp;quot;/&amp;gt;&lt;br /&gt;
				&amp;lt;/origin&amp;gt;&lt;br /&gt;
				&amp;lt;split&amp;gt;&lt;br /&gt;
					&amp;lt;bool value=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
				&amp;lt;/split&amp;gt;&lt;br /&gt;
				&amp;lt;t1&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:call-template name=&amp;quot;vector-pair-to-radial&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:with-param name=&amp;quot;origin-x&amp;quot; select=&amp;quot;$transformed_c1_x&amp;quot;/&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:with-param name=&amp;quot;origin-y&amp;quot; select=&amp;quot;$transformed_c1_y&amp;quot;/&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:with-param name=&amp;quot;x&amp;quot; select=&amp;quot;$transformed_x&amp;quot;/&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:with-param name=&amp;quot;y&amp;quot; select=&amp;quot;$transformed_y&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/xsl:call-template&amp;gt;&lt;br /&gt;
				&amp;lt;/t1&amp;gt;&lt;br /&gt;
				&amp;lt;t2&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:call-template name=&amp;quot;vector-pair-to-radial&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:with-param name=&amp;quot;origin-x&amp;quot; select=&amp;quot;$transformed_x&amp;quot;/&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:with-param name=&amp;quot;origin-y&amp;quot; select=&amp;quot;$transformed_y&amp;quot;/&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:with-param name=&amp;quot;x&amp;quot; select=&amp;quot;$transformed_c2_x&amp;quot;/&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:with-param name=&amp;quot;y&amp;quot; select=&amp;quot;$transformed_c2_y&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/xsl:call-template&amp;gt;&lt;br /&gt;
				&amp;lt;/t2&amp;gt;&lt;br /&gt;
			&amp;lt;/composite&amp;gt;&lt;br /&gt;
		&amp;lt;/entry&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;xsl:template name=&amp;quot;vector-pair-to-radial&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;x&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;y&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;origin-x&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;origin-y&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;dx&amp;quot; select=&amp;quot;xs:float($x) - xs:float($origin-x)&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;dy&amp;quot; select=&amp;quot;xs:float($y) - xs:float($origin-y)&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;d&amp;quot; select=&amp;quot;math:sqrt($dx * $dx + $dy * $dy)&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:variable name=&amp;quot;angle&amp;quot; select=&amp;quot;math:atan2($dy, $dx)&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;radial_composite type=&amp;quot;vector&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;radius&amp;gt;&lt;br /&gt;
				&amp;lt;real value=&amp;quot;{$d * 3}&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;/radius&amp;gt;&lt;br /&gt;
			&amp;lt;theta&amp;gt;&lt;br /&gt;
				&amp;lt;angle value=&amp;quot;{$angle * 57.295779513082320876798154814105}&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;/theta&amp;gt;&lt;br /&gt;
		&amp;lt;/radial_composite&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;xsl:template name=&amp;quot;style-to-width&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;style&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:if test=&amp;quot;matches($style, '^\d')&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;param name=&amp;quot;width&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;real value=&amp;quot;{math:units_to_px($style)}&amp;quot;/&amp;gt;&lt;br /&gt;
			 &amp;lt;/param&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;xsl:template name=&amp;quot;style-to-color&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;style&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:if test=&amp;quot;matches($style, '#')&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:analyze-string select=&amp;quot;concat($style, ';')&amp;quot; regex=&amp;quot;#([\da-f]{{2}})([\da-f]{{2}})([\da-f]{{2}});&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:matching-substring&amp;gt;&lt;br /&gt;
					&amp;lt;param name=&amp;quot;color&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;color&amp;gt;&lt;br /&gt;
							&amp;lt;r&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;math:hex_to_color(regex-group(1))&amp;quot;/&amp;gt;&amp;lt;/r&amp;gt;&lt;br /&gt;
							&amp;lt;g&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;math:hex_to_color(regex-group(2))&amp;quot;/&amp;gt;&amp;lt;/g&amp;gt;&lt;br /&gt;
							&amp;lt;b&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;math:hex_to_color(regex-group(3))&amp;quot;/&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
							&amp;lt;a&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;if (matches($style, 'fill-opacity:')) then math:power(xs:float(replace($style, '.*fill-opacity:([-\d.]+).*', '$1')), 1 div 2.2) else 1&amp;quot;/&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
						&amp;lt;/color&amp;gt;&lt;br /&gt;
					&amp;lt;/param&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:matching-substring&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:analyze-string&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:if test=&amp;quot;matches($style, 'rgb')&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:analyze-string select=&amp;quot;concat($style, ';')&amp;quot; regex=&amp;quot;rgb[(\s]+([-\d.]+)[,\s]+([-\d.]+)[,\s]+([-\d.]+)[\s)]+;&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:matching-substring&amp;gt;&lt;br /&gt;
					&amp;lt;param name=&amp;quot;color&amp;quot;&amp;gt;&lt;br /&gt;
						&amp;lt;color&amp;gt;&lt;br /&gt;
							&amp;lt;r&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;math:power(xs:float(regex-group(1)) div 255, 2.2)&amp;quot;/&amp;gt;&amp;lt;/r&amp;gt;&lt;br /&gt;
							&amp;lt;g&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;math:power(xs:float(regex-group(2)) div 255, 2.2)&amp;quot;/&amp;gt;&amp;lt;/g&amp;gt;&lt;br /&gt;
							&amp;lt;b&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;math:power(xs:float(regex-group(3)) div 255, 2.2)&amp;quot;/&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
							&amp;lt;a&amp;gt;1&amp;lt;/a&amp;gt;&lt;br /&gt;
						&amp;lt;/color&amp;gt;&lt;br /&gt;
					&amp;lt;/param&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:matching-substring&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:analyze-string&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:if test=&amp;quot;matches($style, 'url')&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;param name=&amp;quot;color&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;color&amp;gt;&amp;lt;r&amp;gt;0.5&amp;lt;/r&amp;gt;&amp;lt;g&amp;gt;0.5&amp;lt;/g&amp;gt;&amp;lt;b&amp;gt;0.5&amp;lt;/b&amp;gt;&amp;lt;a&amp;gt;0.5&amp;lt;/a&amp;gt;	&amp;lt;/color&amp;gt;&lt;br /&gt;
			&amp;lt;/param&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;xsl:function name=&amp;quot;math:resolve_transform&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;transform&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:variable name=&amp;quot;stripped&amp;quot; select=&amp;quot;replace(replace($transform, 'translate\(', 'X(1,0,0,1,'), 'matrix', 'X')&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:analyze-string select=&amp;quot;concat('X(1,0,0,1,0,0)', $stripped)&amp;quot; regex=&amp;quot;(.*)X\((-?[\d.]+),(-?[\d.]+),(-?[\d.]+),(-?[\d.]+),(-?[\d.]+),(-?[\d.]+)\)[^X]*X\((-?[\d.]+),(-?[\d.]+),(-?[\d.]+),(-?[\d.]+),(-?[\d.]+),(-?[\d.]+)\).*&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:non-matching-substring&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:sequence select=&amp;quot;(1,0,0,1,0,0)&amp;quot;/&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:non-matching-substring&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:matching-substring&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:variable name=&amp;quot;a2&amp;quot; select=&amp;quot;xs:float(regex-group(8))&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:variable name=&amp;quot;b2&amp;quot; select=&amp;quot;xs:float(regex-group(9))&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:variable name=&amp;quot;c2&amp;quot; select=&amp;quot;xs:float(regex-group(10))&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:variable name=&amp;quot;d2&amp;quot; select=&amp;quot;xs:float(regex-group(11))&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:variable name=&amp;quot;e2&amp;quot; select=&amp;quot;xs:float(regex-group(12))&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:variable name=&amp;quot;f2&amp;quot; select=&amp;quot;xs:float(regex-group(13))&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:variable name=&amp;quot;a1&amp;quot; select=&amp;quot;xs:float(regex-group(2))&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:variable name=&amp;quot;b1&amp;quot; select=&amp;quot;xs:float(regex-group(3))&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:variable name=&amp;quot;c1&amp;quot; select=&amp;quot;xs:float(regex-group(4))&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:variable name=&amp;quot;d1&amp;quot; select=&amp;quot;xs:float(regex-group(5))&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:variable name=&amp;quot;e1&amp;quot; select=&amp;quot;xs:float(regex-group(6))&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:variable name=&amp;quot;f1&amp;quot; select=&amp;quot;xs:float(regex-group(7))&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:variable name=&amp;quot;p&amp;quot; select=&amp;quot;($a1*$a2+$c1*$b2,$b1*$a2+$d1*$b2,$a1*$c2+$c1*$d2,$b1*$c2+$d1*$d2,$a1*$e2+$c1*$f2+$e1,$b1*$e2+$d1*$f2+$f1)&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:variable name=&amp;quot;remainder&amp;quot; select=&amp;quot;replace(regex-group(1), 'X\(1,0,0,1,0,0\)', '')&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:when test=&amp;quot;matches($remainder, 'X')&amp;quot;&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:variable name=&amp;quot;recursion&amp;quot; select=&amp;quot;concat($remainder, 'X(', $p[1], ',', $p[2], ',', $p[3], ',', $p[4], ',', $p[5], ',', $p[6], ')')&amp;quot;/&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:sequence select=&amp;quot;math:resolve_transform($recursion)&amp;quot;/&amp;gt;&lt;br /&gt;
						&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
							&amp;lt;xsl:sequence select=&amp;quot;$p&amp;quot;/&amp;gt;&lt;br /&gt;
						&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
					&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:matching-substring&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:analyze-string&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:function&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;xsl:function name=&amp;quot;math:hex_to_color&amp;quot; as=&amp;quot;xs:float&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;hex&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:value-of select=&amp;quot;math:power(xs:float(string-length(substring-before('0123456789abcdef', substring($hex,1,1))) * 16 + string-length(substring-before('0123456789abcdef', substring($hex,2,1)))) div 255, 2.2)&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:function&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;xsl:function name=&amp;quot;math:units_to_px&amp;quot; as=&amp;quot;xs:float&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:param name=&amp;quot;size&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xsl:analyze-string select=&amp;quot;$size&amp;quot; regex=&amp;quot;^([-\d.]+)([a-z%]*)$&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;xsl:matching-substring&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:variable name=&amp;quot;factor&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:when test=&amp;quot;regex-group(2) = 'pt'&amp;quot;&amp;gt;1.25&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:when test=&amp;quot;regex-group(2) = 'em'&amp;quot;&amp;gt;16&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:when test=&amp;quot;regex-group(2) = 'mm'&amp;quot;&amp;gt;3.54&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:when test=&amp;quot;regex-group(2) = 'pc'&amp;quot;&amp;gt;15&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:when test=&amp;quot;regex-group(2) = 'cm'&amp;quot;&amp;gt;35.43&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:when test=&amp;quot;regex-group(2) = 'in'&amp;quot;&amp;gt;90&amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
						&amp;lt;xsl:otherwise&amp;gt;1&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
					&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:value-of select=&amp;quot;xs:float($factor) * xs:float(regex-group(1))&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;/xsl:matching-substring&amp;gt;&lt;br /&gt;
		&amp;lt;/xsl:analyze-string&amp;gt;&lt;br /&gt;
	&amp;lt;/xsl:function&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Opción 2 ==&lt;br /&gt;
&lt;br /&gt;
Esta es un programa en C realizado por akagogo que utiliza libxml para convertir SVG al formato de Synfig.&lt;br /&gt;
&lt;br /&gt;
http://none.carlos.googlepages.com/svgtosif.zip&lt;br /&gt;
&lt;br /&gt;
=== Instalación ===&lt;br /&gt;
&lt;br /&gt;
Simplemente efectue los habituales '''./configure &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install'''&lt;br /&gt;
&lt;br /&gt;
=== Utilización ===&lt;br /&gt;
&lt;br /&gt;
Los archivos SVG deben estar en una carpeta llamada '''data'''. Debe ejecutar el comando desde el directorio padre, pero usando el nombre del archivo como argumento del comando. Así, si:&lt;br /&gt;
&lt;br /&gt;
* Tiene una carpeta &amp;quot;/ejemplo&amp;quot; debe crear una carpeta llamada &amp;quot;/ejemplo/data&amp;quot; y colocar allí el archivo &amp;quot;file.svg&amp;quot;.&lt;br /&gt;
* Ahora ejecute '''svgtosif file.svg''' siendo &amp;quot;/ejemplo&amp;quot; su actual directorio de trabajo.&lt;br /&gt;
&lt;br /&gt;
Como puede ver, esto no es realmente muy amigable. Para solucionar rápidamente el problema, utilice el siguiente script de bash:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 mkdir data&lt;br /&gt;
 cp &amp;quot;$1&amp;quot; data/&lt;br /&gt;
 /usr/local/bin/svgtosif &amp;quot;$1&amp;quot;&lt;br /&gt;
 NAME=`echo &amp;quot;$1&amp;quot; | cut -d &amp;quot;.&amp;quot; -f 1`&lt;br /&gt;
 cp &amp;quot;data/$NAME.sif&amp;quot; .&lt;br /&gt;
 rm data/*&lt;br /&gt;
 rmdir data&lt;br /&gt;
 echo &amp;quot;Conversion complete!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Ponga estas líneas en un archivo llamado &amp;quot;svg2sif&amp;quot; (llámele como prefiera, pero evite llamarle &amp;quot;svgtosif&amp;quot;) y guárdelo en un directorio PATH (se sugiere /usr/bin). Entonces:&lt;br /&gt;
 chmod +x /usr/bin/svg2sif &lt;br /&gt;
&lt;br /&gt;
Eso es todo. Ahora utilice:&lt;br /&gt;
 svg2sif &amp;lt;file.svg&amp;gt;&lt;br /&gt;
&lt;br /&gt;
y obtendrá un archivo .sif en la misma carpeta en que esté trabajando.&lt;/div&gt;</summary>
		<author><name>Ferguweb</name></author>	</entry>

	</feed>