This release makes svglite compatible with gdtools 0.1.6.
The device functions gain
Two new vignettes:
vignette("scaling"). The vignette on fonts explains in detail how to use the new fonts arguments and why. The vignette on scaling goes over scaling issues, e.g. when embedding svglite outputs in a web page.
width arguments (#66).
stringSVG() device function for quick testing.
Greatly improves the performance of
Clip paths now get a unique identifier to avoid collisions when multiple plots are included in a document (#67).
Raster graphics are now correctly cropped (#64) and handle transparency properly.
The dimensions of text fields are now hardcoded in the SVGs to prevent alignment issues.
editSVG() works again (#56).
The dashes in lines with
lwd < 1 are scaled better (#68).
Transparent blacks are written correctly (#62, #63).
Text is now scaled correctly (#72, #59). See also the new vignette on scaling.
Text metrics now converted from points to pixels (#45, #48) - this fixes text alignment issues.
Intermediate outputs are always valid SVG (#53).
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
strwidth() now work.
Transparent colours are now generated with
rgba() rather than using
fill-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 the
showtext package to render fonts correctly with this device (#36).
We also made a few other tweaks to the rendered SVG:
viewBox attribute of
<svg> is set (not
height): 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:
htmlSVG() 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.