1#!/bin/sh
2# -*- tcl -*- \
3exec tclsh "$0" ${1+"$@"}
4lappend auto_path [file join [file dirname [file dirname [file dirname [info script]]]] modules]
5package require term::ansi::send
6term::ansi::send::import vt
7
8vt::init
9vt::clear
10vt::wr \n
11vt::wr {    }
12vt::sda_bgcyan
13vt::wr {[ Table of graphics characters ]}
14vt::sda_reset
15vt::wr \n\n
16
17# Header
18vt::wr {      }
19foreach col {0 1 2 3 4 5 6 7} {
20    vt::sda_bgyellow
21    vt::wr $col
22    vt::sda_reset
23}       
24vt::wr {   }
25foreach col {0 1 2 3 4 5 6 7} {
26    vt::sda_bgyellow
27    vt::wr $col
28    vt::sda_reset
29}
30vt::wr \n
31
32vt::wr "     \016lqqqqqqqqk lqqqqqqqqk\017\n"
33
34foreach row {0 1 2 3 4 5 6 7 8 9 10 11} {
35
36    vt::wr { }
37    vt::sda_bgyellow
38    vt::wr [format %3o [expr {32+8*$row}]]
39    vt::sda_reset
40    vt::wr " \016x\017"
41
42    foreach col {0 1 2 3 4 5 6 7} {
43	set card [expr {32+8*$row+$col}]
44	if {$card > 126} {vt::wr { } ; continue}
45	set c [format %c $card]
46	vt::sda_bgwhite
47	vt::wr \016
48	vt::wr $c
49	vt::wr \017
50	vt::sda_reset
51    }
52
53    vt::wr "\016x x\017"
54
55    foreach col {0 1 2 3 4 5 6 7} {
56	set card [expr {32+8*$row+$col}]
57	if {$card > 126} {vt::wr { } ; continue}
58	set c [format %c $card]
59	vt::sda_bgwhite
60	vt::wr $c
61	vt::sda_reset
62    }
63    vt::wr "\016x\017\n"
64}
65
66vt::wr "     \016mqqqqqqqqj mqqqqqqqqj\017\n"
67vt::sda_reset
68vt::wr \n
69exit
70
71
72set n 0
73for {set i 32} {$i < 127} {incr i} {
74    set c [format %c $i]
75    vt::sda_reset
76    vt::wr " [format %3o $i] \["
77    vt::wr \]
78    incr n
79    if {$n >= 8} {set n 0 ; puts ""}
80}
81if {$n > 0} {puts ""}
82