The following table is an overview of sequences in the application to terminal direction.
Additionally there are character set definition sequences that follow a distinct pattern. These sequences should not used in UTF-8 mode by applications but only in traditional 7 or 8 bit ISO-2022 mode.
Many applications still use DEC_Spec_Graphic ('0') instead of the corresponding unicode codepoints for line drawing characters.
| Sequence shape | Select Characterset Result |
|---|---|
| ESC ( rest | -> Setup G0 charset with 94 characters |
| ESC ) rest | -> Setup G1 charset with 94 characters |
| ESC * rest | -> Setup G2 charset with 94 characters |
| ESC + rest | -> Setup G3 charset with 94 characters |
| ESC - rest96 | -> Setup G1 charset 96 characters |
| ESC . rest96 | -> Setup G2 charset 96 characters |
| ESC / rest96 | -> Setup G3 charset 96 characters |
Where rest is:
| rest | Character set |
|---|---|
| B | ASCII |
| A | British |
| 0 | DEC Special Character and Line Drawing Set |
| 1 | DEC_Alt_Chars |
| 2 | DEC_Alt_Graphics |
| < | DEC_Supp |
| 4 | Dutch |
| 5 | Finnish |
| C | Finnish2 |
| R | French |
| f | French2 |
| Q | French_Canadian |
| K | German (linuxvc: user defined mapping) |
| Y | Italian |
| E | Norwegian_Danish2 |
| 6 | Norwegian_Danish3 |
| Z | Spanish |
| 7 | Swedish |
| H | Swedish2 |
| = | Swiss |
| A | British_Latin_1, |
| > | DEC_Technical |
| 9 | French_Canadian2 |
| ` | Norwegian_Danish |
| %5 | DEC_Supp_Graphic |
| % 6 | Portugese |
| % 0 | Turkish |
| % 2 | Turkish Supplement |
| % 3 | no change? |
| % = | Hebrew |
| "4 | DEC Hebrew Supplement |
| "> | Greek |
| "? | DEC Greek Supplement |
| U | IBM code page 437 (linuxvc only) |
Where rest96 is:
| rest96 | Character set |
|---|---|
| A | Latin-1 Supplemental |
| F | Greek (Bottom part of ISO-8859-7) |
| H | Hebrew (Bottom part of ISO-8859-8) |
| L | Latin-Cyrillic (Bottom part of ISO-8859-5) |
| M | Latin-5 (Bottom part of ISO-8859-9) |
See https://github.com/ThomasDickey/xterm-snapshots/blob/master/charsets.c and "Digital ANSI-Compliant Printing Protocol Level 2 Programming Reference Manual EK–PPLV2–PM. B01" for detailed character mapping tables.