ISO/IEC 6937:2001, Information technology — Coded graphic character set for text communication — Latin alphabet, is a multibyte extension of ASCII, or rather of 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. Only certain combinations of lead byte and follow byte are allowed, and there are some exceptions to the lead byte interpretation for some follow bytes. Note, however, that no combining characters at all are encoded in ISO/IEC 6937. But one can represent some free-standing diacritics, often by letting the follow byte have the code for ASCII space.
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 Romaniancomma 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.
The ISO/IEC 2022 escape sequence to specify the right-hand side of the ISO/IEC 6937 character set is ESC - R (hex 1B 2D 52).[1]
The primary set of ISO6937/2 is based on ISO646 (characters 0x00..0x7f) with the exception of character 0x24 ($) which is denoted as a "general currency sign" (¤):
The supplementary set (characters 0x80..0xff) contains a selection of spacing and non-spacing graphic characters, additional symbols and some locations reserved for future standardisation.
Two byte characters
The characters which are not represented in the primary set are coded on 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
In total 13 diacritical marks can be followed by the selected characters from the primary set:
Note that the reference to combining characters in the U+0300—U+036F range for the codes in the range 0xC1—0xCF below are only indicative of which “accent” is usually intended by that lead byte. ISO/IEC 6937 does not encode any combining characters whatsoever. Instead there is an explicit list of precomposed characters that are encoded.
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 the glyph usually looks that way (Ģ ģ). In Unicode, the ohm sign 0xE0 is unified with the Greek Capital Letter Omega which ISO 6937 does not include. Unicode also distinguishes 0xE2 into uppercase Eth and D with stroke, which usually look different for the lowercase letters (0xF2 and 0xF3).