-
Text metrics now converted from points to pixels (#45, #48) - this fixes text alignment issues.
-
Intermediate outputs are always valid SVG (#53).
-
New
svgstring()
returns plot as a string (#40, @yixuan). -
Use raster test compatible with older versions of R.
-
Add support for
clip()
. This also fixes a number of minor issues with grid graphics (@yixuan, #47 and #49). -
Fix incorrect device size (#50).
svglite is fully featured svg graphics device that works on all platforms, forked from RSvgDevice. It supports all graphics device features:
-
All types of line dashing are supported (#15). All line end and line join styles are supported (#24).
-
Text is now coloured, and uses the same default fonts as R (Arial, Times New Roman, and Courier). Font metrics are computed using the gdtools package so that
plotmath()
andstrwidth()
now work. -
Transparent colours are now generated with
rgba()
rather than usingstroke-opacity
andfill-opacity
styles (#16). NA fills and colours are translated to "none". -
par(bg)
affects the background colour (#8). -
Rasters are supported by embedding base64-encoded pngs in a data url (#2).
-
polypath()
is now supported, which also allows theshowtext
package to render fonts correctly with this device (#36).
We also made a few other tweaks to the rendered SVG:
-
Only the
viewBox
attribute of<svg>
is set (notwidth
andheight
): I'm reasonably certain this makes it easier to use in more places (#12). -
Default styling properties are specified in a global
<style>
element: this reduces overall file size, and should make it easier to re-style the output for your own needs. -
You can now only produce a single page per device - previously this worked but produced incorrect output (#5).
-
Output no longer contains dummy
<desc>
element (#4)
And added some helper functions:
-
xmlSVG()
andhtmlSVG()
make it easier to view generated SVG, either as raw XML or in RStudio/the browser. -
editSVG()
opens the SVG in the default SVG viewer/editor.