parm start=179 end=223 charset="" setvar x "" if "x!charset" <> "x" if POS(LFT(UPS('|!charset'),3),'|LINE|DRAW|HP|ALT|SO|') > 0 echo Using HP line-drawing char-set setvar x "LINE" else echo ![chr(27)+"!charset"] echo Changing char-set with escape + "!charset" endif endif if x = "LINE" setvar x !start - 1 while ( setvar(x, x + 1) <= !end ) echo ![rht(' !x',3)] = ![chr(14)+chr(!x)+chr(15)] endwhile else setvar x !start - 1 while ( setvar(x, x + 1) <= !end ) echo ![rht(' !x',3)] = ![chr(!x)] endwhile endif deletevar x return # Flexible but not-terribly-pretty cmd-file to list characters # in some character set. Intended as a supplement to the # pretty-but-hard-wired routines recently posted on the 'L'. # # Dave Powell, MMfab 04/28/2005 # # Start & end parms: # 179 / 223 are the PC-8 line-drawing characters; for # everything visible, try 33 thru 254 # # Char-set parm: # Char-set Code # - "" Whatever char-set you are in. # - HP Roman-8 (8U HP terminal & Reflection default. # - IBM PC-8 (10U Not as many line-draw characters # as HP's line-draw set, but # enough for many purposes. # Most common printing chars are # same as Roman-8, so you don't # have to switch back & forth. # Good for printing, may be hard # to get on screen; but in Reflection # 'PC English (437)' as host char # set may be close-enough. # - Anything resembling a request # to shift-out to HP's alternate # line-drawing char-set, might # make it do so. # The 'real' codes with escape & '(' may only be useful # when output is re-directed to a printer -- Reflection # (v 10.0) and dumb-terminals do not like them. # # Examples: # # to see what your printer can do with PC-8 line drawing chars # :file p;dev=nn # :xeq charset.testcmd,,(8U > *p # # to see HP line-drawing chars on your screen # :xeq charset.testcmd.shr 30 126 line # # to view a single character without having it run into the # next or previous chars: # :xeq charset.testcmd.shr 180 180