Posted to tcl by kbk at Sun Jan 25 01:17:37 GMT 2009view pretty
package require Tk
set fontlist "8 5 10 9 6 11 10 6 13 12 7 15 14 8 17 16 10 20 18 11 22 24 14 30 30 18 37 36 22 45"
foreach {size width height} $fontlist {
font create font$size -family {Courier New} -size [expr {-$height}]
while {[font measure font$size M] > $width} {
incr height -1
font configure font$size -size [expr {-$height}]
}
}
grid [canvas .c -width 300 -height 30]
proc paintText {canvas x y string font width height} {
set xx $x
set yy $y
foreach c [split $string {}] {
if {$c eq "\n"} {
incr yy $height
set xx $x
} else {
$canvas create text $xx $yy -text $c -anchor nw -font $font
incr xx $width
}
}
}
paintText .c 10 5 Testing font16 10 20