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>&lt;style&gt;</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