On 1/04/20 8:24 am, Martin Maechler wrote:
Paul Murrell
     on Tue, 31 Mar 2020 09:41:30 +1300 writes:

     > Hi
     > On 30/03/20 10:43 pm, Iñaki Ucar wrote:
     >> On Mon, 30 Mar 2020 at 04:24, Paul Murrell <p...@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
     > devices.

     > 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;

Yes,  sessionInfo()$running  is sufficient for both  *and*
there's a faster way in latest R versions, as I had the same
need and found sessionInfo() should be modularized here, and so
we have the  'osVersion'  variable since  R 3.6.0

----------------------------------------
osVersion
[1] "Fedora 30 (Thirty)"
find("osVersion")
[1] "package:utils"

----------------------------------------

{it is put into utils at package load time}

Thanks Martin!

But I like Iñaki's suggestion (check Pango version) even more; that looks like it will be precise (compared to deparsing 'osVersion'), plus it will nicely transition other Linux distros when they presumably transition to the newer Pango.

Paul

     > 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).

     > Paul

     >> 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.mail...@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@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
     >>> p...@stat.auckland.ac.nz
     >>> http://www.stat.auckland.ac.nz/~paul/
     >>
     >>
     >>

     > --
     > Dr Paul Murrell
     > Department of Statistics
     > The University of Auckland
     > Private Bag 92019
     > Auckland
     > New Zealand
     > 64 9 3737599 x85392
     > p...@stat.auckland.ac.nz
     > http://www.stat.auckland.ac.nz/~paul/

     > ______________________________________________
     > R-devel@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
p...@stat.auckland.ac.nz
http://www.stat.auckland.ac.nz/~paul/

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to