Scalable Vector Graphics (SVG) 2
W3C Editor’s Draft 08 March 2023
This version:
https://svgwg.org/svg2-draft/
Latest version:
https://www.w3.org/TR/SVG2/
Previous version:
https://www.w3.org/TR/2016/CR-SVG2-20160915/
Single page version:
https://svgwg.org/svg2-draft/single-page.html
GitHub repository:
https://github.com/w3c/svgwg/
Public comments:
www-svg@w3.org (archive )
Editors:
Nikos Andronikos, Canon, Inc. <nikos.andronikos@cisra.canon.com.au >
Rossen Atanassov, Microsoft Co. <ratan@microsoft.com >
Tavmjong Bah, Invited Expert <tavmjong@free.fr >
Amelia Bellamy-Royds, Invited Expert <amelia.bellamy.royds@gmail.com >
Brian Birtles, Mozilla Japan <bbirtles@mozilla.com >
Bogdan Brinza, Microsoft Co. <bbrinza@microsoft.com >
Cyril Concolato, Telecom ParisTech <cyril.concolato@telecom-paristech.fr >
Erik Dahlström, Invited Expert <erik@dahlström.net >
Chris Lilley, W3C <chris@w3.org >
Cameron McCormack, Mozilla Corporation <cam@mcc.id.au >
Doug Schepers, W3C <schepers@w3.org >
Dirk Schulze, Adobe Systems <dschulze@adobe.com >
Richard Schwerdtfeger, IBM <schwer@us.ibm.com >
Satoru Takagi, KDDI Corporation <sa-takagi@kddi.com >
Jonathan Watt, Mozilla Corporation <jwatt@jwatt.org >
Copyright © 2023 W3C ® (MIT , ERCIM , Keio , Beihang ). W3C liability , trademark and document use rules apply.
Abstract
This specification defines the features and syntax for Scalable
Vector Graphics (SVG) Version 2. SVG is a language based on XML for describing
two-dimensional vector and mixed vector/raster graphics. SVG content is stylable,
scalable to different display resolutions, and can be viewed stand-alone,
mixed with HTML content, or embedded using XML namespaces within other XML languages.
SVG also supports dynamic changes; script can be used to create interactive documents,
and animations can be performed using declarative animation features or by using script.
Status of This Document
This section describes the status of this document at the time of its
publication. Other documents may supersede this document. A list of current W3C
publications and the latest revision of this technical report can be found in
the W3C technical reports index at https://www.w3.org/TR/ .
This document is the 08 March 2023 Editor’s Draft of SVG 2. This version of SVG
builds upon SVG 1.1 Second Edition
by improving the usability of the language and by adding new features commonly
requested by authors. The Changes appendix lists all
of the changes that have been made since SVG 1.1 Second Edition.
Comments on this Editor’s Draft are welcome.
Comments can be sent to www-svg@w3.org ,
the public email list for issues related to vector graphics on the Web. This list is
archived and
senders must agree to have their message publicly archived from their
first posting. To subscribe send an email to
www-svg-request@w3.org with
the word subscribe
in the subject line.
The specification includes a number of annotations that the Working Group is
using to record links to meeting minutes and resolutions where specific decisions
about SVG features have been made. Different coloring is also used to mark the
maturity of different sections of the specification:
a red background indicates a section that is either unchanged since SVG
1.1 (and which therefore still requires review and possible rewriting for
SVG 2), or a section that is new but still requires substantial work
a yellow background indicates a section from SVG 1.1 that has been reviewed
and rewritten if necessary, or a new section that is complete and ready
for the rest of the Working Group to review
a white background indicates a section, either from SVG 1.1 or new for
SVG 2, that has been reviewed by the Working Group and which is ready
for wider review
This document has been produced by the
W3C SVG Working Group as part of
the Graphics Activity within
the W3C Interaction Domain . The
goals of the W3C SVG Working Group are discussed in the
W3C SVG Charter .
The W3C SVG Working Group maintains a public Web page,
https://www.w3.org/Graphics/SVG/ ,
that contains further background information. The authors of
this document are the SVG Working Group participants.
This document was produced by a group operating under the
5 February 2004 W3C Patent Policy .
W3C maintains a public list of any patent disclosures
made in connection with the deliverables of the group; that page also includes
instructions for disclosing a patent. An individual who has actual knowledge of
a patent which the individual believes contains
Essential Claim(s)
must disclose the information in accordance with
section 6 of the W3C Patent Policy .
Publication as a Working Draft does not imply endorsement by the W3C Membership.
This is a draft document and may be updated, replaced or obsoleted by other documents
at any time. It is inappropriate to cite this document as other than work in progress.
A list of current W3C Recommendations and other technical documents can be found at
https://www.w3.org/TR/ . W3C publications
may be updated, replaced, or obsoleted by other documents at any time.
This document is governed by the
1 September 2015 W3C Process Document .
All features in this specification depend upon implementation in browsers
or authoring tools. If a feature is not certain to be implemented, we define
that feature as "at risk". At-risk features will be removed from the current
specification, and may be included in future versions of the specification. If
an at-risk feature is particularly important to authors of SVG, those authors
are encouraged to give feedback to implementers regarding its priority. The
following features are at risk, and may be dropped during the CR period:
Table of Contents
1. Introduction 1.1. About SVG1.2. Compatibility with other standards efforts1.3. Normative Terminology2. Conformance Criteria 2.1. Overview2.2. Processing modes2.2.1. Features2.2.2. Dynamic interactive mode2.2.3. Animated mode2.2.4. Secure animated mode2.2.5. Static mode2.2.6. Secure static mode2.3. Processing modes for SVG sub-resource documents2.3.1. Examples2.4. Document Conformance Classes 2.4.1. Conforming SVG DOM Subtrees2.4.2. Conforming SVG Markup Fragments2.4.3. Conforming XML-Compatible SVG Markup Fragments2.4.4. Conforming XML-Compatible SVG DOM Subtrees2.4.5. Conforming SVG Stand-Alone Files2.5. Software Conformance Classes2.5.1. Conforming SVG Generators2.5.2. Conforming SVG Authoring Tools2.5.3. Conforming SVG Servers2.5.4. Conforming SVG Interpreters2.5.5. Conforming SVG Viewers2.5.6. Conforming High-Quality SVG Viewer3. Rendering Model 3.1. Introduction3.2. The rendering tree3.2.1. Definitions3.2.2. Rendered versus non-rendered elements3.2.3. Controlling visibility: the effect of the ‘display ’ and ‘visibility ’
properties3.2.4. Re-used graphics3.3. The painters model3.4. Rendering order3.4.1. Controlling element rendering order: the ‘z-index ’ property3.4.2. Establishing a stacking context in SVG3.5. How elements are rendered3.6. How groups are rendered3.6.1. Object and group opacity: the
effect of the ‘opacity ’ property3.7. Types of graphics elements3.7.1. Painting shapes and text3.7.2. Painting raster images3.8. Filtering painted regions3.9. Clipping and masking3.10. Parent compositing3.11. The effect of the ‘overflow ’
property4. Basic Data Types and Interfaces 4.1. Definitions4.2. Attribute syntax4.3. Real number precision4.4. DOM interfaces for SVG elements4.4.1. Interface SVGElement4.4.2. Interface SVGGraphicsElement4.4.3. Interface SVGGeometryElement4.5. DOM interfaces for basic data types4.5.1. Interface SVGNumber4.5.2. Interface SVGLength4.5.3. Interface SVGAngle4.5.4. List interfaces4.5.5. Interface SVGNumberList4.5.6. Interface SVGLengthList4.6. DOM interfaces for reflecting SVG attributes4.6.1. Interface SVGAnimatedBoolean4.6.2. Interface SVGAnimatedEnumeration4.6.3. Interface SVGAnimatedInteger4.6.4. Interface SVGAnimatedNumber4.6.5. Interface SVGAnimatedLength4.6.6. Interface SVGAnimatedAngle4.6.7. Interface SVGAnimatedString4.6.8. Interface SVGAnimatedRect4.6.9. Interface SVGAnimatedNumberList4.6.10. Interface SVGAnimatedLengthList4.6.11. Interface SVGStringList4.7. Other DOM interfaces4.7.1. Interface SVGUnitTypes4.7.2. Mixin SVGTests4.7.3. Mixin SVGFitToViewBox4.7.4. Mixin SVGZoomAndPan4.7.5. Mixin SVGURIReference5. Document Structure 5.1. Defining an SVG document fragment: the ‘svg’ element5.1.1. Overview5.1.2. Namespace5.1.3. Definitions5.1.4. The ‘svg’ element5.2. Grouping: the ‘g’ element5.2.1. Overview5.2.2. The ‘g’ element5.3. Unknown elements5.4. Defining content for reuse, and the ‘defs’ element5.4.1. Overview5.4.2. The ‘defs’ element5.5. The ‘symbol’ element5.5.1. Attributes5.5.2. Notes on symbols5.6. The ‘use’ element5.6.1. The use-element shadow tree5.6.2. Layout of re-used graphics5.6.3. Style Scoping and Inheritance5.6.4. Multimedia in use-element shadow trees5.6.5. Animations in use-element shadow trees5.6.6. Event handling in use-element shadow trees5.7. Conditional processing5.7.1. Conditional processing overview5.7.2. Definitions5.7.3. The ‘switch’ element5.7.4. The ‘requiredExtensions’ attribute5.7.5. The ‘systemLanguage’ attribute5.8. The ‘desc’
and ‘title’ elements5.8.1. Definition5.9. The ‘metadata’ element5.10. HTML metadata elements5.11. Foreign namespaces and private data5.12. Common attributes5.12.1. Definitions5.12.2. Attributes common to all elements: ‘id’ 5.12.3. The ‘lang’ and ‘xml:lang’ attributes5.12.4. The ‘xml:space’ attribute5.12.5. The ‘tabindex’ attribute5.12.6. The ‘data-*’ attributes5.13. WAI-ARIA attributes5.13.1. Definitions5.13.2. Role attribute5.13.3. State and property attributes (all aria- attributes)5.13.4. Implicit and Allowed ARIA Semantics5.14. DOM interfaces5.14.1. Extensions to the Document interface5.14.2. Interface SVGSVGElement5.14.3. Interface SVGGElement5.14.4. Interface SVGUnknownElement5.14.5. Interface SVGDefsElement5.14.6. Interface SVGDescElement5.14.7. Interface SVGMetadataElement5.14.8. Interface SVGTitleElement5.14.9. Interface SVGSymbolElement5.14.10. Interface SVGUseElement5.14.11. Interface SVGUseElementShadowRoot5.14.12. Mixin SVGElementInstance5.14.13. Interface ShadowAnimation5.14.14. Interface SVGSwitchElement5.14.15. Mixin GetSVGDocument6. Styling 6.1. Styling SVG content using CSS6.2. Inline style sheets: the ‘style’ element6.3. External style sheets: the effect of the HTML ‘link’ element6.4. Style sheets in HTML documents6.5. Element-specific styling: the ‘class’ and ‘style’ attributes6.6. Presentation attributes6.7. Required properties6.8. User agent style sheet6.9. Required CSS features6.10. DOM interfaces6.10.1. Interface SVGStyleElement7. Geometry Properties 7.1. Horizontal center coordinate: The
‘cx ’ property7.2. Vertical center coordinate: The ‘cy ’
property7.3. Radius: The ‘r ’ property7.4. Horizontal radius: The ‘rx ’
property7.5. Vertical radius: The ‘ry ’
property7.6. Horizontal coordinate: The ‘x ’ property7.7. Vertical coordinate: The ‘y ’
property7.8. Sizing properties: the effect of the
‘width ’ and ‘height ’
properties8. Coordinate Systems, Transformations and Units 8.1. Introduction8.2. Computing the equivalent transform of an SVG viewport8.3. The initial viewport8.4. The initial coordinate system8.5. The ‘transform ’ property8.6. The ‘viewBox’ attribute8.7. The ‘preserveAspectRatio’
attribute8.8. Establishing a new SVG viewport8.9. Units8.10. Bounding boxes8.11. Object bounding box units8.12. Intrinsic sizing properties of SVG content8.13. Vector effects8.13.1. Computing the vector effects8.13.2. Computing the vector effects for nested viewport coordinate systems8.13.3. Examples of vector effects8.14. DOM interfaces8.14.1. Interface SVGTransform8.14.2. Interface SVGTransformList8.14.3. Interface SVGAnimatedTransformList8.14.4. Interface SVGPreserveAspectRatio8.14.5. Interface SVGAnimatedPreserveAspectRatio9. Paths 9.1. Introduction9.2. The ‘path’ element9.3. Path data9.3.1. General information about path data9.3.2. Specifying path data: the ‘d ’ property9.3.3. The "moveto" commands9.3.4. The "closepath" command9.3.5. The "lineto" commands9.3.6. The cubic Bézier curve commands9.3.7. The quadratic Bézier curve commands9.3.8. The elliptical arc curve commands9.3.9. The grammar for path data9.4. Path directionality9.5. Implementation notes9.5.1. Error handling in path data9.6. Distance along a path9.6.1. The ‘pathLength’ attribute9.7. DOM interfaces9.7.1. Interface SVGPathElement10. Basic Shapes 10.1. Introduction and definitions10.2. The ‘rect’ element10.3. The ‘circle’ element10.4. The ‘ellipse’ element10.5. The ‘line’ element10.6. The ‘polyline’ element10.7. The ‘polygon’ element10.8. The ‘mesh’ element10.9. DOM interfaces10.9.1. Interface SVGRectElement10.9.2. Interface SVGCircleElement10.9.3. Interface SVGEllipseElement10.9.4. Interface SVGLineElement10.9.5. Interface SVGMeshElement10.9.6. Mixin SVGAnimatedPoints10.9.7. Interface SVGPointList10.9.8. Interface SVGPolylineElement10.9.9. Interface SVGPolygonElement11. Text 11.1. Introduction11.1.1. Definitions11.1.2. Fonts and glyphs11.1.3. Glyph metrics and layout11.2. The ‘text’ and
‘tspan’ elements11.2.1. Attributes11.2.2. Notes on 'x', 'y', 'dx', 'dy' and 'rotate'11.3. Text layout – Introduction11.4. Text layout – Content Area11.4.1. The ‘inline-size ’ property11.4.2. The ‘shape-inside ’ property11.4.3. The ‘shape-subtract ’ property11.4.4. The ‘shape-image-threshold ’ property11.4.5. The ‘shape-margin ’ property11.4.6. The ‘shape-padding ’ property11.5. Text layout – Algorithm11.6. Pre-formatted text11.6.1. Multi-line text via 'white-space'11.6.2. Repositioning Glyphs11.7. Auto-wrapped text11.7.1. Notes on Text Wrapping11.7.1.1. First Line Positioning11.7.1.2. Broken Lines11.8. Text on a path11.8.1. The ‘textPath’ element11.8.2. Attributes11.8.3. Text on a path layout rules11.9. Text rendering order11.10. Properties and pseudo-elements11.10.1. SVG properties11.10.1.1. Text alignment, the ‘text-anchor ’ property11.10.1.2. The ‘glyph-orientation-horizontal ’ property11.10.1.3. The ‘glyph-orientation-vertical ’ property11.10.1.4. The ‘kerning ’ property11.10.2. SVG adaptions11.10.2.1. The ‘font-variant ’ property11.10.2.2. The ‘line-height ’ property11.10.2.3. The ‘writing-mode ’ property11.10.2.4. The ‘direction ’ property11.10.2.5. The ‘dominant-baseline ’ property11.10.2.6. The ‘alignment-baseline ’ property11.10.2.7. The ‘baseline-shift ’ property11.10.2.8. The ‘letter-spacing ’ property11.10.2.9. The ‘word-spacing ’ property11.10.2.10. The ‘text-overflow ’ property11.10.3. White space11.10.3.1. SVG 2 Preferred white space handling, the ‘white-space ’ property11.10.3.2. Legacy white-space handling, the ‘xml:space ’ property11.10.3.3. Duplicate white-space directives11.11. Text decoration11.11.1. The ‘text-decoration-fill ’
and ‘text-decoration-stroke ’ properties11.12. Text selection and clipboard operations11.13. DOM interfaces11.13.1. Interface SVGTextContentElement11.13.2. Interface SVGTextPositioningElement11.13.3. Interface SVGTextElement11.13.4. Interface SVGTSpanElement11.13.5. Interface SVGTextPathElement12. Embedded Content 12.1. Overview12.2. Placement of the embedded content12.3. The ‘image’ element12.4. HTML elements in SVG subtrees12.5. The ‘foreignObject’ element12.6. DOM interfaces12.6.1. Interface SVGImageElement12.6.2. Interface SVGForeignObjectElement13. Painting: Filling, Stroking and Marker Symbols 13.1. Introduction13.1.1. Definitions13.2. Specifying paint13.3. The effect of the ‘color ’ property13.4. Fill properties13.4.1. Specifying fill paint: the ‘fill ’ property13.4.2. Winding rule: the ‘fill-rule ’
property13.4.3. Fill paint opacity: the ‘fill-opacity ’
property13.5. Stroke properties13.5.1. Specifying stroke paint: the ‘stroke ’
property13.5.2. Stroke paint opacity: the ‘stroke-opacity ’
property13.5.3. Stroke width: the ‘stroke-width ’
property13.5.4. Drawing caps at the ends of strokes: the ‘stroke-linecap ’
property13.5.5. Controlling line joins: the ‘stroke-linejoin ’
and ‘stroke-miterlimit ’ properties13.5.6. Dashing strokes: the ‘stroke-dasharray ’ and
‘stroke-dashoffset ’ properties13.5.7. Computing the shape of the stroke13.5.8. Computing the circles for the arcs
'stroke-linejoin'13.5.9. Adjusting the circles for the arcs
'stroke-linejoin' when the initial circles do not intersect13.6. Vector effects13.7. Markers13.7.1. The ‘marker’ element13.7.2. Vertex markers: the ‘marker-start ’,
‘marker-mid ’ and ‘marker-end ’
properties13.7.3. Marker shorthand: the ‘marker ’
property13.7.4. Rendering markers13.8. Controlling paint operation order: the
‘paint-order ’ property13.9. Color space for interpolation: the
‘color-interpolation ’ property13.10. Rendering hints13.10.1. The ‘color-rendering ’ property13.10.2. The ‘shape-rendering ’ property13.10.3. The ‘text-rendering ’ property13.10.4. The ‘image-rendering ’ property13.11. The effect of the
‘will-change ’ property13.12. DOM interfaces13.12.1. Interface SVGMarkerElement14. Paint Servers: Solid Colors, Gradients, Patterns and Hatches 14.1. Introduction14.1.1. Using paint servers as templates14.2. Solid colors14.2.1. Properties14.3. Gradients14.3.1. Definitions14.3.2. Linear gradients14.3.2.1. Attributes14.3.2.2. Notes on linear gradients14.3.3. Radial gradients14.3.3.1. Attributes14.3.3.2. Notes on radial gradients14.3.4. Mesh gradients14.3.4.1. Mesh Structure14.3.4.2. Painting a Mesh Patch14.3.4.3. Attributes14.3.5. Gradient stops14.3.5.1. Attributes14.3.5.2. Properties14.3.5.3. Notes on gradient stops14.4. Patterns14.4.1. Attributes14.4.2. Notes on patterns14.5. Hatches14.5.1. Attributes14.5.2. Notes on hatches14.5.3. Hatch paths14.5.3.1. Attributes14.5.3.2. Notes on hatch paths14.6. DOM interfaces14.6.1. Interface SVGSolidcolorElement14.6.2. Interface SVGGradientElement14.6.3. Interface SVGLinearGradientElement14.6.4. Interface SVGRadialGradientElement14.6.5. Interface SVGMeshGradientElement14.6.6. Interface SVGMeshrowElement14.6.7. Interface SVGMeshpatchElement14.6.8. Interface SVGStopElement14.6.9. Interface SVGPatternElement14.6.10. Interface SVGHatchElement14.6.11. Interface SVGHatchpathElement15. Scripting and Interactivity 15.1. Introduction15.2. Supported events15.3. User interface events15.4. Pointer events15.5. Hit-testing and processing order for user interface events15.5.1. Hit-testing15.5.2. Event processing15.6. The ‘pointer-events ’ property15.7. Magnification and panning15.8. Cursors15.8.1. The effect of the ‘cursor ’ property15.8.2. The ‘cursor’ element15.9. Focus15.10. Event attributes15.10.1. Animation event attributes15.11. The ‘script’ element15.12. DOM interfaces15.12.1. Interface SVGCursorElement15.12.2. Interface SVGScriptElement16. Linking 16.1. References16.1.1. Overview16.1.2. Definitions16.1.3. URLs and URIs16.1.4. Syntactic forms: URL and <url>16.1.5. URL reference attributes16.1.6. Deprecated XLink URL reference attributes16.1.7. Processing of URL references16.1.7.1. Generating the absolute URL16.1.7.2. Fetching the document16.1.7.3. Processing the subresource document16.1.7.4. Identifying the target element16.1.7.5. Valid URL targets16.2. Links out of SVG content: the ‘a’ element16.3. Linking into SVG content: URL fragments and SVG views16.3.1. SVG fragment identifiers16.3.2. SVG fragment identifiers definitions16.3.3. Predefined views: the ‘view’ element16.4. DOM interfaces16.4.1. Interface SVGAElement16.4.2. Interface SVGViewElementAppendix A: SVG Document Object Model (DOM) A.1. SVG DOM overviewA.1.1. SVG DOM object initializationA.2. Elements in the SVG DOMA.3. Naming conventionsA.4. Relationship with UI EventsA.5. Relationship with DOM Level 2 CSSA.5.1. User agents that support styling with CSSA.6. Invalid valuesAppendix B: IDL Definitions Appendix C: Implementation Requirements C.1. IntroductionC.2. Error processingC.3. Clamping values which are restricted to a particular rangeC.4. Elliptical arc implementation notesC.4.1. Elliptical arc syntaxC.4.2. Out-of-range parametersC.4.3. Parameterization alternativesC.4.4. Conversion from center to endpoint parameterizationC.4.5. Conversion from endpoint to center parameterizationC.4.6. Correction of out-of-range radiiC.5. Text selection implementation notesC.6. Printing implementation notesC.7. Notes on generating high-precision geometryAppendix D: Accessibility Support D.1. SVG Accessibility FeaturesD.2. Supporting SVG Accessibility Specifications and GuidelinesAppendix E: Animating SVG Documents Appendix F: References F.1. Normative referencesF.2. Informative referencesAppendix G: Element Index Appendix H: Attribute Index H.1. Regular attributesH.2. Presentation attributesAppendix I: Property Index Appendix J: IDL Index Appendix K: Media Type Registration for image/svg+xml K.1.
Introduction
K.2.
Registration of media type image/svg+xml
Appendix L: Changes from SVG 1.1 L.1. Editorial changesL.2. Substantial changesL.2.1. Across the whole document (owner: liam)L.2.2. Concepts (owner: BogdanBrinza)L.2.3. Rendering Model chapter (owner: liam)L.2.4. Basic Data Types and Interfaces chapter (owner: BogdanBrinza)L.2.5. Document Structure chapter (owner: BogdanBrinza)L.2.6. Styling chapter (owner: BogdanBrinza)L.2.7. Conformance chapter (owner: BogdanBrinza)L.2.8. Geometry Properties chapter (owner: BogdanBrinza)L.2.9. Coordinate Systems, Transformations and Units chapter (owner: BogdanBrinza)L.2.10. Paths chapter (owner: ericwilligers)L.2.11. Basic Shapes chapter (owner: BogdanBrinza)L.2.12. Text chapter (owner: BogdanBrinza)L.2.13. Embedded Content chapter (owner: BogdanBrinza)L.2.14. Painting chapter (owner: BogdanBrinza)L.2.15. Color chapter (owner: Chris Lilley)L.2.16. Paint Servers chapter (owner: BogdanBrinza)L.2.17. Clipping, Masking and Compositing chapter (owner: BogdanBrinza)L.2.18. Filter Effects chapter (owner: BogdanBrinza)L.2.19. Interactivity chapter (owner: BogdanBrinza)L.2.20. Linking chapter (owner: BogdanBrinza)L.2.20.1. Tests:L.2.20.2. Actions:L.2.21. Scripting chapter (owner: BogdanBrinza)L.2.22. Animation chapter (owner: BogdanBrinza)L.2.23. Fonts chapter (owner: BogdanBrinza)L.2.24. Extensibility chapter (owner: ericwilligers)L.2.25. Document Type Definition appendix (owner: BogdanBrinza)L.2.26. Java Language Binding appendix (owner: BogdanBrinza)L.2.27. ECMAScript Language Binding appendix (owner: BogdanBrinza)L.2.28. References appendix (owner: BogdanBrinza)L.2.29. IDL Index appendix (owner: BogdanBrinza)L.2.30. Feature Strings (owner: BogdanBrinza)
Acknowledgments
The SVG Working Group would like to thank the following people for
contributing to this specification with patches or by participating in discussions
that resulted in changes to the document:
David Dailey,
Eric Eastwood,
Jarek Foksa,
Daniel Holbert,
Paul LeBeau,
Robert Longson,
Henri Manson,
Ms2ger,
Kari Pihkala,
Philip Rogers,
David Zbarsky.
In addition, the SVG Working Group would like to acknowledge the
contributions of the editors and authors of the previous versions
of SVG – as much of the text in this document derives from these
earlier specifications – including:
Patrick Dengler, Microsoft Corporation (Version 1.1 Second Edition)
Jon Ferraiolo, ex Adobe Systems (Versions 1.0 and 1.1 First Edition; until 10 May 2006)
Anthony Grasso, ex Canon Inc. (Version 1.1 Second Edition)
Dean Jackson, ex W3C (Version 1.1 First Edition; until February 2007)
藤沢 淳 (FUJISAWA Jun), Canon Inc. (Version 1.1 First Edition)
Finally, the SVG Working Group would like to acknowledge the
great many people outside of the SVG Working Group who help with the
process of developing the SVG specifications. These people are too
numerous to list individually. They include but are not limited to
the early implementers of the SVG 1.0 and 1.1 languages (including
viewers, authoring tools, and server-side transcoders), developers of
SVG content, people who have contributed on the www-svg@w3.org and
svg-developers@yahoogroups.com email lists, other Working Groups at the
W3C, and the W3C Team. SVG 1.1 is truly a cooperative effort between
the SVG Working Group, the rest of the W3C, and the public and benefits
greatly from the pioneering work of early implementers and content
developers, feedback from the public, and help from the W3C team.