Scalable Vector Graphics (SVG) 2
W3C Candidate Recommendation 04 October 2018
This version:
https://www.w3.org/TR/2018/CR-SVG2-20181004/
Latest version:
https://www.w3.org/TR/SVG2/
Previous version:
https://www.w3.org/TR/2018/CR-SVG2-20180807/
Editors draft
https://svgwg.org/svg2-draft/
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:
Amelia Bellamy-Royds, Invited Expert <amelia.bellamy.royds@gmail.com >
Bogdan Brinza, Microsoft Co. <bbrinza@microsoft.com >
Chris Lilley, W3C <chris@w3.org >
Dirk Schulze, Adobe Systems <dschulze@adobe.com >
David Storey, Microsoft Co. <dstorey@microsoft.com >
Eric Willigers, Google
Former 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 >
Brian Birtles, Mozilla Japan <bbirtles@mozilla.com >
Cyril Concolato, Telecom ParisTech <cyril.concolato@telecom-paristech.fr >
Erik Dahlström, Invited Expert <erik@dahlström.net >
Cameron McCormack, Mozilla Corporation <cam@mcc.id.au >
Doug Schepers, W3C <schepers@w3.org >
Richard Schwerdtfeger, IBM <schwer@us.ibm.com >
Satoru Takagi, KDDI Corporation <sa-takagi@kddi.com >
Jonathan Watt, Mozilla Corporation <jwatt@jwatt.org >
Copyright © 2018 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 04 October 2018 Candidate Recommendation of SVG 2. This version of SVG
builds upon SVG 1.1 Second Edition
by improving the usability and precision of the language.
The Changes appendix lists all
of the changes that have been made since SVG 1.1 Second Edition.
Publication as a Candidate Recommendation 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.
This Candidate Recommendation is expected to advance to Proposed Recommendation no earlier than 04 December 2018.
There is no preliminary implementation report at this time. The SVG Working Group is working on a test suite for SVG2 and expects to produce an implementation report based on those tests.
Comments on this Candidate Recommendation are welcome.
Comments can be raised as GitHub issues
(preferred), or alternatively 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 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 .
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 February 2018 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.4.6. Error processing2.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.5.1. Printing implementation notes2.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. 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.2.1. Real number precision4.2.2. Clamping values which are restricted to a particular range4.3. SVG DOM overview4.3.1. Dependencies for SVG DOM support4.3.2. Naming conventions4.3.3. Elements in the SVG DOM4.3.4. Reflecting content attributes in the DOM4.3.5. Synchronizing reflected values4.3.6. Reflecting an empty initial value4.3.7. Invalid values4.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.5.7. Interface SVGStringList4.6. DOM interfaces for reflecting animatable 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.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.4.1. Segment-completing close path operation9.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. Out-of-range elliptical arc parameters9.5.2. Reflected control points9.5.3. Zero-length path segments9.5.4. 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. DOM interfaces10.8.1. Interface SVGRectElement10.8.2. Interface SVGCircleElement10.8.3. Interface SVGEllipseElement10.8.4. Interface SVGLineElement10.8.5. Mixin SVGAnimatedPoints10.8.6. Interface SVGPointList10.8.7. Interface SVGPolylineElement10.8.8. 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.12.1. Text selection implementation notes11.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: Gradients and Patterns 14.1. Introduction14.1.1. Using paint servers as templates14.2. Gradients14.2.1. Definitions14.2.2. Linear gradients14.2.2.1. Attributes14.2.2.2. Notes on linear gradients14.2.3. Radial gradients14.2.3.1. Attributes14.2.3.2. Notes on radial gradients14.2.4. Gradient stops14.2.4.1. Attributes14.2.4.2. Properties14.2.4.3. Notes on gradient stops14.3. Patterns14.3.1. Attributes14.3.2. Notes on patterns14.4. DOM interfaces14.4.1. Interface SVGGradientElement14.4.2. Interface SVGLinearGradientElement14.4.3. Interface SVGRadialGradientElement14.4.4. Interface SVGStopElement14.4.5. Interface SVGPatternElement15. Scripting and Interactivity 15.1. Introduction15.2. Supported events15.2.1. Relationship with UI 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. Focus15.9. Event attributes15.9.1. Animation event attributes15.10. The ‘script’ element15.11. DOM interfaces15.11.1. 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: IDL Definitions Appendix B: Implementation Notes B.1. IntroductionB.2. Elliptical arc parameter conversionB.2.1. Elliptical arc endpoint syntaxB.2.2. Parameterization alternativesB.2.3. Conversion from center to endpoint parameterizationB.2.4. Conversion from endpoint to center parameterizationB.2.5. Correction of out-of-range radiiB.3. Notes on generating high-precision geometryAppendix C: Accessibility Support C.1. SVG Accessibility FeaturesC.2. Supporting SVG Accessibility Specifications and GuidelinesAppendix D: Animating SVG Documents Appendix E: References E.1. Normative referencesE.2. Informative referencesAppendix F: Element Index Appendix G: Attribute Index G.1. Regular attributesG.2. Presentation attributesAppendix H: Property Index Appendix I: IDL Index Appendix J: Media Type Registration for image/svg+xml J.1.
Introduction
J.2.
Registration of media type image/svg+xml
Appendix K: Changes from SVG 1.1 K.1. Editorial changesK.2. Substantial changesK.2.1. Across the whole documentK.2.2. Concepts chapter (SVG 1.1 only)K.2.3. Conformance Criteria chapter (Appendix in SVG 1.1)K.2.4. Rendering Model chapterK.2.5. Basic Data Types and Interfaces chapterK.2.6. Document Structure chapterK.2.7. Styling chapterK.2.8. Geometry Properties chapter (SVG 2 only)K.2.9. Coordinate Systems, Transformations and Units chapterK.2.10. Paths chapterK.2.11. Basic Shapes chapterK.2.12. Text chapterK.2.13. Embedded Content chapter (SVG 2 only)K.2.14. Painting chapterK.2.15. Color chapter (SVG 1.1 only)K.2.16. Paint Servers chapter (called Gradients and Patterns in SVG 1.1)K.2.17. Clipping, Masking and Compositing chapter (SVG 1.1 only)K.2.18. Filter Effects chapter (SVG 1.1 only)K.2.19. Scripting and Interactivity chapter (separate chapters in SVG 1.1)K.2.20. Linking chapterK.2.21. Scripting chapter (in SVG 1.1)K.2.22. Animation chapter (SVG 1.1 only)K.2.23. Fonts chapter (SVG 1.1 only)K.2.24. Metadata chapter (SVG 1.1 only)K.2.25. Backwards Compatibility chapter (SVG 1.1 only)K.2.26. Extensibility chapter (SVG 1.1 only)K.2.27. Document Type Definition appendix (SVG 1.1 only)K.2.28. SVG Document Object Model (DOM)(SVG 1.1 Only)K.2.29. IDL Definitions appendixK.2.30. Java Language Binding appendix (SVG 1.1 only)K.2.31. ECMAScript Language Binding appendix (SVG 1.1 only)K.2.32. Implementation Notes appendix (was Implementation Requirements in SVG 1.1)K.2.33. Accessibility Support appendixK.2.34. Internationalization Support appendix (SVG 1.1 only)K.2.35. Minimizing SVG File Sizes appendix (SVG 1.1 only)K.2.36. Animating SVG Documents appendix (SVG 2 only)K.2.37. References appendixK.2.38. Elmenent, Attribute, and Property index appendicesK.2.39. IDL Index appendix (SVG 2 only)K.2.40. Feature Strings (SVG 1.1 only)
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.