John Duncan: This is a simple script that I wrote quite a while ago to generate banner style headings in some micrcontroller assembler source code that I was writing. Simple usage: johnd@dolphin:~/big_stuff$ bigcaps hello * * ***** * * *** * * * * * * * * * * * * * * ***** **** * * * * * * * * * * * * * * * * * * * * ***** ***** ***** *** ---- #!/usr/bin/tclsh # bigcaps -- # # Converts a string supplied on the command line into large 7x5 dot # characters # set data(0) {" *** " "* *" "* **" "* * *" "** *" "* *" " *** " } set data(1) {" * " " ** " " * " " * " " * " " * " " *** " } set data(2) {" *** " "* *" " *" " * " " * " " * " "*****" } set data(3) {"*****" " * " " * " " **" " *" "* *" " *** " } set data(4) {" * " " ** " " * * " "* * " "*****" " * " " * " } set data(5) {"*****" "* " "**** " " *" " *" "* *" " *** " } set data(6) {" ** " " * " "* " "**** " "* *" "* *" " *** " } set data(7) {"*****" " *" " * " " * " " * " " * " " * " } set data(8) {" *** " "* *" "* *" " *** " "* *" "* *" " *** " } set data(9) {" *** " "* *" "* *" " ****" " *" " * " " ** " } set data(A) {" *** " "* *" "* *" "*****" "* *" "* *" "* *" } set data(B) {"**** " "* *" "* *" "**** " "* *" "* *" "**** " } set data(C) {" *** " "* *" "* " "* " "* " "* *" " *** " } set data(D) {"*** " "* * " "* *" "* *" "* *" "* * " "*** " } set data(E) {"*****" "* " "* " "**** " "* " "* " "*****" } set data(F) {"*****" "* " "* " "**** " "* " "* " "* " } set data(G) {" *** " "* *" "* " "* ***" "* *" "* *" " ****" } set data(H) {"* *" "* *" "* *" "*****" "* *" "* *" "* *" } set data(I) {" *** " " * " " * " " * " " * " " * " " *** " } set data(J) {" ***" " * " " * " " * " " * " "* * " " ** " } set data(K) {"* *" "* * " "* * " "** " "* * " "* * " "* *" } set data(L) {"* " "* " "* " "* " "* " "* " "*****" } set data(M) {"* *" "** **" "* * *" "* * *" "* *" "* *" "* *" } set data(N) {"* *" "* *" "** *" "* * *" "* **" "* *" "* *" } set data(O) {" *** " "* *" "* *" "* *" "* *" "* *" " *** " } set data(P) {"**** " "* *" "* *" "**** " "* " "* " "* " } set data(Q) {" *** " "* *" "* *" "* *" "* * *" "* * " " ** *" } set data(R) {"**** " "* *" "* *" "**** " "* * " "* * " "* *" } set data(S) {" ****" "* " "* " " ****" " *" " *" "**** " } set data(T) {"*****" " * " " * " " * " " * " " * " " * " } set data(U) {"* *" "* *" "* *" "* *" "* *" "* *" " *** " } set data(V) {"* *" "* *" "* *" "* *" "* *" " * * " " * " } set data(W) {"* *" "* *" "* *" "* * *" "* * *" "* * *" " * * " } set data(X) {"* *" "* *" " * * " " * " " * * " "* *" "* *" } set data(Y) {"* *" "* *" " * * " " * " " * " " * " " * " } set data(Z) {"*****" " *" " * " " * " " * " "* " "*****" } set data(space) {" " " " " " " " " " " " " "} set string [string toupper $argv] set string [lindex $string 0] for {set row 0} {$row < 7} {incr row} { for {set i 0} {$i < [string length $string]} {incr i} { set char [string index $string $i] if {$char == " "} { set char "space" } puts -nonewline [lindex $data($char) $row] puts -nonewline " " } puts "" } ---- See also [strimj - string image routines] and [banner]