Prof Brian Ripley <[EMAIL PROTECTED]> writes:

> > <Tcl> 743
> >
> > I could convert pixels to characters, but wonder whether I can get the
> > latter directly.
> 
> I suspect you may have some difficulty with the latter, even in a
> monospace font.  Notice that 486 is not a multiple of 80, and if that
> is actually 81, 743 is not a multiple of 6.
> 
> I was trying to do this with heights for a listbox a few days ago, and
> it seems that the line spacing is actually 1 pixel greater than is
> reported. Since you can resize to a non-integer number of lines I
> don't believe (and I tried to read the source code) that Tcl/Tk works
> internally with characters.

I think that's actually an issue that involves the window manager too.
I don't think all WMs know how to deal in integer number of
characters. 

Anyways, the following piece of Tcl seems to do the trick:

% expr ([winfo width .a] - 2 * [.a cget -borderwidth] - 4)/[font measure [.a 
cget -font] 0]
27

Converting to R is left as an exercise...

If I got it right then the point is that at either side of the window
you have by 1 pixel, n border pixels, and 1 spacer pixel before the
first character.

-- 
   O__  ---- Peter Dalgaard             Blegdamsvej 3  
  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N   
 (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - ([EMAIL PROTECTED])             FAX: (+45) 35327907

______________________________________________
R-devel@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to