[R] pdf font embedding --- again

ivo_welch-rstat8303@mailblocks.com ivo_welch-rstat8303 at mailblocks.com
Tue Aug 30 01:43:47 CEST 2005



Ooops.  hit the button too soon.  I have tried as arguments variation 
of the fonts and family arguments to postscript, such as getting the 
case right (i.e., lucida rather than Lucida).  Alas

  > postscript(file="test.ps", fonts="lucida");
  *** glibc detected *** free(): invalid pointer: 0x0000000000f7dfb8 ***

this is under R 2.1.1, 2005-06-20, built under gentoo from scratch.

so, the problem is probably now internal, not the commands.  I guess I 
will now investigate glibc in a little more detail...

Regards, /iaw

---
ivo welch
professor of finance and economics
brown / nber / yale


-----Original Message-----
From: Paul Murrell <p.murrell at auckland.ac.nz>
To: Paul Murrell <paul at stat.auckland.ac.nz>
Cc: ivo_welch-rstat8303 at mailblocks.com; ripley at stats.ox.ac.uk; 
r-help at stat.math.ethz.ch
Sent: Tue, 30 Aug 2005 10:04:11 +1200
Subject: Re: [R] pdf font embedding --- again

Hi

 Paul Murrell wrote:
 > Hi
 > > I think there are two problems:
 > > (i) You are specifying the font incorrectly. Try ...
 > > # You might need to specify full paths to these
  > afmfiles <- c("lbr.afm", "lbd.afm", "lbi.afm", "lbdi.afm", 
"lbms.afm");
 > # Set up the mapping for "lucida" font family
 > postscriptFonts(lucida=postscriptFont("Lucida", metrics=afmfiles))
 > # Specify that the "lucida" font is to be used
 > postscript(file="test.ps", family="lucida");

 Thanks to Brian Ripley for pointing out that that should be ...

 postscript(file="test.ps", fonts="lucida");

 > l<- 40:80;
 > plot(l,l,pch=l);
 > dev.off();
 > > Should work for pdf() too.
  > > This should put a reference to the appropriate font in the 
PostScript or > PDF file that R creates.
  > > (ii) R does not embed font information. But you can, for example, 
use > ghostscript to do it, as long as you tell ghostscript about the 
font > too. You might have to set up a file 'FontMap' which looks 
something > like ...
 > > /Lucida (PATH_TO/lb___.pfb);
  > > ... (assuming that lb___.pfb is the name of the .pfb file for the 
Lucida > font). Then try something like (NOTE that you have to specify 
> GS_FONTPATH to tell ghostscript where your FontMap file is) ...
  > > GS_FONTPATH=PATH_TO_FontMap gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite 
> -sPAPERSIZE=a4 -sOutputFile=testembed.pdf test.pdf
  > > This should give you a file with the font info embedded and then 
you > should be able to include that in a LaTeX document.
 > > Paul
  > > p.s. Thanks for the segfault report. I will look at why that is 
happening.
 > > > ivo_welch-rstat8303 at mailblocks.com wrote:
 > >> Thank you---as always.
 >>
 >> still, I remain font-desparate.
 >>
  >> I would love to use the fonts from my book, but [a] I cannot figure 
 >> out how to do this yet even in the R postscript device; and [b] I am 
 >> using the R pdf device, not the postscript device. I guess if I can 
 >> solve [a], then I can rewrite all my graphics creations now into the 
 >> postscript device, and replace the dev.off() with something that >> 
follows it with ps2pdf. The following attempt, however, does not work:
 >>
  >> afmfiles <- c("lbr.afm", "lbd.afm", "lbi.afm", "lbdi.afm", >> 
"lbms.afm");
 >> Lucida <- postscriptFont("Lucida", metrics=afmfiles);
 >> postscript(file="test.ps", family=Lucida);
 >> l<- 40:80;
 >> plot(l,l,pch=l);
 >> dev.off();
 >>
  >> By the way, if I try " postscript(family=afmfiles);" then I do not 
 >> get an R error, but R 2.1.0 segfaults, which is probably not >> 
desirable. This occurs even if there is no .afm file in the current >> 
directory.
 >>
 >>
  >> Can I make a suggestion to the R team? It would be nice if I could 
 >> specify a pdf() device parameter that says "choose font settings to 
 >> embed all fonts" (i.e., do not use fonts that cannot be embedded, >> 
either). Something that guarantees me that I get a figure that I can >> 
give to someone that is fully specified. Right now, accomplishing >> 
this is not easy to figure out, and perhaps not even possible. Yes, >> 
in the list of font families that R recognizes are some fonts that do 
 >> not seem among the 13 standard fonts (such as URWbookman). moreover, 
 >> if I choose it as my pdf font family, it is smart enough to use a >> 
different symbol file ('StandardSymL'), which I hope is also open and 
 >> not adobe. If so, they could be used in principle. How do I get R to 
 >> embed URWbookman? ZapfDingbats always seems to be included, so I 
hope >> this is open and embeddable.
 >>
 >> more help would be highly appreciated.
 >>
 >> Regards,
 >>
 >> /iaw
 >> ---
 >> ivo welch
 >>
 >> -----Original Message-----
 >> From: Prof Brian Ripley <ripley at stats.ox.ac.uk>
 >> To: ivo_welch-rstat8303 at mailblocks.com
 >> Cc: r-help at stat.math.ethz.ch
 >> Sent: Mon, 22 Aug 2005 17:07:14 +0100 (BST)
 >> Subject: Re: [R] pdf font embedding --- again
 >>
 >> On Mon, 22 Aug 2005 ivo_welch-rstat8303 at mailblocks.com wrote:
 >>
 >> >
  >> > dear R wizards--- I would like to do some book-on-demand printing 
>> at a
  >> > popular printer named lulu, but lulu requires inclusion even of 
the
  >> > basic postscript fonts. Interestingly, my book itself does not 
need
  >> > the 14 base acrobat fonts, only the embedded R figures do. Of 
course,
  >> > I really would like to get pdftex to embed the fonts, but how to 
do
  >> > this is not obvious either. [This method seems to be what the R 
help
  >> > page is indicating... The software including the PostScript plot 
file
  >> > should either embed the font outlines (usually from '.pfb' or 
'.pfa'
  >> > files) or use DSC comments to instruct the print spooler to do 
so.)
 >>
  >> Why not use the fonts your book does use in the figures? (That's 
how
 >> my books are done.)
 >>
  >> > So, I would really, really like to embed the necessary fonts with 
>> the R
 >> > figures. I first reread the discussion in this mailing list about
  >> > (eps) font embedding earlier this year. This was ultimately not 
very
  >> > helpful. First, I do not know how to instruct my embedding 
program to
  >> > include the fonts that R figures want. Second, I already start 
with
  >> > the pdf device, so distilling eps files is not a good option--and 
it
 >> > would seem a bit crazy to first use the wrong output device
  >> > (postscript), then ship my files over to a windows machine 
somewhere
  >> > that has distiller installed, run distiller by hand, then ftp 
them >> back
 >> > to my linux machine---just for getting the fonts embedded.
 >> >
 >> > Is it impossible to get R to embed the necessary fonts in its pdf
 >> > output?
 >>
  >> Yes, as it has no access to them. They are not Open Source. You may 
>> be able to use URW clones, depending on their licensing conditions.
 >>
 >> -- Brian D. Ripley, ripley at stats.ox.ac.uk
 >> Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
 >> University of Oxford, Tel: +44 1865 272861 (self)
 >> 1 South Parks Road, +44 1865 272866 (PA)
 >> Oxford OX1 3TG, UK Fax: +44 1865 272595
 >>
 >> ______________________________________________
 >> R-help at stat.math.ethz.ch mailing list
 >> https://stat.ethz.ch/mailman/listinfo/r-help
  >> PLEASE do read the posting guide! >> 
http://www.R-project.org/posting-guide.html
 > > >
 -- Dr Paul Murrell
 Department of Statistics
 The University of Auckland
 Private Bag 92019
 Auckland
 New Zealand
 64 9 3737599 x85392
 paul at stat.auckland.ac.nz
 http://www.stat.auckland.ac.nz/~paul/




More information about the R-help mailing list