>>>>> 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} > 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 ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel