This is now well off the topic of the subject line, but I am afraid some
misinformation has been propagated (and that is the `bug').
There _are_ bugs in the code shown: the postscript fonts support 32:255,
not 1:256, and pch:0:31 are not taken from the font. It seems an
uninformed modification of the code in ?postscript.
What locale are you in? That's something bug.report() gives and the
posting guide asks for (because it often matters).
The code given works (albeit with warnings) in an 8-bit locale, but it
often will not work in a multi-byte locale. In particular it does not
work in a UTF-8 locale for a postcript() device.
The help page for points() does point out clearly
In a multi-byte locale
such as UTF-8, numeric values of \code{pch} greater than or equal to
32 specify a Unicode code point.
Thus in UTF-8, pch=167 should be interpreted as a Unicode code point,
and that is not a Greek symbol.
The problem for postscript() (and X11()) is that the standard font=5 is
not encoded in the locale's encoding but Adobe Symbol, so supplying
Unicode characters is unsupported.
I think R is working as documented here, but the piece of documentation
about font=5 is in a different place (it is driver-specific).
Internationalization support for the postscript() driver is work in
progress (more features will appear in 2.3.0), but at present all you
can expect to work in a UTF-8 locale are ISO Latin-1 characters, and
symbols via plotmath.
(I am aware of a few things that are not quite right in the Unicode
support: some are being fixed for 2.3.0.)
On Tue, 11 Oct 2005, ecatchpole wrote:
On 11/10/05 01:12, Earl F. Glynn wrote,:
"FISCHER, Matthew" <mjf at ansto.gov.au> wrote in message
news:283982AD9F3CD211B3AC00A0C983032F11443674 at paradise.ansto.gov.au...
In a plot, can I specify pch to be a greek symbol? (I looked at
show.pch() in the Hmisc package but couldn't see the right symbols in
If not, I guess I can get around this using text(x,y,expression()).
I'm not sure where this is explained very well. Having ?font give a
clue
about this would be nice.
Use font=5, the symbol font. To see what's in font=5:
par(font=5, las=1)
plot(0:15,0:15,type="n",ylim=c(15,0),
main="Symbols in Font=5",
xlab="", ylab="",xaxt="n", yaxt="n")
axis(BOTTOM<-1, at=0:15, 1:16)
axis(LEFT <-2, at=0:15)
abline(v=0.5 + 0:14,
h=0.5 + 0:14, col="grey", lty="dotted")
# pch index of any cell is 16*row + column
for(i in 0:255)
{
x <- i %%16;
y <- i %/% 16;
points(x,y,pch=i+1)
}
When I execute this code, I get a calligraphic R or P occurring with all
of the nifty characters, e.g. \clubsuit. For example
par(font=5, las=1)
plot(0:1, 0:1, type="n")
points(.5, .5, pch=167)
This occurs on screen and in postscript() output. And with R2.1.0 and
R2.2.0. Is this a bug?
Ted.