[Rd] Postscript font bugs (and a suggestion) (PR#914)
Prof Brian D Ripley
ripley@stats.ox.ac.uk
Sat, 14 Apr 2001 07:33:13 +0100 (BST)
On Sat, 14 Apr 2001 dmurdoch@pair.com wrote:
> Documentation and other bugs with postscript():
>
> 1. This code crashes R (it asks for a font that isn't there):
>
> postscript()
> plot(0:1,0:1)
> text(0.5,0.5,'crash',font=6)
Only on Windows, I think. This works fine on Unix.
> The bug appears to be in the FixupFont routine in plot.c; on line 236,
> it checks that the font number is in the range 1..32. Later this
(1..32 on Windows, 1..4 elsewhere.)
> crashes PostScriptStringWidth in devPS.c, because only fonts numbered
> 1..5 are actually defined. I don't know how to fix it.
I've added a range check in PS_StrWidth.
> 2. The ?postscript help topic refers to .ps.profile; the actual
> variable name is .ps.prolog. The C source in main/devPS.c has this
> on lines 606-608, with the incorrect name in the error message:
>
> prolog = findVar(install(".ps.prolog"), R_GlobalEnv);
> if(!isString(prolog))
> error("Object .ps.profile is not a character vector");
Done.
> 3. And this is a suggestion, not a bug: I'd like to change the font
> definitions by changing the .ps.prolog instructions, but devPS.c puts
> the
>
> PSEncodeFont(fp, encoding);
>
> line after the place where .ps.prolog is written to the file. If
> .ps.prolog were last, then it could override any standard setting.
> This would mean that the font metrics would not be quite right, but it
> would be useful for experimenting.
Why not use the way which is supported, to supply a user-specifed family?
For experimenting the easiest way surely is to edit the postscript file.
--
Brian D. Ripley, ripley@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 272860 (secr)
Oxford OX1 3TG, UK Fax: +44 1865 272595
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._