Martin Maechler
2024-Mar-11 13:15 UTC
[R-sig-Fedora] evince not showing "greek" and "math" in *.pdf plots
>>>>> 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 at r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-sig-fedora >> > [[alternative HTML version deleted]]
Tim Taylor
2024-Mar-11 14:16 UTC
[R-sig-Fedora] evince not showing "greek" and "math" in *.pdf plots
On Mon, 11 Mar 2024, at 1:15 PM, 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 > >>Apologies Martin - this *is not* working as of Fedora 39. I just had different symbols missing that I missed when checking (e.g. the sigma summation symbol). Hopefully someone more knowledgeable than me will pop along to help. Tim
pstiis m@iii@g oii gm@ii@com
2024-Mar-11 14:31 UTC
[R-sig-Fedora] evince not showing "greek" and "math" in *.pdf plots
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 at r-project.org
> ??? >> https://stat.ethz.ch/mailman/listinfo/r-sig-fedora
> ??? >>
>
> ??? > [[alternative HTML version deleted]]
>
> _______________________________________________
> R-SIG-Fedora mailing list
> R-SIG-Fedora at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-fedora
Reasonably Related Threads
- evince not showing "greek" and "math" in *.pdf plots
- evince not showing "greek" and "math" in *.pdf plots
- evince not showing "greek" and "math" in *.pdf plots
- evince not showing "greek" and "math" in *.pdf plots
- evince not showing "greek" and "math" in *.pdf plots