CARVIEW |
Scalable Vector Graphics (SVG) 1.0 Specification
W3C Candidate Recommendation 2 August 2000
- This version:
- https://www.w3.org/TR/2000/CR-SVG-20000802/
- (Available as: PDF, zip archive of HTML)
- Latest version:
- https://www.w3.org/TR/SVG/
- Previous version:
- https://www.w3.org/TR/2000/WD-SVG-20000629/
- Editor:
- Jon Ferraiolo <jferraio@adobe.com>
- Authors:
- See author list
Copyright ©1998, 1999, 2000 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
Abstract
This specification defines the features and syntax for Scalable Vector Graphics (SVG), a language for describing two-dimensional vector and mixed vector/raster graphics in XML.
Status of this document
This is the Candidate Recommendation of the Scalable Vector Graphics (SVG) 1.0 specification. This means that the SVG Working Group (Members-only) considers the specification to be stable and encourages implementation and comment on the specification during this period. The Candidate Recommendation review period ends when there exists at least one SVG implementation which passes each of the Basic Effectivity (BE) tests in the SVG test suite. Due to the already very good implementation status of SVG, we anticipate this to take approximately one month. Please send review comments before the review period ends to svg-comments@w3.org.
Should this specification prove very difficult or impossible to implement, the Working Group will return the document to Working Draft status and make necessary changes. Otherwise, the Working Group anticipates asking the W3C Director to advance this document to Proposed Recommendation.
This is a W3C Working Draft for review by W3C Members and other interested parties. It is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to use W3C Working Drafts as reference material or to cite them as other than "work in progress". This is work in progress and does not imply endorsement by, or the consensus of, the W3C Membership.
This document has been produced as part of the Graphics Activity. The authors of this document are the SVG WG members. The editor is Jon Ferraiolo.
A list of current W3C Recommendations and other technical documents can be found at https://www.w3.org/TR/.
Quick Table of Contents
- 1 Introduction
- 2 Concepts
- 3 Rendering Model
- 4 Basic Data Types and Interfaces
- 5 Document Structure
- 6 Styling
- 7 Coordinate Systems, Transformations and Units
- 8 Paths
- 9 Basic Shapes
- 10 Text
- 11 Painting: Filling, Stroking and Marker Symbols
- 12 Color
- 13 Gradients and Patterns
- 14 Clipping, Masking and Compositing
- 15 Filter Effects
- 16 Interactivity
- 17 Linking
- 18 Scripting
- 19 Animation
- 20 Fonts
- 21 Metadata
- 22 Backwards Compatibility
- 23 Extensibility
- Appendix A: DTD
- Appendix B: SVG's Document Object Model (DOM)
- Appendix C: IDL Definitions
- Appendix D: Java Language Binding
- Appendix E: ECMAScript Language Binding
- Appendix F: Implementation Requirements
- Appendix G: Conformance Criteria
- Appendix H: Accessibility Support
- Appendix I: Internationalization Support
- Appendix J: Minimizing SVG File Sizes
- Appendix K: References
- Appendix L: Property index
- Appendix M: Change History
The following sections have not been written yet, but are expected to be be present in later versions of this specification:
- Appendix N: Element and attribute index
- Appendix O: Index
Full Table of Contents
- 1 Introduction
- 2 Concepts
- 3 Rendering Model
- 4 Basic Data Types and Interfaces
-
5 Document Structure
- 5.1 Defining an SVG document fragment: the 'svg' element
- 5.2 Grouping and Naming Collections of Drawing Elements: the 'g' element
- 5.3 References and the 'defs' element
- 5.4 The 'desc' and 'title' elements
- 5.5 The 'symbol' element
- 5.6 The 'use' element
- 5.7 The 'image' element
- 5.8 Conditional processing
- 5.9 Common attributes
- 5.10 DOM interfaces
-
6 Styling
- 6.1 SVG's styling properties
- 6.2 Usage scenarios for styling
- 6.3 Alternative ways to specify styling properties
- 6.4 Specifying properties using the presentation attributes
- 6.5 Entity definitions for the presentation attributes
- 6.6 Styling with XSL
- 6.7 Styling with CSS
- 6.8 Facilities from CSS and XSL used by SVG
- 6.9 Referencing external style sheets
- 6.10 The 'style' element
- 6.11 The class attribute
- 6.12 The style attribute
- 6.13 Specifying the default style sheet language
- 6.14 Property inheritance
- 6.15 The scope/range of styles
- 6.16 User agent style sheet
- 6.17 Aural style sheets
- 6.18 DOM interfaces
-
7 Coordinate Systems, Transformations and Units
- 7.1 Introduction
- 7.2 The initial viewport
- 7.3 The initial coordinate system
- 7.4 Coordinate system transformations
- 7.5 Nested transformations
- 7.6 The transform attribute
- 7.7 The viewBox attribute
- 7.8 The preserveAspectRatio attribute
- 7.9 Establishing a new viewport
- 7.10 Units
- 7.11 Redefining the meaning of unit identifiers
- 7.12 Object bounding box units
- 7.13 Processing rules when using absolute unit identifiers and percentages
- 7.14 DOM interfaces
-
8 Paths
- 8.1 Introduction
- 8.2 The 'path' element
-
8.3 Path Data
- 8.3.1 General information about path data
- 8.3.2 The "moveto" commands
- 8.3.3 The "closepath" command
- 8.3.4 The "lineto" commands
- 8.3.5 The curve commands
- 8.3.6 The cubic Bézier curve commands
- 8.3.7 The quadratic Bézier curve commands
- 8.3.8 The elliptical arc curve commands
- 8.3.9 The grammar for path data
- 8.4 Distance along a path
- 8.5 DOM interfaces
- 9 Basic Shapes
-
10 Text
- 10.1 Introduction
- 10.2 Characters and their corresponding glyphs
- 10.3 Fonts, font tables and baselines
- 10.4 The 'text' element
- 10.5 The 'tspan' element
- 10.6 The 'tref' element
- 10.7 The 'glyphRun' element
- 10.8 Text layout
- 10.9 Alignment properties
- 10.10 Font selection properties
- 10.11 Spacing properties
- 10.12 Text decoration
- 10.13 Text on a path
- 10.14 Alternate glyphs
- 10.15 White space handling
- 10.16 Text selection
- 10.17 DOM interfaces
- 11 Painting: Filling, Stroking and Marker Symbols
- 12 Color
- 13 Gradients and Patterns
- 14 Clipping, Masking and Compositing
-
15 Filter Effects
- 15.1 Introduction
- 15.2 An example
- 15.3 The 'filter' element
- 15.4 The 'filter' property
- 15.5 Filter effects region
- 15.6 Accessing the background image
- 15.7 Filter primitives overview
- 15.8 Light source elements and properties
- 15.9 Filter primitive 'feBlend'
- 15.10 Filter primitive 'feColorMatrix'
- 15.11 Filter primitive 'feComponentTransfer'
- 15.12 Filter primitive 'feComposite'
- 15.13 Filter primitive 'feConvolveMatrix'
- 15.14 Filter primitive 'feDiffuseLighting'
- 15.15 Filter primitive 'feDisplacementMap'
- 15.16 Filter primitive 'feFlood'
- 15.17 Filter primitive 'feGaussianBlur'
- 15.18 Filter primitive 'feImage'
- 15.19 Filter primitive 'feMerge'
- 15.20 Filter primitive 'feMorphology'
- 15.21 Filter primitive 'feOffset'
- 15.22 Filter primitive 'feSpecularLighting'
- 15.23 Filter primitive 'feTile'
- 15.24 Filter primitive 'feTurbulence'
- 15.25 DOM interfaces
- 16 Interactivity
- 17 Linking
- 18 Scripting
-
19 Animation
- 19.1 Introduction
-
19.2 Animation elements
- 19.2.1 Overview
- 19.2.2 Relationship to SMIL Animation
- 19.2.3 Animation elements example
- 19.2.4 Attributes to identify the target element for an animation
- 19.2.5 Attributes to identify the target attribute or property for an animation
- 19.2.6 Attributes to control the timing of the animation
- 19.2.7 Attributes that define animation values over time
- 19.2.8 Attributes that control whether animations are additive
- 19.2.9 Inheritance
- 19.2.10 The 'animate' element
- 19.2.11 The 'set' element
- 19.2.12 The 'animateMotion' element
- 19.2.13 The 'animateColor' element
- 19.2.14 The 'animateTransform' element
- 19.2.15 Elements, attributes and properties that can be animated
- 19.3 Animation using the SVG DOM
- 19.4 DOM interfaces
- 20 Fonts
- 21 Metadata
- 22 Backwards Compatibility
- 23 Extensibility
- Appendix A: DTD
- Appendix B: SVG's Document Object Model (DOM)
- Appendix C: IDL Definitions
- Appendix D: Java Language Binding
- Appendix E: ECMAScript Language Binding
- Appendix F: Implementation Requirements
- Appendix G: Conformance Criteria
- Appendix H: Accessibility Support
- Appendix I: Internationalization Support
- Appendix J: Minimizing SVG File Sizes
- Appendix K: References
- Appendix L: Property index
- Appendix M: Change History
The following sections have not been written yet, but are expected to be be present in later versions of this specification:
- Appendix N: Element and attribute index
- Appendix O: Index
- Authors:
- John Bowler, Microsoft Corporation <johnbo@microsoft.com>
- Milt Capsimalis, Autodesk Inc. <milt@autodesk.com>
- Richard Cohn, Adobe Systems Incorporated <cohn@adobe.com>
- David Dodds, Lexica <ddodds@lexica.net>
- Andrew Donoho, IBM <awd@us.ibm.com>
- David Duce, Oxford Brookes University <daduce@brookes.ac.uk>
- Jerry Evans, Sun Microsystems <jerry.evans@Eng.sun.com>
- Jon Ferraiolo, Adobe Systems Incorporated <jferraio@adobe.com>
- Scott Furman, Netscape Communications Corporation <fur@netscape.com>
- Brent Getlin, Macromedia <bgetlin@macromedia.com>
- Peter Graffagnino, Apple <pgraff@apple.com>
- Rick Graham, BitFlash Inc. <rick@bitflash.com>
- Vincent Hardy, Sun Microsystems, <vincent.hardy@sun.com>
- Lofton Henderson, OASIS, <lofton@rockynet.com>
- Alan Hester, Xerox Corporation <Alan.Hester@usa.xerox.com>
- Bob Hopgood, RAL (CCLRC) <frah@inf.rl.ac.uk>
- Dean Jackson, CSIRO <dean.jackson@cmis.csiro.au>
- Christophe Jolif, ILOG <jolif@ilog.fr>
- Kelvin Lawrence, IBM <klawrenc@us.ibm.com>
- Chris Lilley, W3C <chris@w3.org>
- Philip Mansfield, IntraNet Solutions, Inc. <philipm@schemasoft.com>
- Kevin McCluskey, Netscape Communications Corporation <kmcclusk@netscape.com>
- Tuan Nguyen, Microsoft Corporation <tuann@microsoft.com>
- Troy Sandal, Visio Corporation <TroyS@visio.com>
- Peter Santangeli, Macromedia <psantangeli@macromedia.com>
- Haroon Sheikh, Corel Corporation <haroons@corel.ca>
- Gavriel State, Corel Corporation <gavriels@COREL.CA>
- Robert Stevahn, Hewlett-Packard Company <rstevahn@boi.hp.com>
- Timothy Thompson, Kodak <timothy.thompson@kodak.com>
- Shenxue Zhou, Quark <szhou@quark.com>