graphics_chars
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
— | graphics_chars [2009/01/23 15:27] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ======Portable use of graphics characters====== | ||
+ | |||
+ | Graphics characters are stored in an " | ||
+ | can turn on and off with the ALTCHARSET character (control-E). | ||
+ | in alternate character set mode, some of the characters are substituted with | ||
+ | other (" | ||
+ | |||
+ | 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 " | ||
+ | |||
+ | The second character is what character your emulator uses to support that | ||
+ | well-defined " | ||
+ | |||
+ | 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! | ||
+ | |||
+ | |||
graphics_chars.txt · Last modified: 2009/01/23 15:27 by 127.0.0.1