package require Tk package require math::interpolate proc createInterpolationTable {win font text} { set max [winfo vrootwidth $win] set oldsize [font configure $font -size] set xval [list] set yval [list] set x 0 set size 2 while {$x < $max} { font configure $font -size $size set x [font measure $font $text] lappend xval $x lappend yval $size incr size 4 } font configure $font -size $oldsize return [list $xval $yval] } proc adjustFont {font width ipt} { set newSize [lindex [math::interpolate::neville [lindex $ipt 0] [lindex $ipt 1] $width] 0] font configure $font -size [expr {int($newSize)}] } proc configureBinding {font ipt win width heigth} { adjustFont $font $width $ipt } font create title -family Verdana -size 10 toplevel .test set txt "Some Titel" set ipt [createInterpolationTable .test title $txt] label .test.l -text $txt -font title pack .test.l -expand 1 -fill both bind .test.l <Configure> [list configureBinding title $ipt %W %w %h]MHo - 2008-02-27: just tested on windows. After starting the program, I had no chance to klick anything: the window constantly flickers. Had to press Alt+F4 to cancel. Looks like the Configure-event is constantly fired...
See also font