From baptiste.auguie at googlemail.com  Mon May  2 08:08:11 2011
From: baptiste.auguie at googlemail.com (baptiste auguie)
Date: Mon, 2 May 2011 18:08:11 +1200
Subject: [Rd] grid stringHeight
In-Reply-To: <4DBE1E3A.8010506@auckland.ac.nz>
References: <BANLkTik0dL-oC8GzAqAJsNanZDF7LpndsA@mail.gmail.com>
	<4DBE1E3A.8010506@auckland.ac.nz>
Message-ID: <BANLkTikAzqk3ZY_5=1qxDTE114h2zhKCuA@mail.gmail.com>

Hi,

I see, thanks. I incorrectly thought it used to produce the same
output in the past.
As a workaround I will wrap all strings in expression() before
evaluating the grobHeight; otherwise the calculated layout can clip
portions of the text.

Thanks,

baptiste

On 2 May 2011 15:00, Paul Murrell <p.murrell at auckland.ac.nz> wrote:
> Hi
>
> This is a basic "feature" of both strheight() and stringHeight(). ?They both
> ignore any descenders in the text. ?I cannot remember why it was done this
> way originally. ?The future solution is probably to add an argument that
> allows descenders to be included in text height.
>
> Plotmath works on bounding boxes so its behaviour is different, but of
> course that has its own problems because there is no sense of "baseline" for
> expressions.
>
> Paul
>
> On 27/04/2011 11:06 a.m., baptiste auguie wrote:
>>
>> Dear all,
>>
>> I'm puzzled by the behavior of stringHeight in the grid package.
>> Consider the following test,
>>
>> library(grid)
>>
>> test<- function(lab="dog", ...){
>> ? g1<- textGrob(lab)
>> ? g2<- rectGrob(height=grobHeight(g1), width=grobWidth(g1))
>> ? gg<- gTree(children=gList(g1,g2), ...)
>>
>> ? print(c("height:", convertUnit(stringHeight(lab), "mm", "y")))
>> ? grid.draw(gg)
>> }
>>
>> grid.newpage()
>> test()
>> test(expression(dog), vp=viewport(x=0.6))
>> ## notice how the dog's tail is being cut off, where
>> ## expression yields a snug cage
>>
>> grid.newpage()
>> test("aoc")
>> test(expression(aoc), vp=viewport(x=0.6))
>>
>> It appears that stringHeight correctly calculates the height for an
>> expression, but not for a basic string. I think it used to produce the
>> same output for both.
>>
>> Best regards,
>>
>> baptiste
>>
>> sessionInfo()
>> R version 2.13.0 alpha (2011-03-27 r55076)
>> Platform: i386-apple-darwin9.8.0 (32-bit)
>>
>> locale:
>> [1] C
>>
>> attached base packages:
>> [1] stats ? ? graphics ?grDevices utils ? ? datasets ?grid ? ? ?methods
>> [8] base
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>
> --
> 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/
>



[Rd] grid stringHeight
baptiste auguie