d9789d4225
incorporated into the master sources, so it is unnecessary to resolve all the conflicts that would occur if we let CVS "merge" the versions.
100 lines
3.7 KiB
Plaintext
100 lines
3.7 KiB
Plaintext
|
|
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.
|
|
|