README.md in prawn-svg-0.27.1 vs README.md in prawn-svg-0.28.0
- old
+ new
@@ -79,11 +79,11 @@
- `<linearGradient>` is implemented with Prawn 2.2.0+ (gradientTransform, spreadMethod and stop-opacity are unimplemented.)
- `<switch>` and `<foreignObject>`, although prawn-svg cannot handle any data that is not SVG so `<foreignObject>`
tags are always ignored.
- - properties: `clip-path`, `color`, `display`, `fill-opacity`, `fill`, `opacity`, `overflow`, `stroke`, `stroke-dasharray`, `stroke-linecap`, `stroke-opacity`, `stroke-width`
+ - properties: `clip-path`, `color`, `display`, `fill`, `fill-opacity`, `fill-rule`, `opacity`, `overflow`, `stroke`, `stroke-dasharray`, `stroke-linecap`, `stroke-opacity`, `stroke-width`
- properties on lines, polylines, polygons and paths: `marker-end`, `marker-mid`, `marker-start`
- attributes on all elements: `class`, `id`, `style`, `transform`, `xml:space`
@@ -99,14 +99,23 @@
- fonts: generic CSS fonts, built-in PDF fonts, and any TTF fonts in your fonts path, specified in any of the measurements above plus `em` or `rem`
## CSS
-prawn-svg uses the css_parser gem to parse CSS <tt><style></tt> blocks. It only handles simple tag, class or id selectors; attribute and other advanced selectors are not supported by the gem.
+prawn-svg supports CSS, both in `<style>` blocks and `style` attributes.
+In CSS selectors you can use element names, IDs, classes, attributes (existence, `=`, `^=`, `$=`, `*=`, `~=`, `|=`)
+and all combinators (` `, `>`, `+`, `~`).
+The pseudo-classes `:first-child`, `:last-child` and `:nth-child(n)` (where n is a number) also work.
+
+Pseudo-elements and the other pseudo-classes are not supported. Specificity ordering is
+implemented, but `!important` is not.
+
## Not supported
prawn-svg does not support radial gradients, patterns or filters.
+
+It does not support text in the clip area, but you can clip shapes and text by any shape.
## Configuration
### Fonts