[R] pdf font embedding --- again

Paul Murrell p.murrell at auckland.ac.nz
Tue Aug 30 01:49:38 CEST 2005


Hi


ivo_welch-rstat8303 at mailblocks.com wrote:
> 
> 
> 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...


You might just be tickling the segfault you reported earlier (which 
appears to happen [sometimes] when R cannot find the AFM files).
Try ...

afmfiles <- c("/usr/share/texmf/fonts/afm/yandy/lubright/lbr.afm",
               "/usr/share/texmf/fonts/afm/yandy/lubright/lbd.afm",
               "/usr/share/texmf/fonts/afm/yandy/lubright/lbi.afm", 

               "/usr/share/texmf/fonts/afm/yandy/lubright/lbdi.afm",
               "/usr/share/texmf/fonts/afm/yandy/lubright/lbms.afm")

Paul


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


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