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 many vt220/vt320 charactersets are fully supported: - 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 the mapping between vt220 charactersets and the charactersets inside 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.