From murdoch at stats.uwo.ca  Sat Jun 11 13:02:04 2005
From: murdoch at stats.uwo.ca (murdoch@stats.uwo.ca)
Date: Sat, 11 Jun 2005 13:02:04 +0200 (CEST)
Subject: [Rd] Wishlist: strwidth allow for rotation of text (PR#7931)
Message-ID: <20050611110204.5CC9CA21C@slim.kubism.ku.dk>

epurdom at stanford.edu wrote:
> Hi,
> 
> This is not a bug, but an enhancement suggestion. "strwidth" only gives the 
> width of the text according to the x-axis user coordinates, and similarly 
> for "strheight". Even if the par setting "srt" is changed to rotate the 
> text, the resulting width (resp. height) is in terms of the non-rotated 
> text. Currently, if I want to know how much space to leave for vertical 
> text in the user coordinates, I manually invert the user coordinates, and 
> then change them back.
> 
> Even if arbitrary "srt" is too much, just having the option for 90 degree 
> rotation would be helpful. If it were implemented for arbitrary srt, then I 
> personally think it's x-axis and y-axis dimensions are of interest, and not 
> the actual length of the rotated text.

I think it's pretty standard to measure text this way.  You can get a 
very good approximation to arbitrary rotation by treating the text as a 
width by height rectangle, and using a bit of trig to calculation the 
rotated dimensions of that - but it's much harder to get the original 
dimensions back after doing this.

So I'd suggest that you should write a little function to calculate 
rotated dimensions, document it, and offer it to one of the Misc 
collections.

If you want to waste a lot of time on it you could try to do it in a way 
that can tell the difference between "Ay" and "yA" after a 45 degree 
rotation (the first is wider), but I think it will be hard to get that 
right.

Duncan Murdoch



[Rd] Wishlist: strwidth allow for rotation of text (PR#7931)
murdoch@stats.uwo.ca