http://invisible-island.net/vttest/
Copyright © 2013-2018,2020 by Thomas E. Dickey


VTTEST – Code Pages

ISO-Latin-1

XTerm's default encoding is ISO-8859-1 (also known as Latin-1). Here is an example:

Example of ISO-Latin-1 (POSIX)

That is, an application written for the VT220 (or higher-level DEC models) would send one byte per character, expecting the result to look like that. ECMA-35 describes how to select different character sets.

The result may change if the application sends those bytes to a terminal which uses UTF-8 encoding. If no translation is done, you might see something like this in older versions of xterm:

Example of ISO-Latin-1 (UTF8)

The reason is that the characters drawn on the right side of the picture use codes in the range 160-255, which have a different meaning if interpreted as UTF-8.

I extended the vt100Graphics resource in 2018 to support the VT320- and VT520-codepages. The result is improved:

Example of ISO-Latin-1 Code Page

On the other hand, there is no good reason for this (VTE):

Example of ISO-Latin-1 (UTF8 with VTE)

VTE's developer copied source-code from xterm to “implement” NRCS in 2002. It never worked well, and newer versions of VTE dropped all support for VT220-style NRCS in 2014, except for a small section of Latin-1 to imitate xterm (see bug report). Here is a screenshot showing the result:

Example of ISO-Latin-1 (UTF8 with VTE: 2018)

As of 2018, however some package descriptions still claim

Run any application that is designed to run on VT102, VT220, and xterm

No part of that statement is true.

DEC Character Sets

Some of DEC's character sets were provided as part of the National Character Replacement feature introduced with VT220. Others were successive versions of character sets which ultimately were standardized by ECMA and ISO in the early 1980s. Finally, some were useful graphics characters which were not standardized at the time.

DEC Special Graphics

Treating the special graphics character set as an NRC, the highlighted characters show which are not in the ASCII character set.

Example of NRCS for DEC Special Graphics

DEC Supplemental

Also known as the Multinational Character Set, this was introduced in the VT220 to support the National Replacement Character feature. The highlighted cells show which do not match ISO-8859-1:

Example of NRCS for DEC Supplemental

DEC Supplemental Graphic

Also known as the Multinational Character Set, this was introduced in the VT320, e.g., as an interim step toward standardization of the Latin-1 character set. The highlighted cells show which do not match ISO-8859-1:

Example of NRCS for DEC Supplemental Graphic

DEC Technical

Example of NRCS for DEC Technical

DEC Code Pages

DEC Cyrillic

Example of DEC Cyrillic

DEC Greek

Example of DEC Greek

DEC Hebrew

Example of DEC Hebrew

DEC Turkish Supplemental

Example of DEC Turkish Supplemental

Mixed Code Page Example

Example of Mixed Code Pages

ISO Character Sets

ISO Greek Supplemental

Example of ISO Greek Supplemental

ISO Hebrew Supplemental

Example of ISO Hebrew Supplemental

ISO Latin 1 Supplemental

Example of ISO Latin 1 Supplemental

ISO Latin 2 Supplemental

Example of ISO Latin 2 Supplemental

ISO Latin 5 Supplemental

Example of ISO Latin 5 Supplemental

ISO Latin Cyrillic Supplemental

Example of ISO Latin Cyrillic Supplemental

Mixed ISO Example

Example of Mixed ISO Character Sets