Re: [R] fonts in mosaic

From: David Winsemius <dwinsemius_at_comcast.net>
Date: Sat, 02 Apr 2011 14:47:57 -0400

On Apr 2, 2011, at 11:16 AM, David Winsemius wrote:

>
> On Apr 2, 2011, at 6:02 AM, Erich Neuwirth wrote:
>
>> The problem of changing the default font used fpr the windows
>> graphics
>> device seems to be quite complicated.
>> As I wrote already
>>
>> windowsFonts(myfont="Consolas")
>> par(family="myfont")
>>
>> will make the windows graphics device use Consolas as the
>> defaut font for labels.
>>
>> Therefore, a function call like
>> plot(1:10,main="Title")
>> will use Consolas for labeling.
>> It will, however, not change the default for
>>
>> mosaic(UCBAdmissions)
>>
>> The mosaic plot will still use the original default font
>> for the device, which in a standard configuration
>> seems to be Arial.
>>
>> par(family=NULL)
>> will reset the current default font to the original default font,
>> so after this command
>> plot(1:10,main="Title")
>> will use Arial again.
>>
>> The the font family used in graphics from package grid is set by
>> explicitly using gpar paramenter in calls to functions from that
>> package.
>> gpar has default values, but there seems to be no way
>> of changing the default values of the gpar object.
>>
>> Does anybody on the list know if there is a way of changing the
>> default
>> values of gpar objects?
>
> Make one with your desired values:
>
> gpCon <- gpar(fontfamily="Consolas", fontsize=8)
>
> Then pass it to the appropriate argument. I don't have a Windows
> device nor a copy of that font but the following changes several of
> the defaults on a Mac if I use "Times" instead of"Consolas".
>
> mosaic(Titanic, main="Test of gpar",
> gp_varnames=gpCon,
> gp_labels=gpCon )
>
> You _might_ be able to change the defaults with grid:::set.gpar()
> or with grid:::grid.Call("L_setGPar", list(...)) but my efforts did
> not succeed (unless success is measured by undesirable side-effects
> on one's system.) Neither of those functions is "exposed", so it
> would appear that their use is not recommended (or documented). I
> was able to change the internal values returned by get.gpar() but
> passing them on to mosaic() did not succeed.

And then I re-read Prof Ripley's reply and the light dawned:

pdf.options(family="Times")
pdf(); mosaic(Titanic, main="Test of gpar") dev.off()
# Works

My remaining puzzlement is how to apply this strategy to the Mac screen device:

  quartz(family="serif"); mosaic(Titanic, main="Test of gpar") # Does not work
# Nor does
quartzFonts("serif"); mosaic(Titanic, main="Test of gpar") # Nor any other of several permuations of arguments

--

David Winsemius, MD
West Hartford, CT

______________________________________________
R-help_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Received on Sat 02 Apr 2011 - 18:55:00 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Sat 02 Apr 2011 - 19:40:26 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive