Portable use of graphics characters

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.

Example

@ 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!