Code page 850
Code page 850 (also known as CP 850, IBM 00850,[1] OEM 850,[2] MS-DOS Latin 1[3]) is a code page used under MS-DOS in Western Europe. English DOS systems also sometimes use code page 850, although code page 437 is often the default on those as well[citation needed].
Systems largely replaced code page 850 with, firstly, Windows-1252 (often mislabeled as ISO-8859-1), and later with UCS-2, and finally with UTF-16 (the NT line was natively Unicode from the start, but issues of development tool support and compatibility with Windows 9x kept most applications on the 8-bit code pages).
Code page 850 differs from code page 437 in that many of the box drawing characters, Greek letters, and various symbols were replaced with additional Latin letters with diacritics, thus greatly improving support for Western European languages (all characters from ISO 8859-1 are included). At the same time, the changes frequently caused display glitches with programs that made use of the box-drawing characters to display a GUI-like surface in text mode, such as programs using Turbo Pascal.
In 1998, code page 858 was derived from this code page by changing code point 213 (D5hex) from dotless i ‹ı› to the euro sign ‹€›.[4] Despite this, IBM's PC DOS 2000, released in 1998, changed their definition of code page 850 to what they called modified code page 850 now including the euro sign at code point 213 instead of adding support for the new code page 858.[nb 1][5][6][7]
Code page layout
The following table shows code page 850.[2][8] Each character appears with its equivalent Unicode code-point and its decimal code-point. Only the second half of the table (code points 128–255) is shown, the first half (code points 0–127) being the same as ASCII; code points 1–31 and 127 (00–1Fhex and 7Fhex) may be either ASCII control characters or code page 437 graphics, depending on context.[1]
See also
Notes
- ^ The reason for this might have been down to existing restrictions in the implementation of the codepage switching logic under MS-DOS/PC DOS, which limited .CPI files to 64 KB in size or about six codepages maximum, a limitation, which was circumvented in some OEM versions of MS-DOS, in Windows NT, and also does not exist in DR-DOS. Further, the parser in MS-DOS/PC DOS limits the number of possible country / codepage entries in COUNTRY.SYS files to a maximum of 146 or 438, a limitation non-existent in DR-DOS. So, adding support for codepage 858 might have meant to drop another (e.g. codepage 850) at the same time, which might not have been a viable solution at that time, given that some applications were hard-wired to use codepage 850.
References
- ^ a b "00850". Code pages by CPGID. IBM. Retrieved 14 Nov 2011.
- ^ a b "OEM 850". Go Global Developer Center. Microsoft. Retrieved 19 Nov 2011.
- ^ "Code Page 850 MS-DOS Latin 1". Developing International Software. Microsoft. Retrieved 19 Nov 2011.
- ^ "00858". Code pages by CPGID. IBM. Retrieved 20 Nov 2011.
- ^ Paul, Matthias (2001-08-15). "Changing codepages in FreeDOS" (Technical design specification based on fd-dev post [1]). Retrieved 2013-05-08.
The new official ID for the Multilingual "codepage 850 with EURO SIGN" is 858, not 850. IBM will switch to use 858 instead of their 850 variant with future issues of their products. [...] I can only guess why they didn't add 858 to their EGAx.CPI, COUNTRY.SYS, and KEYBOARD.SYS files in PC DOS 2000. Many third-party applications are designed to work with 850 and didn't know about 858 at the time PC DOS 2000 was released, so it's easier for everyone, but unfortunately it's not compatible. [...] As explained above, COUNTRY.SYS and KEYBOARD.SYS contain only two codepage entries for a given country in Western issues of DOS. (In Arabic and Hebrew issues there can be up to 8 codepages for one country, in theory there is no limit below the range of allowed codepages 1..65534). [...] The problem is that removing support for 850 might have caused compatibility problems with applications which are hard-wired to use 850. Adding 858 as a third choice to all the files would have increased the file and table sizes significantly. The COUNTRY.SYS file parser in MS-DOS/PC DOS IO.SYS/IBMBIO.COM sets aside a 6 Kb (for DOS 6) scratchpad to load all the info. This allows a maximum of 438 entries in a COUNTRY.SYS file to be accepted, otherwise you will get the message "COUNTRY.SYS too large.". The NLSFUNC parser does not have this limitation, and the file parsers in DR-DOS (kernel and NLSFUNC) also do not know of such a restriction. Older issues of MS-DOS/PC DOS even had a 2 Kb buffer for a maximum of 146 entries.
{{cite web}}
: External link in
(help)|type=
- ^ Paul, Matthias (2001-08-27). "Changing codepages in FreeDOS (follow-up)". Retrieved 2013-05-08.
[...] one could also create custom .CPI files in the traditional FONT style without difficulties, but you could only store up to a six codepages in such a file if it should be useable by MS-DOS/PC DOS (some OEM issues and NT can handle files larger than 64 Kb, but MS-DOS/PC DOS can not).
- ^ Starikov, Yuri (2005-04-11). "15-летию Russian MS-DOS 4.01 посвящается" [15 Years of Russian MS-DOS 4.01] (in Russian). Retrieved 2014-05-07.
- ^ "cp850_DOSLatin1 to Unicode table" (TXT). The Unicode Consortium. Retrieved 19 Nov 2011.