[R] pdf font embedding --- again

Paul Murrell p.murrell at auckland.ac.nz
Tue Aug 30 00:04:11 CEST 2005


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