Hi Martin and Tim, 

I also have this bug. Though I think not necessarily with all the same
fonts as Martin. 

Using Martin's code:

https://imgur.com/a/ILUoe3H

Fedora 39, Evince 45.0

It's a bug with Evince. I think. I think it's substituting in a font
set that doesn't have all the required symbols. I think it should be
possible to install the required fonts, but I haven't found a solution
that way, yet. 

Nevertheless, the following should work, and may be a better solution
anyway, given that embedding the fonts is probably more cross-
platform/viewer friendly: 


You can embed the fonts if you have Ghostscript installed (I think it
comes with Fedora already(?) if not then: 

sudo dnf install ghostscript 

)


You can then use the embedFonts() function in R:

(pdfil <- paste0("plotmath-example_R",
                 with(R.version, paste0(major, sub("[.]", "", minor))),
".pdf"))

pdf(pdfil)
example(plotmath); mtext(R.version.string)
dev.off()

# Use embedFonts to embed the fonts in the PDF
embedFonts(file = pdfil, outfile = paste0("embedded-example", pdfil),
options = "-dPDFSETTINGS=/prepress")


if(interactive()) {
  system(paste("evince", paste0("embedded-example", pdfil), "&"))
}



Or you can do it in the terminal:


gs -dNOPAUSE -dBATCH -dPDFSETTINGS=/prepress -sDEVICE=pdfwrite -
dEmbedAllFonts=true -sOutputFile=plotmath-example-output_embedded.pdf -
f plotmath-example_R432.pdf 


Compare: 


Embedded:

❯ pdffonts plotmath-example-output_embedded.pdf
name                   type     encoding emb sub uni object ID
---------------------- -------- -------- --- --- --- ------ ---
KHEPSB+Helvetica       Type 1C  Custom   yes yes no      10   0
WNPVSJ+Symbol          Type 1C  Custom   yes yes no      12   0
MQBKOK+Helvetica-Bold  Type 1C  WinAnsi  yes yes no      20   0


Original:

❯ pdffonts plotmath-example_R432.pdf
name                   type     encoding emb sub uni object ID
---------------------- -------- -------- --- --- --- ------ ---
Helvetica              Type 1   Custom   no  no  no      16  0
Helvetica-Bold         Type 1   Custom   no  no  no      17  0
Symbol                 Type 1   Symbol   no  no  no      18  0


I hope this works for you. Like I said, I *think* it's a problem with
Evince so it's probably better to file a bug report with them, but I
also think embedding fonts isn't such a bad idea anyway - you'll know
the output will display as intended regardless of the viewer on the
user's system. It does lead to a larger file-size, but I think these
days we can live with that.

Thanks, 
Peter




On Mon, 2024-03-11 at 14:15 +0100, Martin Maechler wrote:
> > > > > > Tim Taylor 
> > > > > >     on Mon, 11 Mar 2024 11:42:35 +0000 writes:
> 
>     > Hi Martin
>     > Probably not the answer you're looking for but on the latest
> Fedora 39 (workstation edition) both locally, and on a freshly
> installed VM (with just R-core installed), all fonts render correctly
> for me in evince.
> 
>     > $ evince --version
>     > GNOME Document Viewer 45.0
> 
>     > $ R --version
>     > R version 4.3.3 (2024-02-29) -- "Angel Food Cake"
>     > Copyright (C) 2024 The R Foundation for Statistical Computing
>     > Platform: x86_64-redhat-linux-gnu (64-bit)
> 
>     > It may be worth sharing more details about your installation
> (e.g. Fedora version) to see if anyone has any ideas.
> 
>     > Tim
> 
> Thank you, Tim.
> 
> 
> Fedora is 38 :
> 
> $ lsb_release -a
> LSB Version:  :core-5.0-amd64:core-5.0-noarch:cxx-5.0-amd64:cxx-
> 5.0-noarch:desktop-5.0-amd64:desktop-5.0-noarch:languages-5.0-
> amd64:languages-5.0-noarch:printing-5.0-amd64:printing-5.0-noarch
> Distributor ID:       Fedora
> Description:  Fedora release 38 (Thirty Eight)
> Release:      38
> Codename:     ThirtyEight
> 
> $ evince --version
> GNOME Document Viewer 44.3
> 
> R version does not matter at all.
> Same phenomenon in several versions of R I have installed
> simultaneously (from source).
> As I mentioned, I'm slightly misusing the list for non-R problem
> that I encounter a lot with R  {because I like to use
> "plotmath"}, so I apologize in advance.
> 
> Maybe it's rather a matter of fonts installed in
> /usr/share/fonts/ ??
> 
> Martin
> 
>     > On Mon, 11 Mar 2024, at 10:51 AM, Martin Maechler wrote:
>     >> This problem has bugged me for several years now,
>     >> and our own IT staff has tried a few things, but then never
>     >> cared enough to persist fixing it.
>     >> 
>     >> It *is* a bug in evince, the standard pdf viewer on Fedora and
>     >> IIUC also quite few other Linux distributions, and
>     >> *not* a bug in R;  hence I am asking for help/hints here.
>     >> 
>     >> A very simple example:
>     >> 
>     >> --------------------------------------------------------------
> -----------------
>     >> 
>     >> (pdfil <- paste0("plotmath-example_R",
>     >> with(R.version, paste0(major, sub("[.]", "", minor))),
> ".pdf"))
>     >> ## "plomath-example_R433.pdf"
>     >> 
>     >> pdf(pdfil)
>     >> example(plotmath); mtext(R.version.string)
>     >> dev.off()
>     >> 
>     >> if(interactive())
>     >> system(paste("evince", pdfil, "&"))
>     >> 
>     >> --------------------------------------------------------------
> -----------------
>     >> 
>     >> The pdf contains 4 pages, and in all of them *some* of the
> math
>     >> symbols are replaced by open rectangles -- because evince does
>     >> not find the fonts it should.
>     >> 
>     >> E.g.
>     >> - page 1: \pi is properly shown,  \phi not
>     >> - page 2: all greek letters,  \theta, \xi, \eta  are *not*
> shown
>     >> ...
>     >> 
>     >> Simply typing
>     >> 
>     >> example(plotmath)
>     >> 
>     >> in the R console will show you everything as it should be but
> is
>     >> not for us, using evince.
>     >> 
>     >> However, *everything* is rendered correctly, if I use very old
>     >> 'xpdf' {which you may have to install
>     >> 
>     >> ## OTOH: This always work fine with the very old  'xpdf' :
>     >> system(paste("xpdf", pdfil, "&"))
>     >> 
>     >> So the fonts *are* somewhere on my machine, but evince does
> not
>     >> find them;
>     >> 
>     >> How should our IT people fix this?
>     >> 
>     >> IIRC they did install the Zapf Dingbats fonts -- which then
> are
>     >> found by xpdf but not by evince ?
>     >> 
>     >> 
>     >> Thank you in advance,
>     >> Martin
>     >> 
>     >> _______________________________________________
>     >> R-SIG-Fedora mailing list
>     >> R-SIG-Fedora@r-project.org
>     >> https://stat.ethz.ch/mailman/listinfo/r-sig-fedora
>     >> 
> 
>     > [[alternative HTML version deleted]]
> 
> _______________________________________________
> R-SIG-Fedora mailing list
> R-SIG-Fedora@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-fedora

_______________________________________________
R-SIG-Fedora mailing list
R-SIG-Fedora@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-fedora

Reply via email to