[librsvg: 7/8] Notes on the scope of librsvg in terms of spec versions




commit 0790444eb65ab9f83d88532aee45d19cfe971b0e
Author: Federico Mena Quintero <federico gnome org>
Date:   Wed Oct 13 12:52:38 2021 -0500

    Notes on the scope of librsvg in terms of spec versions
    
    Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/605>

 FEATURES.md | 33 +++++++++++++++++++++++++++++++++
 README.md   |  2 +-
 2 files changed, 34 insertions(+), 1 deletion(-)
---
diff --git a/FEATURES.md b/FEATURES.md
index 52685298..b398a660 100644
--- a/FEATURES.md
+++ b/FEATURES.md
@@ -1,5 +1,34 @@
 # SVG and CSS features that librsvg supports
 
+Librsvg tries to be a mostly complete renderer for SVG1.1 and SVG2.
+
+In terms of processing external references, librsvg is a bit more
+strict than SVG's "static mode" and a bit more lenient than "secure
+static mode".  See "Security and locations of referenced files" in the
+reference documentation for details.
+
+Animation, interactivity, and scripting are not supported.
+
+The SVG1.2 specification never made it past draft status in the W3C's
+process, and librsvg does not support it.  Note that SVG2 removed some
+of the features proposed for SVG1.2.
+
+Generally, librsvg tries to keep up with features in the SVG2
+Candidate Recommendation spec.  It ignores features in the SVG2
+drafts that are not finalized yet.
+
+Alternative versions of SVG (SVG Tiny, SVG Basic, [SVG
+Native](https://gitlab.gnome.org/GNOME/librsvg/-/issues/689)) are not
+explicitly supported.  Their features which are a subset of SVG1.1 or
+SVG2 are supported if they are equivalent to the ones listed below.
+
+SVG2 offloads many of its features to the family of CSS3
+specifications.  Librsvg does not try to support them exhaustively
+(there are too many features in CSS!).  Instead, we try to prioritize
+new features based on the needs which people express in librsvg's bug
+tracker.  Do you want a feature?  [File an
+issue](https://gitlab.gnome.org/GNOME/librsvg/issues)!
+
 ## Attributes supported by all elements
 
 | Attribute          | Notes                                                                               |
@@ -363,6 +392,10 @@ attributes:
 | exponent    |       |
 | offset      |       |
 
+# CSS features
+
+FIXME: which selectors, combinators, at-rules.
+
 # XML features
 
 FIXME: `<xi:include href= parse= encoding=>`
diff --git a/README.md b/README.md
index b0f2928f..feb3c3c6 100644
--- a/README.md
+++ b/README.md
@@ -60,7 +60,7 @@ in general, please see the file [`CONTRIBUTING.md`][contributing].
 Goals of librsvg
 ----------------
 
-Librsvg aims to be a low-footprint library for rendering SVG images.
+Librsvg aims to be a low-footprint library for rendering SVG1.1 and SVG2 images.
 It is used primarily in the [GNOME project](https://www.gnome.org) to
 render SVG icons and vector images that appear on the desktop.  It is
 also used in Wikimedia to render the SVG images that appear in


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]