[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 23:14:33 CEST 2020
Hi
On 30/03/20 11:12 pm, Nicolas Mailhot wrote:
> Le lundi 30 mars 2020 à 15:24 +1300, Paul Murrell a écrit :
>> 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.
>
> Thanks for looking at it!
>
> But, really, there is no such thing as a Symbol font on Linux anymore.
> Symbol is pre-unicode thinking. Most modern general-purpose unicode
> fonts will include every codepoint Symbol ever shipped, and fontconfig
> will fallback gracefully when that’s not the case (unless your
> fontconfig integration is broken).
Yep, the "symbol" font is an (outdated) R "plotmath" concept, but one
that would take a fair bit of surgery to remove. R plotmath converts
certain R expressions (in certain contexts) to code points in the Adobe
Symbol Encoding (ASM), but for cairo-based devices, those are converted
to UTF8 code points.
> Just use the sans-serif or monospace fontconfig defaults. You don’t
> need Symbol, or OpenSymbol, or any special font setup.
Agreed. I got reasonable coverage from DejaVu Sans and FreeSerif.
There are still a number of ASM code points that are not covered though,
for example, ...
F8EB E6 # LEFT PAREN TOP # parenlefttp (CUS)
F8EC E7 # LEFT PAREN EXTENDER # parenleftex (CUS)
F8ED E8 # LEFT PAREN BOTTOM # parenleftbt (CUS)
Even OpenSymbol is missing a few (though perhaps not very common ones) ...
F8E5 60 # RADICAL EXTENDER # radicalex (CUS)
F8E6 BD # VERTICAL ARROW EXTENDER # arrowvertex (CUS)
F8E7 BE # HORIZONTAL ARROW EXTENDER # arrowhorizex (CUS)
F6DA D2 # REGISTERED SIGN SERIF # registerserif (CUS)
F6D9 D3 # COPYRIGHT SIGN SERIF # copyrightserif (CUS)
F6DB D4 # TRADE MARK SIGN SERIF # trademarkserif (CUS)
F8E8 E2 # REGISTERED SIGN SANS SERIF # registersans (CUS)
F8E9 E3 # COPYRIGHT SIGN SANS SERIF # copyrightsans (CUS)
F8EA E4 # TRADE MARK SIGN SANS SERIF # trademarksans (CUS)
> Symbol’s codepoint coverage is laughable by 2020’s UTF-8 standards.
Right, but there are still code points that are apparently not common in
fonts with a very broad Unicode coverage.
I did find a TrueType font that I could add a Unicode cmap to that gave
complete coverage pretty much all by itself, but it is not distributable.
> Symbol << Normal Unicode font (DejaVu*) << Special math fonts (STIX2)
>
> I you do advanced math stuff, you may need a special math font like
> STIX, but that’s lights years more advanced than Symbol, and a general
> purpose font like DejaVu has been shipping a MATH block for several
> years now
Sure. One way to look at the new 'symbolfamily' argument is that it
allows us to tell R that the "symbol" font is just a normal font (for
cairo-based graphics devices).
Paul
--
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/
More information about the R-devel
mailing list