1994-03-29 06:39:46 +04:00
|
|
|
|
|
|
|
I. Character Set Selection on VT220 Terminals
|
|
|
|
==================================================
|
|
|
|
|
|
|
|
|
|
|
|
name C0 GL C1 GR
|
|
|
|
+---+ +-------------------+ +---+ +-------------------+
|
|
|
|
|00h| | | |80h| | |
|
|
|
|
range | | | | 20h .. 7fh | | | | | a0h .. ffh |
|
|
|
|
|1fh| | | |9fh| | |
|
|
|
|
+---+ +-------------------+ +---+ +-------------------+
|
|
|
|
length 32 96 32 96
|
|
|
|
|
|
|
|
/\
|
|
|
|
SECOND /||\ "lock"- or "single"-shift one set of G0, G1, G2 or
|
|
|
|
STEP || G3 into one of the "displayable" charactersets GL
|
|
|
|
|| or GR. (escape) sequences are: SI, SO, ESC ~, ESC n,
|
|
|
|
|| ESC }, ESC o, ESC |, ESC N and ESC O.
|
|
|
|
|
|
|
|
+----+ +----+ +----+ +----+
|
|
|
|
name | G0 | | G1 | | G2 | | G3 |
|
|
|
|
length |(96)| |(96)| |(96)| |(96)|
|
|
|
|
+----+ +----+ +----+ +----+
|
|
|
|
|
|
|
|
/\
|
|
|
|
/||\ designate a hard or a soft character set as
|
|
|
|
|| one of G0, G1, G2 or G3, used escape sequences
|
|
|
|
FIRST || are, ESC ( X, ESC ) X, ESC * X and ESC + X - where X is
|
|
|
|
STEP || B for ascii, < for supplemental, 0 for special, A for
|
|
|
|
|| british, 4 for dutch, C and 5 for finnish etc. etc. ...
|
|
|
|
||
|
|
|
|
|
|
|
|
+-----+ +------------+ +--------+ +-----------+ +------------+
|
|
|
|
name |ascii| |supplemental| |special | | national | |downloadable|
|
|
|
|
| | | graphics | |graphics| |replacement| |characterset|
|
|
|
|
length | (96)| | (96)| | (96)| | (96)| | (96)|
|
|
|
|
+-----+ +------------+ +--------+ +-----------+ +------------+
|
|
|
|
|
|
|
|
\-------\ /----------/ norway/danish
|
|
|
|
| dutch
|
|
|
|
together, this is also finnish
|
|
|
|
referred to as the french
|
|
|
|
multinational character french canada
|
|
|
|
set (power on default german
|
|
|
|
on a dec vt220) italian
|
|
|
|
spanish
|
|
|
|
swedish
|
|
|
|
swiss
|
|
|
|
|
|
|
|
|
|
|
|
II. Emulating Character Set Selection
|
|
|
|
=========================================
|
|
|
|
|
|
|
|
MDA/HCG/CGA:
|
|
|
|
|
|
|
|
just a partial emulation is done, because these boards don't allow
|
|
|
|
downloadable charactersets. some characters simply don't display
|
|
|
|
because they are not in the characterset roms on the video board.
|
|
|
|
|
|
|
|
if you want to change the mapping, have a look at the default tables
|
|
|
|
in pcvt_tbl.h.
|
|
|
|
|
|
|
|
EGA/VGA:
|
|
|
|
|
|
|
|
these cards have provisions for downloadable charactersets and so
|
1995-10-08 00:43:25 +03:00
|
|
|
many vt220/vt320 charactersets are fully supported:
|
1994-03-29 06:39:46 +04:00
|
|
|
|
|
|
|
- US Ascii
|
|
|
|
- DEC Supplemental
|
|
|
|
- DEC Special Graphic
|
|
|
|
- DEC Technical
|
|
|
|
- ISO Latin-1
|
|
|
|
- Downloadable
|
|
|
|
|
|
|
|
when the emulator is started, it behaves initially similar to
|
|
|
|
the MDA/CGA/HCG method described above.
|
|
|
|
|
|
|
|
when a second (special) characterset for a given screen resolution
|
|
|
|
is loaded via the "loadfont" utility, the emulator detects this fact
|
|
|
|
and uses from then on extended tables to access the second charset
|
|
|
|
as an upper half 512 characterset in terms of ega/vga speak.
|
|
|
|
|
|
|
|
from this time on, vt220 downloadable fonts are usable.
|
|
|
|
|
|
|
|
the organization of this extended characterset is as follows:
|
|
|
|
|
|
|
|
0x00 ... 0x1f C0 display function fonts
|
|
|
|
0x20 ... 0x3f C1 display function fonts
|
|
|
|
0x40 ... 0x9f fonts for DEC Supplemental, DEC Special
|
|
|
|
Graphic, DEC Technical and ISO Latin-1
|
|
|
|
0xa0 ... 0xff VT220 Downloadable Font
|
|
|
|
|
1995-10-08 00:43:25 +03:00
|
|
|
the mapping between vt220 charactersets and the charactersets inside
|
1994-03-29 06:39:46 +04:00
|
|
|
the ega/vga is done by tables found in the file pcvt_tbl.h.
|
|
|
|
|
|
|
|
there is a MSDOS fonteditor called "EVAFONT" available on the
|
|
|
|
SIMTEL-20 archive, which i used to edit the character sets in the
|
|
|
|
distribution.
|
|
|
|
|