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

Iñaki Ucar |uc@r @end|ng |rom |edor@project@org
Tue Mar 31 09:41:06 CEST 2020


On Tue, 31 Mar 2020 at 03:32, Paul Murrell <paul using stat.auckland.ac.nz> wrote:
>
> I think R will retain the idea of a separate symbol font in at least the
> short term because of backward compatibility and cross-platform support
> and support for a range of graphics devices.  So this fix is just for
> cairo-based devices on Linux at most (probably only Fedora).
>
> So this becomes just a decision about user interface and default settings.
>
> I did consider the option of allowing the existing "family" parameter to
> be length-two (with the second one being an optional symbol font
> specification), but because of the overlaps of X11/cairo and different
> cairo-based device interfaces, this became awkward.  Hence the separate
> "symbolfamily" interface.  And in any case, this still means a separate
> "symbol" font specification (for the reasons above).
>
> Regarding changing to a default symbolfamily=family on Linux generally
> (rather than just on Fedora), I have at least one counter-example (my
> Ubuntu 18.04) that shows that this would degrade output significantly.
> For one, the symbols are a LOT uglier, plus there are some incorrect
> glyphs.  So I think we have to stay with treating Fedora as a special
> case for now.

You can try Noto Sans Symbols (google-noto-sans-symbols-fonts) or
Symbola (gdouros-symbola-fonts). We could make the R package depend on
any of these fonts included in Fedora.

> Thanks for your point about just using symbolfamily=family as the Fedora
> default.  That seems reasonable (and definitely better than it just
> being completely broken!).
>
> That does still leave the problem of how to set the default value for
> "symbolfamily" JUST on Fedora.   I am not convinced we can use R code to
> detect Fedora >= 30 reliably (but happy to learn otherwise).  Is it a
> possibility for the Fedora distribution to include a .Rprofile.site file
> that sets the X11.options() ?

1. I don't think you need to detect you are in Fedora at all, just to
detect the version of pango, and apply this configuration if it's >=
1.44 (e.g., by executing pango-view --version; or better yet, at
building time https://developer.gnome.org/pango/stable/pango-Version-Checking.html).

2. Yes, we can include any custom configuration files or patches. In
fact we will need to patch R 3.6.3 for Fedora 31 at least, because
Fedora 32 is about to be released, and thus R 4.0.0 won't be included
in Fedora 31. The problem with the .Rprofile.site is that any
user-specific .Rprofile will prevent the default from being loaded,
right? And I'd say ~/.Rprofile is pretty common out there, and even
project-specific .Rprofile.

-- 
Iñaki Úcar



More information about the R-devel mailing list