[WJG] (15/April/06) The standard tcl string command does allow the creation of titles, however, it only capitalizes the first letter of the word. What if want to create a title from a whole string or a selection from within a text widget. The following code segment may help. Based upon English usage, it will scan each word of the selection and then determine wether or not to capitalize the first letter. In short, it will capitalize anything except those on an an exception list. Those words on the exception list are ones that are by custom left in lower case; typically conjuctions, common verbs and prepostions. Any have a play. proc case:title {} { set w [selection own] #catch { set first [$w index sel.first] set a [$w get sel.first sel.last] foreach word $a { #ignore certain words switch -- $word { if - for - of - the - that - this - have - is - be - are - have - has - had - a - as - to - or - in - on - an - at - with - you - your - and { #ignore these words } default { # append word to output string set word [string totitle $word] } } append b "$word " } $w delete sel.first sel.last # trim away whitespace set b [string trimright $b] set b [string trimright $b .] # make sure initial is always capital set b [string totitle $b 0 0] $w insert $first $b }