National Replacement Character Set

Source: Wikipedia, the free encyclopedia.
DEC NRCS encoding family
ISO 646

The National Replacement Character Set (NRCS) was a feature supported by later models of

character set to be replaced by one from another set, allowing the construction of different character sets on the fly. It was used to customize the character set to different local languages, without having to change the terminal's ROM for different countries, or alternately, include many different sets in a larger ROM. Many 3rd party terminals and terminal emulators
supporting VT200 codes also supported NRCS.

Description

printable characters
. This set of 96 printable characters includes upper and lower case letters, numbers, and basic math and punctuation.

ASCII does not have enough room to include other common characters such as multi-national currency symbols or the various accented letters common in European languages. This led to a number of country-specific varieties of 7-bit ASCII with certain characters replaced. For instance, the UK standard simply replaced ASCII's hash mark, #, with the pound symbol, £. This normally led to different models of a given computer terminal or

printer, differing only in the glyphs stored in ROM. Some of these were standardized as part of ISO/IEC 646.[1][2]

On an 8-bit clean serial link, ASCII can be expanded to support a total of 256 characters. In this case, instead of replacing the characters in the original printable characters range from 32 to 127, new characters are added in the 128 to 255 range. This offers enough room for a single character set to include all the variety of characters used in North America and western Europe. This capability led to the introduction of the ISO/IEC 8859-1 standard character set containing 191 characters of what it calls the "Latin alphabet no. 1", but normally referred to as "ISO Latin". Windows-1252 is a slightly expanded superset of ISO Latin.[2]

NRCS was introduced to solve the problem of requiring different terminals for each country by allowing characters in the basic 7-bit ASCII set to be re-defined by copying the glyph from the DEC's version of ISO Latin, the Multinational Character Set (MCS). This meant that the ROM had to store only two character sets, standard ASCII and MCS, and could build any required local ASCII variant on the fly. For instance, instead of having a separate "UK ASCII" version of the terminal with a modified glyph in ROM, the terminal included an NRCS with instructions to replace the hash mark glyph with the pound. When used in the UK, typing Shift 3 produced the pound, the same keys pressed on a US terminal produced hash.[2]

The NRCS could be set through a setup command, or more commonly, by replacing the keyboard with a model that sent back a code when first booted. That way simply plugging in a UK keyboard, which had a pound sign on the 3 key, automatically set the NRCS to that same replacement.[2]

NRC Sets

DEC terminals from the VT220 on had 12 different NRCS sets in addition to standard ASCII:[2]

Character set Code page Standard 0x23 0x40 0x5B 0x5C 0x5D 0x5E 0x5F 0x60 0x7B 0x7C 0x7D 0x7E
Standard ASCII[3]
367
IR 6
#
@
[
\
]
^
_
`
{
|
}
~
United Kingdom[4][3] 1101[5] DEC, ISO[6]
£
@
[
\
]
^
_
`
{
|
}
~
Denmark/Norway[4][3] (Alternate) 1107[7] DEC, ISO[6] #
@
Æ Ø Å
^
_
`
æ ø å
~
Denmark/Norway 1105[8] DEC # Ä Æ Ø Å Ü _ ä æ ø å ü
Dutch[4] 1102[9] DEC
£
¾
ij [4][9]
½
| [9]
^
_
`
¨
ƒ ¼
´ [9]
Finnish[4][3] 1103[10] DEC[6] #
@
Ä Ö Å Ü _ é ä ö å ü
French[4][3] 1104[11] DEC, ISO[6]
£
à
° [11]
ç
§
^
_
`
é
ù
è
¨ [11]
French Canadian[4][3] 1020[12] DEC[6] # à â ç ê î _
ô
é
ù
è û
German[4][3]
DIN 66003
#
§
Ä Ö Ü
^
_
`
ä ö ü ß
Italian[4][3] 1012[19]
IR 15,[17][18]
UNI 0204-70
£
§
° [19]
ç é
^
_
ù
à ò è ì
Portuguese[2][3] [nb 1] DEC[6] # Ã Ç Õ
^
_
`
ã ç õ
~
Spanish[4][3] 1023[20] DEC, ISO[6]
£
§
¡
Ñ
¿
^
_
`
°
)
ñ ç
~
Swedish[4][3] 1106[21] DEC, ISO[6] # É Ä Ö Å Ü _ é ä ö å ü
Swiss[4][3] 1021[22] DEC[6]
ù
à é ç ê î è
ô
ä ö ü û

See also

Notes

References

  1. . EY-F577E-DP.
  2. ^
    Digital Press
    . (The provided link goes to a digitized version, which contains some subtle OCR errors, therefore isn't a reliable reference for the character set mappings)
  3. ^ a b c d e f g h i j k l m DEC (February 1992) [November 1989]. "Chapter 2: Character Encoding - National Replacement Character Sets (NRC Sets) (Worldwide Models Only)". VT420 Programmer Reference Manual (PDF) (2 ed.). Digital Equipment Corporation. p. 28. EK–VT420–RM.002. Archived (PDF) from the original on 2017-01-29. Retrieved 2017-01-29.
  4. ^ a b c d e f g h i j k l "VT220 Programmer Reference Manual" (2 ed.). Digital Equipment Corporation (DEC). 1984 [1983].
  5. ^ "SBCS code page information - CPGID: 01101 / Name: British NRC Set". IBM Software: Globalization: Coded character sets and related resources: Code pages by CPGID: Code page identifiers. 1. IBM. 1992-10-01. Archived from the original on 2016-12-05. Retrieved 2016-12-05. [1] [2] [3]
  6. ^ a b c d e f g h i j k l Digital Equipment Corporation (DEC). "7. Character Sets". VT510 Video Terminal Programmer Information. Retrieved 2017-02-18.
  7. ^ "SBCS code page information - CPGID: 01107 / Name: Norwegian/Danish NRC Alternate". IBM Software: Globalization: Coded character sets and related resources: Code pages by CPGID: Code page identifiers. 1. IBM. 1992-10-01. Archived from the original on 2016-12-05. Retrieved 2016-12-05. [4] [5] [6]
  8. ^ "SBCS code page information - CPGID: 01105 / Name: Norwegian/Danish NRC Set". IBM Software: Globalization: Coded character sets and related resources: Code pages by CPGID: Code page identifiers. 1. IBM. 1992-10-01. Archived from the original on 2016-12-05. Retrieved 2016-12-05. [7] [8] [9]
  9. ^ a b c d "SBCS code page information - CPGID: 01102 / Name: Dutch NRC Set". IBM Software: Globalization: Coded character sets and related resources: Code pages by CPGID: Code page identifiers. 1. IBM. 1992-10-01. Archived from the original on 2016-12-05. Retrieved 2016-12-05. [10] [11] [12]
  10. ^ "SBCS code page information - CPGID: 01103 / Name: Finnish NRC Set". IBM Software: Globalization: Coded character sets and related resources: Code pages by CPGID: Code page identifiers. 1. IBM. 1992-10-01. Archived from the original on 2016-12-05. Retrieved 2016-12-05. [13] [14] [15]
  11. ^ a b c "SBCS code page information - CPGID: 01104 / Name: French NRC Set". IBM Software: Globalization: Coded character sets and related resources: Code pages by CPGID: Code page identifiers. 1. IBM. 1992-10-01. Archived from the original on 2016-12-05. Retrieved 2016-12-05. [16] [17] [18]
  12. ^ "SBCS code page information - CPGID: 01020 / Name: Canadian (French) Variant". IBM Software: Globalization: Coded character sets and related resources: Code pages by CPGID: Code page identifiers. 1. IBM. 1992-10-01. Archived from the original on 2016-12-05. Retrieved 2016-12-05. [19] [20]
  13. ^ "SBCS code page information - CPGID: 01011 / Name: 7-Bit Germany F.R." IBM Software: Globalization: Coded character sets and related resources: Code pages by CPGID: Code page identifiers. 1. IBM. 1987-08-01. Archived from the original on 2016-06-17. Retrieved 2016-06-17.
  14. ^ "Code Page Identifiers". Microsoft Developer Network. Microsoft. 2014. Archived from the original on 2016-06-19. Retrieved 2016-06-19.
  15. ^ "Web Encodings - Internet Explorer - Encodings". WHATWG Wiki. 2012-10-23. Archived from the original on 2016-06-20. Retrieved 2016-06-20.
  16. ^ Foller, Antonin (2014) [2011]. "German (IA5) encoding - Windows charsets". WUtils.com - Online web utility and help. Motobit Software. Archived from the original on 2016-06-20. Retrieved 2016-06-20.
  17. ^
    Bemer, Robert William
    (July 1978). "Inside ASCII - Part III". Interface Age. 3 (7). Portland, OR, USA: dilithium Press: 80–87.
  18. ^
    Hewlett-Packard Company, LP. June 2003. HP part-number 502-0378. Archived from the original
    (PDF) on 2016-08-10. Retrieved 2016-08-10.
  19. ^ a b "SBCS code page information - CPGID: 01012 / Name: 7-Bit Italy". IBM Software: Globalization: Coded character sets and related resources: Code pages by CPGID: Code page identifiers. 1. IBM. 1987-08-01. Archived from the original on 2016-06-17. Retrieved 2016-06-17.
  20. ^ a b "SBCS code page information - CPGID: 01023 / Name: Spain Variant". IBM Software: Globalization: Coded character sets and related resources: Code pages by CPGID: Code page identifiers. 1. IBM. 1992-10-01. Archived from the original on 2016-12-05. Retrieved 2016-12-05. [21] [22] [23]
  21. ^ "SBCS code page information - CPGID: 01106 / Name: Swedish British NRC Set". IBM Software: Globalization: Coded character sets and related resources: Code pages by CPGID: Code page identifiers. 1. IBM. 1992-10-01. Archived from the original on 2016-12-05. Retrieved 2016-12-05. [24] [25] [26]
  22. ^ "SBCS code page information - CPGID: 01021 / Name: Switzerland Variant". IBM Software: Globalization: Coded character sets and related resources: Code pages by CPGID: Code page identifiers. 1. IBM. 1992-10-01. Archived from the original on 2016-12-05. Retrieved 2016-12-05. [27] [28] [29]