EsFAQ

From Inkscape Wiki
Jump to: navigation, search

Traducción y correcciones en progreso.

Other languages: العربية Català Česky Deutsch English Español Français Italiano 日本語 한국어 Português Русский Slovenčina 中文

Dear Inkscape User,
please find a continuously updated and improved version of the User FAQ on our main website. If your language version is incomplete or missing, please consider helping us with translation.


Contents

General

¿Qué es Inkscape?

Inkscape es un editor de gráficos vectoriales de fuente abierta (open source) similar a Adobe Illustrator, Corel Draw, Freehand, o Xara X. Lo que diferencia a Inkscape es que utiliza Scalable Vector Graphics (SVG), un estándar abierto del W3C basado en XML, como formato nativo.

¿Qué son los gráficos vectoriales?

A diferencia de los editores de gráficos rasterizados (mapas de bits), como Photoshop o Gimp, Inkscape almacena sus gráficos en formato vectorial. Los gráficos vectoriales describen las formas y objetos reales que ve en la imagen, independientemente de la resolución de la misma. Un motor de rasterización utiliza esta información para determinar cómo dibujar cada línea y curva en cualquier resolución o nivel de acercamiento.

Esto contrasta con los gráficos rasterizados, que siempre están atados a una resolución específica y almacenan la imagen como una grilla de píxeles.

Los gráficos vectoriales son un complemento a los gráficos rasterizados, más que una alternativa. Cada uno tiene su propósito y son útiles para distintas cosas. Los gráficos rasterizados suelen ser mejores para fotografías y algunos dibujos artísticos, mientras que los vectoriales son más aptos para composiciones de diseño, logotipos, imágenes con texto, ilustraciones técnicas, etc.

Sin embargo Inkscape también puede importar y mostrar gráficos rasterizados. Una vez importado, éste se convierte en otro objeto dentro del gráfico vectorial y se puede hacer con él todo lo que es posible con otros tipos de objetos (moverlo, transformarlo, recortarlo, etc).

¿Qué significa SVG 'Scalable Vector Graphics'?

Gráficos Vectoriales Escalables (SVG) es un formato abierto y estándar basado en XML para gráficos vectoriales, desarrollado por el W3C. Su aceptación está creciendo rápidamente. La mayoría de los editores vectoriales actuales pueden importar y exportar SVG y los navegadores modernos (como Firefox y Opera) pueden mostrarlo directamente sin la necesidad de plugins. (Para el Internet Explorer, hay un plugin para visualizar SVG hecho por Adobe). Para más información vea #SVG topics, abajo.

¿Inkscape está listo para ser usado por usuarios comunes?

¡Sí! Aunque Inkscape no tiene todas las características que poseen los editores más avanzados, las últimas versiones brindan gran parte de las funciones de edición vectorial básicas. Muchas personas utilizan Inkscape con éxito para diversos proyectos (gráficos web, diagramas técnicos, íconos, arte creativo, logotipos, mapas). Vea ejemplos en las galerías. Siempre tratamos de mantener el código usable, ya que pensamos que un ciclo de iteración ajustado entre usuarios y desarrolladores dará los mejores resultados. Puede empezar a utilizar Inkscape junto a sus otras herramientas ¡ahora mismo!

¿En qué plataformas funciona Inkscape?

Proveemos paquetes binarios para Linux, Windows 2000/2003/XP (autoinstalable completo), y Mac OS X (paquete dmg). Sabemos que Inkscape también funciona en FreeBSD y otros sistemas operativos similares a Unix. No hay versiones para Windows 98/ME, aunque no descartamos realizarlas más adelante.

¿Cómo comenzó Inkscape?

Inkscape comenzó como una bifurcación de Sodipodi en 2003, por cuatro desarrolladores del mismo: Bryce Harrington, MenTaLguY, Nathan Hurst, and Ted Gould. Nuestra misión era crear una herramienta de dibujo completamente compatible con Gráficos Vectoriales Escalables (SVG) escrita en C++, con una nueva interfaz más amigable (compatible con Gnome HIG) y un proceso de desarrollo abierto y orientado a la comunidad. Al cabo de varios meses el proyecto había producido varios lanzamientos (releases), mostrando sucesivas mejoras significativas en el código, nuevas características y estableciéndose rápidamente como un proyecto de código abierto notable.

¿Qué significa 'Inkscape'?

El nombre está compuesto por las dos palabras inglesas ink (tinta) y scape (paisaje o vista). La tinta es una sustancia común para dibujos, y se utiliza cuando el trabajo bocetado está listo para ser trasladado en forma permanente al papel; por lo tanto evoca la idea de que Inkscape está listo para trabajo de producción. Y scape es una vista de una gran cantidad de objetos, como un paisaje o vista al mar, y por lo tanto alude a la naturaleza orientada a objetos propia de las imágenes vectoriales.

¿Puedo crear páginas web con esto?

Aun no. Sin embargo muchos usuarios utilizan Inkscape para plantear las páginas web o para generar las imágenes utilizadas en las mismas, como banners, logotipos, íconos, y otros.

Con los recientes avances en soporte SVG en los navegadores web (como Firefox u Opera), usar SVG directamente en la web se convierte en más que una posibilidad. Por ejemplo, con Firefox 1.5 o superior puede abrir cualquier documento SVG de Inkscape y Firefox lo mostrará correctamente. En teoría, se puede utilizar SVG y XHTML en el mismo documento, por lo que los usuarios y programadores que estén interesados pueden explorar aun más esta posibilidad.

¿Puedo crear animaciones con esto?

No. Inkscape no soporta animación SVG aun; es para gráficos estáticos en 2 dimensiones. Sin embargo se pueden exportar gráficos de Inkscape para usar en animaciones Flash o GIF. Y desde Febrero de 2006, Blender puede importar información SVG y proyectarla para crear gráficos 3D.

¿Habrá una versión 1.00 de Inkscape? ¿Cuándo será?

Asumiendo que el desarrollo continúe estable, inevitablemente llegaremos a la versión 1.00, pero no hemos discutido ninguna fecha aun.

Antes de hacer cualquier versión definitiva habrá un esfuerzo considerable para atar cabos sueltos, conseguir mejor estabilidad y limar asperezas. Esto demandará tiempo y hasta que suceda Inkscape puede sufrir cambios considerables entre un lanzamiento y otro.

Contribuyendo a Inkscape

¿Cómo puedo ayudar?

Toma el código y comienza a trabajar en lo que te atraiga. Envía un parche cuando estés satisfecho y comparte tus esfuerzos con otros. También necesitamos escritores y traductores para el manual de usuarios y los archivos de internacionalización de la interfaz (I18N).

Tomamos muy seriamente las contribuciones y seguimos el principio de "arreglar primero, discutir después", por lo que es muy probable que tus cambios aparezcan rápidamente en el código. Por supuesto hay reglas y estándares que deben ser respetados, pero tratamos de que sean obvios y lógicos.

¿Hay formas de colaborar que no sean programar?

¡Ciertamente! Aunque hay mucho trabajo de programación pendiente, también hay otras tareas necesarias para hacer de este proyecto un éxito:

Identificar errores y probar:

Identificar y caracterizar errores puede ayudar ENORMEMENTE al reducir el tiempo de desarrollo necesario para arreglarlos.

  • Encontrar y reportar errores. Esta es una necesidad crítica para asegurar la calidad del código.
  • Revisar y verificar errores reportados. A veces los reportes de errores no tienen suficiente información, o son muy difíciles de reproducir. Intenta ver si el error te ocurre a ti también, y agrega detalles a la descripción.
  • Prueba de rendimiento - Crea gráficos SVG que exigan a Inkscape y envíalos como casos de prueba para el seguidor de errores de Inkscape, con tus medidas de tiempo.
  • Compatibilidad y Prueba. Compara la representación de gráficos SVG en Inkscape con la de otras aplicaciones como Batik y Cairo, y reporta las diferencias encontradas (a ambos proyectos).
  • Priorización de errores. Los errores que están marcados con prioridad '5' son errores nuevos. Revísalos y fija la prioridad a alta/mediana/baja, según su severidad. Ver Actualizando items de seguimiento en la wiki para más detalles.

Ayudando a otros usuarios

Además de lograr una buena herramienta de dibujo, para nosotros es extremadamente importante construir una buena comunidad alrededor; tú puedes ayudarnos a conseguir esto directamente, ayudando a otros usuarios. Queremos mantener un buen ambiente en la comunidad de Inkscape, así que te animamos a que lo fomentes siendo amable con el resto de usuarios.

  • Escribe tutoriales. Si hay algo que aún no ha sido documentado en un tutorial, escribe una descripción de cómo usarlo.
  • Participa en inkscape-user@. Responde a las preguntas que otros usuarios envían a la lista de correo. También, comparte tus trucos y muestra nuevas formas de usar Inkscape.
  • Crea cliparts. Puedes colaborar con el proyecto openclipart.org.
  • Imparte clases de Inkscape. Enseña a gente de tu entorno a usar Inkscape. Realiza presentaciones en eventos locales, reuniones de usuarios de Linux, etcétera... sobre Inkscape (y otras herramientas artísticas libres).

Desarrollo (sin necesidad de programación)

  • Traducciones. Hay información sobre cómo crear traducciones de las interfaces en TranslationInformation.
  • Diseño de iconos y temas SVG. Crea nuevos iconos para los temas existentes o crea un nuevo tema de iconos. Consulta también librsvg.sf.net
  • Bosqueja nuevos diálogos. Dibuja ideas para mejorar o añadir cajas de diálogos. Estos bocetos son útiles para que los desarrolladores de la interfaz de usuario introduzcan mejoras.
  • Mejora los paquetes. Piensa cómo preparar y mejorar los paquetes para tu sistema operativo o tu distribución Linux. Consulta CreatingDists en este wiki.
  • Añade extensiones. Inkscape puede extenderse para añadir prestaciones, como por ejemplo abrir y guardar más tipos de documento. Crea archivos .inx para usarlos en Inkscape. También, si te sientes cómodo codificando en Perl, Python... puedes mejorar las extensiones.
  • Añade documentación del código fuente El código fuente necesita estar bien documentado para ayudar a los diferentes programadores.
  • Crea plantillas. Consulta la carpeta share/templates en Inkscape.
  • Trabaja en el Wiki. El Wiki es un buen lugar para reunir información del desarrollo pero siempre necesita actualizaciones, ediciones y elaboración.
  • Actualiza el mapa de ruta. Revisa y ayuda a actualizar el Roadmap en el Wiki. Básicamente, habla con los desarrolladores sobre qué están haciendo, qué planes tienen, qué acaban de terminar, y actualiza la hoja de ruta con esa información.

Difunde la palabra - Mercadotecnia y evangelización de Inkscape

Aumentar el número de usuarios es importante. Cuantos más usuarios interesados haya, habrá potencialmente más contribuyentes y gente diciendo cosas buenas de nosotros, dando a Inkscape una difusión boca a boca que creemos que es importante. Todos nuestros usuarios y desarrolladores sirven como embajadores de Inkscape y otros juzgarán a Inkscape basándose en lo bien que nos comportemos. Es importante que todos seamos amables y amistosos, de forma que logremos que Inkscape sea un proyecto en el que la gente disfrute trabajando y usándolo. Cualquier evangelización se derivará de esto de forma natural. Un pensamiento generalizado en la comunidad es que preferimos calidad sobre cantidad, así que por favor no seas demasiado insistente cuando evangelices. Queremos trabajar con otras aplicaciones, en lugar de "matar" otros programas, así que los comentarios en este sentido son contraproducentes. Necesitamos administrar las expectativas. Queremos que los usuarios se sorprendan de lo mucho que Inkscape hace, no que se desanimen al ver que no iguala a otros programas punto por punto. Inkscape debe ser concebido por los artistas como otra forma de ser creativo que complementa sus actuales habilidades y herramientas.

  • Escribe artículos. Publica artículos en medios digitales, o impresos. ¡No olvides incluir un enlace a Inkscape!
  • Realiza capturas de pantalla. Sobre todo de nuevas características.
  • Crea ejemplos. Los Examples son útiles para mostrar las diferentes formas en las que Inkscape puede ser usado. Toma capturas de pantalla, escribe textos y envíalos a los responsables (via la lista de correo inkscape-devel) para añadirlos al sitio.
  • Trabaja en el sitio web. Siempre se agradece la ayuda en el sitio. Se requiere conocimiento de HTML, y una cierta habilidad con PHP es útil. Consulta el código del sitio en el repositorio Subversion (svn) y envía parches, o pide acceso directo svn y línea de comandos para trabajar con los archivos actuales.
  • Haz presentaciones. Da charlas sobre Inkscape en exposiciones, simposios y otros grandes eventos. Anúncialo en una lista de correo de Inkscape para que lo anunciemos en el sitio web.
  • Recluta a más desarrolladores. Encuentra personas interesadas en programar y anímales a trabajar en Inkscape.

¿Dónde puedo conseguir un banner de Inkscape?

Aquí hay uno:

http://www.inkscape.org/images/inkscape_80x15.png

Eres libre de contribuir con tus propios banners o botones para promocionar Inkscape. Los mejores serán enlazados aquí.

Usando Inkscape

¿Cómo puedo rotar objetos?

Inkscape sigue la convención usada por CorelDraw, Xara y otros programas: en lugar de una herramienta de "rotación" separada, debes cambiar a Selector (flecha), hacer click sobre el objeto para seleccionarlo, y entonces hacer click nuevamente en los objetos seleccionados. Los indicadores alrededor del objeto se convierten en indicadores de rotación - arrástralos para rotar. También puedes usar el cuadro de diálogo Transformar para rotaciones precisas y la tecla [, ] para rotar la selección utilizando el teclado.

¿Cómo cambio el color del texto?

El texto es igual a cualquier otro tipo de objeto en Inkscape. Puedes pintar su relleno y su trazo con cualquier color, tal como lo harías con cualquier objeto. La paleta de Muestras, el diálogo de Relleno y Borde, pegar estilos - todo esto funciona sobre el texto exactamente igual que en rectángulos, por ejemplo. Por otra parte, si con la herramienta de Texto seleccionas una parte del texto usando Shift+flechas o arrastrando con el ratón, cualquier método de asignación de color se aplicará únicamente a la parte del texto que está seleccionada.

¿Cómo se insertan símbolos matemáticos u otros símbolos especiales en el dibujo?

Cuando la edición se hace en el lienzo, presiona Ctrl+U, luego digita el código Unicode del símbolo que necesitas. En la barra de estado se mostrará una vista previa del símbolo. Finalmente, presiona Enter. Puedes encontrar una lista de códigos Unicode en unicode.org; por ejemplo, el carácter del signo integral es "222b". Debes tener instalada en tu sistema una fuente que incluya este símbolo; de otra forma verás un rectángulo contenedor.

Cuando la edición del texto se hace en la pestaña Texto del diálogo Texto y tipografía, puedes usar cualquier método de entrada GTK admitido por tu instalación de GTK. Consulta la documentación de GTK para obtener más detalles.

Cuando guardes tu trabajo en formato eps, te recomendamos seleccionar la opción "Convertir textos en trazos" en la caja de diálogo de exportación, para preservar el símbolo.

¿Cómo se hacen curvas del seno en Inkscape?

En la versión 0.43, Inkscape incluye una extensión llamada Graficadora de funciones (antes se llamaba Wavy). Puede usarse para crear curvas del seno o gráficos de cualquier otra función. Otro software, como Xfig, KiG, y KSEG también pueden utilizarse para crear curvas complejas y luego exportarlas a SVG para usarlas en Inkscape.

¿Cómo se miden distancias y ángulos?

Inkscape todavía no tiene una herramienta de Medición dedicada. Sin embargo, puede usarse la herramienta Pluma en su lugar. Selecciona la Pluma (Shift+F6), haz clic para indicar el inicio del segmento que deseas medir, y mueve el ratón (sin hacer clic) para variar la longitud. En la barra de estado, verás las medidas de la distancia y del ángulo. Luego presiona Esc para cancelar.

El ángulo se mide por defecto desde las 3 en punto en contra de las manecillas del reloj (la convención matemática), pero puedes cambiar esto en las Preferencias para usar medidas de compás (desde las 12 en punto, en dirección de las manecillas del reloj).

Desde la versión 0.44 también tenemos la extensión Medir Trazo que mide la longitud de un trazado arbitrario.

¿Inkscape admite paletas?¿Dónde puedo "almacenar" y guardar colores para su posterior uso?

Desde la versión 0.42, se admiten las paletas usando el mismo formato de archivo que el Programa de Manipulación de Imágenes GNU (Paletas de color de GIMP, .gpl). El nombre que se usa en Inkscape para esta característica es "muestras". Para seleccionar esta terminología, estudiamos cierto número de programas diferentes y encontramos que tanto "paletas" como "muestras" se usan comunmente. Como el término paletas ya ha sido usado en Inkscape para describir un tipo particular de ventanas de diálogo, se adoptó el término "muestras" para describir esta característica.

¿Cómo hago que funcionen las extensiones?

El mecanismo de extensiones te permite usar programas externos y scripts escritos en cualquier lenguaje para aumentar las capacidades de Inkscape. La parte complicada es satisfacer todas las dependencias de los programas externos. Para encontrar ayuda sobre la satisfacción de extensiones individuales revisa GettingExtensionsWorking. Si estás interesado específicamente en Efectos ve directo a Effect requirements; si usas MacOSX, mira las instrucciones en CompilingMacOsX#Enabling python effects.

¿Cómo puedo imprimir los tutoriales? Cuando los imprimo desde Inkscape quedan mal, y no me gusta leer en la pantalla.

Todos los tutoriales, en todos los idiomas, están disponibles en línea en formato HTML en esta página y pueden imprimirse desde el navegador.

¿Existe una forma de aplicarle un gradiente a un trazo de manera que aquel se doble junto con este?

Un trazo puede pintarse con un gradiente, pero el gradiente no se doblará con el trazo. Permanecerá lineal o elíptico. Si te refieres a algo como esto, entonces SVG puede simular tales efectos usando Filtros SVG que Inkscape no admite todavía.

Existen, sin embargo, un par de alternativas. Una de ellas se describe aquí. La otra es usar la extensión Blend para crear para crear una mezcla entre dos trayectos curvos de diferente color o nivel de opacidad; con suficientes pasos intermedios, dicha mezcla lucirá casi como un gradiente curvado arbitrariamente.

Estoy tratando de hacer un mosaico coloreado a partir de clones, pero las baldosas se niegan a cambiar de color.

El objeto original a partir del cual estás clonando debe tener su relleno o trazo indefinido (¡no nulo, sino indefinido!) para que esto funcione. Usa el botón "?" en el diálogo Relleno y borde para poner el relleno como indefinido, o usa el comando "Eliminar relleno" del menú contextual que se abre al hacer clic sobre el indicador de estilo seleccionado de la barra de estado. Si el original es un grupo, solo algunos de los objetos del grupo pueden tener el relleno indefinido, y solo estos objetos cambiarán de color en el mosaico.

Estoy intentando aplicar una máscara de opacidad degradada a un objeto, pero el objeto entero desaparece

En las reglas de SVG, el color negro es opaco en mascarado (es decir disimula el objeto bajo él); el color blanco es transparente. Lo que es más, el "no hartura colorida" o la transparencia llena es equivalente al negro" "transparente, es decir, también se pone opaca la máscara. Así, si usted quiere extender su objeto gradualmente enmascarado, o cree la pendiente enmascarando de blanco a transparente, o de blanco al negro. Las reglas detalladas de máscaras de SVG se definen en [1].

The PNGs exported by Inkscape have jagged edges/no antialiasing/funny background.

This is a problem with whatever you use to view these PNG files, not with Inkscape. For example, Internet Explorer cannot show PNG files with transparency properly (the beta of Version 7 can, but no final release is available yet). Use e.g. Firefox to view your PNGs. If you absolutely must use IE, you can't have transparent background in PNG; change it to opaque in Document Preferences and export the PNG file again.

If you want to open the exported PNG bitmaps in MS-Word, you will also have to change the alpha-opacity (in document-properties dialog) to full, and then export -- the result will be much better.

¿Inkscape puede usarse desde la línea de comandos?

Sí, Inkscape tiene una interfaz de línea de comandos poderosa y puede usarse en scripts para varias tareas, tales como exportación y conversión de formatos. Para obtener más detalles refierase a la página del manual via man inkscape después de haberlo instalado.

Estoy en Windows, y los parámetros de la línea de comandos no funcionan!

En realidad, sí funciona convertir o exportar a SVG "plain", pero no produce salida hacia la ventana de texto. Esto se debe a que Inkscape para Windows es una aplicación GUI que no puede tener salida de texto a consola. Por consiguiente las opciones de comando (tales como "--query-x") no funcionarán en absoluto. Un remedio es recompilar Inkscape como aplicación de "consola". Ver esta página para instrucciones generales sobre compilar en Windows; cambie el archivo Makefile.mingw.common en el raíz del árbol de carpetas y reemplace:

-lgc -mwindows -lws2_32 -lintl

con

-lgc -mconsole -lws2_32 -lintl -lgdi32 -lcomdlg32

y recompile. Esto producirá un nuevo inkscape.exe que funciona igual que lo hace en Linux en lo que respecta a los parámetros de línea de comandos y salida a consola de texto. Si ud. utiliza regularmente la línea de comandos de Inkscape en Windows, por favor envíe un mensaje a inkscape-devel list y podremos considerar la provisión de tal ejecutable en nuestra versión oficiales de Inkscape para Windows.

How to make Alt+click and Alt+drag work on Linux?

Alt+click and Alt+drag are very useful Inkscape shortcuts ("select under" and "move selected" in Selector, "node sculpting" in Node tool). However, on Linux Alt+click and Alt+drag are often reserved by the window manager for manipulating the windows. You need to disable this function in your window manager so it becomes usable in Inkscape.

KDE

For example, in KDE this is done in Control Center > Desktop > Window Behavior > Window Actions.

XFCE4

Please read xfwm4.html

GNOME

Go to System > Preferences > Windows. You are presented with three options to move windows around: "Alt", "Ctrl" or "Super" (Windows logo key). Choose "Super".

I'm having problems with non-Latin filenames on Linux - help!

If your locale charset is not UTF-8, then you need to have this environment variable set:

$  G_BROKEN_FILENAMES=1
$  export G_BROKEN_FILENAMES

This is necessary for Glib filename conversion from the locale charset to UTF-8 (used in SVG) and back to work. Read more details.

How to make Alt+click and Alt+drag work on Mac OS X?

If you find yourself unable to use Inkscape functions that require the ALT key (such as Node Sculpting) you will need to turn off the "Emulate three button mouse" under the Input Preferences for X11.

I am working on a machine with operating system xxx which has default language yyy set, but I want to work with Inkscape menus in language zzz (most likely English), how can I set this?

Linux
Fist type locale -a in the console
to find out, which locale settings are supported on your system and how they were written.
export LANGUAGE="C" in the commandline switches to the default language (English).
export LANGUAGE="de_DE.utf-8" changes the language to german. This command works only temporary. After a system restart the original locale is active. The
used locale has to be installed with inkscape on your computer (else, Inkscape falls back to the default language).
MacOSX
The official Mac OS X way is to provide .lproj files which enables applications to pick up the
preferred language
from the System Preferences dialog; however, this is probably some considerable
way into the future. It might be possible to set up a scheme involving langauge :: packs, otherwise the linux methods may work.
Windows
1. Locate the installation directory.
2. Enter the Inkscape\locale directory
3. Locate the directory with the two letter locale you don't want to use.
4. Rename (or remove) this directory to something like disable_de or x_es
5. Restart inkscape and the default English (en) locale will be used.
Beware, this change the behaviour for all inkscape users on this machine

I installed a new font on my Windows system, but Inkscape does not see it.

This was a bug in versions of Inkscape up to 0.43, caused by using an obsolete font cache. This cache is stored in the file called .fonts.cache-1. This file may be in your Windows folder, or in your Temp folder, or in "My documents" folder, or in the folder listed in the $HOME environment variable. Use file search by name to locate this file. Then simply delete this file and restart Inkscape; now it will see the new fonts.

I've installed Inkscape on OS X 10.4.x, but when I run it nothing happens. The interface doesn't appear.

Under OS X 10.4.x, even on very fast machines, Inkscape versions prior to 0.44 could take a long time to start the very first time they were run. This was due to a fontconfig cache workaround that wasn't properly implemented by the launcher code. The problem has been fixed in 0.44 (though not in the prereleases 0-3).

On Linux, Inkscape crashes with "invalid pointer" message

If your Inkscape crashes on start with the error message that looks like

*** glibc detected *** free(): invalid pointer: 0x086143b0 ***

this is caused by GCC versions incompatibility which affects C++ applications. Your Inkscape is compiled by a different version of GCC than the C++ libraries it uses. Recompile either Inkscape itself or its C++ libraries (libstdc++, libsigc++, libglibmm and libgtkmm) with the single GCC version and the problem will go away.

SVG topics

Are Inkscape's SVG documents valid SVG?

Yes. Inkscape does not yet support all features of SVG, but all files it generates are valid SVG (with the partial and temporary exception of flowed text, see below). All standard-conformant SVG renderers show them the same as in Inkscape. If they do not, it's a bug. If this bug is in Inkscape, we will fix it (especially if you help us by reporting it!).

What about flowed text?

When flowed text support was added to Inkscape, it was conformant to the then-current unfinished draft of SVG 1.2 specification (and was always described as an experimental feature). Unfortunately, in further SVG 1.2 drafts, the W3C decided to change the way this feature is specified. Currently SVG 1.2 is still not finished, and as a result, very few SVG renderers currently implement either the old or the new syntax of SVG 1.2 flowed text. So, technically, Inkscape SVG files that use flowed text are not valid SVG 1.1, and usually cause problems (errors or just black boxes with no text).

However, due to the utility of this much-requested feature, we decided to leave it available to users. When the final SVG 1.2 specification is published, we will change our flowed text implementation to be fully conformant to it, and will provide a way to migrate the older flowed text objects to the new format.

Until that is done, however, you should not use flowed text in documents that you intend to use outside of Inkscape. Flowed text is created by clicking and dragging in the Text tool, while simple click creates plain SVG 1.1 text; so, if you don't really need the flowing aspect, just use click to position text cursor instead of dragging to create a frame. If however you really need flowed text, you will have to convert it to regular (non-flowed) text by the "Convert to text" command in the Text menu. This command fully preserves the appearance and formatting of your flowed text but makes it non-flowed and SVG 1.1-compliant.

What, then, is "Inkscape SVG" as opposed to "Plain SVG" when saving a document?

Inkscape SVG files use the Inkscape namespace to store some extra information used by the program. Other SVG programs will not understand these extensions, but this is OK because the extensions only affect how the document is edited, not how it looks. Extensions must not cause any rendering problems in SVG-compliant renderers. However, some non-compliant renderers may have trouble with the presence of the extensions, or you may want to save some space by dropping the Inkscape information (if you're not planning to edit the file in Inkscape again). This is what the "Plain SVG" option is provided for.

What SVG features does Inkscape implement?

The main parts of SVG that Inkscape does not support yet are filters, animation, and SVG fonts. The rest mostly works, though of course there are bugs that we're always fixing. For a comparison of Inkscape and other open source SVG tools on the W3C SVG test suite, look here.


I have hand-created SVG. Will everything be messed up, if I load and save it with Inkscape?

Inkscape strives to avoid changing the SVG just because it does not recognize some of the SVG elements, however it *does* make changes:

  • All objects will get unique "id" attributes. If already existing and unique, they will be preserved, otherwise one will be derived from node name.
  • Some sodipodi: and inkscape: namespaced metadata will be added to the beginning of document.
  • If you edit a gradient, that gradient will be broken up into 2 linked gradients - one defining color vector, another one position.
  • Changing any style property forces reconstructing of the whole 'style' attribute, which means CSS (not XML) comments will be lost and formatting of CSS may change.
  • The formatting style of the SVG file will be changed to follow the style hardcoded into Inkscape.

There is ongoing work to allow Inkscape to better preserve hand-created SVG markup but it is a very difficult task requiring a lot of infrastructure work and will happen very gradually - but help is always appreciated.

Inkscape and renderer X show my SVGs differently. What to do?

That depends on X. We accept Batik and Adobe SVG plugin as authoritative SVG renderers because they are backed by some of the the authors of the SVG standard and really care about compliance. This may not be true for other renderers. So if you are having a problem with some renderer, please try the same file with either Batik or Adobe, or better yet, with both (they are free and cross-platform). If you still see a discrepancy with Inkscape rendering, we want to look into it. Please submit a bug; don't forget to attach a sample of the problem file to the bug report, and ideally include screenshots too.

Inkscape and other programs

Why the split from Sodipodi?

Inkscape started as a code fork of Sodipodi. The main reasons were differences in objectives and in development approach. Inkscape's objective is to be a fully compliant SVG editor, whereas for Sodipodi SVG is more a means-to-an-end of being a vector illustration tool. Inkscape's development approach emphasizes open developer access to the codebase, as well as using and contributing back to 3rd party libraries and standards such as HIG, CSS, etc. in preference to custom solutions. Reusing existing shared solutions helps developer to focus on the core work of Inkscape.

For background, it may also be worth reviewing Lauris' Sodipodi direction post from Oct 2003, and his thoughts on SVG, licensing, and the value of splitting the project into two independent branches.

What's the difference between Inkscape and Dia?

Dia is for technical diagrams like database charts, class diagrams, etc., whereas Inkscape is for vector drawing such as logos, posters, scalable icons, etc.

SVG is a useful format for creating diagrams, though, so we hope as Inkscape grows as a fully-featured SVG editor, it will also be useful for making attractive diagrams too. Several of us hope Inkscape will become a useful technical drawing tool and work on features with that goal in mind. However, Dia provides a number of useful capabilities such as support for UML, autogeneration of diagrams, etc. that are well beyond the scope of a general SVG editor. Ideally both Inkscape and Dia can share various bits of code infrastructure and third party libraries.

Is this intended to replace Flash?

While SVG is often identified as a "Flash replacement", SVG has a huge range of other uses outside that of vector animation. Replacing Flash is not one of Inkscape's primary intents. If SVG can replace Flash, and Inkscape can help, that's great, but there's a lot more to SVG than web animation that is worth exploring. (See also SMIL)

Is Inkscape a replacement for The GIMP or Photoshop?

In most cases, no. They're used for two very different things. Inkscape is used for creating vector drawings, such as laying out a poster or creating a fancy logo, whereas bitmap editors are for working on raster images, such as touching up a photograph. In many projects, you would need to use both Inkscape and a bitmap editor (such as GIMP), for example, to add bitmap effects to an image exported from Inkscape.

However, currently bitmap editors are often used for common tasks they are not well equipped for, such as creating web page layouts, logos, or technical line art. In most cases, this is because users are not aware of the power (or even the existence) of the modern vector editors. Inkscape wants to amend this situation, and to raise a vector editor to the status of an essential desktop tool for everyone, rather than an exotic specialized tool that only professionals use.

Will Inkscape be part of the Gnome-Office?

Inkscape will need to mature a bit further before this can be considered. Specifically, better support for embedding (Bonobo) is needed, and the Gnome-Print subsystem needs to be tested more thoroughly (help very much appreciated here). If you can compile a recent version of Inkscape and help us with testing it would be very useful.

¿Qué formatos puede importar/exportar Inkscape?

Inkscape sólo soporta la apertura de los formatos SVG y SVGZ (SVG gzipeado).

Inkscape puede guardar nativamente SVG, SVGZ, Postscript/EPS/EPSi, Adobe Illustrator (*.ai), LaTeX (*.tex), y POVRay (*.pov).

Con ayuda de extensiones, Inkscape puede abrir/guardar PDF, EPS, AI, Dia, Sketch y algunos otros más.

Inkscape puede nativamente importar la mayoría de formatos raster (JPG, PNG, GIF, etc.) como imgenes bitmap, pero sólo puede exportar bitmaps PNG.

Ver FileTypes para tratar sobre el tipo de formatos que la gente quiera que sean soportados, y herramientas que pueden ser usadas para convertir archivos a/desde SVG.

What can I do with *.cdr (Corel Draw Vector drawing file) files in Inkscape? I have got my images in *.cdr files and I would like to continue in *.SVG.

  1. Open CDR file Corel Draw. Save it as CGM file. It will save only vector graphics. It will not save bitmap graphics.
  2. Open CGM file in OpenOffice Impress. Copy to Open Office Draw and insert original JPG or another bitmap graphics. Save file as ODG And you can continue in Open Office Draw program.)
  3. Select all (CTRL+A)
  4. Export as SVG.
  5. Open SVG file in Inkscape and correct mistakes if they appear.

I exported an SVG file from Adobe Illustrator, edited it in Inkscape, and imported back to AI, but there my changes are lost!

That's because Adobe cheats. It creates a valid SVG, but apart from the SVG code it also writes to the file, in encoded binary form, the entire AI-format source file of the image. Inkscape, of course, edits the SVG part of the image and leaves the encoded binary untouched. But when you import the SVG file back to AI, it completely disregards the SVG code with its edits and reads directly from the encoded AI binary. Therefore, any SVG changes are lost. To work around it, in Inkscape open the XML Editor and remove the non-SVG elements (everything not with the svg: prefix in its name).


Development topics

What are Inkscape's development goals?

Inkscape wants to be a complete SVG-compliant vector graphics editor. Apart from standards compliance, our primary goals are stability, performance, state of the art vector graphics features, and an efficient and innovative user interface.

What language and toolkit is Inkscape built upon?

The codebase Inkscape inherited from Sodipodi was C/Gtk based. There is an ongoing effort to convert the codebase to C++/Gtkmm. The ultimate goal is to simplify the code and make it more maintainable. We invite you to join us. Just don't mention Qt. :)

What is your position on code sharing with other projects?

Yes, sharing of code libraries with other projects is highly desirable, provided the right conditions exist. A good candidate for a library will be mature, widely distributed, well documented, and actively maintained. It should not introduce massive dependency problems for end-users and should be stable, powerful, and lightweight. It should strive to do one thing, and do it well. Libraries that don't meet all the criteria will be considered on a case-by-case basis.

How to create an Inkscape extension?

You don't need to know much, if anything, about Inkscape internals to create a useful extension. Aaron Spike, the author of most Python extensions that come with Inkscape, wrote a helpful web page (including a series of tutorials) on creating extensions in Python (Perl and Ruby are also supported).

What's a good way to get familiar with the code?

You can start with the Doxygen documentation. There you can find not only the usual Doxygen stuff but also different categorized views into the inkscape source.

In the Documentation section of the Inkscape website you can find some high-level diagrams and links to other documentation that's been produced such as the man page. Historically, this codebase has not been kept well documented so expect to find many areas where the only recourse is to work through the code itself. However, we place importance on working to change this, and to flesh out the documentation further as we go.

Some developers have found that testing patches is a good way to quickly get exposure to the code, as you see how other developers have approached making changes to the codebase. Other developers like to pick an interesting feature request (or perhaps a feature wish of their own) and focus on figuring out how to implement it. Occasionally we also have large scale grunt-work type changes that need to be applied to the codebase, and these can be easy ways to provide significant contributions with very little experience.

Getting beyond initial exposure, to the next stage of understanding of the codebase, is challenging due to the lack of documentation, however with some determination it can be done. Some developers find that fixing a crash bug by tracing execution through the various subsystems, brings good insights into program flow. Sometimes it is educational to start from an interesting dialog box and tracing function calls in the code. Or perhaps to start with the SVG file loader and follow the flow into and through the parser. Other developers have found that writing inline comments into the code files to be highly useful in gaining understanding of a particular area, with the fringe benefit of making that bit of code easy for future developers to pick up, too.

Once you feel far enough up the learning curve, implementing features will firm up your experience and understanding of the codebase. Be certain to also write test cases and documentation, as this will be of great help to future developers and thus ensure the longevity of the codebase.

What is the size and composition of the codebase?

The latest statistics are available at this page. The code is somewhat modular, but less so than we would like. If you're interested in some specific part of the codebase, feel free to ask developers.

What rendering engine do you use?

Currently we use our own renderer called livarot. We plan to migrate to Cairo when it is mature enough.

What is the development platform?

Most developers work on Linux. However it is also possible to compile Inkscape on Windows; this page provides detailed instructions for this as well as for cross-compiling Windows binaries on Linux.

What is the Linux command to download the code through Subversion?

Generic directions are under the Subversion link on the inkscape sourceforge page. Note, however, that the command given on the sourceforge page will check out all modules of the Inkscape project and all branches of those modules.

  • To only check out the latest copy of the main branch (also called "trunk") of the Inkscape program, do:
    svn checkout https://svn.sourceforge.net/svnroot/inkscape/inkscape/trunk/
  • To only check out the trunk of another Inkscape module, do:
    svn checkout https://svn.sourceforge.net/svnroot/inkscape/MODULE_NAME/trunk/
    where MODULE_NAME is the name of the module you want to check out. Other modules you can check out include: experimental, our development "scratchpad" for working up prototypes; inkscape_web, which holds our website files; and inkscape_project, which holds config files and other project-level things. You can use our Subversion viewer to get the names of available modules.
  • To only check out a branch of some Inkscape module, do:
    svn checkout https://svn.sourceforge.net/svnroot/inkscape/MODULE_NAME/branches/BRANCH_NAME/ 
    where MODULE_NAME is the name of the module you want to check out, and BRANCH_NAME is the name of the branch that you are interested in. You can use our Subversion viewer to get the names of available modules and branches.

These commands will download the requested module into a directory named either trunk or BRANCH_NAME, depending on whether you chose to check out the trunk or a branch.

  • If you'd like to later test out a different branch of any of Inkscape's modules, you can do that by running

svn switch https://svn.sourceforge.net/svnroot/inkscape/MODULE_NAME/branches/BRANCH_NAME

in your working copy, where MODULE_NAME is the name of the module you are working in, and BRANCH_NAME is the name of the branch that you want to switch to.
  • You can do something similar for tagged branches:

svn switch https://svn.sourceforge.net/svnroot/inkscape/MODULE_NAME/tags/BRANCH_NAME

Note that Subversion supports the ability to move individual subdirectories of a working copy of a module to different branches of that module, so if you want to switch an entire working copy to a different branch, run svn switch in the root directory of the working copy.

How are feature requests selected for implementing?

Many developers become involved because they wish to "scratch an itch", so of course if they wish to work on a particular feature, then by definition that one will receive implementational attention. This is the primary mechanism by which features get implemented.

Inkscape also strives to take user requests for features seriously, especially if they're easy to do or mesh with what one of the existing developers already wants to do, or if the user has helped the project in other ways.

If you have a feature that you'd really like to see implemented, but others aren't working on, the right thing to do is delve into the code and develop it yourself. We put great importance on keeping the development process open and straightforward with exactly this in mind.

I'd prefer the interface to look like ...

Understandably, many users are accustomed to other programs (such as Illustrator, the GIMP, etc.) and would prefer Inkscape to follow them in design. Inkscape developers are constantly examining other projects and on the look for better interface ideas. A large motivation is to make the application follow the GNOME Human Interface Guidelines, which has a number of rules in how the interface is made. The Inkscape developers also seek advice and ideas from other GUI app designers, such as the GIMP crew, AbiWord, and Gnumeric; they've been at it longer and we view them as an excellent source of battle tested experience.

But please understand that the Inkscape interface will, at the end of the day, be the "Inkscape interface". We will strive to find our own balance of compatibility with common drawing programs, wishes of our userbase, good workflow, creativity of our developers, and compliance with UI guidelines. It's unlikely that this balance will meet every user's wish, or achieve 100% compliance with the various platform specific Interface Guidelines, or include every developer's idea, and if it did it probably wouldn't be as good.  ;-)

Usually when we discuss interface look and feel, we arrive at the conclusion that, really, it should be configurable so that each user can flip a few switches and get an app that is most cozy to them. However, flexibility should not be used as an excuse not to make tough decisions when they are called for.

Legal

What License is Inkscape released under?

GNU GENERAL PUBLIC LICENSE Version 2, June 1991 [2]