T.51/ISO/IEC 6937

T.51 / ISO/IEC 6937:2001, Information technology — Coded graphic character set for text communication — Latin alphabet, is a multibyte extension of ASCII, or more precisely ISO/IEC 646-IRV. It was developed in common with ITU-T (then CCITT) for telematic services under the name of T.51, and first became an ISO standard in 1983. Certain byte codes are used as lead bytes for letters with diacritics (accents). The value of the lead byte often indicates which diacritic that the letter has, and the follow byte then has the ASCII-value for the letter that the diacritic is on.

ISO/IEC 6937's architects were Hugh McGregor Ross, Peter Fenwick, Bernard Marti and Loek Zeckendorf.

ISO6937/2 defines 327 characters found in modern European languages using the Latin alphabet. Non-Latin European characters, such as Cyrillic and Greek, are not included in the standard. Also, some diacritics used with the Latin alphabet like the Romanian comma are not included, using cedilla instead as no distinction between cedilla and comma below was made at the time.

IANA has registered the charset names ISO_6937-2-25 and ISO_6937-2-add for two (older) versions of this standard (plus control codes). But in practice this character encoding is unused on the Internet.

Single byte characters
The primary set (first half) originally followed ISO 646-IRV before the ISO/IEC 646:1991 revision, that is, mostly following ASCII but with character 0x24 still denoted as an "international currency sign" (¤) instead of the dollar sign ($). The 1992 edition of ITU T.51 permits existing CCITT services to continue to interpret 0x24 as the international currency sign, but stipulates that new telecommunication applications should use it for the dollar sign (i.e. following the current ISO 646-IRV), and instead represent the international currency sign using the supplementary set.

The supplementary set (second half) contains a selection of spacing and non-spacing graphic characters, additional symbols and some locations reserved for future standardisation.

Both of these are ISO/IEC 2022 graphical character sets, with the primary set being a 94-code set and the secondary set being a 96-code set. In contexts where ISO 2022 code extension techniques are not in use, the primary set is designated as the G0 set and invoked over GL (0x20..0x7F), whereas the supplementary set is designated as the G2 set and invoked over GR (0xA0..0xFF) in an 8-bit environment, or by using the control code 0x19 as a single-shift in a 7-bit environment. This encoding of the Single Shift Two code matches its location in ISO-IR-106.

The ISO/IEC 2022 escape sequence to designate the supplementary set of ISO/IEC 6937 as the G2 set is  (hex  ). The older ISO 6937/2:1983 supplementary set is registered as a 94-code set, and designated to G2 with  (hex  ).

Two byte characters
Accented letters which are not allocated single codes in the primary or supplementary set are coded using two bytes. The first byte, the "non spacing diacritical mark", is followed by a letter from the base set e.g.:

small e with acute accent (é) = [Acute]+e

The ITU T.51 standard allocates column 4 of the supplementary set (i.e. 0xC0–CF when used in 8-bit format) to non-spacing diacritic characters. However, ISO/IEC 6937 defines a fully specified character repertoire, mapping a list of composition sequences to ISO/IEC 10646 character names. The isolated nonspacing bytes are not included in this repertoire, although spacing variants of the diacritics not otherwise present in ASCII are included, with the ASCII space being the trail byte. Hence, only certain combinations of lead byte and follow byte conform to the ISO/IEC standard.

This repertoire is also affixed to the ITU version of the specification as Annex A, although the ITU version does not reference it from the main text. It is described as a "unified superset" of the Latin-script character repertoires. It corresponds to the repertoire of ISO/IEC 10367 when the ASCII, Latin-1 (or Latin-5), Latin-2 and supplementary Latin sets are used.

This system also differs from the Unicode combining character system in that the diacritic code precedes the letter (as opposed to following it), making it more similar to ANSEL.

A little anomaly is that Latin Small Letter G with Cedilla is coded as if it were with an acute accent, that is, with a 0xC2 lead byte, since due to its descender interfering with a cedilla, the lowercase letter is usually with turned comma above: Ģ ģ.

In total 13 diacritical marks can be followed by the selected characters from the primary set:

Codepage layout
The reference to combining characters in the U+0300—U+036F range for the codes in the range 0xC1—0xCF below is subject to the caveats mentioned above; they cannot simply be mapped to the codepoints listed. Also, Unicode distinguishes 0xE2 into uppercase D with stroke and uppercase Eth, which usually look different for the lowercase letters (0xF2 and 0xF3).

The older 1988 edition of ITU T.51 defined two versions of the supplementary set, with the first version lacking the non-breaking space, soft hyphen, not sign (¬) and broken bar (¦) present in the second version. The first version was defined as an extension of the T.61 supplementary set, and the second version as an extension of the first version. The current (1992) edition only includes the second version, deprecates certain characters, and updates the primary set to the current ISO-646-IRV (ASCII), although existing telematic services are permitted to retain the older behaviour.

{{legend|#FFD|Differences from T.61}}

Videotex version
The versions of the supplementary set used by the ITU T.101 standard for Videotex are based on the first supplementary set of the 1988 edition of T.51.

The default G2 set for Data Syntax 2 adds a ΅ at 0xC0, for combination with codes from a Greek primary set.

The supplementary set for Data Syntax 3 adds non-spacing marks for a "vector overbar" and solidus and several semigraphic characters.

ETS 300 706 version
The ETS 300 706 standard for World System Teletext bases its G2 set on ISO 6937. It is a superset of the supplementary set of T.61, and a superset of the first supplementary set of the 1988 edition of T.51, but collides with the current edition of T.51 in certain positions. Diacritic codes in the ETS version are specified as being "for association with" characters from the G0 set in use, such as US-ASCII or BS_viewdata. This version is shown in the chart below.

{{legend|#FFD|Differences from T.51}}