Gavin Simpson
2020-Mar-25 00:14 UTC
[Rd] Plotmath on Fedora 31 broken with with pango >= 1.44 - workarounds?
Dear list On Fedora 31 the pango library has recently updated to version >= 1.44 and in doing so has switched to using the HarfBuzz library (from FreeType) and dropped Adobe Type 1 font support. This causes problems with plotmath as all bar one of the glyphs doesn't render (see attached PNG image if it makes it through the list filters - if not I have shared a copy via my google drive: https://drive.google.com/file/d/1llFqKHD7LFKzQbVuq6sibY1UizRn7xxS/view?usp=sharing ) I'm not the only person who has come across this, e.g. https://stackoverflow.com/q/60656445/429846 and the resulting reported bug on the RedHat Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1815128 Beyond switching to `type = 'Xlib'`, has anyone worked around this issue on a Fedora 31 or later system? Thanks in advance Gavin -- Gavin Simpson, PhD -------------- next part -------------- A non-text attachment was scrubbed... Name: plotmath-issue.png Type: image/png Size: 22102 bytes Desc: not available URL: <https://stat.ethz.ch/pipermail/r-devel/attachments/20200324/e488acda/attachment.png>
IƱaki Ucar
2020-Mar-25 10:28 UTC
[Rd] Plotmath on Fedora 31 broken with with pango >= 1.44 - workarounds?
On Wed, 25 Mar 2020 at 01:14, Gavin Simpson <ucfagls at gmail.com> wrote:> > Dear list > > On Fedora 31 the pango library has recently updated to version >= 1.44 > and in doing so has switched to using the HarfBuzz library (from > FreeType) and dropped Adobe Type 1 font support. This causes problems > with plotmath as all bar one of the glyphs doesn't render (see > attached PNG image if it makes it through the list filters - if not I > have shared a copy via my google drive: > https://drive.google.com/file/d/1llFqKHD7LFKzQbVuq6sibY1UizRn7xxS/view?usp=sharing > ) > > I'm not the only person who has come across this, e.g. > https://stackoverflow.com/q/60656445/429846 and the resulting reported > bug on the RedHat Bugzilla: > https://bugzilla.redhat.com/show_bug.cgi?id=1815128 > > Beyond switching to `type = 'Xlib'`, has anyone worked around this > issue on a Fedora 31 or later system?Adding devel at lists.fp.o to CC. A workaround is to avoid using PS fonts for symbols. If you run the following, you'll see $ fc-match Symbol StandardSymbolsPS.t1: "Standard Symbols PS" "Regular" So let's change this. Install a TTF symbol font, such as Symbola: $ sudo dnf install gdouros-symbola-fonts Then add the following to /etc/fonts/local.conf (system-wide) or ~/.fonts.conf (just for your user): <fontconfig> <match target="pattern"> <test name="family"><string>Symbol</string></test> <edit name="family" mode="prepend" binding="same"> <string>Symbola</string> </edit> </match> </fontconfig> Now you should see this: $ fc-match Symbol Symbola.ttf: "Symbola" "Regular" and symbols should render correctly. I?aki
Nicolas Mailhot
2020-Mar-25 11:25 UTC
[Rd] Plotmath on Fedora 31 broken with with pango >= 1.44 - workarounds?
Le mercredi 25 mars 2020 ? 11:28 +0100, I?aki Ucar a ?crit :> On Wed, 25 Mar 2020 at 01:14, Gavin Simpson <ucfagls at gmail.com> > wrote:Hi,> Adding devel at lists.fp.o to CC. A workaround is to avoid using PS > fonts for symbols.PS fonts are dead mid-term everywhere, and already forbidden in new Fedora font packages (because we are somewhat leading edge, but not as much as people think) https://docs.fedoraproject.org/en-US//packaging-guidelines/FontsPolicy/#_font_file_formats PS font users need to switch to OpenType fonts or work with their prefered font upstream to convert in modern well supported formats (font format wars have endend last millenium, even before the browser wars ended, it?s long past time to deprecate the losers). That?s normal IT format obsolescence. That being said, that?s not what is happening here. 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. Fontconfig upstream already told this to R users in its own issue tracker. Regards, -- Nicolas Mailhot
Gavin Simpson
2020-Mar-25 18:02 UTC
[Rd] Plotmath on Fedora 31 broken with with pango >= 1.44 - workarounds?
Thanks I?aki, that worked a treat. Gavin On Wed, 25 Mar 2020 at 04:28, I?aki Ucar <iucar at fedoraproject.org> wrote:> > On Wed, 25 Mar 2020 at 01:14, Gavin Simpson <ucfagls at gmail.com> wrote: > > > > Dear list > > > > On Fedora 31 the pango library has recently updated to version >= 1.44 > > and in doing so has switched to using the HarfBuzz library (from > > FreeType) and dropped Adobe Type 1 font support. This causes problems > > with plotmath as all bar one of the glyphs doesn't render (see > > attached PNG image if it makes it through the list filters - if not I > > have shared a copy via my google drive: > > https://drive.google.com/file/d/1llFqKHD7LFKzQbVuq6sibY1UizRn7xxS/view?usp=sharing > > ) > > > > I'm not the only person who has come across this, e.g. > > https://stackoverflow.com/q/60656445/429846 and the resulting reported > > bug on the RedHat Bugzilla: > > https://bugzilla.redhat.com/show_bug.cgi?id=1815128 > > > > Beyond switching to `type = 'Xlib'`, has anyone worked around this > > issue on a Fedora 31 or later system? > > Adding devel at lists.fp.o to CC. A workaround is to avoid using PS fonts > for symbols. If you run the following, you'll see > > $ fc-match Symbol > StandardSymbolsPS.t1: "Standard Symbols PS" "Regular" > > So let's change this. Install a TTF symbol font, such as Symbola: > > $ sudo dnf install gdouros-symbola-fonts > > Then add the following to /etc/fonts/local.conf (system-wide) or > ~/.fonts.conf (just for your user): > > <fontconfig> > <match target="pattern"> > <test name="family"><string>Symbol</string></test> > <edit name="family" mode="prepend" binding="same"> > <string>Symbola</string> > </edit> > </match> > </fontconfig> > > Now you should see this: > > $ fc-match Symbol > Symbola.ttf: "Symbola" "Regular" > > and symbols should render correctly. > > I?aki-- Gavin Simpson, PhD
Possibly Parallel Threads
- Plotmath on Fedora 31 broken with with pango >= 1.44 - workarounds?
- Plotmath on Fedora 31 broken with with pango >= 1.44 - workarounds?
- Plotmath on Fedora 31 broken with with pango >= 1.44 - workarounds?
- Plotmath on Fedora 31 broken with with pango >= 1.44 - workarounds?
- Plotmath on Fedora 31 broken with with pango >= 1.44 - workarounds?