[Rd] Plotmath on Fedora 31 broken with with pango >= 1.44 - workarounds?

Paul Murrell p@u| @end|ng |rom @t@t@@uck|@nd@@c@nz
Mon Mar 30 22:41:30 CEST 2020


On 30/03/20 10:43 pm, Iñaki Ucar wrote:
> On Mon, 30 Mar 2020 at 04:24, Paul Murrell <paul using stat.auckland.ac.nz> wrote:
>> Hi
>> I have created an R branch that contains a potential fix ...
>> https://svn.r-project.org/R/branches/R-symfam/
>> This allows, for example, ...
>> cairo_pdf(symbolfamily="OpenSymbol")
>> ... to specify that the OpenSymbol family should be used as the "symbol"
>> font (e.g., for "plotmath") in R.
> Will this be a default on Linux? Or are you planning any mechanism
> (env variable, option...) to make it the default? Because, otherwise,
> as pango is updated across distributions, R graphics will be "broken"
> by default unless the user explicitly calls the graphics device in
> that way to set that option, which I would say is uncommon.

Good question.  Currently, for x11() (and png() etc) the default is 
taken from X11.options().  So it is possible to set this default for a 
session, or even for an installation via one of the ?Startup mechanisms 
(e.g., an R_HOME/etc/Rprofile.site file).

For svg(), cairo_pdf(), and cairo_ps(), the default is hard-coded in the 
function arguments, but I *think* they are used less as default graphics 

Another option would be to try to detect Fedora and set the default 
X11.options() differently there.  Two problems:  I am not sure there is 
a reliable R code chunk for detecting Fedora (sessionInfo()$running?) 
let alone Fedora >= 30;   what to set the default to?  (just has to be a 
font with a good Unicode coverage that is pretty much guaranteed to be 
in a default Fedora install).


> Iñaki
>> This is just a separate branch for now because, while I have tested it
>> under Unbuntu 18.04 and Fedora 31, I cannot even build R for Windows
>> (right now) or Mac (ever) and I do not want to drop a bomb on R-devel at
>> this stage of the release process for R 4.0.0.
>> The attached file contains at least an outline of steps required to do a
>> minimal test if anyone wants to try the fix on Linux.
>> cc'ing Simon and Jeroen in case they are able to help with checking that
>> this builds and works on Mac and/or Windows.
>> NOTEs:
>> - 'symbolfamily' can only be specified when a graphics device is opened,
>> and it is then fixed for that device.
>> - on Windows, for cairo-based devices, the "symbol" font is still
>> hard-coded as "Standard Symbols L"
>> Paul
>> On 30/03/20 8:15 am, Paul Murrell wrote:
>>> Hi
>>> Thanks for your input on this Iñaki and Nicolas.
>>> I am starting testing an R fix for this problem today.
>>> As suggested, the plan is to allow the R user to specify a font family
>>> other than "symbol" for plotmath output (or, more generally, in R
>>> parlance, for 'font=5' or 'fontface=5') on a Cairo-based graphics device.
>>> Paul
>>> On 27/03/20 11:30 pm, Iñaki Ucar wrote:
>>>> On Wed, 25 Mar 2020 at 12:25, Nicolas Mailhot
>>>> <nicolas.mailhot using laposte.net> wrote:
>>>>> <snip>
>>>>> R brought this all on itself by hardcoding a Windows-only “Symbol” font
>>>>> family name in its default conf. Linux systems are UTF-8 by default for
>>>>> ~20 years now, they don’t need the forcing of magic font families to
>>>>> handle symbols not present in the 8-bit legacy Windows encodings.
>>>>> The actual effect of this conf is not the selection of font files with
>>>>> special and unusual symbols. It is to priorize fonts that match the
>>>>> "Symbol" magic name. And those fonts are few and crumbling on Linux
>>>>> systems, because no one has needed to bother with them since Linux
>>>>> switched to UTF-8 last millenium.
>>>>> Just stop using “Symbol” in R and things will work a lot better.
>>>>> Alternatively, prepare to maintain the “Symbol” aliasing stack in
>>>>> fontconfig (and fight with wine for it), because *no* *one* *else*
>>>>> *cares* about this legacy Windows-specific stuff.
>>>> So, in the light of Nicolas' input (thanks!), I think that font
>>>> selection should be fixed upstream in R. I'd be happy to put all this
>>>> together in R's bugzilla, but I don't have an account. Could someone
>>>> please invite me?
>>>> Iñaki
>>>> ______________________________________________
>>>> R-devel using r-project.org mailing list
>>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>> --
>> Dr Paul Murrell
>> Department of Statistics
>> The University of Auckland
>> Private Bag 92019
>> Auckland
>> New Zealand
>> 64 9 3737599 x85392
>> paul using stat.auckland.ac.nz
>> http://www.stat.auckland.ac.nz/~paul/

Dr Paul Murrell
Department of Statistics
The University of Auckland
Private Bag 92019
New Zealand
64 9 3737599 x85392
paul using stat.auckland.ac.nz

More information about the R-devel mailing list