Inkscape SVG vs. plain SVG

From Inkscape Wiki
Jump to navigation Jump to search

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

Inkscape SVG vs. Plain SVG

Some notes about "Inkscape SVG" ref:

  • Inkscape's default mode when saving
  • conforms to the SVG standard which permits extensions like those outlined here
  • Inkscape SVG should render identically with or without the Inkscape extensions
  • gives Inkscape hints how to treat things in the UI -- for example, whether to treat a given group as a layer, or whether path nodes are cusp/flat/whatever
  • seems to have a smaller filesize vs "PlainSVG" for some odd reason

"Saving document as 'plain SVG' actually invokes exporter. All objects will be reconstructed from parsed data, but overall object hierarchy will be preserved." -- quote from the documentation.

From one perspective,

  • Inkscape SVG is basically the same as plain SVG, just with a few extra commands (in separate namespaces) added, which the Inkscape tools use to keep track of their work
  • if you edit an inkscape SVG in any other SVG editor, then it should appear as any other plain SVG, if not, then you can safely remove all references to inkscape: or sodipodi:, and just be left with the plain SVG
  • however, if you then re-edit the SVG in Inkscape (after hand editing, for example) 'without' removing the references to inkscape in the object that has been edited (for an example if you edit a path created using the inkscape star tool), then inkscape will re-generate the SVG path d="" attributes using the information that 'it' has stored under its namespace, and therefore getting rid of any editing to the path of that you, the user have done.

list of inkscape: and sodipodi: namespaces (incomplete)

(preserved for backwards compatibility with its functions)

  • <svg>
    • inkscape:output_extension
    • inkscape:version
    • (sodipodi:docbase)
    • (sodipodi:docname)
    • sodipodi:modified
    • sodipodi:version
  • <sodipodi:namedview>
    • bordercolor
    • borderopacity
    • id
    • inkscape:cx
    • inkscape:cy
    • inkscape:pageopacity
    • inkscape:pageshadow
    • inkscape:window-height
    • inkscape:window-width
    • inkscape:zoom
    • pagecolor
    • inkscape:current-layer
  • <svg:Gradients>
    • inkscape:collect
  • <svg:path >(in pattern defs)
    • sodipodi:cx
    • sodipodi:cy
    • sodipodi:rx
    • sodipodi:ry
  • <svg:path> (in spiral)
    • sodipodi:argument
    • sodipodi:cx
    • sodipodi:cy
    • sodipodi:expansion
    • sodipodi:radius
    • sodipodi:revolution
    • sodipodi:t0
    • sodipodi:type
  • <svg:path> (in star)
    • inkscape:flatsided
    • inkscape:randomized
    • inkscape:rounded
    • sodipodi:arg1
    • sodipodi:arg2
    • sodipodi:cx
    • sodipodi:cy
    • sodipodi:r1
    • sodipodi:r2
    • sodipodi:sides
    • sodipodi:type
  • (tiled clones)
    • inkscape:tiled-clone-of
    • inkscape:tile-cx
    • inkscape:tile-cy
    • inkscape:tile-h
    • inkscape:tile-w
  • <svg:g> (id=layer)
    • inkscape:groupmode
    • inkscape:label
  • (connectors)
    • inkscape:connector-avoid:
    • inkscape:connector-type
    • inkscape:connector-start
    • inkscape:connector-end
  • (others)
    • sodipodi:nodetypes?

Inkscape Properties

Inkscape Stroke Extensions

This property houses any non-standard Inkscape specific extensions to the stroke property. Currently it's only used for defining hairlines.

Name: -inkscape-stroke
Value: hairline
Initial: none
Applies to: graphics elements
Inherited: no
Percentages: N/A
Media: visual
Computed value: as specified
Animation type: not animatable

none

Specifies that no vector effect shall be applied, i.e. the default rendering behaviour from SVG 1.1 is used.

hairline

Specifies that the stroke is always drawn with a visual width of 1 device unit, but has a zero-width logical size. For compatibility with other renderers, this should always be accompanied with stroke-width: 1px; vector-effect: non-scaling-stroke.