From rdpeng at gmail.com  Mon Feb 25 19:55:59 2008
From: rdpeng at gmail.com (Roger Peng)
Date: Mon, 25 Feb 2008 13:55:59 -0500
Subject: [Rd] New version of X11, png and jpeg
In-Reply-To: <alpine.LFD.1.00.0802201933470.25534@gannet.stats.ox.ac.uk>
References: <alpine.LFD.1.00.0802201933470.25534@gannet.stats.ox.ac.uk>
Message-ID: <66f3bd910802251055m818e1c2kb0056e729b8e5a11@mail.gmail.com>

(Apologies, I meant to 'Reply to all' the first time but forgot).

I built r44608 of R-devel with (I think) cairo support.   At least,
that's what the configure script told me.  In addition,
'capabilities("cairo")' is TRUE.  Calling X11(type = "Cairo") gives me
the error:

Error in X11() : X11 module cannot be loaded
In addition: Warning message:
In X11() :
 unable to load shared library
'/home/rpeng/install/R-devel/lib64/R/modules//R_X11.so':
 /home/rpeng/install/R-devel/lib64/R/modules//R_X11.so: undefined
symbol: cairo_image_surface_get_data


I figured I must be missing a library somewhere, but I'm not sure how
to track down which one.  Any thoughts here?

I'm on a FC5 system with:

cairo-devel-1.0.4-1
cairo-1.0.4-1
cairo-1.0.4-1

and

pango-1.12.4-4
pango-devel-1.12.4-4
pango-1.12.4-4

Also, I have

[rpeng at audrey R-source]$ pkg-config --modversion pango
1.12.4
[rpeng at audrey R-source]$ pkg-config --modversion cairo
1.0.4

-roger

On Mon, Feb 25, 2008 at 11:56 AM, Prof Brian Ripley
<ripley at stats.ox.ac.uk> 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 (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,                  ripley at stats.ox.ac.uk
>  Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
>  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 at r-project.org mailing list
>  https://stat.ethz.ch/mailman/listinfo/r-devel
>



-- 
Roger D. Peng  |  http://www.biostat.jhsph.edu/~rpeng/



[Rd] New version of X11, png and jpeg
Roger Peng