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