/* dectech.c. Produce a table of the DEC Technical character set. F. da Cruz, Columbia University, 1991, revised 1996. */ char *name[] = { #ifdef C1GRAPHICS #define FIRSTCHAR 128 /* This is a 94-byte set that can be designated to any of G0..G3. The final character of the designation sequence is ">": ESC ( > designates the DEC Technical set to G0 ESC ) > designates the DEC Technical set to G1 ESC * > designates the DEC Technical set to G2 ESC + > designates the DEC Technical set to G3 NOTE: this character set and final character of the designation sequence are NOT registered with the ISO. The values listed below are for GR, i.e. they are 8-bit values. Subtract 128 for use in GL. The graphics listed here in the control region (128-159) are from the HDS 3200 terminal manual. The DEC VT340 manual shows that DEC does not use the control area for graphics: "Characters and symbols often used in technical applications, such as schematic and logic diagrams. The C0 controls are in columns 0 and 1. The graphic characters and symbols are in columns 2 through 7. You can use the characters in positions 2/1 through 3/7 to form large composite characters. You can use the DEC Technical Set to replace the ASCII set in GL or the DEC Supplemental Graphic set in GR. You can only use the DEC Technical Set in VT300 mode." The DEC manual does not name or describe the characters in any way. The names below are best guesses. */ "Superscript 0", /* 128 */ "Superscript 1", /* 129 */ "Superscript 2", /* 130 */ "Superscript 3", /* 131 */ "Superscript 4", /* 132 */ "Superscript 5", /* 133 */ "Superscript 6", /* 134 */ "Superscript 7", /* 135 */ "Superscript 8", /* 136 */ "Superscript 9", /* 137 */ "Proportional to (rotated 90 degrees clockwise)", /* 138 */ "Small center square outline", /* 139 */ "Dagger", /* 140 */ "Double dagger", /* 141 */ "Registered Trade Mark symbol (R in circle)", /* 142 */ "Copyright symbol (C in circle)", /* 143 */ "Trade Mark symbol (TM, not in circle)", /* 144 */ "Plus or minus symbol (minus on top)", /* 145 */ "Double underline", /* 146 */ "Subset or equal to", /* 147 */ "Superset or equal to", /* 148 */ "Small element of", /* 149 */ "Empty set", /* 150 */ "One quarter", /* 151 */ "One half", /* 152 */ "Three quarters", /* 153 */ "Vertical prime mark", /* 154 */ "Diaeresis", /* 155 */ "Centered tilde", /* 156 */ "??? box drawing thing", /* 157 */ "??? box drawing thing", /* 158 */ "Vertical line, almost full height", /* 159 */ #else /* Not C1GRAPHICS */ #define FIRSTCHAR 160 #endif /* C1GRAPHICS */ "UNDEFINED", /* 160 */ "Radical sign (small)", /* 161 */ "Upper left box corner", /* 162 */ "Center box horizonal line", /* 163 */ "Integral top", /* 164 */ "Integral bottom", /* 165 */ "Center box vertical line", /* 166 */ "Left ceiling", /* 167 */ "Left floor", /* 168 */ "Right ceiling", /* 169 */ "Right floor", /* 170 */ "Left ceiling, curved", /* 171 */ "Left floor, curved", /* 172 */ "Right ceiling, curved", /* 173 */ "Right floor, curved", /* 174 */ "Vertical line, left curved point", /* 175 */ "Vertical line, right curved point", /* 176 */ "Summation sign, upper half", /* 177 */ "Summation sign, lower half", /* 178 */ "Upper left to lower right diagonal line", /* 179 */ "Upper right to lower left diagonal line", /* 180 */ "Not sign or top right box corner", /* 181 */ "Inverted not sign or bottom right box corner", /* 182 */ "Ket (Large right angle bracket)", /* 183 */ "UNDEFINED (HDS Large left square bracket (Bra))", /* 184 */ "UNDEFINED (HDS Middle dot, large)", /* 185 */ "UNDEFINED (HDS Large right square bracket)", /* 186 */ "UNDEFINED (HDS Plus or minus sign, minus on bottom)", /* 187 */ "Less than or equal sign", /* 188 */ "Not equal sign", /* 189 */ "Greater than or equal sign", /* 190 */ "Integral sign", /* 191 */ "Therefore sign", /* 192 */ "Proportional-to symbol", /* 193 */ "Infinity symbol", /* 194 */ "Division symbol", /* 195 */ "Uppercase Greek Delta", /* 196 */ "Nabla, Laplace operator", /* 197 */ "Uppercase Greek Fi", /* 198 */ "Uppercase Greek Gamma", /* 199 */ "Difference between sign (Centered tilde)", /* 200 */ "Asymptotically equals sign", /* 201 */ "Uppercase Greek Theta", /* 202 */ "Multiplication symbol", /* 203 */ "Uppercase Greek Lambda", /* 204 */ "If and only if sign (Left Right double arrow)", /* 205 */ "Implies sign (Right double arrow)", /* 206 */ "Identical-to sign", /* 207 */ "Uppercase Greek Pi", /* 208 */ "Uppercase Greek Psi", /* 209 */ "Reverse question mark (HDS Degree symbol)", /* 210 */ "Uppercase Greek Sigma", /* 211 */ "UNDEFINED (HDS Section symbol)", /* 212 */ "UNDEFINED (HDS Pilcrow symbol)", /* 213 */ "Radical sign", /* 214 */ "Uppercase Greek Omega", /* 215 */ "Uppercase Greek Xi", /* 216 */ "Uppercase Greek Upsilon", /* 217 */ "Subset of", /* 218 */ "Superset of", /* 219 */ "Intersection", /* 220 */ "Union", /* 221 */ "Logical AND", /* 222 */ "Logical OR", /* 223 */ "Not sign", /* 224 */ "Lowercase Greek alpha", /* 225 */ "Lowercase Greek beta", /* 226 */ "Lowercase Greek chi", /* 227 */ "Lowercase Greek delta", /* 228 */ "Lowercase Greek epsilon", /* 229 */ "Lowercase Greek fi", /* 230 */ "Lowercase Greek gamma", /* 231 */ "Lowercase Greek eta", /* 232 */ "Lowercase Greek iota", /* 233 */ "Lowercase Greek theta", /* 234 */ "Lowercase Greek kappa", /* 235 */ "Lowercase Greek lambda", /* 236 */ "UNDEFINED (HDS Lowercase Greek mu)", /* 237 */ "Lowercase Greek nu", /* 238 */ "Partial differential sign", /* 239 */ "Lowercase Greek pi", /* 240 */ "Lowercase Greek psi", /* 241 */ "Lowercase Greek rho", /* 242 */ "Lowercase Greek sigma", /* 243 */ "Lowercase Greek tau", /* 244 */ "UNDEFINED (Blank)", /* 245 */ "Function-of sign, Script f, Lowercase Greek digamma", /* 246 */ "Lowercase Greek omega", /* 247 */ "Lowercase Greek xi", /* 248 */ "Lowercase Greek upsilon", /* 249 */ "Lowercase Greek zeta", /* 250 */ "Left arrow", /* 251 */ "Up arrow", /* 252 */ "Right arrow", /* 253 */ "Down Arrow", /* 254 */ "UNDEFINED (HDS Pilcrow sign)" /* 255 */ }; main() { int i; putchar('\33'); printf("*>"); printf("DEC Technical Character Set\n"); printf("char dec col/row oct hex description\n"); for (i = FIRSTCHAR; i < 256; i++) { printf("[%c] %3d %02d/%02d %3o %2X %s\n", i, i, i/16, i%16, i, i, name[i-FIRSTCHAR]); } }