https://wiki.inkscape.org/wiki/api.php?action=feedcontributions&user=VonHalenbach&feedformat=atomInkscape Wiki - User contributions [en]2024-03-19T13:58:50ZUser contributionsMediaWiki 1.36.1https://wiki.inkscape.org/wiki/index.php?title=User_talk:Legio_noctis&diff=60685User talk:Legio noctis2010-03-30T21:24:29Z<p>VonHalenbach: Hello Legio</p>
<hr />
<div>Hi, legio noctis!<br />
<br />
I have promoted you to the admin-group, because i have seen, that you fight against spam in our wiki. Thank you for your work and welcome! From now on, your help is much easier, because you can block spambots yourself. It would be cool, if you could say hello and introduce yourself a little bit on your userpage (You don't need to write down your real name!). --[[User:VonHalenbach|SvH]] 21:24, 30 March 2010 (UTC)</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=User_talk:Simple_one&diff=51794User talk:Simple one2009-04-29T12:38:48Z<p>VonHalenbach: New page: Hi Simple, why did you upload the picture goodbadugly.svg ? Do we need it in some way? Greetings and welcome to inkscape. --~~~~</p>
<hr />
<div>Hi Simple, why did you upload the picture goodbadugly.svg ? Do we need it in some way? Greetings and welcome to inkscape. --[[User:VonHalenbach|SvH]] 12:38, 29 April 2009 (UTC)</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=SpecSVGAnimation&diff=48194SpecSVGAnimation2009-03-05T22:05:24Z<p>VonHalenbach: /* Discussion */</p>
<hr />
<div>specification for an initial implementation of SVG animation features.<br />
<br />
launchpad [https://blueprints.launchpad.net/inkscape/+spec/svg-animation blueprint]<br />
<br />
inkscape-devel [http://www.nabble.com/Animation-%28was%3A-Re%3A-Inkscape---GSoC-%2708-proposal%29-td15791409.html discussion]<br />
<br />
== Summary ==<br />
<br />
== Rationale ==<br />
<br />
== Design ==<br />
<br />
=== Document Handling ===<br />
<br />
=== User Interface ===<br />
<br />
There are three possible approaches to crafting an interface for animation. It would be best if all three were developed to some extent. <br />
* At the lowest level, animation elements can already be added using the XML editor, but the process is awkward, and there is no visible indication of the animation elements. Some scripting interface support is required, though, because one of the most important ways to control animations is via ECMA script embedded in the SVG file. <br />
* At the next layer, we'll have to provide graphical widgets in the form of a side panel/tool bar for all of the animation options. This will take some time, but it isn't a particularly difficult task, since much of the code can be modeled on existing interface panels. At the same time, someone needs to develop some visual cues that will appear in the editor window that will indicate that animations are present.<br />
* Finally, the most professional interface would abstract away as much of the SVG specific parts of the problem as possible and provide an interface that conforms to the more popular Flash animation packages. This will make it a lot easier for current Flash artists to move to SVG.<br />
<br />
An example of the third interface would be:<br />
<br />
[[Image:Layers-timeline_dialogue_v2.png]]<br />
<br />
* In this concept, the Timeline is an extension of the Layers dialogue. Each layer and group can 'open' to display the individual objects contained in it.<br />
* Instead of being based on the Flash™ timeline, which is frame-based, this one is based more on GarageBand™, which as a music editor is time-based. This is necessary as SVG animations are based on keytimes instead of frames and keyframes. However, the two are similar enough to allow an easy move from Flash™ to Inkscape.<br />
* An interpolation curve editor is also readily available, similar to the note editor in GarageBand™.<br />
* There is a drop-down menu used for selecting the viewable frames per second, used as a grid.<br />
* Selecting any keytime block would put it in 'isolation mode,' similar to what's available in Flash™ and Illustrator™. For animations nested in other animations, the animated effects applied by the one higher up (e.g. rotation) would be un-applied in isolation mode.<br />
* The Layers/Timeline dialogue would have to be able to dock to the bottom of the window, as the width (even when at its smallest size, not shown here) would be prohibitive to have on the right.<br />
* It may be possible with this design to allow separate times for each row, letting the animator compare the states of different layers/objects at separate times.<br />
<br />
Note that the Timeline is used for editing all animations in the SVG. When scripting animated events in the scripting/xml dialogue, you would use the names for the individual keytimes. Keytimes outside of the main animation could possibly be stored at negative times on the Timeline.<br />
<br />
== Deliverables ==<br />
<br />
== Discussion ==<br />
<br />
* Is the Inkscape canvas fast enough for fast animation ?<br />
* A complex UI like the timeline widget could benefit from a canvas API (e.g. goocanvas). But hey Inkscape already sports a canvas ! So does the Inkscape canvas could also be used for a custom GtkWidget ?<br />
* Keep in mind the coming [[0.47_Refactoring_Plan |refactoring effort]]<br />
* Added interface mockup. --[[User:JadeMatrix|JadeMatrix]] 16:03, 6 February 2009 (UTC)<br />
* I agree with the layout of the timeline, but the objects on the line should get speaking names. E.g. rectangle, group1, tree, house. In my opinion, there is probably no negative time on the timeline. The time always starts at zero. If not, the program has to change all times on all objects to make them fit. Offsetting them. scratch the fps-chooser. there is no fps. I don't think, that a zoom of the timeline is needed at all. It should only show the time in fractions of seconds. If the animation gets longer. E.g. 120 seconds, you have to scroll or type in the time, where you want to be. I don't think, that someone makes animations of one hour or longer? At least not with inkscape! The usual animation is about 10 seconds long. The timeline should start with representing this timespan, if possible. --[[User:VonHalenbach|SvH]] 18:02, 28 February 2009 (UTC)<br />
* @SvH - Addressing several of your concerns: Over at [[Animation-(Timeline)]] you mentioned frames as being no use. They aren't useful at all if you're using Inkscape simply as an SVG editing GUI. However, being able to see things in frames is a useful reference for artists used to working in frames, such as converts from Flash. Negative time: as I said above, used simply for storing unused animations, or animations triggered by an event (just an idea). As for the timeline zoom, I assume you've never used Apple's GarageBand. Zooming allows you to place animations or tweak interpolation curves with greater accuracy. Finally, the scrolling works the same way it does on the canvass: there is a set size, until you start dragging the cursor outside. Then the canvas (in this case timeline) expands.--[[User:JadeMatrix|JadeMatrix]] 04:42, 4 March 2009 (UTC)<br />
: Thank you for your answer JadeMatrix. This is for me just a discussion, what could be done, nothing more. At last, the developer has to decide, whats the best way to implement things in inkscape. I hope our discussion will help to make inkscape a bit better. greetings Stefan --[[User:VonHalenbach|SvH]] 22:05, 5 March 2009 (UTC)</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=Wiki_syntax&diff=48184Wiki syntax2009-03-05T21:31:11Z<p>VonHalenbach: Reverted edits by Judy0000 (Talk); changed back to last version by Conversion script</p>
<hr />
<div>You might want to learn simply [[how to start a page]]. If you want the details about how to edit a Wikipedia page, though, you've come to the right place.<br />
<br />
It's very easy to edit a Wiki page. Simply click on the "edit this page right now!" link at the top or bottom of a Wiki page. This will bring you to a page with a text box containing the text of that Wiki page. Then type away, and press "Save" when finished! (You can also preview your changes before saving if you like.)<br />
<br />
What you see in the text box will be mostly plain text, but you will see some special things the Wiki software uses to create links, lists, and other effects. The rest of this page is a demonstration of how to use these features. After the first few sections, you will have to "teach yourself" by pressing the "edit" link (above or below) to see for yourself how various effects were achieved!<br />
<br />
Let's say that you're editing a page about sports, and you mention soccer. Well, there's probably a Wiki page about soccer (and if there isn't, there should be) and you want to make the word a link to that article. Simple: type double square brackets around it <code>[[like this]]</code> and continue editing. That's it! If the page already exists, a link will be made to it. If the page doesn't already exist, a link will be made that allows someone to create it.<br />
<br />
There are a few rules about making these links that you might run into. Foreign characters and punctuation cannot be used in the text of a link, so if you want to make a link to "John's Dog", you'll have to leave out the apostrophe. Also, the Wiki software will link to a page title that is the same as the text of your link, except that the first letter will be uppercased, and spaces may be condensed. For example, if you type <code>[[card game]]</code>, <br>it will be linked to a page entitled "Card game".<br />
<br />
Older versions of the Wiki software only made one-word links <code>[[LikeThis]]</code>, and didn't require the brackets to make them links. You can still do that, but it's generally discouraged because it [[LooksFunny]]. It is handy to use singular words like "game" rather than "games", because that makes it easier to create links in other pages.<br />
<br />
Finally, sometimes the text you would like to make into a link just doesn't make a good page title. In that case, you can specify both inside the brackets separated by a vertical bar like this: <code>[[Page link|text of link]]</code>. This will appear as "text of link", but will link to a page entitled "Page link".<br />
<br />
Examples of Good links:<br />
:<code>[[my new page]]</code><br />
:<code>[[My new page]]</code><br />
:<code>[[JohnSmith]]</code><br />
:<code>[[Johns Dog]]</code><br />
:<code>[[Johns Dog|John's Dog]]</code><br />
Bad links:<br />
:<code>[[my_new_page]]</code> (underscores not necessary)<br />
:<code>[[My_new_page]]</code> (underscores not necessary)<br />
:<code>johnsmith</code> (needs two capital letters or brackets)<br />
:<code>[[John's Dog]]</code> (will not link to the page you want it to link to)<br />
See [[naming conventions]] when choosing names for pages!<br />
<br />
<h2>Making a new page</h2><br />
<br />
There are two ways to make a new page:<br />
<br />
# As mentioned above, while you're editing the text of an old page, you can just put something in brackets. For example, you would type: <code>[[my page]]</code>. When you save the page you're editing, if the link you included doesn't exist, you will see a question mark after the text. Click on that question mark and you will be taken to a newly-created page that you can edit. Replace "Describe the new page here." with whatever text you want to put on the page!<br />
#Type the URL of the new page in the "address" line of your browser and hit return. The URL of the new page will be the text of a link, with the first letter uppercased and spaces replaced by underscores (see [[Wiki Canonization]] for more details about this). For example, in the URL above, you would replace<br />
<br><code>http://intranet.pdx.osdl.net/cgi-bin/wiki.pl?How_does_one_edit_a_page</code><br />
<br>with the new URL <br />
<br><code>http://intranet.pdx.osdl.net/cgi-bin/wiki.pl?Name_of_your_new_page</code> <br />
<br>and then hit return.<br />
<br />
See also [[how to start a page]].<br />
<br />
<br />
<h2>Demonstration area</h2><br />
<br />
*What follows is an area for demonstrating the various effects possible using Wiki, such as bold, italics, numbered lists, etc., etc.<br />
*Click "edit" at the top or bottom of this page (i.e., the page you are now reading!) to see how these effects were achieved!!!<br />
*<b>If you don't click "edit" now you won't understand what's going on!!!</b><br />
<br />
New paragraphs are made by simply pressing the "enter" or "return" key twice. If you press it just once, <br />
like this,<br />
a new paragraph ''will not'' be made (as you can see).<br />
<br />
Here is<br />
<br>the proper way<br />
<br>to make single-spaced lines.<br />
<br />
:This line is indented.<br />
::This line is indented even farther.<br />
:::Who knows how far it can go?<br />
<br />
This line is indented by using an initial space,<br />
but since I didn't use a colon ( : ) <br />
at the beginning of the line, it appears as a monospace font such as "Courier". <br />
In other words, if you begin a paragraph with spaces, that <br />
line will be both indented and in a monospace font.<br />
This is very useful for importing monospace formatted tabular materials, especially source code. Also note that space-indented lines will not wrap! They will simply increase the width of your window.<br />
<br />
''This line is in italics.'' (Using double single quote marks!)<br />
<br><i>And so is this one!</i> (Using good old html tags!)<br />
<br><em>And this!</em> (Using still different code! How versatile! How confusing! But any of them will do.)<br />
<br />
'''This line is bold.''' (Using triple single quote marks!)<br />
<br><b>So is this one!</b> (Using the standard html tag!)<br />
<br />
Here is a new style link: [[Larry Sanger]] (see [[Free Links]])<br />
<br>Here is an old style link: [[HomePage]]<br />
<br>Consider not capitalizing your page names: [[definition of philosophy]]; see [[naming conventions]]<br />
<br>[[HomePage|the text of this link is different from the name of the page it links to]]<br />
<br>[[HomePage|it really doesn't MatterWhat youType in the...link description. It's all link&eacute;d!]]<br />
<br>An external link: http://www.nupedia.com/about.shtml<br />
<br>Another external <br />
link: [http://www.nupedia.com/about.shtml Nupedia about page]<br />
<br />
If you type in the URL of a picture, it will be displayed rather than linked to:<br>http://www.wikipedia.com/wikia.gif<br />
<br />
You don't have to create weird page titles, like [[Platos]], just to make the plural or possessive form of a name. [[Plato's]] wouldn't work anyway. You can write: [[Plato]]'s or (more cleverly) [[Plato|Plato's]]. In the old linking system you'd do it like this: [[JimboWales]]'s homepage (using ""). (Just Say No to the old linking system; after all, you can now link to [[Jimbo Wales]]'s homepage!) But it ''does'' look like you're stuck with [[Platos Republic]], because [[Plato's Republic]] doesn't work, as you can see, although if you want to type a bit more you can cleverly create [[Platos Republic|Plato's Republic]].<br />
<br />
Here is a numbered list:<br />
#Item 1<br />
#Item 2<br />
#Item 8<br />
#Notice, this line isn't numbered because it is not flush left.<br />
:#Neither is this line<br />
<br />
Here is a bulleted list:<br />
*Here's an item<br />
* Here's another item<br />
**We can do bullets within bullets, as it were<br />
*** Pretty nifty, huh?<br />
<br />
You can make a horizontal "rule" (line) on a page: ----<br />
Or two, if you wish: <br />
----<br />
----<br />
<br />
There are three ways to display, rather than parse, wiki code:<br />
#<code>you can use the <code> tag</code><br />
#<pre>you can use the <pre> tag</pre><br />
#<nowiki>you can use the <nowiki> tag</nowiki><br />
The difference between <nowiki><code> and <pre></nowiki> is that the pre tag preserves line breaks, while the code tag does not. The nowiki tag works like the <code><code></code> tag except that it doesn't use a monospace font. (We made liberal use of the <code><code></code> tag on this page.)<br />
<br />
Lines that \<br />
end with backslashes \ <br />
will wrap if it is the *last* character on the line.<br />
If there is trailing spaces, the backslash won't cause word wrapping.<br />
<br />
You can create subpages: [[/Talk]]<br />
<br>Sorry, but you cannot create sub-subpages: [[/Talk/TalkAboutTalk]]<br />
<br>You can link to other subpages: [[Charlize Theron/Filmography]] or even [[charlize Theron/Filmography]].<br />
<br />
We can do tables the old fashioned HTML way:<br />
<table border=1><br />
<tr><br />
<td>Item one</td><br />
<td>Item two</td><br />
</tr><br />
<tr><br />
<td>Item three</td><br />
<td>Item four</td><br />
</tr><br />
</table><br />
<br />
The preformatted text approach might <br />
be a better way to<br />
do columnar types of tables. ;-)<br />
<br />
Sometimes you might need to use special characters, like these: ï¿?ï¿?&alpha;<br />
<br />
You can make <sup>superscripts</sup> and <sub>subscripts</sub> and you can control the font <font size=+1>size</font> and <font color=blue>color</font>!<br />
<br />
*f(x) = a<sub>0</sub> + a<sub>1</sub>x<sub>1</sub> + a<sub>2</sub>x<sub>2</sub><sup>2</sup> + a<sub>3</sub>x<sub>3</sub><sup>3</sup> + ...<br />
<br />
*<font size=+2 color=red>f(x) = a<sub>0</sub> + a<sub>1</sub>x<sub>1</sub> + a<sub>2</sub>x<sub>2</sub><sup>2</sup> + a<sub>3</sub>x<sub>3</sub><sup>3</sup> + ...</font><br />
<br />
If you want to redirect traffic going to one page to another page (with a better title, for example), then use the command <code>#REDIRECT [[pagename]]</code> at the top of the page. To look at the history of the old page, click on the "<code>(redirected from [[OldPageName]])</code>" link at the top of the new page.<br />
<br />
----<br />
This page is borrowed & adapted from [http://www.wikipedia.com/ Wikipedia.com], and is reusable under the terms of the [http://www.gnu.org/copyleft/fdl.html GNU Free Documentation License (FDL)].</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=User_talk:ChaosOutlaw&diff=48034User talk:ChaosOutlaw2009-03-01T01:23:12Z<p>VonHalenbach: </p>
<hr />
<div>Just downloaded this proggie a couple days ago and I like it so far. This is the first vector editor I have used. I mainly got it so I could make tribal tattoo shapes for making tattoos on the skin textures of the 3D models I create for various animation programs, mainly Poser 7. <br />
<br />
Alot of the features dont seem to work though. The main ones I am interested in are in the effects menu. The swirl and wave features do nothing. I have tried using them on rectangles, various star patterns and on line drawings with no success. Hoping someone can tell me whether there is some trick to it or whether this are just options that will be hopefully added later.<br />
<br />
:Hi and welcome to the inkscape-wiki! It would be helpful, if you could give more details about your computer, OS and which version of inkscape you are running. Most probably only one dependance is missing. like python, for example. If you could start inkscape from the commandline, you would be able to see, what is missing. greetings Stefan --[[User:VonHalenbach|SvH]] 16:12, 28 February 2009 (UTC)<br />
<br />
I have no idea what you mean by opening from the command line lol. I am using Inkscape 0.46 on my pc running Windows XP. All of the features that I have found not to work are in the effects menu. Effects/Raster/swirl and wave are the 2 main ones I am really interested in using. As I said I mainly using this program to create tribal type tattoo designs because Photoshop 7's vector capability is sadly lacking. And I cannot afford Illustrator or CorelDraw right now lol.<br />
<br />
If you could tell me what this command line feature is I will be glad to try and copy and paste the info from it here so I could get some help. Thanks.<br />
<br />
Hm. I am on linux, so i really can't say exactly how you open a command line in Windows XP. My last windows was win98. you have to press on the start button and search for a program called console or dos-box or something. then it opens a black screen, where you can type. there you just type in "inkscape.exe > error.txt" and then enter-key. inkscape starts in a window, you can edit your drawing, then try to apply the effect, which is not working. then end inkscape, and look into the file error.txt. --[[User:VonHalenbach|SvH]] 18:27, 28 February 2009 (UTC)<br />
<br />
Ahhh ok. Well I am not getting an error message, it just doesn't do anything. Someone on the forums suggested I try converting objects to paths and that didn't work either. When I hit the apply button a little white window( sometimes a black window) pops up and is gone faster than you can blink your eye lol. But the image on the screen remains the same. Oh well at least I can make some cool shapes with this.<br />
<br />
:I hope you believe me, when i say "It should work." :) Where did you get this binary from? Could you try to download another one? Newer or older? Was it an official one, or just a develop-version? --[[User:VonHalenbach|SvH]] 01:23, 1 March 2009 (UTC)</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=User_talk:ChaosOutlaw&diff=47994User talk:ChaosOutlaw2009-02-28T18:29:07Z<p>VonHalenbach: </p>
<hr />
<div>Just downloaded this proggie a couple days ago and I like it so far. This is the first vector editor I have used. I mainly got it so I could make tribal tattoo shapes for making tattoos on the skin textures of the 3D models I create for various animation programs, mainly Poser 7. <br />
<br />
Alot of the features dont seem to work though. The main ones I am interested in are in the effects menu. The swirl and wave features do nothing. I have tried using them on rectangles, various star patterns and on line drawings with no success. Hoping someone can tell me whether there is some trick to it or whether this are just options that will be hopefully added later.<br />
<br />
:Hi and welcome to the inkscape-wiki! It would be helpful, if you could give more details about your computer, OS and which version of inkscape you are running. Most probably only one dependance is missing. like python, for example. If you could start inkscape from the commandline, you would be able to see, what is missing. greetings Stefan --[[User:VonHalenbach|SvH]] 16:12, 28 February 2009 (UTC)<br />
<br />
I have no idea what you mean by opening from the command line lol. I am using Inkscape 0.46 on my pc running Windows XP. All of the features that I have found not to work are in the effects menu. Effects/Raster/swirl and wave are the 2 main ones I am really interested in using. As I said I mainly using this program to create tribal type tattoo designs because Photoshop 7's vector capability is sadly lacking. And I cannot afford Illustrator or CorelDraw right now lol.<br />
<br />
If you could tell me what this command line feature is I will be glad to try and copy and paste the info from it here so I could get some help. Thanks.<br />
<br />
Hm. I am on linux, so i really can't say exactly how you open a command line in Windows XP. My last windows was win98. you have to press on the start button and search for a program called console or dos-box or something. then it opens a black screen, where you can type. there you just type in "inkscape.exe > error.txt" and then enter-key. inkscape starts in a window, you can edit your drawing, then try to apply the effect, which is not working. then end inkscape, and look into the file error.txt. --[[User:VonHalenbach|SvH]] 18:27, 28 February 2009 (UTC)</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=User_talk:ChaosOutlaw&diff=47984User talk:ChaosOutlaw2009-02-28T18:27:46Z<p>VonHalenbach: </p>
<hr />
<div>Just downloaded this proggie a couple days ago and I like it so far. This is the first vector editor I have used. I mainly got it so I could make tribal tattoo shapes for making tattoos on the skin textures of the 3D models I create for various animation programs, mainly Poser 7. <br />
<br />
Alot of the features dont seem to work though. The main ones I am interested in are in the effects menu. The swirl and wave features do nothing. I have tried using them on rectangles, various star patterns and on line drawings with no success. Hoping someone can tell me whether there is some trick to it or whether this are just options that will be hopefully added later.<br />
<br />
:Hi and welcome to the inkscape-wiki! It would be helpful, if you could give more details about your computer, OS and which version of inkscape you are running. Most probably only one dependance is missing. like python, for example. If you could start inkscape from the commandline, you would be able to see, what is missing. greetings Stefan --[[User:VonHalenbach|SvH]] 16:12, 28 February 2009 (UTC)<br />
<br />
I have no idea what you mean by opening from the command line lol. I am using Inkscape 0.46 on my pc running Windows XP. All of the features that I have found not to work are in the effects menu. Effects/Raster/swirl and wave are the 2 main ones I am really interested in using. As I said I mainly using this program to create tribal type tattoo designs because Photoshop 7's vector capability is sadly lacking. And I cannot afford Illustrator or CorelDraw right now lol.<br />
<br />
If you could tell me what this command line feature is I will be glad to try and copy and paste the info from it here so I could get some help. Thanks.<br />
<br />
Hm. I am on linux, so i really can't exactly how you open a command line in Windows XP. My last windows was win98. you have to press on the start button and search for a program called console or dos-box or something. then it openes a black screen, where you can type. there you just type in "inkscape.exe > error.txt" and then enter-key. inkscape starts in a window, you can edit your drawing, then try to apply the effect, which is not working. then end inkscape, and look into the file error.txt. --[[User:VonHalenbach|SvH]] 18:27, 28 February 2009 (UTC)</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=SpecSVGAnimation&diff=47974SpecSVGAnimation2009-02-28T18:10:32Z<p>VonHalenbach: /* Discussion */</p>
<hr />
<div>specification for an initial implementation of SVG animation features.<br />
<br />
launchpad [https://blueprints.launchpad.net/inkscape/+spec/svg-animation blueprint]<br />
<br />
inkscape-devel [http://www.nabble.com/Animation-%28was%3A-Re%3A-Inkscape---GSoC-%2708-proposal%29-td15791409.html discussion]<br />
<br />
== Summary ==<br />
<br />
== Rationale ==<br />
<br />
== Design ==<br />
<br />
=== Document Handling ===<br />
<br />
=== User Interface ===<br />
<br />
There are three possible approaches to crafting an interface for animation. It would be best if all three were developed to some extent. <br />
* At the lowest level, animation elements can already be added using the XML editor, but the process is awkward, and there is no visible indication of the animation elements. Some scripting interface support is required, though, because one of the most important ways to control animations is via ECMA script embedded in the SVG file. <br />
* At the next layer, we'll have to provide graphical widgets in the form of a side panel/tool bar for all of the animation options. This will take some time, but it isn't a particularly difficult task, since much of the code can be modeled on existing interface panels. At the same time, someone needs to develop some visual cues that will appear in the editor window that will indicate that animations are present.<br />
* Finally, the most professional interface would abstract away as much of the SVG specific parts of the problem as possible and provide an interface that conforms to the more popular Flash animation packages. This will make it a lot easier for current Flash artists to move to SVG.<br />
<br />
An example of the third interface would be:<br />
<br />
[[Image:Layers-timeline_dialogue_v2.png]]<br />
<br />
* In this concept, the Timeline is an extension of the Layers dialogue. Each layer and group can 'open' to display the individual objects contained in it.<br />
* Instead of being based on the Flash™ timeline, which is frame-based, this one is based more on GarageBand™, which as a music editor is time-based. This is necessary as SVG animations are based on keytimes instead of frames and keyframes. However, the two are similar enough to allow an easy move from Flash™ to Inkscape.<br />
* An interpolation curve editor is also readily available, similar to the note editor in GarageBand™.<br />
* There is a drop-down menu used for selecting the viewable frames per second, used as a grid.<br />
* Selecting any keytime block would put it in 'isolation mode,' similar to what's available in Flash™ and Illustrator™. For animations nested in other animations, the animated effects applied by the one higher up (e.g. rotation) would be un-applied in isolation mode.<br />
* The Layers/Timeline dialogue would have to be able to dock to the bottom of the window, as the width (even when at its smallest size, not shown here) would be prohibitive to have on the right.<br />
* It may be possible with this design to allow separate times for each row, letting the animator compare the states of different layers/objects at separate times.<br />
<br />
Note that the Timeline is used for editing all animations in the SVG. When scripting animated events in the scripting/xml dialogue, you would use the names for the individual keytimes. Keytimes outside of the main animation could possibly be stored at negative times on the Timeline.<br />
<br />
== Deliverables ==<br />
<br />
== Discussion ==<br />
<br />
* Is the Inkscape canvas fast enough for fast animation ?<br />
* A complex UI like the timeline widget could benefit from a canvas API (e.g. goocanvas). But hey Inkscape already sports a canvas ! So does the Inkscape canvas could also be used for a custom GtkWidget ?<br />
* Keep in mind the coming [[0.47_Refactoring_Plan |refactoring effort]]<br />
* Added interface mockup. --[[User:JadeMatrix|JadeMatrix]] 16:03, 6 February 2009 (UTC)<br />
* I agree with the layout of the timeline, but the objects on the line should get speaking names. E.g. rectangle, group1, tree, house. In my opinion, there is probably no negative time on the timeline. The time always starts at zero. If not, the program has to change all times on all objects to make them fit. Offsetting them. scratch the fps-chooser. there is no fps. I don't think, that a zoom of the timeline is needed at all. It should only show the time in fractions of seconds. If the animation gets longer. E.g. 120 seconds, you have to scroll or type in the time, where you want to be. I don't think, that someone makes animations of one hour or longer? At least not with inkscape! The usual animation is about 10 seconds long. The timeline should start with representing this timespan, if possible. --[[User:VonHalenbach|SvH]] 18:02, 28 February 2009 (UTC)</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=SpecSVGAnimation&diff=47964SpecSVGAnimation2009-02-28T18:02:48Z<p>VonHalenbach: /* Discussion */</p>
<hr />
<div>specification for an initial implementation of SVG animation features.<br />
<br />
launchpad [https://blueprints.launchpad.net/inkscape/+spec/svg-animation blueprint]<br />
<br />
inkscape-devel [http://www.nabble.com/Animation-%28was%3A-Re%3A-Inkscape---GSoC-%2708-proposal%29-td15791409.html discussion]<br />
<br />
== Summary ==<br />
<br />
== Rationale ==<br />
<br />
== Design ==<br />
<br />
=== Document Handling ===<br />
<br />
=== User Interface ===<br />
<br />
There are three possible approaches to crafting an interface for animation. It would be best if all three were developed to some extent. <br />
* At the lowest level, animation elements can already be added using the XML editor, but the process is awkward, and there is no visible indication of the animation elements. Some scripting interface support is required, though, because one of the most important ways to control animations is via ECMA script embedded in the SVG file. <br />
* At the next layer, we'll have to provide graphical widgets in the form of a side panel/tool bar for all of the animation options. This will take some time, but it isn't a particularly difficult task, since much of the code can be modeled on existing interface panels. At the same time, someone needs to develop some visual cues that will appear in the editor window that will indicate that animations are present.<br />
* Finally, the most professional interface would abstract away as much of the SVG specific parts of the problem as possible and provide an interface that conforms to the more popular Flash animation packages. This will make it a lot easier for current Flash artists to move to SVG.<br />
<br />
An example of the third interface would be:<br />
<br />
[[Image:Layers-timeline_dialogue_v2.png]]<br />
<br />
* In this concept, the Timeline is an extension of the Layers dialogue. Each layer and group can 'open' to display the individual objects contained in it.<br />
* Instead of being based on the Flash™ timeline, which is frame-based, this one is based more on GarageBand™, which as a music editor is time-based. This is necessary as SVG animations are based on keytimes instead of frames and keyframes. However, the two are similar enough to allow an easy move from Flash™ to Inkscape.<br />
* An interpolation curve editor is also readily available, similar to the note editor in GarageBand™.<br />
* There is a drop-down menu used for selecting the viewable frames per second, used as a grid.<br />
* Selecting any keytime block would put it in 'isolation mode,' similar to what's available in Flash™ and Illustrator™. For animations nested in other animations, the animated effects applied by the one higher up (e.g. rotation) would be un-applied in isolation mode.<br />
* The Layers/Timeline dialogue would have to be able to dock to the bottom of the window, as the width (even when at its smallest size, not shown here) would be prohibitive to have on the right.<br />
* It may be possible with this design to allow separate times for each row, letting the animator compare the states of different layers/objects at separate times.<br />
<br />
Note that the Timeline is used for editing all animations in the SVG. When scripting animated events in the scripting/xml dialogue, you would use the names for the individual keytimes. Keytimes outside of the main animation could possibly be stored at negative times on the Timeline.<br />
<br />
== Deliverables ==<br />
<br />
== Discussion ==<br />
<br />
* Is the Inkscape canvas fast enough for fast animation ?<br />
* A complex UI like the timeline widget could benefit from a canvas API (e.g. goocanvas). But hey Inkscape already sports a canvas ! So does the Inkscape canvas could also be used for a custom GtkWidget ?<br />
* Keep in mind the coming [[0.47_Refactoring_Plan |refactoring effort]]<br />
* Added interface mockup. --[[User:JadeMatrix|JadeMatrix]] 16:03, 6 February 2009 (UTC)<br />
* I agree with the layout of the timeline, but the objects on the line should get speaking names. E.g. rectangle, group1, tree, house. In my opinion, there is probably no negative time on the timeline. The time always starts at zero. If not, the program has to change all times on all objects to make them fit. Offsetting them. --[[User:VonHalenbach|SvH]] 18:02, 28 February 2009 (UTC)</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=Animation-(Timeline)&diff=47954Animation-(Timeline)2009-02-28T17:13:16Z<p>VonHalenbach: My view on animation. A new paradigm.</p>
<hr />
<div>[[Animation|Back to main page for animation]]<br />
<br />
=== User interface for timeline-based animation ===<br />
<br />
==== Existing animation programs (Free &amp; non-Free) ====<br />
<br />
Free (or Open Source)<br />
<br />
* [[Ajax Animator]] is a FUNCTIONAL web-based (ajax) free-software clone of the flash interface, and uses a SVG based format for saving and compiling animations (http://osflash.org/ajaxanimator)<br />
* QFlash is a FUNCTIONAL free-software mock-up of the Flash 4 interface, which can import SVG files but not edit them. (http://qflash.sourceforge.net)<br />
* F4l is a non-functional free-software mock-up of the Flash 4 interface.(http://f4l.sf.net/)<br />
* [[LimSee2]] (http://wam.inrialpes.fr/software/limsee2/) is an excellent almost-free basis. (visible-source limited-use license)<br />
* Spalah Flash (http://spalah.sourceforge.net/?p=10) (not to be confused with Spalah CMS) "is a GTK2[[/GNOME2]] based application for generating Macromedia SWF and [[W3C]] SVG animations." The GUI is today minimalist but the author is trying to integrate it with inkscape. See http://spalah.sourceforge.net/?p=25<br />
* Jahshaka (http://www.jahshaka.org/) multi-platform QT animation program powered mostly by OpenGL (GPL)<br />
* Ktoon (http://ktoon.toonka.com/) is a 2D Animation Toolkit designed by animators for animators, focused to the Cartoon Industry. (GPL)<br />
* SMIL 2.1 player: http://www.cwi.nl/projects/Ambulant/distPlayer.html (GPL)<br />
* [[Synfig]] <span style="font-size:smaller">([http://www.synfig.com/ link])</span> is a film-quality 2D vector animation editor and renderer. It features image morphing between drawings and output animation that is resolution independent both visually and temporally. (GPL)<br />
* Pencil (http://www.les-stooges.org/pascal/pencil/index.php?id=Home) vector and bitmap free animation package using Qt toolkit run on Win32 (XP and works fine on wine), and MacOSX. Simple but already powerful basic animation. It uses blender like time line with multiple layers and Author plan to export SVG.<br />
* Blender3D (http://blender.org/) is a 3d (eq. vector) animation program featuring [http://wiki.blender.org/index.php/Manual/Animation_Basics key frame, motion curve, path animation] using [http://wiki.blender.org/index.php/Manual/Ipo_Curves_and_Keyframes interpolation (IPO) curve editing] combining with [http://wiki.blender.org/index.php/Manual/Shape_Keys shape keys] and [http://wiki.blender.org/index.php/Manual/Animation/Lattice_Animation deforming by a lattice] (GPL)<br />
* [http://gimp.org Gimp] the bitmap editor and it's included animation script for gif is really minimalistic and frame based<br />
* [http://gimp.org Gimp-GAP] (Gimp Animation Plugin) is a gimp plugin has some good interfaces for managing movements of objects (menu video=>movepath), layer management and apply effects along animation. A powerful onionskin management, and notions of clip/storyboard, but could be slow in complex cases and slow computers.<br />
* [http://www.thebest3d.com/dogwaffle/free/index.html PD1.2] Free program for digital painting and limited animation<br />
<br />
Non-Free (Fee Based, or Proprietary)<br />
<br />
* [[MacromediaFlash]] is a good non-Free example.<br />
* Ikivo Animator is a good non-Free example producing SVG Tiny animations (http://www.ikivo.com/animator/index.html)<br />
* Macromedia Director prior to version MX had a different interface (http://www.rice.edu/fondren/erc/howto/director.html) which I prefer(ed) over Flash<br />
* Anime Studio, formerly known as [[Moho]] (http://www.e-frontier.com/article/articleview/1913/1/793?sbss=793) a non-free example. (Written in Java.) Features skeletal animation ([http://www.e-frontier.com/article/articleview/1918/1/800?sbss=80х, unique bone rigging for 2D]) and automatic tweening of vector operations, [http://img.osnews.com/img/2547/moho4-rh.png view screenshot].<br />
* Bob Sabiston's proprietary animation software http://www.flatblackfilms.com<br />
* Powerpoint (http://office.microsoft.com) has an easy but basic interface. No flash killer, but some nice ideas.<br />
* The Tab (http://www.the-tab.com/) Another non-free example that features elegant systems for parent-child animation and a very interesting feature that is designed for pseudo-3D camera moves.<br />
* SVGDeveloper (http://www.perfectsvg.com/) is a non-free SVG authoring tool with animation support.<br />
* [http://www.tvpaint.com TV Paint] is a non-free bitmap based compositing and animation package. It works with a timeline and layers. Notable feature is the onion skin "mixer", which let's you adjust the brightness of multiple frames before and after the current one.<br />
* [http://www.toonboom.com/ Toon Boom] is a non-free vector based frame by frame animation package. It simulates a lot of the tools familiar to traditional animators, such as a dope sheet, field charts and more. Has two modes, one for drawing "cells" and one for placing them in front of a virtual camera in basic 3D space.<br />
* [http://www.thebest3d.com/ PD 2 through PD4] A series non-free programs combining various capabilities for digital painting and animation. The high end program allows creation of special effects<br />
* Mewafilm ( http://www.mewatools.com/images/curveeditor_mainwindow.png , http://www.mewatools.com/screenshots.html )<br />
<br />
==== Fantavision example ====<br />
Back in the '80's there was a program on Apple IIE (Amiga and MS-DOS too) called "Fantavision". It allowed one to create vector artwork (although I didn't understand at the time that that was what it was called) and animations. It allowed one to create frames of animation where you manually repositioned, recolored, scaled, rotated etc. the objects from one frame to the next. However, it then automatically interpolated frames between the 2 frames (the number of interpolated frames was configurable) such that it create a smooth transition of the object moving from one frame to the other. The effect was very similiar to the "Morphing" effect for raster graphics (popularized in a Michael Jackson video, I believe). That is, the system calculated the trajectory of "Key Points" of the objects from one frame to the next. This process is often called "Tweening" (a term used by Macromedia Flash). [[Sketch|Skencil]] (formerly known as [[Sketch]]) supports this functionality and describes it as "Blending".<br />
<br />
I guess what I'm saying is that I think a nice interface to create animations would be similiar. So to animate you would do the following:<br />
<br />
* Draw the initial SVG Image <br />
<br />
* Increment Frame (from say 1 to 20)<br />
<br />
* Reposition the elements in frame 20 (including scaling, color changes, adding removing objects, etc, etc, etc)<br />
<br />
* System would then calculate a trajectory for each key point from frame 1 to frame 20. Trajectories would be calculated for things like:<br />
** Each "node" of an object<br />
** Color <br />
** Transformation Matrix<br />
** etc<br />
<br />
* You could display/manipulate the trajectories (using the trajectory editor shown above by the original creator of this topic)<br />
<br />
* The system would then store the animations using SVG trajectories and the "Key Points" would be the frames you manually created<br />
<br />
:So, to create say a 100 frame animation, one might only need to manually create/modify 10 frames and the system would interpolate the additional frames as necessary.<br />
<br />
* Also, once the system interpolated frames it would allow you to manually modify the interpolated frames creating further "Key Points" and allow further refinement and interpolation.<br />
<br />
<br />
NOTE: 3D apps such as blender also use a technique like this, which I think is most widely known as "keyframe animation" or simply "keyframing". However, many such systems tie the keys too closely to actual animation frames, and this creates problems when the frames-per-second rate changes. Particularly in the case of vector apps which are not so low-level as bitmaps and animation frames, I would suggest that frames should be as abstract as possible.<br />
<br />
Having key positions in simple percentages of the total animation time might be a better solution. This would also need to be a global/local system, of course: animated objects would have their own animation time specified when inserted into a larger document. A character's walkcycle would end at 100%, but in the larger animation, it would perhaps only be 5% of the total time, yet repeating as the object moves across the screen.<br />
<br />
One issue with this abstraction of frames might be that important animation effects do not occur exactly within frames: small things could be mistimed, or simply missed altogether. If you set the frame rate too low, this would be an obvious side effect, so it's not necessarily a problem<br />
that Inkscape should try to fix. On the other hand, a few things could be done to ease this. For instance, "snapping" animation events to frames when exporting (thereby slightly altering the timing), or perhaps just warning that certain animation events are not visible at such a low frame rate.<br />
<br />
Of course, on the web, with SVG and DHTML, where most Inkscape animations will hopefully be used one day, frames are not an issue at all, and we just worry about keys in time :)<br />
<br />
ANOTHER NOTE: Interpolation does not necessarily occur along straight lines and linearly in time. Paths are already part of Inkscape, so points could move along paths; also he time-length graph can be something like a path, instead of a straight line.<br />
<br />
==== Jahshaka example ====<br />
<br />
I have used jahshaka for a small animation. This was my first real experience with animation. Thought rough, jahshaka is all about key frames and setting properties for those key frames.<br />
<br />
Things I liked<br />
<br />
* Key frames are on a per object basis<br />
* When an object is selected you can quickly move from one key frame to another<br />
* properties values for rotation can span beyond 0 and 360, permetting to set three or more complete rotation with too key frame. I think this kind of feature could be used for all bounded values (like color, transparency and so on). Is this compatible with SVG or should it be an artifact ?<br />
* representation of properties values on a time line graph. This functionnality was still not very usable, but being to interact through that kind of object could be very useful (see below)<br />
<br />
Things that lacks (and Inkscape shall have)<br />
<br />
* possibility to copy animation properties from one object to another (say copy color animation, or whole animation)<br />
* possibility to modify a property value for all key frames at once (eg. translation of object for all key frames or a selcted group). I think this could happen through the value = f(time) graph metioned above. You could select points (representing keyframes) and move them up (more), down (less), right (sooner). This graph could be organised by properties set (color, position). I think this kind of graph would be very close to SVG animations tag.<br />
* macro that helps sets common effects (like blinking for example, or crossing the screen....)<br />
<br />
==== Bob Sabiston Example ====<br />
Bob Sabiston's animation software is an amazing vector-based package that stores line width within the points that make up a line -- derived from a tablet pen. usually in a simple stroke there could be a hundred data points storing width information. Then in the next keyframe, a line from a previous key is selected and re-drawn restricted to the same number of points. The software allow sthe points to be "repositioned" as you watch their previous locations be re-positioned. When you run out, the line ends automatically. This information is interpolated in tweening frames to change shape, width, position, but retains the same number of data-points. See the film "Waking Life" for the making-of video for a demonstration. Also visit his website for examples of it's capabilities converted to flash. http://www.flatblackfilms.com<br />
<br />
==== Other thoughts ====<br />
<br />
Suggestion from someone else: working like [[CinePaint]] (compared with Gimp), with each frame independently from each svg document (working like this or providing this feature) - providing vectorial edition quality we can't get on apps like Macromedia Flash or any other (maybe [[ToonBoom]] or Moho) - allowing us to make our work fast publish without further lack of quality.<br />
(One more suggestion about it: being able to convert .swf to .svg sequence (or animated .sgv) and vice versa.)<br />
<br />
It is suggested that there be basically two modes: Local (Object) mode and Global mode. Below is a picture showing a very rough design of the local mode:<br />
<br />
http://www.inkscape.org/wiki_uploads/anim_gui1.png<br />
<br />
In local modes, all properties of the object editing will be shown on a timeline, and one can create and edit frame within the timeline. Then one may assign different value of that properties on different timeline, or make it change linearly, or nonlinearly :)<br />
<br />
----<br />
<br />
Animation support in Inkscape offers great new opportunities. Here are some points that I think are important to keep in mind when adding animation to the GUI:<br />
<br />
* ''Originality''<br>Don't do as other do - except it's the best way.<br />
* ''Simplicity''<br>Animation should not stand in the way of the user. Only show as much as necessary to perform a certain task, and do things in the most natural way.<br />
* ''SVG-Orientation''<br>SVG animation is different in some ways. The UI should reflect this, and not reassemble concepts of tools that just work differently. E.g.,<br />
** SMIL animation has no concept of frames. So we don't need a frame-based timeline, but a time-based one.<br />
** SMIL animation in general is to animation what vector graphics is to graphics: It's declarative and object oriented. So one doesn't animate a scene, one animates objects on a scene, etc.<br />
* ''Coherence''<br>The animation UI should reassemble concepts that Inkscape users are already familiar with:<br />
** Animation timelines can in some contexts be treated as paths that one can add points to (keyTimes). Or one can control animation timing with splines (keySplines).<br />
<br />
I composed a mockup that reflects the above mentioned characteristics to some extend:<br />
http://www.uni-bremen.de/~felwert/inkscape/Animation01.html<br />
<br />
==== Powerpoint Example ====<br />
You select an object and add types of animation. These are listed in the custom animation pane. They can be set to occur all at once, one at a time, onclick, with previous or after previous. A number appears next to each object in the editing window when the object has animation applied to it, representing the sequence of the animations. When an object has an Entrance type animation added to it as the first animation, it will not appear on screen until the timeline reaches this point. animations can be linked together to create quite complicated sequences.<br />
<br />
==== Onion Skinning ====<br />
Onion skinning is a standard animator tool, previous or next frames (sometime both) are displayed under the current frame with differrent color, or less contrast, allowing to understand wich drawing the animator is actually working on, and wich frame is 1 step or 2 step before or after the actual frame.<br />
<br />
This can easily be implemented using transparency parameter of layer, and automatize selection of layers to be displayed, parameters following a specialized gui entries.<br />
<br />
Onionskin in gimp-GAP is a good example of what should be a minimal requirement. that is managin backword, forward and both direction onion skin, with variable visiblity increase decrease. Color changes on onionskinning could be another useful option to increase visiblity of different frames, as generally the onionskinning is done at the sketching animation step (meaning mostly grey or black & white drawing)<br />
<br />
[http://en.wikipedia.org/wiki/Onion-skinning Onion skinning on wikipedia].<br />
<br />
==== Interactive ====<br />
I have started using svg to develop interactive displays. Having used several other svg tools currently on the market, I am interested in a more generic implementation that doesn't have animation effects get in the way of interactive controls. <br />
<br />
<br />
==== Playback of Construction Steps ====<br />
We, at [http://www.classapart.org Class Apart] ( www.classapart.org ), plan to use Inkscape in a manner similar to the classroom whitebord to create taught lectures and record the screen in an mpeg movie. The problem is that raster based formats would take about 50 MB for an hour of content, and does not go very well with our unstated goal of getting a whole course on a cd or all courses of a semester on one dvd. It would be great if we could store the construction steps of the svg keyed against time while recording. Then while playback we can patch the svg dom with the steps as needed, using something similar to smil script. How does one go about implementing this? We could find some members willing to implement.<br />
<br />
<br />
==== Using Bones ====<br />
Anime Studio (and all 3D animation software) uses bones to animate with. In Anime Studio you draw up a basic skeleton and then attach the drawing to the bones This is done automatically based on the distance between the bone and the points on the curve. You can then move, rotate or scale the bones to animate the characters. You can store these values per frame, and have the computer interpolate them. This is a much faster way to work than to interpolate the points on the drawing directly. 3D software is probably a better reference here than Anime Studio. Usefull features include:<br />
* Weighting of individual points to bones<br />
* Combining tweening and frame by frame animation. To create replaceable mouths, rotating heads and more. <br />
* Inverse kinematics, to speed up animation. With it you can grab the hand of a character and have the arm follow, rather than rotate the upper arm and lower arm separately to move the hand.<br />
* Constraining. Making one bone follow another, limiting the movement of a bone and so on.<br />
* Graph/Curve editor. A time based editor with b-splines representing the individual move, rotate and scale transformations. This gives the animator great control over the animation.<br />
<br />
==== Drawing Frames ====<br />
Toon Boom, Plastic Animation Paper, TV Paint, Animo and traditional 2D animation on paper, all use individual drawings per frame. This gives you by far the best control when doing character animation, but at the cost of a lot of work. Features that are needed for traditional 2D animation to work well include:<br />
* Onion skinning, preferably multiple levels back and forward and adjustable transparency.<br />
* Dope sheet or timeline where you can move frames back and forth and repeat/hold frames.<br />
* Cut-outs, where you move a whole or part of a frame to a different position for tracing on another frame.<br />
* Some way to do rough sketching. Plastic Animation Paper is a good example here, though it's bit map based. With a tablet it gives you pencil like feel when drawing, giving darker lines the harder you press. This helps the animator "find the line". It should be possible to do in vectors if using a central line that stores the pressure along each point (width and/or opacity), rather than an outline.<br />
Combining tweening animation and frame by frame animation can in many cases give the best results.<br />
<br />
==== SMIL Animation (SVG Animation) vs SMIL Timing and Sync ====<br />
What should the scope of Inkscape's animation capabilities be?<br />
Many people are talking about mimicking other software's ability to do frame-by-frame animation and cartoon animation (particularly Flash's).<br />
<br />
SVG inherits from [http://www.w3.org/TR/2005/REC-SMIL2-20051213/animation.html SMIL's "Animation" module], with a [http://www.w3.org/TR/SVG11/animate.html#RelationshipToSMILAnimation few added animation controls] for animating a path, transform, or animating along a path.<br />
<br />
SMIL's animation module however does not provide for elements to begin or end, although we can fake this by having elements initially invisible, and animating their visibility to 'true' during their lifespan.<br />
<br />
While this may be feasible for a few long animations (ie, scenes), will it work for someone attempting to do traditional 2D (even Flash-style) animation? Said hypothetical user, while they may take some advantage of shape and motion tweens, will also likely need to replace the entire drawing when elements of the drawing (characters et al) change their logical structure (a motion requiring a line to appear or disappear). If this is to be supported, Inkscape will need some VERY fast code for switching visibility on-and-off during previewing, as it may be considering the visibility of hundreds if not thousands of graphic elements at a time, to over a dozen times per timeline-second.<br />
<br />
Will other SVG viewers be able to handle that, too, or is it a special use of SVG that's not central to the aim of Inkscape?<br />
<br />
[http://www.w3.org/TR/2005/REC-SMIL2-20051213/smil-timing.html SMIL's "Timing and Synchronization" module] supports elements that allow for massive numbers of sequential images or animation elements, as well as defining animation attributes for begin/end/duration timelines. While it's not part of the SVG spec, would this be something Inkscape should look into implementing, or even proposing as an addition in a revision of the SVG spec?<br />
<br />
<br />
==== A new idea I think ====<br />
I can't let go of an idea I'll try to explain as clearly as possible. How about having Inkscape calculate frames in a certain resolution (say 1 to 28 a second) and depth (number of frames displayed) and displaying a number of subsequent frames in over or underlay (transparancy is possible, but eats time) with fading outline colours to depict passing time.<br />
<br />
You set either the framerate (calculated) and begin and end frame in time, or select from begin and end instances of an animate. Alternatively, selecting paths from a list and showing all objects following that path. That way you could (if hardware allows) browse through your animation and look for hiccups in its motion.<br />
<br />
The same interface depicting frame number could be used to display page numbers in a multi page document. Would be nice in combination with an object manager similar to Coreldraws, enabling to select an object in either defs and see what happens to it in the animation, a path or all USE, XLINK etc.<br />
<br />
Using some shifting switch to go forward and backwards in time to follow your animation (or mouse gesture, but button press would be more useful). That way you have a direct interaction with the user and the document.<br />
[[Category:Developer Discussion]]<br />
<br />
::I strongly disagree with a model, that bases on frames. SVG is and should be only time-dependent. Start-duration-end. --[[User:VonHalenbach|SvH]] 16:41, 28 February 2009 (UTC)<br />
<br />
====Custom Keytime-based Timeline====<br />
<br />
Not based on frames at all, although the ability to select a frames-per-second setting allows for a grid that could be used to emulate frame-based animation. I posted the concept along with a mockup on the [[SpecSVGAnimation]] page. ("An example of the third..." to the end of that section)<br />
--[[User:JadeMatrix|JadeMatrix]] 16:32, 6 February 2009 (UTC)<br />
<br />
::In the animation, frames are of no use. You only edit the moving objects in time and when you are ready, you let it render into a number of frames or define, how much frames per second you need. But that is all after the file is saved as svg. Then the rendering can start. Construction and rendering are two different things, which we don't want to mix up in this process. --[[User:VonHalenbach|SvH]] 16:49, 28 February 2009 (UTC)<br />
<br />
== SVG-animation THE object-oriented approach to animation ==<br />
SVG-animation is compared to a framebased movieeditor like comparing turbo pascal with c++. These are two different worlds or paradigms. You have to relearn your language, because you have to forget to think in frames. Every object, Line, Rectangle, Path has his own time and space. You could move everything on one single path or give every object a different path to move on. Or you could change the size or its color over time. SVG-animation is designed to get animation on mobile devices. Inkscape should focus on those for animation. We certainly need a global-timeline, on which all animated things get a colored representation (a color bar for each object) of their movement in time. There are already programs to render animated svg into a number of png's or animated png. Inkscape must only be conformant to the svg-standard. --[[User:VonHalenbach|SvH]] 17:13, 28 February 2009 (UTC)</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=Animation-(Timeline)&diff=47944Animation-(Timeline)2009-02-28T16:49:53Z<p>VonHalenbach: /* Custom Keytime-based Timeline */</p>
<hr />
<div>[[Animation|Back to main page for animation]]<br />
<br />
=== User interface for timeline-based animation ===<br />
<br />
==== Existing animation programs (Free &amp; non-Free) ====<br />
<br />
Free (or Open Source)<br />
<br />
* [[Ajax Animator]] is a FUNCTIONAL web-based (ajax) free-software clone of the flash interface, and uses a SVG based format for saving and compiling animations (http://osflash.org/ajaxanimator)<br />
* QFlash is a FUNCTIONAL free-software mock-up of the Flash 4 interface, which can import SVG files but not edit them. (http://qflash.sourceforge.net)<br />
* F4l is a non-functional free-software mock-up of the Flash 4 interface.(http://f4l.sf.net/)<br />
* [[LimSee2]] (http://wam.inrialpes.fr/software/limsee2/) is an excellent almost-free basis. (visible-source limited-use license)<br />
* Spalah Flash (http://spalah.sourceforge.net/?p=10) (not to be confused with Spalah CMS) "is a GTK2[[/GNOME2]] based application for generating Macromedia SWF and [[W3C]] SVG animations." The GUI is today minimalist but the author is trying to integrate it with inkscape. See http://spalah.sourceforge.net/?p=25<br />
* Jahshaka (http://www.jahshaka.org/) multi-platform QT animation program powered mostly by OpenGL (GPL)<br />
* Ktoon (http://ktoon.toonka.com/) is a 2D Animation Toolkit designed by animators for animators, focused to the Cartoon Industry. (GPL)<br />
* SMIL 2.1 player: http://www.cwi.nl/projects/Ambulant/distPlayer.html (GPL)<br />
* [[Synfig]] <span style="font-size:smaller">([http://www.synfig.com/ link])</span> is a film-quality 2D vector animation editor and renderer. It features image morphing between drawings and output animation that is resolution independent both visually and temporally. (GPL)<br />
* Pencil (http://www.les-stooges.org/pascal/pencil/index.php?id=Home) vector and bitmap free animation package using Qt toolkit run on Win32 (XP and works fine on wine), and MacOSX. Simple but already powerful basic animation. It uses blender like time line with multiple layers and Author plan to export SVG.<br />
* Blender3D (http://blender.org/) is a 3d (eq. vector) animation program featuring [http://wiki.blender.org/index.php/Manual/Animation_Basics key frame, motion curve, path animation] using [http://wiki.blender.org/index.php/Manual/Ipo_Curves_and_Keyframes interpolation (IPO) curve editing] combining with [http://wiki.blender.org/index.php/Manual/Shape_Keys shape keys] and [http://wiki.blender.org/index.php/Manual/Animation/Lattice_Animation deforming by a lattice] (GPL)<br />
* [http://gimp.org Gimp] the bitmap editor and it's included animation script for gif is really minimalistic and frame based<br />
* [http://gimp.org Gimp-GAP] (Gimp Animation Plugin) is a gimp plugin has some good interfaces for managing movements of objects (menu video=>movepath), layer management and apply effects along animation. A powerful onionskin management, and notions of clip/storyboard, but could be slow in complex cases and slow computers.<br />
* [http://www.thebest3d.com/dogwaffle/free/index.html PD1.2] Free program for digital painting and limited animation<br />
<br />
Non-Free (Fee Based, or Proprietary)<br />
<br />
* [[MacromediaFlash]] is a good non-Free example.<br />
* Ikivo Animator is a good non-Free example producing SVG Tiny animations (http://www.ikivo.com/animator/index.html)<br />
* Macromedia Director prior to version MX had a different interface (http://www.rice.edu/fondren/erc/howto/director.html) which I prefer(ed) over Flash<br />
* Anime Studio, formerly known as [[Moho]] (http://www.e-frontier.com/article/articleview/1913/1/793?sbss=793) a non-free example. (Written in Java.) Features skeletal animation ([http://www.e-frontier.com/article/articleview/1918/1/800?sbss=80х, unique bone rigging for 2D]) and automatic tweening of vector operations, [http://img.osnews.com/img/2547/moho4-rh.png view screenshot].<br />
* Bob Sabiston's proprietary animation software http://www.flatblackfilms.com<br />
* Powerpoint (http://office.microsoft.com) has an easy but basic interface. No flash killer, but some nice ideas.<br />
* The Tab (http://www.the-tab.com/) Another non-free example that features elegant systems for parent-child animation and a very interesting feature that is designed for pseudo-3D camera moves.<br />
* SVGDeveloper (http://www.perfectsvg.com/) is a non-free SVG authoring tool with animation support.<br />
* [http://www.tvpaint.com TV Paint] is a non-free bitmap based compositing and animation package. It works with a timeline and layers. Notable feature is the onion skin "mixer", which let's you adjust the brightness of multiple frames before and after the current one.<br />
* [http://www.toonboom.com/ Toon Boom] is a non-free vector based frame by frame animation package. It simulates a lot of the tools familiar to traditional animators, such as a dope sheet, field charts and more. Has two modes, one for drawing "cells" and one for placing them in front of a virtual camera in basic 3D space.<br />
* [http://www.thebest3d.com/ PD 2 through PD4] A series non-free programs combining various capabilities for digital painting and animation. The high end program allows creation of special effects<br />
* Mewafilm ( http://www.mewatools.com/images/curveeditor_mainwindow.png , http://www.mewatools.com/screenshots.html )<br />
<br />
==== Fantavision example ====<br />
Back in the '80's there was a program on Apple IIE (Amiga and MS-DOS too) called "Fantavision". It allowed one to create vector artwork (although I didn't understand at the time that that was what it was called) and animations. It allowed one to create frames of animation where you manually repositioned, recolored, scaled, rotated etc. the objects from one frame to the next. However, it then automatically interpolated frames between the 2 frames (the number of interpolated frames was configurable) such that it create a smooth transition of the object moving from one frame to the other. The effect was very similiar to the "Morphing" effect for raster graphics (popularized in a Michael Jackson video, I believe). That is, the system calculated the trajectory of "Key Points" of the objects from one frame to the next. This process is often called "Tweening" (a term used by Macromedia Flash). [[Sketch|Skencil]] (formerly known as [[Sketch]]) supports this functionality and describes it as "Blending".<br />
<br />
I guess what I'm saying is that I think a nice interface to create animations would be similiar. So to animate you would do the following:<br />
<br />
* Draw the initial SVG Image <br />
<br />
* Increment Frame (from say 1 to 20)<br />
<br />
* Reposition the elements in frame 20 (including scaling, color changes, adding removing objects, etc, etc, etc)<br />
<br />
* System would then calculate a trajectory for each key point from frame 1 to frame 20. Trajectories would be calculated for things like:<br />
** Each "node" of an object<br />
** Color <br />
** Transformation Matrix<br />
** etc<br />
<br />
* You could display/manipulate the trajectories (using the trajectory editor shown above by the original creator of this topic)<br />
<br />
* The system would then store the animations using SVG trajectories and the "Key Points" would be the frames you manually created<br />
<br />
:So, to create say a 100 frame animation, one might only need to manually create/modify 10 frames and the system would interpolate the additional frames as necessary.<br />
<br />
* Also, once the system interpolated frames it would allow you to manually modify the interpolated frames creating further "Key Points" and allow further refinement and interpolation.<br />
<br />
<br />
NOTE: 3D apps such as blender also use a technique like this, which I think is most widely known as "keyframe animation" or simply "keyframing". However, many such systems tie the keys too closely to actual animation frames, and this creates problems when the frames-per-second rate changes. Particularly in the case of vector apps which are not so low-level as bitmaps and animation frames, I would suggest that frames should be as abstract as possible.<br />
<br />
Having key positions in simple percentages of the total animation time might be a better solution. This would also need to be a global/local system, of course: animated objects would have their own animation time specified when inserted into a larger document. A character's walkcycle would end at 100%, but in the larger animation, it would perhaps only be 5% of the total time, yet repeating as the object moves across the screen.<br />
<br />
One issue with this abstraction of frames might be that important animation effects do not occur exactly within frames: small things could be mistimed, or simply missed altogether. If you set the frame rate too low, this would be an obvious side effect, so it's not necessarily a problem<br />
that Inkscape should try to fix. On the other hand, a few things could be done to ease this. For instance, "snapping" animation events to frames when exporting (thereby slightly altering the timing), or perhaps just warning that certain animation events are not visible at such a low frame rate.<br />
<br />
Of course, on the web, with SVG and DHTML, where most Inkscape animations will hopefully be used one day, frames are not an issue at all, and we just worry about keys in time :)<br />
<br />
ANOTHER NOTE: Interpolation does not necessarily occur along straight lines and linearly in time. Paths are already part of Inkscape, so points could move along paths; also he time-length graph can be something like a path, instead of a straight line.<br />
<br />
==== Jahshaka example ====<br />
<br />
I have used jahshaka for a small animation. This was my first real experience with animation. Thought rough, jahshaka is all about key frames and setting properties for those key frames.<br />
<br />
Things I liked<br />
<br />
* Key frames are on a per object basis<br />
* When an object is selected you can quickly move from one key frame to another<br />
* properties values for rotation can span beyond 0 and 360, permetting to set three or more complete rotation with too key frame. I think this kind of feature could be used for all bounded values (like color, transparency and so on). Is this compatible with SVG or should it be an artifact ?<br />
* representation of properties values on a time line graph. This functionnality was still not very usable, but being to interact through that kind of object could be very useful (see below)<br />
<br />
Things that lacks (and Inkscape shall have)<br />
<br />
* possibility to copy animation properties from one object to another (say copy color animation, or whole animation)<br />
* possibility to modify a property value for all key frames at once (eg. translation of object for all key frames or a selcted group). I think this could happen through the value = f(time) graph metioned above. You could select points (representing keyframes) and move them up (more), down (less), right (sooner). This graph could be organised by properties set (color, position). I think this kind of graph would be very close to SVG animations tag.<br />
* macro that helps sets common effects (like blinking for example, or crossing the screen....)<br />
<br />
==== Bob Sabiston Example ====<br />
Bob Sabiston's animation software is an amazing vector-based package that stores line width within the points that make up a line -- derived from a tablet pen. usually in a simple stroke there could be a hundred data points storing width information. Then in the next keyframe, a line from a previous key is selected and re-drawn restricted to the same number of points. The software allow sthe points to be "repositioned" as you watch their previous locations be re-positioned. When you run out, the line ends automatically. This information is interpolated in tweening frames to change shape, width, position, but retains the same number of data-points. See the film "Waking Life" for the making-of video for a demonstration. Also visit his website for examples of it's capabilities converted to flash. http://www.flatblackfilms.com<br />
<br />
==== Other thoughts ====<br />
<br />
Suggestion from someone else: working like [[CinePaint]] (compared with Gimp), with each frame independently from each svg document (working like this or providing this feature) - providing vectorial edition quality we can't get on apps like Macromedia Flash or any other (maybe [[ToonBoom]] or Moho) - allowing us to make our work fast publish without further lack of quality.<br />
(One more suggestion about it: being able to convert .swf to .svg sequence (or animated .sgv) and vice versa.)<br />
<br />
It is suggested that there be basically two modes: Local (Object) mode and Global mode. Below is a picture showing a very rough design of the local mode:<br />
<br />
http://www.inkscape.org/wiki_uploads/anim_gui1.png<br />
<br />
In local modes, all properties of the object editing will be shown on a timeline, and one can create and edit frame within the timeline. Then one may assign different value of that properties on different timeline, or make it change linearly, or nonlinearly :)<br />
<br />
----<br />
<br />
Animation support in Inkscape offers great new opportunities. Here are some points that I think are important to keep in mind when adding animation to the GUI:<br />
<br />
* ''Originality''<br>Don't do as other do - except it's the best way.<br />
* ''Simplicity''<br>Animation should not stand in the way of the user. Only show as much as necessary to perform a certain task, and do things in the most natural way.<br />
* ''SVG-Orientation''<br>SVG animation is different in some ways. The UI should reflect this, and not reassemble concepts of tools that just work differently. E.g.,<br />
** SMIL animation has no concept of frames. So we don't need a frame-based timeline, but a time-based one.<br />
** SMIL animation in general is to animation what vector graphics is to graphics: It's declarative and object oriented. So one doesn't animate a scene, one animates objects on a scene, etc.<br />
* ''Coherence''<br>The animation UI should reassemble concepts that Inkscape users are already familiar with:<br />
** Animation timelines can in some contexts be treated as paths that one can add points to (keyTimes). Or one can control animation timing with splines (keySplines).<br />
<br />
I composed a mockup that reflects the above mentioned characteristics to some extend:<br />
http://www.uni-bremen.de/~felwert/inkscape/Animation01.html<br />
<br />
==== Powerpoint Example ====<br />
You select an object and add types of animation. These are listed in the custom animation pane. They can be set to occur all at once, one at a time, onclick, with previous or after previous. A number appears next to each object in the editing window when the object has animation applied to it, representing the sequence of the animations. When an object has an Entrance type animation added to it as the first animation, it will not appear on screen until the timeline reaches this point. animations can be linked together to create quite complicated sequences.<br />
<br />
==== Onion Skinning ====<br />
Onion skinning is a standard animator tool, previous or next frames (sometime both) are displayed under the current frame with differrent color, or less contrast, allowing to understand wich drawing the animator is actually working on, and wich frame is 1 step or 2 step before or after the actual frame.<br />
<br />
This can easily be implemented using transparency parameter of layer, and automatize selection of layers to be displayed, parameters following a specialized gui entries.<br />
<br />
Onionskin in gimp-GAP is a good example of what should be a minimal requirement. that is managin backword, forward and both direction onion skin, with variable visiblity increase decrease. Color changes on onionskinning could be another useful option to increase visiblity of different frames, as generally the onionskinning is done at the sketching animation step (meaning mostly grey or black & white drawing)<br />
<br />
[http://en.wikipedia.org/wiki/Onion-skinning Onion skinning on wikipedia].<br />
<br />
==== Interactive ====<br />
I have started using svg to develop interactive displays. Having used several other svg tools currently on the market, I am interested in a more generic implementation that doesn't have animation effects get in the way of interactive controls. <br />
<br />
<br />
==== Playback of Construction Steps ====<br />
We, at [http://www.classapart.org Class Apart] ( www.classapart.org ), plan to use Inkscape in a manner similar to the classroom whitebord to create taught lectures and record the screen in an mpeg movie. The problem is that raster based formats would take about 50 MB for an hour of content, and does not go very well with our unstated goal of getting a whole course on a cd or all courses of a semester on one dvd. It would be great if we could store the construction steps of the svg keyed against time while recording. Then while playback we can patch the svg dom with the steps as needed, using something similar to smil script. How does one go about implementing this? We could find some members willing to implement.<br />
<br />
<br />
==== Using Bones ====<br />
Anime Studio (and all 3D animation software) uses bones to animate with. In Anime Studio you draw up a basic skeleton and then attach the drawing to the bones This is done automatically based on the distance between the bone and the points on the curve. You can then move, rotate or scale the bones to animate the characters. You can store these values per frame, and have the computer interpolate them. This is a much faster way to work than to interpolate the points on the drawing directly. 3D software is probably a better reference here than Anime Studio. Usefull features include:<br />
* Weighting of individual points to bones<br />
* Combining tweening and frame by frame animation. To create replaceable mouths, rotating heads and more. <br />
* Inverse kinematics, to speed up animation. With it you can grab the hand of a character and have the arm follow, rather than rotate the upper arm and lower arm separately to move the hand.<br />
* Constraining. Making one bone follow another, limiting the movement of a bone and so on.<br />
* Graph/Curve editor. A time based editor with b-splines representing the individual move, rotate and scale transformations. This gives the animator great control over the animation.<br />
<br />
==== Drawing Frames ====<br />
Toon Boom, Plastic Animation Paper, TV Paint, Animo and traditional 2D animation on paper, all use individual drawings per frame. This gives you by far the best control when doing character animation, but at the cost of a lot of work. Features that are needed for traditional 2D animation to work well include:<br />
* Onion skinning, preferably multiple levels back and forward and adjustable transparency.<br />
* Dope sheet or timeline where you can move frames back and forth and repeat/hold frames.<br />
* Cut-outs, where you move a whole or part of a frame to a different position for tracing on another frame.<br />
* Some way to do rough sketching. Plastic Animation Paper is a good example here, though it's bit map based. With a tablet it gives you pencil like feel when drawing, giving darker lines the harder you press. This helps the animator "find the line". It should be possible to do in vectors if using a central line that stores the pressure along each point (width and/or opacity), rather than an outline.<br />
Combining tweening animation and frame by frame animation can in many cases give the best results.<br />
<br />
==== SMIL Animation (SVG Animation) vs SMIL Timing and Sync ====<br />
What should the scope of Inkscape's animation capabilities be?<br />
Many people are talking about mimicking other software's ability to do frame-by-frame animation and cartoon animation (particularly Flash's).<br />
<br />
SVG inherits from [http://www.w3.org/TR/2005/REC-SMIL2-20051213/animation.html SMIL's "Animation" module], with a [http://www.w3.org/TR/SVG11/animate.html#RelationshipToSMILAnimation few added animation controls] for animating a path, transform, or animating along a path.<br />
<br />
SMIL's animation module however does not provide for elements to begin or end, although we can fake this by having elements initially invisible, and animating their visibility to 'true' during their lifespan.<br />
<br />
While this may be feasible for a few long animations (ie, scenes), will it work for someone attempting to do traditional 2D (even Flash-style) animation? Said hypothetical user, while they may take some advantage of shape and motion tweens, will also likely need to replace the entire drawing when elements of the drawing (characters et al) change their logical structure (a motion requiring a line to appear or disappear). If this is to be supported, Inkscape will need some VERY fast code for switching visibility on-and-off during previewing, as it may be considering the visibility of hundreds if not thousands of graphic elements at a time, to over a dozen times per timeline-second.<br />
<br />
Will other SVG viewers be able to handle that, too, or is it a special use of SVG that's not central to the aim of Inkscape?<br />
<br />
[http://www.w3.org/TR/2005/REC-SMIL2-20051213/smil-timing.html SMIL's "Timing and Synchronization" module] supports elements that allow for massive numbers of sequential images or animation elements, as well as defining animation attributes for begin/end/duration timelines. While it's not part of the SVG spec, would this be something Inkscape should look into implementing, or even proposing as an addition in a revision of the SVG spec?<br />
<br />
<br />
==== A new idea I think ====<br />
I can't let go of an idea I'll try to explain as clearly as possible. How about having Inkscape calculate frames in a certain resolution (say 1 to 28 a second) and depth (number of frames displayed) and displaying a number of subsequent frames in over or underlay (transparancy is possible, but eats time) with fading outline colours to depict passing time.<br />
<br />
You set either the framerate (calculated) and begin and end frame in time, or select from begin and end instances of an animate. Alternatively, selecting paths from a list and showing all objects following that path. That way you could (if hardware allows) browse through your animation and look for hiccups in its motion.<br />
<br />
The same interface depicting frame number could be used to display page numbers in a multi page document. Would be nice in combination with an object manager similar to Coreldraws, enabling to select an object in either defs and see what happens to it in the animation, a path or all USE, XLINK etc.<br />
<br />
Using some shifting switch to go forward and backwards in time to follow your animation (or mouse gesture, but button press would be more useful). That way you have a direct interaction with the user and the document.<br />
[[Category:Developer Discussion]]<br />
<br />
::I strongly disagree with a model, that bases on frames. SVG is and should be only time-dependent. Start-duration-end. --[[User:VonHalenbach|SvH]] 16:41, 28 February 2009 (UTC)<br />
<br />
====Custom Keytime-based Timeline====<br />
<br />
Not based on frames at all, although the ability to select a frames-per-second setting allows for a grid that could be used to emulate frame-based animation. I posted the concept along with a mockup on the [[SpecSVGAnimation]] page. ("An example of the third..." to the end of that section)<br />
--[[User:JadeMatrix|JadeMatrix]] 16:32, 6 February 2009 (UTC)<br />
<br />
::In the animation, frames are of no use. You only edit the moving objects in time and when you are ready, you let it render into a number of frames or define, how much frames per second you need. But that is all after the file is saved as svg. Then the rendering can start. Construction and rendering are two different things, which we don't want to mix up in this process. --[[User:VonHalenbach|SvH]] 16:49, 28 February 2009 (UTC)</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=Animation-(Timeline)&diff=47934Animation-(Timeline)2009-02-28T16:41:27Z<p>VonHalenbach: /* A new idea I think */</p>
<hr />
<div>[[Animation|Back to main page for animation]]<br />
<br />
=== User interface for timeline-based animation ===<br />
<br />
==== Existing animation programs (Free &amp; non-Free) ====<br />
<br />
Free (or Open Source)<br />
<br />
* [[Ajax Animator]] is a FUNCTIONAL web-based (ajax) free-software clone of the flash interface, and uses a SVG based format for saving and compiling animations (http://osflash.org/ajaxanimator)<br />
* QFlash is a FUNCTIONAL free-software mock-up of the Flash 4 interface, which can import SVG files but not edit them. (http://qflash.sourceforge.net)<br />
* F4l is a non-functional free-software mock-up of the Flash 4 interface.(http://f4l.sf.net/)<br />
* [[LimSee2]] (http://wam.inrialpes.fr/software/limsee2/) is an excellent almost-free basis. (visible-source limited-use license)<br />
* Spalah Flash (http://spalah.sourceforge.net/?p=10) (not to be confused with Spalah CMS) "is a GTK2[[/GNOME2]] based application for generating Macromedia SWF and [[W3C]] SVG animations." The GUI is today minimalist but the author is trying to integrate it with inkscape. See http://spalah.sourceforge.net/?p=25<br />
* Jahshaka (http://www.jahshaka.org/) multi-platform QT animation program powered mostly by OpenGL (GPL)<br />
* Ktoon (http://ktoon.toonka.com/) is a 2D Animation Toolkit designed by animators for animators, focused to the Cartoon Industry. (GPL)<br />
* SMIL 2.1 player: http://www.cwi.nl/projects/Ambulant/distPlayer.html (GPL)<br />
* [[Synfig]] <span style="font-size:smaller">([http://www.synfig.com/ link])</span> is a film-quality 2D vector animation editor and renderer. It features image morphing between drawings and output animation that is resolution independent both visually and temporally. (GPL)<br />
* Pencil (http://www.les-stooges.org/pascal/pencil/index.php?id=Home) vector and bitmap free animation package using Qt toolkit run on Win32 (XP and works fine on wine), and MacOSX. Simple but already powerful basic animation. It uses blender like time line with multiple layers and Author plan to export SVG.<br />
* Blender3D (http://blender.org/) is a 3d (eq. vector) animation program featuring [http://wiki.blender.org/index.php/Manual/Animation_Basics key frame, motion curve, path animation] using [http://wiki.blender.org/index.php/Manual/Ipo_Curves_and_Keyframes interpolation (IPO) curve editing] combining with [http://wiki.blender.org/index.php/Manual/Shape_Keys shape keys] and [http://wiki.blender.org/index.php/Manual/Animation/Lattice_Animation deforming by a lattice] (GPL)<br />
* [http://gimp.org Gimp] the bitmap editor and it's included animation script for gif is really minimalistic and frame based<br />
* [http://gimp.org Gimp-GAP] (Gimp Animation Plugin) is a gimp plugin has some good interfaces for managing movements of objects (menu video=>movepath), layer management and apply effects along animation. A powerful onionskin management, and notions of clip/storyboard, but could be slow in complex cases and slow computers.<br />
* [http://www.thebest3d.com/dogwaffle/free/index.html PD1.2] Free program for digital painting and limited animation<br />
<br />
Non-Free (Fee Based, or Proprietary)<br />
<br />
* [[MacromediaFlash]] is a good non-Free example.<br />
* Ikivo Animator is a good non-Free example producing SVG Tiny animations (http://www.ikivo.com/animator/index.html)<br />
* Macromedia Director prior to version MX had a different interface (http://www.rice.edu/fondren/erc/howto/director.html) which I prefer(ed) over Flash<br />
* Anime Studio, formerly known as [[Moho]] (http://www.e-frontier.com/article/articleview/1913/1/793?sbss=793) a non-free example. (Written in Java.) Features skeletal animation ([http://www.e-frontier.com/article/articleview/1918/1/800?sbss=80х, unique bone rigging for 2D]) and automatic tweening of vector operations, [http://img.osnews.com/img/2547/moho4-rh.png view screenshot].<br />
* Bob Sabiston's proprietary animation software http://www.flatblackfilms.com<br />
* Powerpoint (http://office.microsoft.com) has an easy but basic interface. No flash killer, but some nice ideas.<br />
* The Tab (http://www.the-tab.com/) Another non-free example that features elegant systems for parent-child animation and a very interesting feature that is designed for pseudo-3D camera moves.<br />
* SVGDeveloper (http://www.perfectsvg.com/) is a non-free SVG authoring tool with animation support.<br />
* [http://www.tvpaint.com TV Paint] is a non-free bitmap based compositing and animation package. It works with a timeline and layers. Notable feature is the onion skin "mixer", which let's you adjust the brightness of multiple frames before and after the current one.<br />
* [http://www.toonboom.com/ Toon Boom] is a non-free vector based frame by frame animation package. It simulates a lot of the tools familiar to traditional animators, such as a dope sheet, field charts and more. Has two modes, one for drawing "cells" and one for placing them in front of a virtual camera in basic 3D space.<br />
* [http://www.thebest3d.com/ PD 2 through PD4] A series non-free programs combining various capabilities for digital painting and animation. The high end program allows creation of special effects<br />
* Mewafilm ( http://www.mewatools.com/images/curveeditor_mainwindow.png , http://www.mewatools.com/screenshots.html )<br />
<br />
==== Fantavision example ====<br />
Back in the '80's there was a program on Apple IIE (Amiga and MS-DOS too) called "Fantavision". It allowed one to create vector artwork (although I didn't understand at the time that that was what it was called) and animations. It allowed one to create frames of animation where you manually repositioned, recolored, scaled, rotated etc. the objects from one frame to the next. However, it then automatically interpolated frames between the 2 frames (the number of interpolated frames was configurable) such that it create a smooth transition of the object moving from one frame to the other. The effect was very similiar to the "Morphing" effect for raster graphics (popularized in a Michael Jackson video, I believe). That is, the system calculated the trajectory of "Key Points" of the objects from one frame to the next. This process is often called "Tweening" (a term used by Macromedia Flash). [[Sketch|Skencil]] (formerly known as [[Sketch]]) supports this functionality and describes it as "Blending".<br />
<br />
I guess what I'm saying is that I think a nice interface to create animations would be similiar. So to animate you would do the following:<br />
<br />
* Draw the initial SVG Image <br />
<br />
* Increment Frame (from say 1 to 20)<br />
<br />
* Reposition the elements in frame 20 (including scaling, color changes, adding removing objects, etc, etc, etc)<br />
<br />
* System would then calculate a trajectory for each key point from frame 1 to frame 20. Trajectories would be calculated for things like:<br />
** Each "node" of an object<br />
** Color <br />
** Transformation Matrix<br />
** etc<br />
<br />
* You could display/manipulate the trajectories (using the trajectory editor shown above by the original creator of this topic)<br />
<br />
* The system would then store the animations using SVG trajectories and the "Key Points" would be the frames you manually created<br />
<br />
:So, to create say a 100 frame animation, one might only need to manually create/modify 10 frames and the system would interpolate the additional frames as necessary.<br />
<br />
* Also, once the system interpolated frames it would allow you to manually modify the interpolated frames creating further "Key Points" and allow further refinement and interpolation.<br />
<br />
<br />
NOTE: 3D apps such as blender also use a technique like this, which I think is most widely known as "keyframe animation" or simply "keyframing". However, many such systems tie the keys too closely to actual animation frames, and this creates problems when the frames-per-second rate changes. Particularly in the case of vector apps which are not so low-level as bitmaps and animation frames, I would suggest that frames should be as abstract as possible.<br />
<br />
Having key positions in simple percentages of the total animation time might be a better solution. This would also need to be a global/local system, of course: animated objects would have their own animation time specified when inserted into a larger document. A character's walkcycle would end at 100%, but in the larger animation, it would perhaps only be 5% of the total time, yet repeating as the object moves across the screen.<br />
<br />
One issue with this abstraction of frames might be that important animation effects do not occur exactly within frames: small things could be mistimed, or simply missed altogether. If you set the frame rate too low, this would be an obvious side effect, so it's not necessarily a problem<br />
that Inkscape should try to fix. On the other hand, a few things could be done to ease this. For instance, "snapping" animation events to frames when exporting (thereby slightly altering the timing), or perhaps just warning that certain animation events are not visible at such a low frame rate.<br />
<br />
Of course, on the web, with SVG and DHTML, where most Inkscape animations will hopefully be used one day, frames are not an issue at all, and we just worry about keys in time :)<br />
<br />
ANOTHER NOTE: Interpolation does not necessarily occur along straight lines and linearly in time. Paths are already part of Inkscape, so points could move along paths; also he time-length graph can be something like a path, instead of a straight line.<br />
<br />
==== Jahshaka example ====<br />
<br />
I have used jahshaka for a small animation. This was my first real experience with animation. Thought rough, jahshaka is all about key frames and setting properties for those key frames.<br />
<br />
Things I liked<br />
<br />
* Key frames are on a per object basis<br />
* When an object is selected you can quickly move from one key frame to another<br />
* properties values for rotation can span beyond 0 and 360, permetting to set three or more complete rotation with too key frame. I think this kind of feature could be used for all bounded values (like color, transparency and so on). Is this compatible with SVG or should it be an artifact ?<br />
* representation of properties values on a time line graph. This functionnality was still not very usable, but being to interact through that kind of object could be very useful (see below)<br />
<br />
Things that lacks (and Inkscape shall have)<br />
<br />
* possibility to copy animation properties from one object to another (say copy color animation, or whole animation)<br />
* possibility to modify a property value for all key frames at once (eg. translation of object for all key frames or a selcted group). I think this could happen through the value = f(time) graph metioned above. You could select points (representing keyframes) and move them up (more), down (less), right (sooner). This graph could be organised by properties set (color, position). I think this kind of graph would be very close to SVG animations tag.<br />
* macro that helps sets common effects (like blinking for example, or crossing the screen....)<br />
<br />
==== Bob Sabiston Example ====<br />
Bob Sabiston's animation software is an amazing vector-based package that stores line width within the points that make up a line -- derived from a tablet pen. usually in a simple stroke there could be a hundred data points storing width information. Then in the next keyframe, a line from a previous key is selected and re-drawn restricted to the same number of points. The software allow sthe points to be "repositioned" as you watch their previous locations be re-positioned. When you run out, the line ends automatically. This information is interpolated in tweening frames to change shape, width, position, but retains the same number of data-points. See the film "Waking Life" for the making-of video for a demonstration. Also visit his website for examples of it's capabilities converted to flash. http://www.flatblackfilms.com<br />
<br />
==== Other thoughts ====<br />
<br />
Suggestion from someone else: working like [[CinePaint]] (compared with Gimp), with each frame independently from each svg document (working like this or providing this feature) - providing vectorial edition quality we can't get on apps like Macromedia Flash or any other (maybe [[ToonBoom]] or Moho) - allowing us to make our work fast publish without further lack of quality.<br />
(One more suggestion about it: being able to convert .swf to .svg sequence (or animated .sgv) and vice versa.)<br />
<br />
It is suggested that there be basically two modes: Local (Object) mode and Global mode. Below is a picture showing a very rough design of the local mode:<br />
<br />
http://www.inkscape.org/wiki_uploads/anim_gui1.png<br />
<br />
In local modes, all properties of the object editing will be shown on a timeline, and one can create and edit frame within the timeline. Then one may assign different value of that properties on different timeline, or make it change linearly, or nonlinearly :)<br />
<br />
----<br />
<br />
Animation support in Inkscape offers great new opportunities. Here are some points that I think are important to keep in mind when adding animation to the GUI:<br />
<br />
* ''Originality''<br>Don't do as other do - except it's the best way.<br />
* ''Simplicity''<br>Animation should not stand in the way of the user. Only show as much as necessary to perform a certain task, and do things in the most natural way.<br />
* ''SVG-Orientation''<br>SVG animation is different in some ways. The UI should reflect this, and not reassemble concepts of tools that just work differently. E.g.,<br />
** SMIL animation has no concept of frames. So we don't need a frame-based timeline, but a time-based one.<br />
** SMIL animation in general is to animation what vector graphics is to graphics: It's declarative and object oriented. So one doesn't animate a scene, one animates objects on a scene, etc.<br />
* ''Coherence''<br>The animation UI should reassemble concepts that Inkscape users are already familiar with:<br />
** Animation timelines can in some contexts be treated as paths that one can add points to (keyTimes). Or one can control animation timing with splines (keySplines).<br />
<br />
I composed a mockup that reflects the above mentioned characteristics to some extend:<br />
http://www.uni-bremen.de/~felwert/inkscape/Animation01.html<br />
<br />
==== Powerpoint Example ====<br />
You select an object and add types of animation. These are listed in the custom animation pane. They can be set to occur all at once, one at a time, onclick, with previous or after previous. A number appears next to each object in the editing window when the object has animation applied to it, representing the sequence of the animations. When an object has an Entrance type animation added to it as the first animation, it will not appear on screen until the timeline reaches this point. animations can be linked together to create quite complicated sequences.<br />
<br />
==== Onion Skinning ====<br />
Onion skinning is a standard animator tool, previous or next frames (sometime both) are displayed under the current frame with differrent color, or less contrast, allowing to understand wich drawing the animator is actually working on, and wich frame is 1 step or 2 step before or after the actual frame.<br />
<br />
This can easily be implemented using transparency parameter of layer, and automatize selection of layers to be displayed, parameters following a specialized gui entries.<br />
<br />
Onionskin in gimp-GAP is a good example of what should be a minimal requirement. that is managin backword, forward and both direction onion skin, with variable visiblity increase decrease. Color changes on onionskinning could be another useful option to increase visiblity of different frames, as generally the onionskinning is done at the sketching animation step (meaning mostly grey or black & white drawing)<br />
<br />
[http://en.wikipedia.org/wiki/Onion-skinning Onion skinning on wikipedia].<br />
<br />
==== Interactive ====<br />
I have started using svg to develop interactive displays. Having used several other svg tools currently on the market, I am interested in a more generic implementation that doesn't have animation effects get in the way of interactive controls. <br />
<br />
<br />
==== Playback of Construction Steps ====<br />
We, at [http://www.classapart.org Class Apart] ( www.classapart.org ), plan to use Inkscape in a manner similar to the classroom whitebord to create taught lectures and record the screen in an mpeg movie. The problem is that raster based formats would take about 50 MB for an hour of content, and does not go very well with our unstated goal of getting a whole course on a cd or all courses of a semester on one dvd. It would be great if we could store the construction steps of the svg keyed against time while recording. Then while playback we can patch the svg dom with the steps as needed, using something similar to smil script. How does one go about implementing this? We could find some members willing to implement.<br />
<br />
<br />
==== Using Bones ====<br />
Anime Studio (and all 3D animation software) uses bones to animate with. In Anime Studio you draw up a basic skeleton and then attach the drawing to the bones This is done automatically based on the distance between the bone and the points on the curve. You can then move, rotate or scale the bones to animate the characters. You can store these values per frame, and have the computer interpolate them. This is a much faster way to work than to interpolate the points on the drawing directly. 3D software is probably a better reference here than Anime Studio. Usefull features include:<br />
* Weighting of individual points to bones<br />
* Combining tweening and frame by frame animation. To create replaceable mouths, rotating heads and more. <br />
* Inverse kinematics, to speed up animation. With it you can grab the hand of a character and have the arm follow, rather than rotate the upper arm and lower arm separately to move the hand.<br />
* Constraining. Making one bone follow another, limiting the movement of a bone and so on.<br />
* Graph/Curve editor. A time based editor with b-splines representing the individual move, rotate and scale transformations. This gives the animator great control over the animation.<br />
<br />
==== Drawing Frames ====<br />
Toon Boom, Plastic Animation Paper, TV Paint, Animo and traditional 2D animation on paper, all use individual drawings per frame. This gives you by far the best control when doing character animation, but at the cost of a lot of work. Features that are needed for traditional 2D animation to work well include:<br />
* Onion skinning, preferably multiple levels back and forward and adjustable transparency.<br />
* Dope sheet or timeline where you can move frames back and forth and repeat/hold frames.<br />
* Cut-outs, where you move a whole or part of a frame to a different position for tracing on another frame.<br />
* Some way to do rough sketching. Plastic Animation Paper is a good example here, though it's bit map based. With a tablet it gives you pencil like feel when drawing, giving darker lines the harder you press. This helps the animator "find the line". It should be possible to do in vectors if using a central line that stores the pressure along each point (width and/or opacity), rather than an outline.<br />
Combining tweening animation and frame by frame animation can in many cases give the best results.<br />
<br />
==== SMIL Animation (SVG Animation) vs SMIL Timing and Sync ====<br />
What should the scope of Inkscape's animation capabilities be?<br />
Many people are talking about mimicking other software's ability to do frame-by-frame animation and cartoon animation (particularly Flash's).<br />
<br />
SVG inherits from [http://www.w3.org/TR/2005/REC-SMIL2-20051213/animation.html SMIL's "Animation" module], with a [http://www.w3.org/TR/SVG11/animate.html#RelationshipToSMILAnimation few added animation controls] for animating a path, transform, or animating along a path.<br />
<br />
SMIL's animation module however does not provide for elements to begin or end, although we can fake this by having elements initially invisible, and animating their visibility to 'true' during their lifespan.<br />
<br />
While this may be feasible for a few long animations (ie, scenes), will it work for someone attempting to do traditional 2D (even Flash-style) animation? Said hypothetical user, while they may take some advantage of shape and motion tweens, will also likely need to replace the entire drawing when elements of the drawing (characters et al) change their logical structure (a motion requiring a line to appear or disappear). If this is to be supported, Inkscape will need some VERY fast code for switching visibility on-and-off during previewing, as it may be considering the visibility of hundreds if not thousands of graphic elements at a time, to over a dozen times per timeline-second.<br />
<br />
Will other SVG viewers be able to handle that, too, or is it a special use of SVG that's not central to the aim of Inkscape?<br />
<br />
[http://www.w3.org/TR/2005/REC-SMIL2-20051213/smil-timing.html SMIL's "Timing and Synchronization" module] supports elements that allow for massive numbers of sequential images or animation elements, as well as defining animation attributes for begin/end/duration timelines. While it's not part of the SVG spec, would this be something Inkscape should look into implementing, or even proposing as an addition in a revision of the SVG spec?<br />
<br />
<br />
==== A new idea I think ====<br />
I can't let go of an idea I'll try to explain as clearly as possible. How about having Inkscape calculate frames in a certain resolution (say 1 to 28 a second) and depth (number of frames displayed) and displaying a number of subsequent frames in over or underlay (transparancy is possible, but eats time) with fading outline colours to depict passing time.<br />
<br />
You set either the framerate (calculated) and begin and end frame in time, or select from begin and end instances of an animate. Alternatively, selecting paths from a list and showing all objects following that path. That way you could (if hardware allows) browse through your animation and look for hiccups in its motion.<br />
<br />
The same interface depicting frame number could be used to display page numbers in a multi page document. Would be nice in combination with an object manager similar to Coreldraws, enabling to select an object in either defs and see what happens to it in the animation, a path or all USE, XLINK etc.<br />
<br />
Using some shifting switch to go forward and backwards in time to follow your animation (or mouse gesture, but button press would be more useful). That way you have a direct interaction with the user and the document.<br />
[[Category:Developer Discussion]]<br />
<br />
::I strongly disagree with a model, that bases on frames. SVG is and should be only time-dependent. Start-duration-end. --[[User:VonHalenbach|SvH]] 16:41, 28 February 2009 (UTC)<br />
<br />
====Custom Keytime-based Timeline====<br />
<br />
Not based on frames at all, although the ability to select a frames-per-second setting allows for a grid that could be used to emulate frame-based animation. I posted the concept along with a mockup on the [[SpecSVGAnimation]] page. ("An example of the third..." to the end of that section)<br />
--[[User:JadeMatrix|JadeMatrix]] 16:32, 6 February 2009 (UTC)</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=User_talk:ChaosOutlaw&diff=47914User talk:ChaosOutlaw2009-02-28T16:12:59Z<p>VonHalenbach: </p>
<hr />
<div>Just downloaded this proggie a couple days ago and I like it so far. This is the first vector editor I have used. I mainly got it so I could make tribal tattoo shapes for making tattoos on the skin textures of the 3D models I create for various animation programs, mainly Poser 7. <br />
<br />
Alot of the features dont seem to work though. The main ones I am interested in are in the effects menu. The swirl and wave features do nothing. I have tried using them on rectangles, various star patterns and on line drawings with no success. Hoping someone can tell me whether there is some trick to it or whether this are just options that will be hopefully added later.<br />
<br />
:Hi and welcome to the inkscape-wiki! It would be helpful, if you could give more details about your computer, OS and which version of inkscape you are running. Most probably only one dependance is missing. like python, for example. If you could start inkscape from the commandline, you would be able to see, what is missing. greetings Stefan --[[User:VonHalenbach|SvH]] 16:12, 28 February 2009 (UTC)</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=File:Cognitive_network.pdf&diff=47814File:Cognitive network.pdf2009-02-27T01:22:03Z<p>VonHalenbach: This is no PDF it is SVG</p>
<hr />
<div>This seems to be a SVG-file, made with MS Visio. When i convert the name to co.svg and try to open it with the firefox 3.0.5, firefox won't show any drawings.<br />
<br />
I get only this error message:<br />
<br />
XML-Verarbeitungsfehler: Präfix nicht an einen Namespace gebunden<br />
Adresse: file:///home/stefan/Videos/co.svg<br />
Zeile Nr. 352, Spalte 4: <use xlink:href="#lend4" transform="scale(-11.5,-11.5) "/><br />
------------------------^</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=Category:About_Inkscape&diff=42134Category:About Inkscape2009-01-17T15:54:23Z<p>VonHalenbach: Reverted edits by ED (Talk); changed back to last version by Dom</p>
<hr />
<div>Inkscape is an open source drawing tool that uses the World Wide Web Consortium's ([[W3C]]) scalable vector graphics format (SVG). Some supported SVG features include basic shapes, paths, text, markers, clones, alpha blending, transforms, gradients, and grouping. In addition, Inkscape supports Creative Commons' metadata, node-editing, layers, complex path operations, text-on-path, text-in-shape, and SVG XML editing. It also imports several formats like EPS, PostScript, JPEG, PNG, BMP, and TIFF and exports PNG as well as multiple vector-based formats.<br />
<br />
For some great examples of what Inkscape can do, see the [[Galleries|galleries]]. Or why not jump right in, [http://www.inkscape.org/download.php grab a copy], then try the [http://inkscape.org/doc/basic/tutorial-basic.html tutorial]! <br />
<br />
To understand more about Inkscape, view the [[InkscapeFeatures|feature list]] and [[ProjectInfo|project information]]. <br />
<br />
=== About Inkscape in other languages ===<br />
[[Quant_a_l%27Inkscape|Català]]<br />
<br />
[[UeberInkscape|Deutsch]]<br />
<br />
[[Acerca_de_Inkscape|Español]]<br />
<br />
[[A_propos_d'Inkscape|Français]]<br />
<br />
[[Sobre_o_Inkscape|Português]]<br />
<br />
[[Category:Topics]]</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=MediaWiki:Blacklistedusername&diff=42104MediaWiki:Blacklistedusername2009-01-16T22:31:52Z<p>VonHalenbach: </p>
<hr />
<div>* 2100<br />
* Alan2100<br />
* Jack16\d\d<br />
* .{30,}<br />
<br />
This is the comment. No 2100, no Alan, no name with more than 29 characters and no Jack16?? is allowed here.</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=MediaWiki:Blacklistedusername&diff=42094MediaWiki:Blacklistedusername2009-01-16T22:25:16Z<p>VonHalenbach: </p>
<hr />
<div>2100<br />
Alan2100<br />
Jack16\d\d</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=MediaWiki:Blacklistedusername&diff=42084MediaWiki:Blacklistedusername2009-01-16T22:11:54Z<p>VonHalenbach: </p>
<hr />
<div>2100<br />
Alan2100<br />
Jack16</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=Help:Contents&diff=37764Help:Contents2008-11-07T16:48:47Z<p>VonHalenbach: Protected "Help:Contents": help page don't need to be editable by normal users. [edit=sysop:move=sysop] (expires 16:48, 7 November 2009 (UTC))</p>
<hr />
<div>For general help with Inkscape, please see:<br />
*Links on the wiki's [[Main_Page]]<br />
*[[UserManual]] <br />
*[http://lists.sourceforge.net/lists/listinfo/inkscape-user Inkscape Users Mailing List]<br />
<br />
Related links:<br />
*[[CommunicationChannels]] (for various other resources)<br />
*[http://sourceforge.net/tracker/?group_id=93438&atid=604306 Inkscape Bug Tracker at Sourceforge]<br />
<br />
Wiki help:<br />
*[[Help:Editing]]</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=Help:Contents&diff=37754Help:Contents2008-11-07T16:46:03Z<p>VonHalenbach: Reverted edits by Acrone (Talk); changed back to last version by Jfaith</p>
<hr />
<div>For general help with Inkscape, please see:<br />
*Links on the wiki's [[Main_Page]]<br />
*[[UserManual]] <br />
*[http://lists.sourceforge.net/lists/listinfo/inkscape-user Inkscape Users Mailing List]<br />
<br />
Related links:<br />
*[[CommunicationChannels]] (for various other resources)<br />
*[http://sourceforge.net/tracker/?group_id=93438&atid=604306 Inkscape Bug Tracker at Sourceforge]<br />
<br />
Wiki help:<br />
*[[Help:Editing]]</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=MediaWiki:Blacklistedusername&diff=37744MediaWiki:Blacklistedusername2008-11-07T16:34:45Z<p>VonHalenbach: New page: 2100 Alan2100</p>
<hr />
<div>2100<br />
Alan2100</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=User_talk:Tom&diff=36514User talk:Tom2008-10-01T18:31:35Z<p>VonHalenbach: use the force tom</p>
<hr />
<div>Thank you for your help to fight against spammer! Would you like to have the power to block spammers yourself?<br />
<br />
Greetings<br />
Stefan<br />
<br />
I made you admin. Welcome in our team :-) --[[User:VonHalenbach|SvH]] 18:31, 1 October 2008 (UTC)</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=User_talk:Tom&diff=36504User talk:Tom2008-10-01T18:26:27Z<p>VonHalenbach: thank you!</p>
<hr />
<div>Thank you for your help to fight against spammer! Would you like to have the power to block spammers yourself?<br />
<br />
Greetings<br />
Stefan</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=User:Willworkforart&diff=33044User:Willworkforart2008-07-26T16:10:01Z<p>VonHalenbach: </p>
<hr />
<div>I'm a web/interface designer for a fortune 25 company in the U.S. I'm an avid user of Inkscape and an advocate of Open Source Software. I'm really interested in contributing to the community - although I'm not a programmer, I believe there is plenty that I can offer.<br />
<br />
Even though we're only working on 0.48 and it's seem that there are to many feature requests to see a v1.0 anytime soon, Inkscape is already an amazing product and everyone involved is owed a lot of respect.<br />
<br />
So anyway, I'll do my best to be as active as I can with what time I have available. In the meantime, check out some of my work at willworkforart.net.</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=GSD&diff=31184GSD2008-07-01T13:21:37Z<p>VonHalenbach: </p>
<hr />
<div>__NOTOC__<br />
<br />
== The GSD binary file format ==<br />
This is my first try to reverse engineer a binary file format. If you like, you could add your thoughts!<br />
By comparison between different files with the extention .gsd i try to see what data is stored where. It has some parts in ansi-text and the most parts are just binary numbers of different length. As identification, the file starts with the text "GRAPHTEC PRT&CUT". The next line at offset 0000:0010 starts with binary numbers "03 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00" (I don't know if they make any sense there).<br />
<br />
* From offset 0000:0080 to offset 0000:00cf is unknown binary data.<br />
* From offset 0000:00d3 to offset 0000:00de is binary data, which is exactly repeated from offset 0000:00fb to 0000:0107. It starts with the hex numbers 40 6a 40 which seems to be a marker for file seek. It ends with 40 00 04. Inbetween those bytes is data which funktion is still unknown.<br />
<br />
* Every object can have a different color in the 8bit-RGB-color-range. E.g. RGB(254,254,254), but most probably it is only black. RGB(0,0,0).<br />
<br />
* The size of the canvas is written in pure ansi text. The value could be "ISO A4" or "Letter".<br />
<br />
* The hex value 40 seems to be the delimiter between chunks of data of different length. Hex value ff ff ff semms to be a start delimiter and ff ff ff ff semms to be the end delimiter.</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=GSD&diff=31174GSD2008-07-01T13:08:38Z<p>VonHalenbach: </p>
<hr />
<div>__NOTOC__<br />
<br />
== The GSD binary file format ==<br />
This is my first try to reverse engineer a binary file format. If you like, you could add your thoughts!<br />
By comparison between different files with the extention .gsd i try to see what data is stored where. It has some parts in ansi-text and the most parts are just binary numbers of different length. As identification, the file starts with the text "GRAPHTEC PRT&CUT". The next line at offset 0000:0010 starts with binary numbers "03 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00" (I don't know if they make any sense there).<br />
<br />
* From offset 0000:0080 to offset 0000:00cf is unknown binary data.<br />
* From offset 0000:00d3 to offset 0000:00de is binary data, which is exactly repeated from offset 0000:00fb to 0000:0107. It starts with the hex numbers 40 6a 40 which seems to be a marker for file seek. It ends with 40 00 04. Inbetween those bytes is data which funktion is still unknown.<br />
<br />
* Every object can have a different color in the 8bit-RGB-color-range. E.g. RGB(254,254,254), but most probably it is only black. RGB(0,0,0). The first color is defined as ansi text from position 0000:05cd to 0000:05de.<br />
<br />
* The size of the canvas is defined from 0000:0674 to 0000:067f and it ends with a big R. The value could be in upper case letters "ISO A4.....R" or "LETTER.....R" The string must be trunkated after the 11th char and a R must be appended.<br />
<br />
* The hex value 40 seems to be the delimiter between chunks of data of different length.</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=GSD&diff=31164GSD2008-07-01T12:28:21Z<p>VonHalenbach: </p>
<hr />
<div>__NOTOC__<br />
<br />
== The GSD binary file format ==<br />
This is my first try to reverse engineer a binary file format. If you like, you could add your thoughts!<br />
By comparison between different files with the extention .gsd i try to see what data is stored where. It has some parts in ansi-text and the most parts are just binary numbers of different length. As identification, the file starts with the text "GRAPHTEC PRT&CUT". The next line at offset 0000:0010 starts with binary numbers "03 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00" (I don't know if they make any sense there).<br />
<br />
* From offset 0000:0080 to offset 0000:00cf is unknown binary data.<br />
* From offset 0000:00d3 to offset 0000:00de is binary data, which is exactly repeated from offset 0000:00fb to 0000:0107. It starts with the hex numbers 40 6a 40 which seems to be a marker for file seek. It ends with 40 00 04. Inbetween those bytes is data which funktion is still unknown.<br />
<br />
* Every object can have a different color in the 8bit-RGB-color-range. E.g. RGB(255,255,255), but most probably it is usually only black. RGB(0,0,0)</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=GSD&diff=31154GSD2008-07-01T11:19:58Z<p>VonHalenbach: Start of reverse engeneering of GSD-file format! Help me!</p>
<hr />
<div>__NOTOC__<br />
<br />
== The GSD binary file format ==<br />
This is my first try to reverse engineer a binary file format. If you like, you could add your thoughts!</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=BlueprintCutterControl&diff=31144BlueprintCutterControl2008-07-01T11:16:56Z<p>VonHalenbach: /* File formats */</p>
<hr />
<div>= Synopsis =<br />
<br />
One of often requested features is ability to print to cutting plotters or create files for them.<br />
<br />
Right now this page is a collection of ideas to to solve the issue in a sane and crossplatform way.<br />
<br />
= How it usually works =<br />
<br />
# Client brings a EPS/AI file.<br />
# Printing service imports it to an application like.<br />
# Then the operator runs conversion and looks at preview.<br />
# If it's OK, the file goes to cutter.<br />
<br />
''Example: JPEG --> Cutter (Linux platform):''<br />
# ''GIMP: Clean and edit image. Converts JPEG --> PPM.''<br />
# ''AUTOTRACE: Converts PPM --> SVG.''<br />
# ''INKSCAPE: Clean and edit image. Print --> Vidar's GRAPHTECPRINT --> Cutter''<br />
<br />
= What available solutions exist =<br />
<br />
# There is a DXF exporter for CraftRobo bundled with Inkscape.<br />
# There is a half-standalone project called [http://vidar.gimp.org/graphtecprint/ graphtecprint].<br />
# There is a "scrapbook" project by Aaron Spike called [http://code.google.com/p/cuft/ cuft].<br />
# There is a testing version of an HPGL exporter written by Aaron Spike.<br />
<br />
''I'm about to adapt the INX file from the HPGL exporter and commit the extension to SVN''--[[User:Prokoudine|Prokoudine]] 14:19, 4 June 2008 (UTC)<br />
<br />
''The cuft project aims to collect information about the GSD format. Currently there is no externally useful code.''--[[User:Acspike|Acspike]] 15:38, 4 June 2008 (UTC)<br />
<br />
= What should be done =<br />
<br />
== For direct cutting ==<br />
<br />
We probably do not want to distribute cutter drivers with Inkscape, but at the same time we want cutters to be available for users on all platforms.<br />
<br />
What we could do is:<br />
<br />
# Split functionality between Inkscape and actual printing backend.<br />
# Find an upstream project like CUPS to ship the drivers with it.<br />
# Make sure we can still use cutter driver on Windows where CUPS is not that widely used.<br />
# Create a [http://wiki.inkscape.org/wiki/index.php/MakingLivePathEffects live path effect] (LPE) for creating polylines from Bezier curves (using [http://lib2geom.sourceforge.net/ lib2geom])<br />
<br />
Device dependent options (cutting speed, cutting force, knife position fine-tuning etc.) should go to Print dialog (Advanced tab or the like). It looks like Cairo backend would be the only correct way to pass polylines to a cutter.<br />
<br />
== For just exporting ==<br />
<br />
# Use available LPE for previewing<br />
# Create as many exporters as required (see below)<br />
<br />
= File formats =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! File extension<br />
! Full name<br />
! Devices<br />
! Exporter<br />
|-<br />
| DXF<br />
|<br />
| <br />
| Available in current stable version of Inkscape<br />
|-<br />
| [[GSD]]<br />
| <br />
| <br />
| Available from [http://code.google.com/p/cuft/ cuft]'s SVN<br />
|-<br />
| HPGL<br />
| <br />
| <br />
| Getting ready for inclusion into 0.46+svn<br />
|}<br />
<br />
= Cutters =<br />
<br />
{| class="wikitable" border="1"<br />
|-<br />
! Device<br />
! Protocol<br />
! Linux drivers<br />
! Windows drivers<br />
! Mac OS drivers<br />
|-<br />
| Graphtec FC7000Mk2<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Graphtec CE5000<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Graphtec CC200-20<br />
| <br />
| [http://vidar.gimp.org/graphtecprint/ graphtecprint] (requires python & glade)<br />
| *<br />
| *<br />
|-<br />
| Graphtec CE5000-120AP<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Graphtec Craft ROBO<br />
| based on Graphtec CC200-20 (?same as CC200-20?) (identifies it's self as:"Graphtec")<br />
|[http://vidar.gimp.org/graphtecprint/ graphtecprint] (requires python & glade)<br />
| *<br />
| *<br />
|-<br />
| Graphtec FC2250<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| Graphtec FC4200<br />
| <br />
| [http://vidar.gimp.org/graphtecprint/ graphtecprint] (requires python & glade) + mods described by Ulisses on graphtecprint page.<br />
| *<br />
| *<br />
|-<br />
| QuicKutz Silhouette<br />
| based on Graphtec CC200-20<br />
| <br />
| <br />
| <br />
|-<br />
| (Blue) Xyron Wishblade<br />
| based on Graphtec CC200-20 (identifies it's self as:"Whisblade Inc.")<br />
| [http://vidar.gimp.org/graphtecprint/ graphtecprint] (requires python & glade) + mods described by Ulisses on graphtecprint page. <br />
| *<br />
| *<br />
|-<br />
| (Pink) Xyron Wishblade<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| [http://www.rolanddg.co.uk/public/portfolio/details.aspx?id=103&type=1 Roland CAMM-1 Pro GX-300 Cutter]<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| [http://www.rolanddg.co.uk/public/portfolio/details.aspx?id=106&type=1 Roland CAMM-1 Pro GX-500 Cutter]<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| [http://www.rolanddg.co.uk/public/portfolio/details.aspx?id=95&type=1 Roland STIKA SV-8 Cutter]<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| [http://www.rolanddg.co.uk/public/portfolio/details.aspx?id=96&type=1 Roland STIKA SV-12 Cutter]<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| [http://www.rolanddg.co.uk/public/portfolio/details.aspx?id=101&type=1 Roland STIKA SV-15 Cutter]<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| [http://www.rolanddg.co.uk/public/portfolio/details.aspx?id=17&type=1 Roland CAMM-1 GX-24 Cutter]<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| [http://www.rolanddg.co.uk/public/portfolio/details.aspx?id=20&type=1 Roland VersaCAMM SP-300 V Printer/Cutter]<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| [http://www.rolanddg.co.uk/public/portfolio/details.aspx?id=20&type=1 Roland VersaCAMM SP-300 V Printer/Cutter]<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| [http://www.rolanddg.co.uk/public/portfolio/details.aspx?id=21&type=1 Roland VersaCAMM SP-540 V Printer/Cutter]<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| [http://www.rolanddg.co.uk/public/portfolio/details.aspx?id=112&type=1 Roland VersaCAMM VP-300 V Printer/Cutter]<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| [http://www.rolanddg.co.uk/public/portfolio/details.aspx?id=113&type=1 Roland VersaCAMM VP-300 V Printer/Cutter]<br />
| <br />
| <br />
| <br />
| <br />
|-<br />
| [http://www.rolanddg.co.uk/public/portfolio/details.aspx?id=83&type=1 Roland SolJet Pro III XC-540 Printer/Cutter]<br />
| <br />
| <br />
| <br />
| <br />
|}<br />
<br />
(*) If python and glade are available on these platforms, a modified version of Vidar's graphtecprint scripts should work. The main difference would probably be how to detect and access the USB connected cutters.</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.47&diff=28354Release notes/0.472008-04-26T22:03:57Z<p>VonHalenbach: /* Notable bug fixes */ typos</p>
<hr />
<div>=Inkscape 0.47=<br />
'''(not released yet)'''<br />
<br />
=Refactoring effort=<br />
[mention the 'main' goal of 0.47 and list which things have been refactored and the benefits/new features/different workflow? --johan]<br />
<br />
=Tools=<br />
<br />
==Node tool==<br />
<br />
* [helper path display, flashing - johan]<br />
* The Node tool can now edit '''clipping paths''' and '''masks''' of objects on canvas, without releasing them. If the selected object has a clipping path and mask, the corresponding buttons on the controls bar of the tool will be enabled; pressing these buttons will display the editable paths or handles of the clippath or mask. A clipping path is stroked green, a mask is stroked blue (the same colors as those used for them in Outline mode).<br />
* Snapping has been improved (more details in Snapping below)<br />
* When dragging a node '''handle with Ctrl''', it now snaps not only to the 15 degree increments starting from 0 and to the original handle direction, but also to the direction of the '''opposite handle''' (if it exists) or of the '''opposite line segment''' (if it is a straight line).<br />
* The behavior of the buttons/shortucts that make a node smooth or cusp has been improved:<br />
:* If a node is already cusp (diamond shaped), pressing Shift+C again on it will retract both its handles. As this works for any number of selected nodes, you can always retract all handles in all nodes by selecting all nodes and pressing Shift+C twice.<br />
:* If a non-smooth node is next to a straight line segment, pressing Shift+S once makes it ''half-smooth'': it now has one handle aligned with that line segment. Another press of Shift+S will expand the second handle as well turning it into a full smooth node. If a node is between two curve segments, Shift+S will expand both handles as before.<br />
<br />
==Calligraphy tool ==<br />
Added 4 preset buttons for dip, pen, brush and reed in the toolbox. Clicking one button sets the calligraphic tool with the matching presets.<br />
<br />
==Paint Bucket tool==<br />
* Paint Bucket is now more tightly integrated with potrace. As a result, memory and CPU usage on each fill operation have been reduced significantly.<br />
<br />
==Eraser Tool==<br />
A new eraser tool has been added. It has two main modes:<br />
* Delete-mode where any shape touched by the tool is deleted completely. This operation is in line with "vector" editing.<br />
* Cut mode where erasing acts similar to erasing in a standard bitmap editor.<br />
Erasing is also limited to the currently selected objects if there are any selected.<br />
<br />
=Live path effects=<br />
== Notable bug fixes and effect changes==<br />
We try to refrain from changing the behavior of LPE's, because it will change appearance in old files when opened in Inkscape¹. But when an effect is really broken, we have to fix it.<br />
<br />
[¹ fixme: Shouldn't the above say "it will change editing behaviour in old files" ? If it changes the appearance, then that's a bug: inkscape should always save SVG that represents the appearance, and should display according to the SVG rather than any inkscape:blah annotations. --pjrm <br><br />
What is meant is the following. Files with LPEs opened in a random viewer will always look the same, regardless of Inkscape version. However, when viewed in Inkscape, the LPE is recalculated. When LPE behavior changes, the appearance will change. --johan]<br />
<br />
* The Pattern Along Path effect used to stretch the pattern across discontinuities. This has been fixed; now it treats a discontinuous path as a group of continuous paths and applied the effect separately to each.<br />
<br />
==New effects==<br />
[new: sketch, von koch, knot]<br />
<br />
* Perspective paths: Draw an arbitrary path as if viewed in perspective. This is work in progress. Known limitations (among others): It can only use the first perspective that exists in the document defs, and the perspective cannot be adapted interactively yet (the effect must be removed and reapplied after modifying the perspective).<br />
<br />
* '''Spiro splines''' are a novel way of defining curvilinear paths [http://www.levien.com/spiro/ developed by Raph Levien]. It takes some getting used to, but for certain tasks (such as lettershape design) Spiros have a clear advantage over Bezier curves. Recently, Spiro support was added to the FontForge font editor; now it is available in Inkscape too, which means you can use all the convenient Inkscape path tools (moving and transforming groups of nodes, node sculpting, etc.) on Spiro paths.<br />
<br />
:A Spiro path is defined by a sequence of points, but unlike a regular path with Bezier curves, all Spiro points lie on the path and there are no off-path handles. The curvature of the path is defined entirely by the positions of the points and their types. The path behaves very similar to a springy rod which is forced to pass through the given points and which uses the minimum possible curvature to satisfy the requirement. As such, it feels quite natural and the resulting path is very smooth - not just superficially smooth (i.e. having no cusps), but smooth at a deeper level, which you can achieve with Beziers only after a lot of laborious tweaking. <br />
<br />
:To create a Spiro path, select any path and assign the "Spiro spline" path effect to it. There are no parameters. Each node of your path becomes a point of a Spiro path, depending on the type of node:<br />
<br />
:* Smooth nodes (those with two collinear Bezier handles; use Shift+S to make a node smooth) become smooth curve points of the Spiro path. Note that the length or direction of the Bezier handles of the source path is ignored; the only thing that matters is their collinearity.<br />
<br />
:* Cusp nodes of the source path become corner points of the Spiro path, like free hinges on the springy rod. Between two corner points, the path is always a straight line. To make a node cusp, retract its Bezier handles by Ctrl+click, or press Shift+C and move one of the handles so they are no longer collinear.<br />
<br />
:* Half-smooth nodes - those with one Bezier handle collinear with a straight line segment on the other hand - become "left" or "right" points on the Spiro path which behave exactly the same: they sit between a straight line and a curve and enforce that these two segments join smoothly without a cusp. To create such a node, make sure one of the segments is a line (select its ends and press Shift+L), then Ctrl+drag the remaining handle to make it snap to the direction of the straight line segment on the other side, or press Shift+S to lock it to that direction.<br />
<br />
:Note that what matters is the actual collinearity of a node's handles, regardless of the node type that the node has in the Node tool; for example, if a node designated as cusp (diamond-shaped) has collinear handles, it will become a smooth curve point of the Spiro path. <br />
<br />
:Some configurations of points do not converge and produce wild loops and spirals instead of a smooth curve. According to Raph, "The spline solver in this release is _not_ numerically robust. When you start drawing random points, you'll quickly run into divergence. However, "sensible" plates based on real fonts usually converge." Avoid too sharp changes in direction between points to prevent divergence. Hopefully, the robustness of the algorithm will be improved in future releases.<br />
<br />
:For now, to edit Spiro paths viewing the result in real time, you have to use the Node tool; it is recommended to turn off the red highlight of the source path as it is a distraction. The Pen tool does not yet allow you to preview a Spiro as you draw, although you can paste the Spiro effect on the path and see the result as soon as the path is finalized. <br />
<br />
:You can always use the Node tool to continue a Spiro path by duplicating and dragging away its end nodes. Also, when you have a Spiro path selected, you can add a new subpath to it with Pen or Pencil if you start drawing with Shift.<br />
<br />
==New features==<br />
* The '''Paste Path Effect''' command is enabled to assign the path effect of the clipboard to any number of paths, going recursively into groups if necessary.<br />
<br />
* A new command, '''Remove path effect''' removes any path effects from all selected objects, going recursively into groups if necessary. <br />
<br />
* Along with the commands to open the path effects dialog and to paste path effects, the three commands were collected in a submenu under Path menu.<br />
<br />
* Live path effects can now be assigned to the sides of a 3D box (use Ctrl+click to select individual sides).<br />
<br />
* The Pen and Pencil tools now correctly work with paths with LPEs: you can continue such a path or add a new subpath to it by drawing with Shift, all preserving the effect applied to it.<br />
<br />
* Path type parameters can now link to existing shapes <b>and text</b>, like clones do. Now it is possible to use text as input for the Pattern Along Path effect for example!<br />
<br />
* Lib2geom now has an implementation for SVGEllipticalArc. For Inkscape, this means that it is now possible to directly copy-paste ellipse shapes on path parameters (e.g. 'pattern' in Pattern along Path), without the need to convert the ellipse object to path first. [needs coding and checking]<br />
<br />
==Live Path Effect for groups==<br />
<br />
LPE can now be assigned to a group. For most LPE, the effect is applied recursively but for Bend Path the result is more powerful : the distortion applies on the whole group. <br />
<br />
*Original path of the group can as usual be edited by double-clicking. <br />
*It applies recursively, this means that a LPE can be assigned to groups of groups <br />
*The Effect can be applied definitively with "Convert Object to path"<br />
<br />
=Import/Export=<br />
==Corel DRAW files import==<br />
<br />
Now Inkscape can import more Corel DRAW files of following types:<br />
<br />
* Corel DRAW Compressed Exchange files (CCX)<br />
* Corel DRAW 7-X4 Template files (CDT)<br />
* Corel DRAW Presentation Exchange files (CMX)<br />
<br />
Text objects are not supported as of UniConvertor 1.1.1.<br />
<br />
==sK1 files import==<br />
<br />
Inkscape uses UniConvertor to import sK1 files. Text objects are not supported as of UniConvertor 1.1.1.<br />
<br />
==CGM import==<br />
<br />
Inkscape uses UniConvertor to import Computer Graphics Metafile (CGM) files. Text objects are not supported as of UniConvertor 1.1.1.<br />
<br />
==PDF export==<br />
<br />
With PDF export, it is now possible to make the PDF page the size of the entire drawing, instead of the same as SVG page as before by the "Export drawing, not page" checkbox in PDF export options. Also, you can export a single object from a complex document to PDF if you specify the ID of that object in the "Limit export to the object with ID" field; the page of such PDF will be the same size as the bounding box of that object and will show only that object (all others will be hidden).<br />
<br />
The same capabilities are available from the command line by using <code>--export-area-drawing</code> and <code>--export-id=ID</code> parameters with <code>--export-pdf</code> (previously, they only worked for PNG export).<br />
<br />
=Extension effects=<br />
==New and improved effects==<br />
<br />
* The new '''Text > Convert to Braille''' extension recodes English (or just Latin letters) text to [http://en.wikipedia.org/wiki/Braille Braille] code created for visually impaired people.<br />
* The new '''Render > Alphabet Soup''' extension is a vector rework of Matt Chrisholm's GPLed script [http://www.theory.org/artprojects/alphabetsoup/main.html]. Alphabet Soup randomly mashes glyph-elements together to make exotic looking text.<br />
* The new '''Arrange > Restack''' extension restacks selected objects Z-order, from left to right, top to bottom (or vice versa), with radial outward or inward or by an arbitrary angle, specifying the base point for comparison (top, left, middle, etc.).<br />
<br />
==API changes==<br />
<br />
While the "Live preview" checkbox is useful for most effects, for some it just does not make sense. Now, you can add the attribute <code>needs-live-preview="false"</code> in the <code>effect</code> element in the .inx file of the effect to suppress this checkbox for your effect.<br />
<br />
All '''.inx''' files are now properly formatted XML files with its own namespace of: <code><nowiki>http://www.inkscape.org/namespace/inkscape/extension</nowiki></code> and a Relax NG schema to define it. More information can be found in the [[Extensions]] Article.<br />
<br />
=SVG output=<br />
<br />
==Optimized CSS properties==<br />
<br />
As a file size optimization, Inkscape does not write into SVG some of the stroke properties if the object has stroke:none and some of the fill properties when it has fill:none. The only situation where this might affect you is if you remove stroke from an object and then turn it back on - the object will get the default stroke instead of the same it had before. <br />
<br />
Also, in manually-edited SVG where a parent group has no stroke but sets some stroke properties to be inherited by its descendants, you will need to set stroke property to other than none on the group, and suppress inheritance with stroke:none on those children that don't need it.<br />
<br />
Specifically, if stroke:none, the following properties do not get written to SVG:<br />
<br />
stroke-width<br />
stroke-linecap<br />
stroke-linejoin<br />
stroke-miterlimit<br />
stroke-opacity<br />
stroke-dasharray<br />
stroke-dashoffset<br />
<br />
Note that this does not include marker properties, which means you can still have markers on a path without visible stroke.<br />
<br />
If fill:none, the following properties do not get written to SVG:<br />
<br />
fill-opacity<br />
fill-rule<br />
<br />
==Optimized path data==<br />
<br />
In this version, the size of the path data written in the <code>d=</code> attribute of <code>path</code> elements is reduced by about 10%. Inkscape generates the shortest possible path strings by avoiding repeated operators and using relative coordinates (when it helps).<br />
<br />
This is controlled by the following attributes in <code>group id="svgoutput"</code> in your preferences.xml file:<br />
<br />
* allowrelativecoordinates (default 1) to switch relative coordinates on (1) or off (0)<br />
* forcerepeatcommands (default 0) to force repeating operators (1) or allow use of the more compact representation without repeated operators (0)<br />
<br />
=User interface=<br />
==Filters can be disabled==<br />
In order to facilitate editing documents that use lots of SVG filter effects, filter effects can now be disabled for a particular document window by selecting '''View|Display mode|No Filters''' from its menu. This provides an intermediate step between "normal" and "outline" view modes.<br />
<br />
The Toggle view command in the Display mode submenu (Ctrl+keypad 5) toggles between the outline view and either regular or no-filters view, depending on which was used most recent.<br />
<br />
==Native file dialogs for Windows==<br />
The windows builds of inkscape now have Windows-native file dialogs to keep consistency with other windows applications.<br />
<br />
==Clipboard enhancements==<br />
<br />
The clipboard used by Inkscape is now system-wide instead of being confined to a single instance of the application. Copied elements are exported to the clipboard using all the available output formats. SVG data can be pasted into other applications supporting one of Inkscape's output formats, and SVG data provided by other applications can be pasted into Inkscape.<br />
<br />
If you copy a string that can be interpreted as a hexadecimal color specification, i.e. 2f7ab4 or #014522b0, and then paste it into Inkscape, the fill of the selected objects will change to the given color. This is especially useful when working with HTML pages.<br />
<br />
==Masks and clipping paths==<br />
<br />
[editable in node tool - johan]<br />
<br />
==Stroke width changeable by dragging==<br />
<br />
[bbyak]<br />
<br />
==Enhanced Tablet Support==<br />
<br />
===Input device tool switching===<br />
<br />
Tablets and other input devices that report separate hardware are now recognized and current tool and/or settings can be set to switch in response to the physical tool being used.<br />
<br />
===Extended input device configuration===<br />
<br />
The stock Input Devices dialog has been replaced with a completely redone version that provides a more useful representation of settings. It also contains a simple area for testing different inputs of different devices.<br />
<br />
Additionally hardware setup itself has been separated from general settings to allow for easier dynamic switching of settings appropriate to the task at hand.<br />
<br />
==Dropper tool==<br />
<br />
The confusing icons on buttons in the controls bar of the Dropper tool (pick/assign opacity) are replaced by text labels.<br />
<br />
==Swatches==<br />
<br />
Hovering over a swatch now shows the name of the swatch in the status bar. This makes it easier for tablet users to identify a swatch by name, as holding a stylus still enough to show a tool tip is difficult.<br />
<br />
==Toolbars==<br />
<br />
The toolbar icon sizes for the three main toolbars are now separately configurable and to a few different sizes. This allows users to get a smaller UI on certain systems, including Ubuntu.<br />
<br />
=Grids, guides, snapping=<br />
<br />
==Guides==<br />
<br />
There is now an option to treat groups as single objects during conversion to guides (as opposed to converting each object inside the group separately).<br />
<br />
==Snapping==<br />
Snapping has been implemented or improved in these areas:<br />
* The '''node tool''' now snaps to any unselected node (cusp or smooth) within the path that's being edited, and to cusp nodes of other paths. It also snaps to the path itself, but only to the stationary segments in between two unselected nodes.<br />
* The object snapper now also allows to snap to the '''page border'''<br />
<br />
==Snap indicator==<br />
[mention that it exist, and the different snaps that are indicated]<br />
<br />
=Notable bug fixes=<br />
<br />
* The '''visual bounding box''' (which is the default bounding box type used by Inkscape) of an object with a filter applied, now includes the expanded area of the filter. For '''single blur filter''' (such as the blur you apply with a slider in the Fill and Stroke dialog), this expands the bounding box by 2.4*radius; although theoretically, blur is infinite, this is the distance at which the opacity of the object drops below the perceptibility threshold of our renderer. For all other filters, the area is expanded by the relative amounts you specify on the "Filter general settings" tab of the Filter Effects dialog.<br />
<br />
:Only visual bounding box is affected; if you use geometric bounding box, you will notice no change in most cases. However, the Export bitmap dialog always uses the visual bbox for selection of the export area; this means that you can now export a blurred object to bitmap without any clipping of the blur.<br />
<br />
* Several fixes allows Inkscape to correctly render and edit SVG files that use <code>currentColor</code> in objects' style (this includes files created by gnuplot).<br />
<br />
= Previous releases =<br />
<br />
* [[ReleaseNotes046]]<br />
* [[ReleaseNotes045]]<br />
* [[ReleaseNotes044]]<br />
* [[ReleaseNotes043]]<br />
* [[ReleaseNotes042]]<br />
* [[ReleaseNotes041]]<br />
* [[ReleaseNotes040]]<br />
* [[ReleaseNotes039]]<br />
* [[ReleaseNotes038]]<br />
* [[ReleaseNotes037]]<br />
* [[ReleaseNotes036]]<br />
* [[ReleaseNotes035]]<br />
<br />
[[Category:Marketing]]</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=User_talk:VonHalenbach&diff=18074User talk:VonHalenbach2008-01-06T08:23:20Z<p>VonHalenbach: /* Then: Hello */</p>
<hr />
<div>== [[Benutzerde|Seite deutschsprachige Benutzer]] erstellt==<br />
Hi [[user:VonHalenbach]], hab eine Seite erstellt, in der sich alle deutschsprachigen Benutzer eintragen können. Grüsse -- [[User:Jlorenz1|Jlorenz1]] 00:37, 26 February 2007 (UTC)<br />
<br />
<br />
=registrations=<br />
Just wanted to direct your attention to the two people on devel mlist who couldn't register on the wiki - could you please help them? [[User:Bbb|Bbb]] 21:41, 9 September 2007 (UTC)<br />
<br />
== Turkish ==<br />
<br />
Before All sorry :)<br />
im new. I wanna translate in Turkish that program & all about inkscape. i like that program. plz help!..<br />
Sincerely<br />
Emir Onuk<br />
<br />
Hello Emir, there is plenty for you to translate. I would like to suggest to start with things more important or simpler to translate. Normally translators start with translating the tutorials into their own language. Then you can look, if the gui is completly translated to turkish. If they are already done, you can think about translating the homepage or the texts of the screenshots. Please choose one of them and tell me which one you want. I will give you more precise instructions how to start. greetings --[[User:VonHalenbach|SvH]] 17:05, 5 January 2008 (UTC)<br />
<br />
== Then: Hello ==<br />
<br />
Hello Community<br />
i came n starting to translate in Turkish! Dear Mr. Stefan; now im translating tutorials.<br />
but if i finished that, where will i send file to?<br />
is that > "inkscape-translator@lists.sourceforge.net"???<br />
Sincerely...<br />
Emir Onuk<br />
insanmaili@gmail.com<br />
<br />
:Please don't send the translation there. You could write a message there, that you put the translation on launchpad, if you you wish but it is not neccesary.Here is the information for you to read: http://wiki.inkscape.org/wiki/index.php/DocumentationTranslation#Tutorial_Translation<br />
<br />
:If you have more questions, you can ask me here. Did you already install poedit on your computer? you can get it here: www.poedit.net With this program you are able to convert the pot-file into a po-file and translate it. greetings --[[User:VonHalenbach|SvH]] 08:23, 6 January 2008 (UTC)</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=Documentation_translation&diff=18069Documentation translation2008-01-06T08:16:12Z<p>VonHalenbach: /* Tutorial Translation */</p>
<hr />
<div>Go Back to the main [http://wiki.inkscape.org/wiki/index.php/Translation_information Translation information] page.<br />
<br />
== Tutorial Translation ==<br />
<br />
Inkscape's tutorial sources are in Docbook XML format, with illustrations in SVG. <br />
<br />
The ''translations'' of the tutorials however are in the well-know PO format. If you want to help, download them here:<br />
<br />
http://inkscape.svn.sourceforge.net/viewvc/inkscape/doc-docbook/trunk/<br />
<br />
* Each tutorial is in its own subdirectory. You need the <code><LANG>.po</code> file, for example <code>basic/fr.po</code>. Please coordinate with the previous translator listed in that file!<br />
* If there is none of these files, get the <code><tutorial>.pot</code> file, rename it to <code><LANG>.po</code> and start translating.<br />
<br />
Once you are satisfied with what you have done, submit it to the Launchpad bug tracker. Open a new bug with name translation to <your language>, upload the po-file there as attachment. You need to create an account on ubuntu launchpad if you have no account there,yet.<br />
<br />
Thanks!<br />
<br />
== Keyboard and mouse translation ==<br />
<br />
* TBD<br />
<br />
== User Manual ==<br />
* See also [[Embedded Help]]<br />
* First download the user manual xml document from [http://inkscape.svn.sourceforge.net/viewcvs.cgi/inkscape/user_manual/trunk/xml/ SVN]<br />
* edit the trunk/xml/inkscapeUTF.xml file. All languages are inside.<br />
* Just read the file, choose the language reference you want to use (en, fr...) and translate by duplicating the node and changing lang attribute to yours. <br />
* when finishing editing, if necessary edit the Makefile and add your language to the Makefile. In every case test your file with some tools (xmllint...) or just type again "make your_language" : syntax errors will be displayed : please correct them.<br />
* submit your work as a patch in the patch tracker and warn Cédric Gemy (cedric at le-radar.com) by email.<br />
<br />
== Manual pages (man)==<br />
<br />
* first download inkscape.pod from [http://inkscape.svn.sourceforge.net/viewcvs.cgi/inkscape/inkscape/trunk/inkscape.pod?view=log SVN]<br />
* rename it to inkscape.xx.pod, where xx is the code for your language<br />
* open inkscape.xx.pod in your favourite text editor (pay attention to encoding which must be UTF8), and directly translate in the file. <br />
* you can take a look at a first example of translation with inkscape.fr.pod<br />
* finally, submit your work in the patch tracker and drop a mail to the inkscape devel mailing list.<br />
<br />
== Translation information ==<br />
Go Back to the main [http://wiki.inkscape.org/wiki/index.php/Translation_information Translation information] page.<br />
<br />
[[Category: Developer Discussion]]</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=User_talk:VonHalenbach&diff=18049User talk:VonHalenbach2008-01-05T17:05:08Z<p>VonHalenbach: /* Turkish */</p>
<hr />
<div>== [[Benutzerde|Seite deutschsprachige Benutzer]] erstellt==<br />
Hi [[user:VonHalenbach]], hab eine Seite erstellt, in der sich alle deutschsprachigen Benutzer eintragen können. Grüsse -- [[User:Jlorenz1|Jlorenz1]] 00:37, 26 February 2007 (UTC)<br />
<br />
<br />
=registrations=<br />
Just wanted to direct your attention to the two people on devel mlist who couldn't register on the wiki - could you please help them? [[User:Bbb|Bbb]] 21:41, 9 September 2007 (UTC)<br />
<br />
== Turkish ==<br />
<br />
Before All sorry :)<br />
im new. I wanna translate in Turkish that program & all about inkscape. i like that program. plz help!..<br />
Sincerely<br />
Emir Onuk<br />
<br />
Hello Emir, there is plenty for you to translate. I would like to suggest to start with things more important or simpler to translate. Normally translators start with translating the tutorials into their own language. Then you can look, if the gui is completly translated to turkish. If they are already done, you can think about translating the homepage or the texts of the screenshots. Please choose one of them and tell me which one you want. I will give you more precise instructions how to start. greetings --[[User:VonHalenbach|SvH]] 17:05, 5 January 2008 (UTC)</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=TranslationStatus&diff=17929TranslationStatus2008-01-04T16:50:53Z<p>VonHalenbach: This page doesn't need to be translated.</p>
<hr />
<div>Go Back to the main [http://wiki.inkscape.org/wiki/index.php/Translation_information Translation information] page.<br />
<br />
= Interface translation (po files) =<br />
<br />
* Preliminary note : the names and e-mail addresses of contributors and last translator can be found in the header of the po file (simply open it with your favorite text editor or in Linux you can use the command '''head de.po''' to view the first 10 lines of the file de.po)<br />
<br />
* General information<br />
<br />
Status updated on 19 July 2006<br />
<br />
Total number of localizable strings: '''2213'''<br />
<br />
Total number of PO files: '''44'''<br />
<br />
Average translated: 1345 ('''60 %'''), fuzzy: 408 ( 18 %), untranslated: 459 ( 20 %)<br />
<br />
<br />
* '''Amharic''': am.po<br />
<br />
translated: 78 ('''3 %'''), fuzzy: 660 ( 29 %), untranslated: 1475 ( 66 %)<br />
<br />
<br />
* '''Azerbaijani/Turkic''': az.po<br />
<br />
translated: 65 ('''2 %'''), fuzzy: 932 ( 42 %), untranslated: 1216 ( 54 %)<br />
<br />
<br />
* '''Belarusian''': be.po<br />
<br />
translated: 159 ('''7 %'''), fuzzy: 1026 ( 46 %), untranslated: 1028 ( 46 %)<br />
<br />
<br />
* '''Catalan''': ca.po<br />
<br />
translated: 2075 ('''93 %'''), fuzzy: 97 ( 4 %), untranslated: 41 ( 1 %)<br />
<br />
<br />
* '''Czech''': cs.po<br />
<br />
translated: 2085 ('''94 %'''), fuzzy: 98 ( 4 %), untranslated: 30 ( 1 %)<br />
<br />
<br />
* '''Danish''': da.po<br />
<br />
translated: 2210 ('''100 %'''), fuzzy: 0 ( 0 %), untranslated: 3 ( 0 %)<br />
<br />
<br />
* '''German''': de.po<br />
<br />
translated: 2107 ('''95 %'''), fuzzy: 84 ( 3 %), untranslated: 22 ( 0 %)<br />
<br />
<br />
* '''Greek''': el.po<br />
<br />
translated: 328 ('''14 %'''), fuzzy: 965 ( 43 %), untranslated: 920 ( 41 %)<br />
<br />
<br />
* '''English/Great Britain''': en_GB.po<br />
<br />
translated: 2087 ('''94 %'''), fuzzy: 97 ( 4 %), untranslated: 29 ( 1 %)<br />
<br />
<br />
* '''Spanish''': es.po<br />
<br />
translated: 2085 ('''94 %'''), fuzzy: 97 ( 4 %), untranslated: 31 ( 1 %)<br />
<br />
<br />
* '''Spanish/Mexico''': es_MX.po<br />
<br />
translated: 337 ('''15 %'''), fuzzy: 1014 ( 45 %), untranslated: 862 ( 38 %)<br />
<br />
<br />
* '''Estonian''': et.po<br />
<br />
translated: 9 ('''0 %'''), fuzzy: 861 ( 38 %), untranslated: 1343 ( 60 %)<br />
<br />
<br />
* '''Basque''': eu.po<br />
<br />
translated: 2075 ('''93 %'''), fuzzy: 99 ( 4 %), untranslated: 39 ( 1 %)<br />
<br />
<br />
* '''Finnish''': fi.po<br />
<br />
translated: 2213 ('''100 %'''), fuzzy: 0 ( 0 %), untranslated: 0 ( 0 %)<br />
<br />
<br />
* '''French''': fr.po<br />
<br />
translated: 2192 ('''99 %'''), fuzzy: 11 ( 0 %), untranslated: 10 ( 0 %)<br />
<br />
<br />
* '''Irish''': ga.po<br />
<br />
translated: 14 ('''0 %'''), fuzzy: 794 ( 35 %), untranslated: 1405 ( 63 %)<br />
<br />
<br />
* '''Galician''': gl.po<br />
<br />
translated: 84 ('''3 %'''), fuzzy: 1046 ( 47 %), untranslated: 1083 ( 48 %)<br />
<br />
<br />
* '''Hungarian''': hu.po<br />
<br />
translated: 2085 ('''94 %'''), fuzzy: 97 ( 4 %), untranslated: 31 ( 1 %)<br />
<br />
<br />
* '''Italian''': it.po<br />
<br />
translated: 2078 ('''93 %'''), fuzzy: 97 ( 4 %), untranslated: 38 ( 1 %)<br />
<br />
<br />
* '''Japanese''': ja.po<br />
<br />
translated: 1290 ('''58 %'''), fuzzy: 511 ( 23 %), untranslated: 412 ( 18 %)<br />
<br />
<br />
* '''Korean''': ko.po<br />
<br />
translated: 836 ('''37 %'''), fuzzy: 81 ( 3 %), untranslated: 1296 ( 58 %)<br />
<br />
<br />
* '''Lithuanian''': lt.po<br />
<br />
translated: 1892 ('''85 %'''), fuzzy: 98 ( 4 %), untranslated: 223 ( 10 %)<br />
<br />
<br />
* '''Macedonian''': mk.po<br />
<br />
translated: 0 ('''0 %'''), fuzzy: 679 ( 30 %), untranslated: 1534 ( 69 %)<br />
<br />
<br />
* '''Nepali''': ne.po<br />
<br />
translated: 2088 ('''97 %'''), fuzzy: 1 ( 0 %), untranslated: 55 ( 3 %)<br />
<br />
<br />
* '''Norwegian/Bokmål dialect''': nb.po<br />
<br />
translated: 2085 ('''94 %'''), fuzzy: 97 ( 4 %), untranslated: 31 ( 2 %)<br />
<br />
<br />
* '''Norwegian/Nynorsk''': nn.po<br />
<br />
translated: 1592 ('''71 %'''), fuzzy: 372 ( 16 %), untranslated: 249 ( 11 %)<br />
<br />
<br />
* '''Dutch: nl.po'''<br />
<br />
translated: 1439 ('''65 %'''), fuzzy: 478 ( 21 %), untranslated: 296 ( 13 %)<br />
<br />
* '''Piglatin''': pig.po<br />
<br />
translated: ('''100 %'''), fuzzy: 0 ( 0 %), untranslated: 0 ( 0 %)<br />
<br />
* '''Punjabi''': pa.po<br />
<br />
translated: 907 ('''40 %'''), fuzzy: 432 ( 19 %), untranslated: 874 ( 39 %)<br />
<br />
<br />
* '''Polish''': pl.po<br />
<br />
translated: 2073 ('''93 %'''), fuzzy: 98 ( 4 %), untranslated: 42 ( 1 %)<br />
<br />
<br />
* '''Portuguese''': pt.po<br />
<br />
translated: 185 ( '''8 %'''), fuzzy: 1089 ( 49 %), untranslated: 939 ( 42 %)<br />
<br />
<br />
* '''Portuguese/Brazil''': pt_BR.po<br />
<br />
translated: 1495 ('''67 %'''), fuzzy: 444 ( 20 %), untranslated: 274 ( 12 %)<br />
<br />
<br />
* '''Romanian''': ro.po<br />
<br />
translated: 0 ('''0 %'''), fuzzy: 0 ( 0 %), untranslated: 0 ( 0 %)<br />
<br />
<br />
* '''Russian''': ru.po<br />
<br />
translated: 2081 ('''94 %'''), fuzzy: 98 ( 4 %), untranslated: 34 ( 1 %)<br />
<br />
<br />
* '''Slovak''': sk.po<br />
<br />
translated: 844 ('''38 %'''), fuzzy: 748 ( 33 %), untranslated: 621 ( 28 %)<br />
<br />
<br />
* '''Slovenian''': sl.po<br />
<br />
translated: 2085 ('''94 %'''), fuzzy: 97 ( 4 %), untranslated: 31 ( 1 %)<br />
<br />
<br />
* '''Serbian''': sr.po<br />
<br />
translated: 2087 ('''94 %'''), fuzzy: 97 ( 4 %), untranslated: 29 ( 1 %)<br />
<br />
<br />
* '''Serbian@Latine''': sr@Latn.po<br />
<br />
translated: 2087 ('''94 %'''), fuzzy: 97 ( 4 %), untranslated: 29 ( 1 %)<br />
<br />
<br />
* '''Swedish''': sv.po<br />
<br />
translated: 564 ('''25 %'''), fuzzy: 824 ( 37 %), untranslated: 825 ( 37 %)<br />
<br />
<br />
* '''Turkish''': tr.po<br />
<br />
translated: 893 ('''40 %'''), fuzzy: 656 ( 29 %), untranslated: 664 ( 30 %)<br />
<br />
<br />
* '''Ukrainian''': uk.po<br />
<br />
translated: 1466 ('''66 %'''),fuzzy: 466 ( 21 %), untranslated: 281 ( 12 %)<br />
<br />
<br />
* '''Vietnamese''': vi.po<br />
<br />
translated: 2213 ('''100 %'''), fuzzy: 0 ( 0 %), untranslated: 0 ( 0 %)<br />
<br />
<br />
* '''Chinese/Simplified''': zh_CN.po<br />
<br />
translated: 2083 ('''94 %'''), fuzzy: 98 ( 4 %), untranslated: 32 ( 1 %)<br />
<br />
<br />
* '''Chinese/Traditional''': zh_TW.po<br />
<br />
translated: 2085 ('''94 %'''), fuzzy: 98 ( 4 %), untranslated: 30 ( 1 %)<br />
<br />
= Tutorials =<br />
<br />
Already available in svn:<br />
* Basic: ca, cs, de, en, es, fr, ja, nn, pt_BR, ru, sl<br />
* Shapes: ca, cs, de, en, es, fr, ja, pt_BR, sl<br />
* Advanced: ca, cs, de, en, es, fr, ja, pt_BR, sl<br />
* Tracing: ca, de, en, es, fr, sl<br />
* Calligraphy: ca, cs, de, en, es, fr, pt_BR, sl<br />
* Elements of design: de, en, es, fr, pt_BR, sl<br />
* Tips and tricks: de, en, es, fr, pt_BR, sl<br />
<br />
= Keys (shortcuts) =<br />
<br />
Already available in svn :<br />
* de<br />
* en<br />
* fr<br />
* sl<br />
<br />
= Windows installer =<br />
<br />
Already available in svn :<br />
* catalan.nsh<br />
* czech.nsh<br />
* english.nsh<br />
* french.nsh<br />
* german.nsh<br />
* italian.nsh<br />
* polish.nsh<br />
* slovak.nsh<br />
* spanish.nsh<br />
<br />
= Wiki translation =<br />
<br />
= Website =<br />
<br />
2006-08 001.inc de en it<br />
<br />
2006-07 001.inc de en it<br />
<br />
2006-06 010.inc de en it<br />
<br />
2006-06 009.inc de en it<br />
<br />
2006-06 008.inc de en it<br />
<br />
2006-06 007.inc de en it<br />
<br />
2006-06 006.inc de en<br />
<br />
2006-06 005.inc de en<br />
<br />
2006-06 004.inc de en<br />
<br />
2006-06 003.inc de en<br />
<br />
2006-06 002.inc de en<br />
<br />
2006-06 001.inc de en<br />
<br />
2006-05 007.inc de en<br />
<br />
2006-05 006.inc de en<br />
<br />
2006-05 005.inc de en<br />
<br />
2006-05 004.inc de en<br />
<br />
2006-05 003.inc de en<br />
<br />
2006-05 002.inc de en<br />
<br />
2006-05 001.inc de en es it<br />
<br />
2006-04 005.inc de en es<br />
<br />
2006-04 004.inc de en es<br />
<br />
2006-04 003.inc de en<br />
<br />
2006-04 002.inc de en<br />
<br />
2006-04 001.inc de en fr<br />
<br />
2006-02 001.inc en fr<br />
<br />
2006-01 003.inc en fr<br />
<br />
2006-01 002.inc en fr<br />
<br />
2006-01 001.inc en fr it<br />
<br />
2005-11 007.inc de en fr it<br />
<br />
= News =<br />
<br />
GNOME has the following at >50%.<br />
<br />
bg, ca, cs, de, en_CA, en_GB, es, fi, fr, nb, ne, nl, pl, pt, pt_BR, ru, sk, sr, sv, uk, vi, zh_CN, and zh_TW<br />
<br />
Of these, we have some at >80% already. The ones not at 80% are:<br />
<br />
bg, en_CA, en_GB, fi, nb, ne, nl, pl, pt, pr_BR, ru, sk, sr, sv, uk, vi<br />
<br />
pl, pt_BR, ru, sr, and uk are between 60-80%, so these seem like they should not be hard to boost to at least 80%! en_CA and en_GB ought to also be easy, aye?<br />
<br />
<br />
<br />
= Translation information =<br />
Go Back to the main [http://wiki.inkscape.org/wiki/index.php/Translation_information Translation information] page.</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=Translation_information&diff=17924Translation information2008-01-04T16:45:17Z<p>VonHalenbach: Protected "Translation information" [edit=sysop:move=sysop] (expires 16:45, 4 May 2008 (UTC))</p>
<hr />
<div>== Introduction ==<br />
=== Community based, user oriented ===<br />
The translations of the various documents focusing on Inkscape rely on the work of volunteers.<br />
Motivation for this work can range from the simple pleasure to contribute to take the opportunity of learning a lot about Inkscape and translation processes.<br />
It is very important not to forget that Inkscape is an open source, community based and user oriented project, which implies that software developers/contributors are generally users. It also implies that the translation efforts are user oriented, with a strong focus on interface, user documentation and website.<br />
<br />
=== Guidelines/workflow ===<br />
<br />
# '''Contact to a local translation group, to get support and help on your language'''. Rather than working alone, you should work with an experienced translation team for your language. Thus you will benefit from their knowledge, as well as being able to communicate with them on your own mother tongue. Moreover, translation teams use to have style guidelines and a standarized vocabulary for technical terms that you should be aware of. There may be many communities working on translations for your own language, but a good starting point is subscribing to your local [http://developer.gnome.org/projects/gtp/teams.html GNOME translation team] or [http://l10n.kde.org/teams/ KDE translation team].<br />
# '''Subscribe to''' [https://lists.sourceforge.net/lists/listinfo/inkscape-translator Inkscape translator mailing list]. By subscribing on Inkscape's translator list you will be able to ask for help on some questions more related to Inkscape issues to other Inkscape translators, as well as the mantainers.<br />
# '''Get files for your language'''. If you only want to translate the interface messages, you can get the files from [http://svn.sourceforge.net/viewcvs.cgi/inkscape/ Inkscape's svn repository web interface]. Besides getting files from web interface, you can obtain the full repository; instructions on how to do this are found [http://inkscape.org/svn.php here]. See section [[#Translatable_content]] for which files you have to modify to translate each part of Inkscape.<br />
# '''Submit finished work to patch tracker'''. Finished translations must be sent to patch tracker and/or mailing list in order to be integrated into the trunk. You will need a Launchpad account to commit patches to [http://bugs.launchpad.net/inkscape Inkscape's patch tracker]. Before sending a file, remember to check that the file(s) you are submitting doesn't have syntax errors that would break the building process.<br />
# '''Send a mail on the translator mailing list'''. Your contribution will be reviewed/commited as soon as possible.<br />
<br />
=== Best practices ===<br />
<br />
* Best case for a good translation: translate from English to your mother tongue.<br />
* Test the behavior of the interface before starting translation.<br />
* Several small updates are more efficient than only a big one.<br />
* If you're new to Inkscape, or to vector software, taking a look at [http://wiki.inkscape.org/wiki/index.php/InkscapeTerminology Inkscape Terminology page] can be a good idea. It is a work in progress, but can give some clues on basic vocabulary of Inkscape.<br />
* Some good explanations of the behavior of Inkscape, also using some reference terminology can be found here: [http://tavmjong.free.fr/INKSCAPE/MANUAL/html/index.php A Guide to Inkscape] and [http://wiki.inkscape.org/wiki/index.php/UserManual User manual].<br />
* Always keep in mind consistency of terminology; a simple, precise & explicit vocabulary/style will result in an efficient and thus good translation.<br />
* Don't hesitate to ask others (developers/translators/users) if you don't understand a word/sentence or if you think an original string is not good (too complex, not precise enough, etc.).<br />
<br />
=== Polishing Translations - Microtypography ===<br />
Here are some things to note in order to achieve good microtypography (typography at the word or character level).<br />
* use the proper quotes (e.g. »foo« or «foo» or “foo”, depending on your local rules)<br />
* use the proper kind of dashes (with the proper amount of whitespace around them) - EN DASH (U+2013): "–", MINUS (U+2212): "−"<br />
* use non-breakable space where appropriate (e.g. before units; some countries use a halfspace here) - NO-BREAK SPACE (U+00A0): " "<br />
* use halfspace where appropriate (example: "z. B.") NARROW No-BREAK SPACE U+202F: " "<br />
* use "24×24", not "24x24"<br />
* use "90°", not "90 degrees" where appropriate<br />
* use the proper Unicode codepoint for "..." - "…". In German at least, a space comes before this ellipsis.<br />
* see http://www.cs.tut.fi/~jkorpela/chars/si.html for information on the use of SI units in Unicode<br />
* write numbers correctly - either with a decimal comma or a decimal point (see http://en.wikipedia.org/wiki/Decimal_separator#Dot_countries)<br />
* see http://translate.sourceforge.net/wiki/toolkit/pofilter<br />
<br />
==== Links ====<br />
* http://de.wikipedia.org/wiki/Typografie (German)<br />
* [http://www.dante.de/dante/DTK/dtk96_4/Text/dtk96_4_neubauer_feinheiten.pdf Marion Neubauer: ''Feinheiten bei wissenschaftlichen Publikationen – Mikrotypographie-Regeln, Teil I''] (PDF, German)<br />
* [http://www.dante.de/dante/DTK/dtk97_1/Text/dtk97_1_neubauer_feinheiten.pdf Marion Neubauer: ''Feinheiten bei wissenschaftlichen Publikationen – Mikrotypographie-Regeln, Teil II''] (PDF, German)<br />
* [http://www.zvisionwelt.de/typokurz.pdf Christoph Bier: ''typokurz – Einige wichtige typografische Regeln''] (PDF, German)<br />
* http://www.cs.tut.fi/~jkorpela/html/french.html (in English, for French)<br />
<br />
== Translatable content ==<br />
<br />
Inkscape's translation effort covers many areas, from aplication UI itself to web pages and tutorials. This is a summary of all those areas, sorted by priority.<br />
<br />
These tasks, rather than being for hackers only, can be achieved by most software enthusiasts, whether they have a technological background or were just plain users. The main requirement is the wish to provide support for Inkscape on your language: the technology required for you to do that has been developed in a simple approach, and it involves mainly text files and applications used to verify its syntax. Supporting applications were existing to make these tasks much easier.<br />
<br />
=== User interface ===<br />
<br />
PO files contain the strings for the Inkscape user interface (main software and extentions). A PO file is a text file which contains the original English message and its translation. That's why it is obviously the translation to start with.<br />
<br />
See [[InterfaceTranslation#Interface_Translation|InterfaceTranslation]] page for detailed information on the PO files.<br />
<br />
=== Tutorials ===<br />
<br />
As you know, Inkscape comes with some very nice SVG tutorials. By translating them, users will learn how to use the application, as well its tips and tricks.<br />
It is even a good opportunity for '''you''' to become more acquainted with Inkscape.<br />
<br />
See [[DocumentationTranslation#Tutorial_Translation|Documentation Translation]] page for detailed information on tutorial translation.<br />
<br />
=== Keyboard and mouse shortcuts ===<br />
<br />
Inkscape is proud for having keyboard and mouse shortcuts for almost all of its functionality. Those shortcuts can help you increase your drawing productivity/efficiency. The map of the default shortcuts is embedded in the interface (help menu) next to the tutorials, and can also be accessed from the web site.<br />
<br />
See [[DocumentationTranslation#Keyboard_and_mouse_translation|Documentation Translation]] page for detailed information on translating shortcuts.<br />
<br />
=== Windows installer ===<br />
<br />
High value for users, even if the installation process of Inkscape is quite simple, translating the Windows installer helps potential users a lot to get a good feeling when they use Inkscape. <br />
<br />
<br />
See [[InterfaceTranslation#Windows_installer_translation|Interface Translation]] page for detailed information for Windows installer translation.<br />
<br />
=== Templates ===<br />
<br />
The default template of the Inkscape document can be localized to make the localization consistent. Localized can be the (size?) of the default document and also the name of the default layer. <br />
<br />
See [[InterfaceTranslation#Default_template_translation|Interface Translation]] page for detailed information on default document's template.<br />
<br />
=== Man pages ===<br />
The man pages consist of a standard user documentation, available from the command line. On Unixbased systems simply type "man inkscape" from the prompt of a command window. <br />
<br />
Some distributions also generate a browsable (html) man page, accessible from a dedicated help shortcut.<br />
<br />
The man page of Inkscape provides some insightful information about the software, especially focused on operations that do not require GUI (example: export to png from the command line, or extract one object from a svg file).<br />
<br />
<br />
See [[DocumentationTranslation#Man_pages|Documentation Translation]] page for detailed information for man page translation.<br />
<br />
=== Release notes ===<br />
Translating [http://wiki.inkscape.org/wiki/index.php/Release_Notes release notes] helps the "normal user" to get a lot of insight into the capabilities of Inkscape.<br />
<br />
* gives a general overview of the possibilities of the software to potential users<br />
* can be used for local marketing (local Free Software/Linuw/Graphics oriented web sites, articles in fanzines, e-magazines and even magazines...)<br />
<br />
See [[WebSiteTranslation#Release_notes|WebSite Translation]] page for detailed information on translating release notes.<br />
<br />
=== User manual ===<br />
Some members of the Inkscape community are also focusing on an [[UserManual]]. This document can be read as a reference document for advanced users and as a good introduction to the functionalities of Inkscape by everyone.<br />
<br />
See [[DocumentationTranslation#User_Manual|Documentation Translation]] page for detailed information on translating the user manual.<br />
<br />
=== Web pages, News and Wiki ===<br />
English is generaly the exchange-tongue of developers, and developer/user documentation is mainly written in English. <br />
<br />
Translation efforts should be first oriented on user documentation.<br />
<br />
You can take a look at the [[WebSiteTranslation|WebSite Translation]] page for detailed information about how to translate the web content of Inkscape<br />
<br />
See the [[Main_Page|main wiki page of Inkscape]] to get some examples (Spanish and German) of the translation of this wiki.<br />
<br />
=== Others ===<br />
Text files found in the inkscape directory<br />
...<br />
<br />
== Status ==<br />
See this [[TranslationStatus|dedicated page]].</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=Editing_Inkscape%27s_website&diff=17919Editing Inkscape's website2008-01-04T16:43:36Z<p>VonHalenbach: Protected "WebsiteEditing" [edit=sysop:move=sysop] (expires 16:43, 4 May 2008 (UTC))</p>
<hr />
<div>Anyone can edit the Inkscape wiki.<br />
<br />
Once you have developer-level access to the project, you can also help with maintenance of the non-wiki parts of the Inkscape website.<br />
<br />
== SVN Checkout of the Website Module ==<br />
<br />
To checkout the website SVN module:<br />
<br />
:Type <pre>svn co https://inkscape.svn.sourceforge.net/svnroot/inkscape/inkscape_web/trunk inkscape_web</pre> after you have logged in with your username/password<br />
<br />
For more info, see [[WorkingWithSVN]].<br />
<br />
== Testing your website changes locally ==<br />
<br />
Once you have checked out (see previous heading) the website module, then make a symbolic link to your web root directory. To do this for apache on redhat9 the best way is to navigate to <pre>/var/www/html</pre> and then type:<br />
<br />
:<pre>ln -s /usr/src/inkscape-project/inkscape_web</pre> (NOTE: that the path you pass should be relative/absolute to the inkscape_web module you just checked out)<br />
<br />
Thus, once you have done this, then you will be able to view the Inkscape website at <pre>http://localhost/inkscape_web/</pre> on your computer via a web browser.<br />
<br />
Hopefully, you have apache configured properly and it is running.<br />
<br />
== Making Your Changes Live on Inkscape.org ==<br />
<br />
# Make your changes to your local inkscape_web module.<br />
# Commit your changes, ensuring that you provide ample notes in your commit log message.<br />
# If you have ssh access to inkscape.org, just launch ./publish_web.sh from your local checkout; otherwise ask a developer to do it for you (they usually hang on #inkscape channel on Freenode).<br />
<br />
<br />
== Adding News to the Site ==<br />
<br />
If you have SVN access, you can add news to the site. First, you should add your signature to /includes/signatures.inc.<br />
<br />
Create your news in english always! create a new file in the news/en/<this-year>/<this-month> folder, and give it the next highest number. (if there are files named 001.inc and 002.inc, name yours 003.inc) You can use this as a template:<br />
<pre><nowiki><br />
<&#100;iv class="item"><br />
<h3>HEADER</h3><br />
<b>MONTH DAY, YEAR</b><br />
<p>MESSAGE<br />
</p><br />
<?php echo $[[SIG_YOURNAME]]; ?><br />
</&#100;iv><br />
</nowiki></pre><br />
Add new paragraphs if needed and dont forget to change the signature.<br />
<br />
If you want, translate the news to your language and save it in news/XX/<this-year>/<this-month><br />
<br />
Note: all news entries which weren't translated yet will show up in english.<br />
<br />
If you really want to add news only in your language (not english), it might probably be the better way to modify your localized header (/index.xx-header.php). If you really think you need to have a local-only news, then please add an empty file with the same name (number) in the english directory and add a comment:<br />
<br />
<!-- This news is for xx users only --><br />
<br />
Make your changes live as described above.<br />
<br />
== Adding Screenshots to the Site ==<br />
<br />
The best way to add screenshots to the website is not by emailing them to the list or to any one developer unless you are not a developer. Instead, the best way is to create a screenshot for whatever screen size your system is set to (preferably a standard size like 1024 by 768), creating it in the PNG file format and then give it a descriptive name.<br />
<br />
Then the resulting thumbnail should be of the resolution 267 pixels wide by 200 pixels high in PNG format. The naming must be in relationship to the screenshot.<br />
<br />
Naming convention is:<br />
<br />
:inkscape-<version>-<id>-<name>.png<br />
:inkscape-<version>-<id>-<name>_thumb.png<br />
<br />
Example:<br />
<br />
:inkscape-0.43-01-myfeature.png<br />
:inkscape-0.43-01-myfeature_thumb.png<br />
<br />
<id> is ment to be something like 01, 02, 03... but you can also use 10a, 10b, 10c. this affects the order in the gallery. use zzz to place a sceenshot on top.<br />
(NOTE: <id> wasnt there before. but i suggest using it beginning with 0.43)<br />
<br />
save your shot into the "screenshots/gallery" folder, the thumb into "screenshots/gallery/thumbs".<br />
<br />
<br />
Once the graphics are in the right folder, my lovely PHP script will display them automatically on the main page of the website.<br />
They also appear on the screenshots/index.php page, therefore you must create a description file:<br />
<br />
:inkscape-<version>-<id>-<name>.en<br />
<br />
You may also create translations of description files. Just replace .en with the language code. Example:<br />
<br />
:inkscape-0.43-01-myfeature.en<br />
:inkscape-0.43-01-myfeature.de<br />
:inkscape-0.43-01-myfeature.es<br />
<br />
Store them in "screenshots/gallery/info"<br />
<br />
Then make sure that you add your new images and description files and any changes to the SVN repository. For more info, see [[WorkingWithSVN]].<br />
<br />
== Translating the Inkscape Website ==<br />
<br />
1. Do an SVN checkout of the website module.<br />
<br />
'''IMPORTANT: all files you change MUST be UTF-8 encoded! Otherwise, you will get broken output. See the UTF-8 note below, please.'''<br />
<br />
2. Add your language by these steps:<br />
* update the following line includes/header.php<br />
$LANGUAGES = array("en", "de", "es"); // available languages<br />
* Add a flag for your language in the images directory. It should be named inkscape_web/images/flag-XX.png. (where XX is your language code). Size is 34x20px.<br />
* Add a line to css/base.css, similar to the following: (place your flag 50px left of the others)<br />
#lang-xx { left:225px; }<br />
<br />
* Add a link for your flag in includes/header.php<br />
* Create a copy of includes/localized-en.inc for your language. (like includes/localized-fr.inc) and translate the values of the strings.<br />
* copy and translate index.en-header.php to your language.<br />
* copy the subdirectory structure news/en/ to news/xx/ and, if you want, translate the news. (you can delete all news that you will not translate. the script will use the original news of /news/en then)<br />
* you may add a signature to includes/signatures.inc and use it for news you create.<br />
<br />
3. Look into other pages to see what needs to be done to translate them. (in general you need to create an inclusion file)<br />
Files you need to translate: (at least you must create a copy for your language, or those pages will fail to open)<br />
discussion-en.inc<br />
download-en.inc<br />
mailing_lists-en.inc<br />
report_bugs-en.inc<br />
submit2webmaster-en.inc<br />
submit2webmaster-en-form.inc<br />
doc/index-en.inc<br />
status/index-en.inc<br />
<br />
:You also may translate news, screenshot comments and status files.<br />
<br />
:'''Note''' The tutorial translations in the doc/ directory are handled separately from the website translation. These are the files in inkscape_web/doc/*/ that have .XX.html extensions. You do not need to do anything about these pages.<br />
<br />
:'''Note''' The translation of doxygen, wiki, and the various SF pages are separate from the website translation. You do not need to do anything about these pages.<br />
<br />
5. Add a news item to the index page announcing your translation. You are encouraged to write it in both English and your native language. Use UTF-8 character set (or character entities if you prefer). You do this by adding a file like /news/en/200x/xx/0xx.inc and write your announcement.<br />
<br />
:'''IMPORTANT: all files you change MUST be UTF-8 encoded! Otherwise, you will get broken output. See the UTF-8 note below, please.'''<br />
<br />
:'''Note''' Even if the announcement does not need to be translated, you should copy it to your languages folder also.<br />
<br />
:Reason: Same news must have same file names. If your announcement is 010.inc, and then the next news is 011.inc, if you translate that news only, your announcement will no more be shown. This is because if you have 11 localized news and there are 12 in /en/, the 11th will be shown in english. Now, if the 11th file in your folder is the translation of the 12th file in /en/, it will be displayed wrong.<br />
<br />
6. If you have SVN access, then commit your changes to the site. See the Website Editing and Working With SVN documentation for directions.<br />
:If you do ''not'' have SVN access, then show your translation to one of the Inkscape administrators for review. They will then give you access to SVN and the website, so you can deploy your changes.<br />
<br />
== There are no UTF-8 entities !!! ==<br />
<br />
As different people have talked about UTF-8 entities, this should be clarified: THERE IS NO SUCH THING!<br />
<br />
An accented letter can be stored as:<br />
<br />
* a "HTML entity": <pre> &amp; (& a m p ;) --- ř (& # 3 4 5 ;) --- &Auml; (& A u m l ;)</pre><br />
* "character stored as UTF-8": & ř Ä<br />
* (and a multitude of other conflicting standards, which the above two were designed to make obsolete).<br />
<br />
HTML entities are a (somewhat) human readable transliteration.<br />
The cool thing about HTML entities is that you don't need to care about encoding with them, as only the lower 128 of 256 ASCII characters are used to describe characters that normally are in the upper 128 or even don't exist in ASCII. The upper 128 are different (for example, in Windows codepages); at least, they are system-dependent.<br />
<br />
Now, if we talk about UTF-8, this is an encoding! And it's one for UNIcode. The 8 means, that the most important characters need 8 bits (in particular, the lower 128 are the same as ASCII). All the other UNIcode characters are stored using 2, 3, or 4 bytes. And if your editor is not capable of UTF-8, youll see a mess instead of special characters like äüößéńí etc.<br />
<br />
So, if you edit existing pages, you need to have an UTF-8 capable editor. (Kate is capable, but you might need to check the encoding in the extras menu.)<br />
<br />
<strong>Please use UTF-8 encoding!</strong><br />
<strong>Please do not use HTML-entities!</strong> We should all use the same system. If you have questions about this, please ask.<br />
<br />
Reference: HTML Entities: http://www.w3schools.com/tags/ref_entities.asp<br />
<br />
== See also ==<br />
<br />
* [[WebSiteTranslation]]<br />
<br />
[[Category:Help Wanted]]</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=User_talk:Xunoe&diff=17914User talk:Xunoe2008-01-04T16:40:28Z<p>VonHalenbach: hello</p>
<hr />
<div>Hello Xunoe,<br />
<br />
i have seen that you started to translate some pages into your own language. Thank you for your effort! In my opinion it would be better to copy the english text into a new page and then translate it. If you say which language you speak, i could probably do that for you, if you wish.<br />
<br />
Greetings<br />
<br />
vonHalenbach<br />
<br />
Ps: Welcome in the Inkscape wiki! :)</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=User:VonHalenbach&diff=17804User:VonHalenbach2007-12-31T16:23:54Z<p>VonHalenbach: New page: Hello! My name is Stefan and i am helping the inkscape project from time to time with working on this wiki.</p>
<hr />
<div>Hello!<br />
My name is Stefan and i am helping the inkscape project from time to time with working on this wiki.</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=User_talk:Shawnhcorey&diff=17799User talk:Shawnhcorey2007-12-31T16:20:33Z<p>VonHalenbach: welcome!</p>
<hr />
<div>Hi,<br />
<br />
This is the place where you can post comments to me or comments on my works. I will try to respond in a timely manner.<br />
<br />
Please post you comments below.<br />
----<br />
<br />
Hello Shawn,<br />
welcome to the inkscape wiki! I have seen your pictures. They look good. :) If you are willing to publish your drawings as public domain, you could upload them to the openclipart.org library of free clipart. You are welcome to work on this wiki. I have seen, that you know how to use the wiki. (maybe from working in the wikipedia?) Happy new year! --[[User:VonHalenbach|SvH]] 16:20, 31 December 2007 (UTC)</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=Inkscape_Wiki:Site_support&diff=17634Inkscape Wiki:Site support2007-12-21T15:25:12Z<p>VonHalenbach: Protected "Inkscape Wiki:Site support" [edit=sysop:move=sysop] (expires 15:25, 21 December 2008 (UTC))</p>
<hr />
<div>== How can I donate to this project? ==<br />
<br />
If you like this program, and have some skills or time to donate to us, we like to have you on board. If you just want to donate some money to show how much you like the program or how useful it was to you, than you can do so through the Paypal service on [http://sourceforge.net/project/project_donations.php?group_id=93438 our SourceForge donation page].<br />
<br />
== Is my donation tax deductable in the US? ==<br />
<br />
We are a member of the 501(c)(3) Software Freedom Conservancy (who hold<br />
and manage our bank account), and as such, donations to Inkscape are<br />
fully tax-deductible to the extent permitted by law.<br />
<br />
http://conservancy.softwarefreedom.org/<br />
<br />
Donations are primarily used to subsidize travel expenses of Inkscape<br />
developers to Inkscape-oriented conferences such as last year's Libre<br />
Graphics Meeting. This helps bring Inkscape developers together in<br />
person to discuss development plans and ideas, and to present about<br />
Inkscape to live audiences.<br />
<br />
Bryce</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=Inkscape_Wiki:Site_support&diff=17629Inkscape Wiki:Site support2007-12-21T15:23:08Z<p>VonHalenbach: </p>
<hr />
<div>== How can I donate to this project? ==<br />
<br />
If you like this program, and have some skills or time to donate to us, we like to have you on board. If you just want to donate some money to show how much you like the program or how useful it was to you, than you can do so through the Paypal service on [http://sourceforge.net/project/project_donations.php?group_id=93438 our SourceForge donation page].<br />
<br />
== Is my donation tax deductable in the US? ==<br />
<br />
We are a member of the 501(c)(3) Software Freedom Conservancy (who hold<br />
and manage our bank account), and as such, donations to Inkscape are<br />
fully tax-deductible to the extent permitted by law.<br />
<br />
http://conservancy.softwarefreedom.org/<br />
<br />
Donations are primarily used to subsidize travel expenses of Inkscape<br />
developers to Inkscape-oriented conferences such as last year's Libre<br />
Graphics Meeting. This helps bring Inkscape developers together in<br />
person to discuss development plans and ideas, and to present about<br />
Inkscape to live audiences.<br />
<br />
Bryce</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=Inkscape_Wiki:Community_Portal&diff=17624Inkscape Wiki:Community Portal2007-12-21T14:54:33Z<p>VonHalenbach: Protected "Inkscape Wiki:Community Portal": only for admins [edit=sysop:move=sysop] (expires 14:54, 21 December 2008 (UTC))</p>
<hr />
<div></div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=Inkscape_Wiki:Community_Portal&diff=17619Inkscape Wiki:Community Portal2007-12-21T14:53:10Z<p>VonHalenbach: Unprotected "Inkscape Wiki:Community Portal": Only for admins</p>
<hr />
<div></div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=Talk:CompilingMacOsX&diff=17614Talk:CompilingMacOsX2007-12-21T14:15:14Z<p>VonHalenbach: Moved from Inkscape community Portal</p>
<hr />
<div>The directions for enabling python on OS X don't seem to be working for me. I'm running 10.4.9 using the binary pyxml package. Effects like "Lorem Ipsum" still whine about "The inkex.py module requires PyXML. Please download the latest version from <http://pyxml.sourceforge.net/>." after downloading. <br />
<br />
--[[User:Cdimara|Cdimara]] 14:04, 16 March 2007 (UTC)<br />
<br />
<br />
<br />
<br />
<br />
'''Note:'''I've been told there is an issue with pyXML 0.8.4 and Inkscape 0.45. And to use pyXML 0.8.4. I'm going to verify and change if necessary.<br />
<br />
--[[User:Cdimara|Cdimara]] 18:54, 16 March 2007 (UTC)<br />
<br />
A solution has now been found to the installation problems encountered some time ago; (June 2007). The matter concerned the use of an Apple G4 machine which was about to have its keyboard eaten in frustration. It was going to be accompanied by a light white wine, cream and herb sauce with a hint of garlic.<br />
However the user community came to the rescue with some advice which worked. The keyboard remains unconsumed, and all is well.<br />
<br />
Please read on:<br />
<br />
'''Installing ‘Inkscape’''' or '''Dammit, Dammit, Dammit'''<br />
<br />
If you have an Apple computer using OSX 10.3 (Panther) then please read the entire article featured below BEFORE proceeding. It worked for the author.<br />
ALL downloads should be virus-checked whether you trust the website you have taken them from or not.<br />
<br />
If you have made any previous attempts to install ‘Inkscape’ then it may be necessary to ‘tidy up’ any remains from these attempts.<br />
To do this you will need to visit this URL and download a useful item called ’Blind’.<br />
'''www.macupdate.com/info.php/id/22495'''<br />
<br />
When you have done this, place ‘Blind’ in your “Home” folder location.<br />
When you double-click ‘Blind’ your machine will ‘reconfigure’ the “Home” window. This will show all of the ‘invisible’ files in “Home”.<br />
<br />
If you find: (.inkscape) and (.inkscape-etc) then these should be removed by trashing them in the usual way. '''WARNING: DON’T TRASH ANYTHING ELSE'''.<br />
When you have done this, double-click ‘Blind’ again and your machine will return to its usual standard mode.<br />
<br />
Special note: ‘Blind’ can be left where it is for the time being and used again if you ever have the need to do so. It can also be moved to other folders, (using drag and drop), and used at those locations to show the ‘hidden’ files in those places.<br />
<br />
Next you need to install ‘X11’. ‘Inkscape’ only works in the ‘X11’ windows environment. To do this, go to this URL and follow the usual download procedure. <br />
'''www.apple.com/support/downloads/x11formacosx.html'''<br />
<br />
The ‘X11’ file that you will get must be placed in the file path: (Applications/Utilities/X11).<br />
<br />
The X11User.pkg is the installer. When you double click on it, it will open up an ‘X11’ Installer window. Just go through the installer clicking "Continue" at the bottom until you finish the process, (It will go through Introduction, Licence, etc.). You shouldn't have to make any selections throughout the process, just click on "Continue" for each step. <br />
<br />
‘X11’ will automatically install in the correct location. This is the file path: (Applications/Utilities/X11).<br />
<br />
Next you need to get the right version of ‘Inkscape’. Visit this URL and follow the usual downloading procedure.<br />
'''www.sourceforge.net/project/showfiles.php?group_id=93438'''<br />
<br />
Go to the middle of the page to where there's a list called "File Releases". In the list shown, you need to download the file called: '''Inkscape-0.45.1+python-2-PANTHER.dmg'''. In time this file will be superceded by improved versions, so keep in touch with the 'Inkscape' website regularly.<br />
<br />
When you have placed this (.dmg) file in your Applications folder, all you should have to do is double click the ‘Inkscape’ icon, and ‘Inkscape’ will unpack itself. You can then drag the ‘Inkscape’ application to your chosen place in your Applications folder; the (.dmg) file can then be put away in a place of your choice or trashed as you see fit.<br />
<br />
The first time that you launch ‘Inkscape’ it will take a very long time to become active. This is because it must integrate with, among other things, the font library.<br />
On the author's machine, for example, there are 447 fonts. This meant that the first time ‘Inkscape’ was launched, it took just over 2 minutes 50 seconds; since then it takes around 26 to 36 seconds. Larger font libraries will take longer on start-up. BE AWARE: the first launch can be even longer than the author experienced.<br />
<br />
Enjoy!<br />
<br />
'''Additional Information:'''<br />
<br />
You may also like to add other ‘open source’ applications, which also work in the ‘X11’ windows environment.<br />
For example:<br />
the author also added GIMP (Gnu Image Manipulation Program) to the Applications folder.<br />
<br />
Other graphics applications you might like to check out are ‘Expression 3’, also known as ‘Ex3’, ‘X3’ and E3, and ‘Blender’. These do not require the ‘X11’ environment but may be a useful addition to any creative repertoire.<br />
‘Blender’ can be found at: www.blender.org<br />
<br />
To obtain all of the above graphics applications the author used ‘Google’ as the search engine with the key search words in the box:<br />
<br />
'''open source osx graphics software'''<br />
<br />
This article was brought to you by the '''TwoMarks Corporation, Cyberian, Qrasch Graphix, Daemonix and Maelstrom'''.<br />
e-mail: cyberian@hotmail.co.uk<br />
<br />
All information correct at time of original publication (August 2007).</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=Inkscape_Wiki:Community_Portal&diff=17609Inkscape Wiki:Community Portal2007-12-21T14:13:09Z<p>VonHalenbach: Removing all content from page</p>
<hr />
<div></div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=User_talk:Mk82&diff=17279User talk:Mk822007-12-10T22:28:09Z<p>VonHalenbach: New page: ==Welcome to Inkscape!== You said, you would like to help us, to make inkscape better. On which things do you want to work? If you can code in c++ you can get some help from our developers...</p>
<hr />
<div>==Welcome to Inkscape!==<br />
You said, you would like to help us, to make inkscape better. On which things do you want to work? If you can code in c++ you can get some help from our developers to dive into the source. If you are interested to help on the wiki, thats fine too. If you are a translator or want to learn to translate with the computer, you can ask me. Greetings --[[User:VonHalenbach|SvH]] 22:28, 10 December 2007 (UTC)</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=Embroidery_file_formats&diff=17264Embroidery file formats2007-12-09T21:41:43Z<p>VonHalenbach: </p>
<hr />
<div>to export drawings on textiles. Lot of clips arts are already available in embroidery file formats. Some specifications are available on file formats dedicated web sites. --Popolon<br />
<br />
<br />
::Hm. Yes, originally i was mainly interested in inkscape because of those Embroidery file formats. My mother has such a machine. But i have looked into it a bit more closely and now i think it may be best for inkscape to ''not'' support those formats, because they are so different from a normal svg file, that trying to put this in would be not much gain for inkscape. Those formats are probably protected by patents, and are very specivic to certain machines. It is in my opinion very unlikely, that some embroidery designers will use Inkscape for this job, because they have already bought specialised software for this. You have to include some kind of stitchmanagement and an autofilling algorithm, which takes the machines abilities into accout when making the stitches.There is no easy way, to make a good stitch from any normal svg graphics. The other way around, it might be more easy to do.<br />
<br />
::On my surf in the internet, i found some information about the internals of most of those formats. If you are interested, you can try to make a converter of those formats into svg. I will see, if i find it on my harddisc. --[[User:VonHalenbach|SvH]] 21:30, 9 December 2007 (UTC)<br />
<br />
Here is the link to the information: http://www.achatina.de/sewing/main/TECHNICL.HTM</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=Embroidery_file_formats&diff=17259Embroidery file formats2007-12-09T21:30:26Z<p>VonHalenbach: Discussion about Embroidery formats</p>
<hr />
<div>to export drawings on textiles. Lot of clips arts are already available in embroidery file formats. Some specifications are available on file formats dedicated web sites. --Popolon<br />
<br />
<br />
::Hm. Yes, originally i was mainly interested in inkscape because of those Embroidery file formats. My mother has such a machine. But i have looked into it a bit more closely and now i think it may be best for inkscape to ''not'' support those formats, because they are so different from a normal svg file, that trying to put this in would be not much gain for inkscape. Those formats are probably protected by patents, and are very specivic to certain machines. It is in my opinion very unlikely, that some embroidery designers will use Inkscape for this job, because they have already bought specialised software for this. You have to include some kind of stitchmanagement and an autofilling algorithm, which takes the machines abilities into accout when making the stitches.There is no easy way, to make a good stitch from any normal svg graphics. The other way around, it might be more easy to do.<br />
<br />
::On my surf in the internet, i found some information about the internals of most of those formats. If you are interested, you can try to make a converter of those formats into svg. I will see, if i find it on my harddisc. --[[User:VonHalenbach|SvH]] 21:30, 9 December 2007 (UTC)</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=File_types&diff=17249File types2007-12-09T21:08:35Z<p>VonHalenbach: </p>
<hr />
<div>We need EPS, Adobe SVG, and PDF in/out support. We really need to import/export the following formats:<br />
<br />
* EPS<br />
* PDF<br />
* Adobe SVG (must be interoperable!)<br />
* Postscript<br />
* Adobe Illustrator File Formats (Newer ones are PDF 1.4 documents)<br />
<br />
To really be considered a successful application, we must take these file formats in and be able to save them out.<br />
<br />
Other useful formats might be:<br />
<br />
* Enhanced Windows Metafile (emf)<br />
* Windows Metafile (wmf) (there are a lot of clipart packages in this format)<br />
* Computer Graphics Metafile (cgm)<br />
* [http://lprng.sourceforge.net/DISTRIB/RESOURCES/HPGL_short_summary.html HP-GL2 ](plt)<br />
* [[Embroidery file formats]] (Ksm, Melco, PCS, PES, Tajima,...) ???<br />
* CorelDRAW files (cdr). Their UI is quite similar to Inkscape's (owing to inspiration of both by Xara's ancient Artworks for the Acorn Archimedes); it suggests a path of least resistance for those seeking to convert.<br />
* The newer Macromedia Freehand formats: .fh9, .fh10, and .fh11 (by file extension in Windows). At least the ability to read basic vectors, fill color, and stroke width (while possibly ignoring page layout for compatibility). Versions older than Freehand 8 might also be useful to revive those ancient drawings one made using the original Apple Macintoshes (prior to His Steveness' firing and subsequent rehiring).<br />
<br />
== Converter Status ==<br />
<br />
Please check [http://inkscape.org/wiki/index.php/SVG_Test_Suite_Compliance] and [http://www.w3.org/Graphics/SVG/Test/]<br />
<br />
{| border="1"<br />
|+ Inkscape export feature matrix<br />
! Test !! Inkskape !! PDF nativ !! PDF cairo !! PS nativ !! PS cairo !! emf<br />
|-<br />
! Stroke and Fill<br />
|-<br />
! shapes-ellipse-01-t<br />
| ok || || ok || || crash || ok<br />
|-<br />
! shapes-ellipse-02-t<br />
| ok || || ok || || crash ||<br />
|-<br />
! Markers<br />
|-<br />
! Text<br />
|-<br />
! text-align-01-b<br />
| ok || || ok || || crash || ok<br />
|-<br />
! SVG Filter<br />
|-<br />
! basic-filters-gauss-01-b<br />
| ok || || fail || || crash ||<br />
|-<br />
|}<br />
<br />
== Existing Conversion Tools ==<br />
<br />
Scripts and other applications that provide conversions, and might be useful to investigate as solutions to this dilemma.<br />
<br />
* [http://www.solidcode.net/pdf2svg/ pdf2svg] (broken link)<br />
* [http://jeff.cs.mcgill.ca/~luc/PSto.html PS to other formats page] (link broken)<br />
* [http://www.cenon.info/frame_gb.html Cenon has importers/exporters and source to match]<br />
* [http://freshmeat.net/projects/epd2svg/ EPD to SVG]<br />
* [http://freshmeat.net/projects/svg2swf/ SVG to SWF] - for Flash<br />
* [http://freshmeat.net/projects/font2svg/ font to SVG]<br />
* [http://freshmeat.net/projects/libsvgtoswf/ libsvgtoswf] - Another Flash converter<br />
* [http://freshmeat.net/projects/fti2svg.pl/ SGI Irix FTI vector icons to SVG]<br />
* [http://www.graphviz.org/ Graphviz] - popular text format for describing graphs. Can export SVG.<br />
* [http://www.pstoedit.net/pstoedit pstoedit] - converts Postscript into SVG (and other editablke formats<br />
* [http://www.wizards.de/~frank/pstill.html PStill] converts Postscript into PDF<br />
* [http://homepage.ntlworld.com/r.inglis/PH/Rshi/svg/ ps2svg.ps] converts Postscript into SVG (free) (broken link)<br />
* [http://www.gnu.org/software/hp2xx/ hp2xx] converts HPGL files into various formats, including SVG<br />
* [http://sk1project.org/modules.php?name=Products&product=uniconvertor UniConvertor] convert CDR-family, AI,PS, EPS, WMF, CGM, SVG to AI, WMF, CGM, SVG<br />
<br />
== OpenOffice OODraw-to-SVG ==<br />
<br />
OpenOffice can export '''to''' SVG, and import SVG using the following plug-in<br />
<br />
http://www.ipd.uni-karlsruhe.de/~hauma/svg-import/<br />
<br />
Possibly a filter could be created for Inkscape from their code,<br />
to enable at least being able to load OODraw's SXD file format into<br />
Inkscape. <br />
<br />
Workaround to use SVG-files created with Inkscape in Openoffice.org.<br />
Download Skencil from www.skencil.org (formely sketch). It's a <br />
vector drawing application written in Python. It can import SVG<br />
and save as Computer Graphics Metafile (CGM). You can use the skconvert<br />
commandline utility to batchconvert a number of files. Openoffice is<br />
able to import CGM. Not all object types are supported and you might<br />
get wrong colors, but the path look ok. I wrote a small article about<br />
this: http://www.tokonoma.de/software/svg_to_ooo/svg_to_ooo.html<br />
<br />
Browsing through OO's sourcecode, this appears to be the parts<br />
that do the SVG writing:<br />
<br />
OpenOffice/filter/source/svg<br />
<br />
SOTranscoder.java svgfilter.cxx svgimport.cxx svgwriter.hxx<br />
exports.map svgfilter.hxx svgscript.hxx<br />
makefile.mk svgfontexport.cxx svguno.cxx<br />
svgexport.cxx svgfontexport.hxx svgwriter.cxx<br />
<br />
You can download the OpenOffice sourcecode from one of the OpenOffice<br />
mirrors. E.g.:<br />
<br />
http://www.mirror.ac.uk/downloads/sunsite.dk/openoffice/contrib/rc/1.1.4rc/OOo_1.1.4rc_source.tar.gz<br />
<br />
There is a webpage with some info about a new SVG exporter, here:<br />
<br />
http://graphics.openoffice.org/svg/svg.htm<br />
<br />
This includes a java sample test, that could perhaps be used as a starting point<br />
for a filter...<br />
<br />
http://graphics.openoffice.org/svg/SVGExportTest.java<br />
<br />
Perhaps that could be recast into C++ so that a compiled filter could be<br />
made of it.<br />
<br />
The page also includes a binary svgexport.so package. Perhaps if this is fairly<br />
stand-alone, a filter program could be written in C++ based on the above java<br />
testcode that links against svgexport.so and provides its functionality on the<br />
commandline as a sxd2svg tool.<br />
<br />
nm reports that it provides the following functions:<br />
<br />
00005f9c T component_getFactory<br />
00005d28 T component_getImplementationEnvironment<br />
00005d44 T component_writeInfo<br />
<br />
<br />
ldd reports that this .so has the following dependency requirements:<br />
<br />
linux-gate.so.1 => (0xffffe000)<br />
libsvx645li.so => not found<br />
libxo645li.so => not found<br />
libgo645li.so => not found<br />
libj645li_g.so => not found<br />
libvcl645li.so => not found<br />
libutl645li.so => not found<br />
libtl645li.so => not found<br />
libcomphelp3gcc3.so => not found<br />
libcppuhelpergcc3.so.3 => not found<br />
libcppu.so.3 => not found<br />
libsal.so.3 => not found<br />
libdl.so.2 => /lib/libdl.so.2 (0x4003d000)<br />
libpthread.so.0 => /lib/libpthread.so.0 (0x40040000)<br />
libm.so.6 => /lib/libm.so.6 (0x40091000)<br />
libstlport_gcc.so => not found<br />
libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.so.5 (0x400b4000)<br />
libc.so.6 => /lib/libc.so.6 (0x4017d000)<br />
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)<br />
libgcc_s.so.1 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libgcc_s.so.1 (0x40291000)<br />
<br />
== Other Conversion Tools ==<br />
<br />
When doing prepress work, its better to convert from ps to pdf on the commandline. there are several options available that make the result better fit the job, this is an example ps2pdf command:<br />
<br />
ps2pdf12 -dProcessColorModel=/DeviceCMYK -dPDFSETTINGS=/prepress<br />
-dUseFlateCompression=true<br />
-dColorConversionStrategy=/UseDeviceDependentColor<br />
-dDownsampleColorImages=false<br />
-dDownsampleGrayImages=false<br />
-dDownsampleMonoImages=false<br />
-dAutoFilterColorImages=false<br />
-dAutoFilterGrayImages=false<br />
-dColorImageFilter=/FlateEncode<br />
-dGrayImageFilter=/FlateEncode<br />
-dMonoImageFilter=/FlateEncode<br />
input.ps output.pdf<br />
<br />
PSStill example: convert a grayscale 25x70 cm inkscape exported postscript file to pdf:<br />
pstill -i -2 -c -c -c -c -t -B -w 708,66 -h 1984,25 -o output.pdf input.ps<br />
<br />
[[Category:Developer Discussion]]</div>VonHalenbachhttps://wiki.inkscape.org/wiki/index.php?title=Baxissimo&diff=15095Baxissimo2007-06-15T20:59:22Z<p>VonHalenbach: Baxissimo moved to User:Baxissimo: looks like a user page.</p>
<hr />
<div>#REDIRECT [[User:Baxissimo]]</div>VonHalenbach