[Rd] Wishlist: strwidth allow for rotation of text (PR#7931)

murdoch@stats.uwo.ca murdoch at stats.uwo.ca
Sat Jun 11 13:02:04 CEST 2005


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



More information about the R-devel mailing list