[R] R/Sweave/cairo/freetype bug fix.

Hin-Tak Leung htl10 at users.sourceforge.net
Sat Mar 30 09:25:37 CET 2013


The problem was first seen with R/Sweave (#c0) then reproduced directly with cairo (#c10) and was eventually traced to freetype. The 5-part bug fix:
610ee58e07090ead529849b2a454bb6c503b4995
da11e5e7647b668dee46fd0418ea5ecbc33ae3b2
e1a2ac1900f2f16ec48fb4840a6b7965a8373c2b
869fb8c49ddf292d6daf4826172a308973d3e11f
d56e544d653b09c657911629557ffc5277a503e3
was committed to freetype in January and will form the next release (2.4.12). They were back ported to 2.4.11
https://bugzilla.redhat.com/show_bug.cgi?id=891457#c35
and the redhat people had further back-ported it to 2.4.10 for fedora 18/19 (#c51).

The freetype people had reproduced the problem with a latin font, so this affects most people, unlike what the initial report (#c0) suggests.

Since freetype is part of X11, most unix/linux users would be understandably nervous about breaking X (see #c45 for screenshot of broken gnome terminal!) and should wait up to a year before the new and not-yet-released 2.4.12 becomes an official upgrade; or contact their favourite unix vendors and/or Apple for upgrades. AFAIK, current up-to-date linux distributions ships the rather older 2.4.10, with the exception of fedora 18/19 (#c51). Mac OS X 10.5 ships freetype 2.3.5 as part of X11; I haven't bother looking up later Mac OS X's.

The official R binaries for windows and mac OS X are compiled against static libraries of cairo 1.10.2 (over 2 years old), and cairo 1.11.2 and freetype 2.4.4 respectively, and are firmly in the "do not work correctly" category.

The long and short of the story is that R/Sweave uses a feature of cairo which wasn't implemented before cairo 1.11.2 (#c13, Jan 2011), which in turn depends on a feature of freetype that has been around since 2005 but did not anticipate cairo's usage. It is commendable that the freetype people did not refer to cairo's usage as "misuse" but took the patience to address the problem, unlike some group's style.

It has been an interesting few months returning to freetype after about 17 years, I think.

Here is how to look up what version of freetype - libfreetype.so.x.y.z for most unix platforms, and /usr/X11/lib/libfreetype.x.y.z.dylib on Mac OS X:

(excerpt from docs/VERSION.DLL)

     version    x.y.z   date of release
     2.4.11     6.10.0  Dec 2012
     2.4.10     6.9.0   June 2012
     2.4.9      6.8.1   March 2012
...
     2.4.4      6.6.2   Nov 2010  (official R mac binaries)
...
     2.3.5      6.3.16  July 2007 (Mac OS X 10.5)




More information about the R-help mailing list