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

Reply via email to