# Тут передаем в процедуру текст.
proc colorize {text} {
# Здесь разбиваем его на отдельные буквы.
foreach bukva [split $text ""] {
# Выбираем случайный текст для буквы.
set cccolor [lindex "01 02 03 04 05 06 07 08 09 10 11 12 13 14 15" [rand 15]]
# Красим букву.
set bukva "\003$cccolor$bukva"
# Отправляем раскрашенную букву в переменную с обновленным текстом.
append text2 $bukva
}
# Возвращаем из процедуры раскрашенный текст.
return [join $text2 ""]
}
proc colorize {text} {
# Здесь разбиваем его на отдельные буквы.
foreach bukva [split $text ""] {
# Выбираем случайный текст для буквы.
set cccolor [lindex "01 02 03 04 05 06 07 08 09 10 11 12 13 14 15" [rand 15]]
# Красим букву.
set bukva "\003$cccolor$bukva"
# Отправляем раскрашенную букву в переменную с обновленным текстом.
append text2 $bukva
}
# Возвращаем из процедуры раскрашенный текст.
return [join $text2 ""]
}
Может пригодиться кому-то. Учтите, что длинна строк значительно увеличивается после раскраски, придется дописывать разбивку текста на строки.