Graphics characters are stored in an “alternate character set”, which you can turn on and off with the ALTCHARSET character (control-E). When you are in alternate character set mode, some of the characters are substituted with other (“alternate”) characters.
The $getcap(TERM acs_chars 0 0) function call will return to you all of the characters that are substituted in the alternate character set. This value is a string that contains pairs of characters.
The first character is a well-defined “vt100” alternate character name.
The second character is what character your emulator uses to support that well-defined “vt100” alternate character.
Any characters that are not supported by your emulator are not shown in this list; you can't assume all characters will be supported – some emulators may not support any.
@ foo = getcap(TERM acs_chars 0 0);
fec ($foo) vt me {
switch ($vt) {
(w) { @tee_down = me }
(u) { @tee_left = me }
(t) { @tee_right = me }
(v) { @tee_up = me }
(l) { @ul_corner = me }
(k) { @ur_corner = me }
(m) { @ll_corner = me }
(j) { @lr_corner = me }
(x) { @vline = me }
(q) { @hline = me }
}
}
alias box (message) {
echo $ul_corner$repeat(65 $hline)$ur_corner
echo $vline$[65]center(65 $message)$vline
echo $ll_corner$repeat(65 $hline)$lr_corner
}
box hi there! box w00t!