On Mon, Feb 25, 2008 at 10:56 AM, Prof Brian Ripley <[EMAIL PROTECTED]> wrote:
> R-devel has new versions of the X11(), png() and jpeg() devices on > Unix-alikes. The intention is that these are used identically to the > previous versions (which remain available) but will produce higher-quality > output with more features. > > Pros: > > Antialiasing of text and lines (can be turned off) but no blurring of > fills. > > Buffering of the X11 display and fast repainting from a backing image. > (The intention is to emulate the timer-based buffering of the windows() > device in due course, but not for 2.7.0.) > > Ability to use translucent colours, including backgrounds, and produce > partially transparent PNG files. > > Scalable text, including to sizes like 4.5 pt. This allows more accurate > sizing on non-standard screen sizes (e.g. my home machine has a 90dpi > 1650x1024 display whereas standard X11 fonts are set up for 75 or 100 > dpi). > > Full support for UTF-8, so on systems with suitable fonts you can plot in > many languages on a single figure (and this will work even in non-UTF-8 > locales). The output should be locale-independent (unlike the current > devices where even English text is rendered slightly differently in > Latin-1 and UTF-8 locales). > > A utility function savePlot() to make a PNG/JPEG/TIFF copy of the current > plot. > > The new png() and jpeg() devices do not require an X server to be running. > > Cons: > > Needs more software installed - cairo, pango and support packages Would it be at all feasible to make the cairo backend available on all platforms and have it provide a public API through which an arbitrary cairo context could be passed as the drawing target? That would allow e.g. cairoDevice to be a much simpler module that draws the cairo context to a GTK+ window and manages the window and events. In that case, it would need to be renamed to 'gtkDevice2' or something. Michael (which > on all the systems we have looked at are pulled in by the packages checked > for). You will see something like > > Additional capabilities: PNG, JPEG, iconv, MBCS, NLS, cairo > ^^^^^ > if configure finds the software we are looking for. > > Slower under some circumstances (although on the test systems much faster > than packages Cairo and cairoDevice). This will be particularly true for > X11() with a slow connection between the machine running R and the X > server. > > The additional software might not work correctly. > > > The new versions are not currently the default, but can be made so by > setting X11.options(type="Cairo"), e.g. as a load hook for package > grDevices. I am using > > setHook(packageEvent("grDevices", "onLoad"), > function(...) { > grDevices::ps.options(horizontal=FALSE) > if(getRversion() >= '2.7.0') grDevices::X11.options(type="Cairo") > }) > > > Please try these out and let us know how you get on. As a check, try the > TestChars() examples in ?points - on one Solaris 10 system a few of the > symbol font characters were incorrect. It worked on an FC5 system with > > auk% pkg-config --modversion pango > 1.12.4 > auk% pkg-config --modversion cairo > 1.0.4 > > so the versions required are not all recent. > > Although these devices would in principle work on Mac OS X, neither cairo > nor pango is readily available. We are working on other versions for > Mac OS (X11 based on cairo/freetype, png/jpeg based on Quartz). > > There are also new svg() and tiff() devices. > > -- > Brian D. Ripley, [EMAIL PROTECTED] > Professor of Applied Statistics, > http://www.stats.ox.ac.uk/~ripley/<http://www.stats.ox.ac.uk/%7Eripley/> > University of Oxford, Tel: +44 1865 272861 (self) > 1 South Parks Road, +44 1865 272866 (PA) > Oxford OX1 3TG, UK Fax: +44 1865 272595 > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel