[R] pdf font embedding --- again
ivo_welch-rstat8303@mailblocks.com
ivo_welch-rstat8303 at mailblocks.com
Tue Aug 30 02:09:10 CEST 2005
Hi Paul:
You are correct. it was the same little bug I hit on. Specifying the
full (not the symlinked) afm filenames lets me run the code. No R
error. yoohoo!
alas, the files don't seem to come out right. I can use these commands
on the R postscript() and on the R pdf() device. they have an effect
on both. (that is, if I grep for lucida in the resulting ps or pdf
file, respectively, the word lucida appears in both files). alas,
usage is another story:
$ pdffonts tonativepdf.pdf
name type emb sub uni object ID
------------------------------------ ------------ --- --- --- ---------
ZapfDingbats Type 1 no no no 5 0
Helvetica Type 1 no no no 10 0
Helvetica-Bold Type 1 no no no 11 0
Helvetica-Oblique Type 1 no no no 12 0
Helvetica-BoldOblique Type 1 no no no 13 0
Symbol Type 1 no no no 14 0
LucidaBright Type 1 no no no 15 0
LucidaBright-Demi Type 1 no no no 16 0
LucidaBright-Italic Type 1 no no no 17 0
LucidaBright-DemiItalic Type 1 no no no 18 0
LucidaNewMath-Symbol Type 1 no no no 19 0
This is not so great. I had hoped to get rid of the Helvetica fonts
here. Moreover, if I run my "firsttops.ps" file through ps2pdf12, I
see
$ ps2pdf12 firsttops.ps firsttops.pdf ; pdffonts firsttops.pdf
name type emb sub uni object ID
------------------------------------ ------------ --- --- --- ---------
Helvetica Type 1 no no no 9 0
So, it seems that the lucida font is not used, and therefore optimized
away.
regards,
/ivo
---
ivo welch
-----Original Message-----
From: Paul Murrell <p.murrell at auckland.ac.nz>
To: ivo_welch-rstat8303 at mailblocks.com
Cc: ripley at stats.ox.ac.uk; r-help at stat.math.ethz.ch
Sent: Tue, 30 Aug 2005 11:49:38 +1200
Subject: Re: [R] pdf font embedding --- again
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