HOME

TheInfoList



OR:

Code page 437 (
CCSID A CCSID (coded character set identifier) is a 16-bit number that represents a particular character encoding, encoding of a specific code page. For example, Unicode is a code page that has several encoding (so called "transformation") forms, like UT ...
437) is the character set of the original IBM PC (personal computer). It is also known as CP437, OEM-US, OEM 437, PC-8, or DOS Latin US. The set includes all printable
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because ...
characters as well as some accented letters (
diacritic A diacritic (also diacritical mark, diacritical point, diacritical sign, or accent) is a glyph added to a letter or to a basic glyph. The term derives from the Ancient Greek (, "distinguishing"), from (, "to distinguish"). The word ''diacriti ...
s), Greek letters, icons, and line-drawing symbols. It is sometimes referred to as the "OEM font" or "high ASCII", or as "
extended ASCII Extended ASCII is a repertoire of character encodings that include (most of) the original 96 ASCII character set, plus up to 128 additional characters. There is no formal definition of "extended ASCII", and even use of the term is sometimes critic ...
" (one of many mutually incompatible ASCII extensions). This character set remains the primary set in the core of any
EGA Ega or EGA may refer to: Military * East German Army, the common western name for the National People's Army * Eagle, Globe, and Anchor, the emblem of the United States Marine Corps People * Aega (mayor of the palace), 7th-century noble of Neus ...
and VGA-compatible graphics card. As such, text shown when a PC reboots, before fonts can be loaded and rendered, is typically rendered using this character set. Many file formats developed at the time of the IBM PC are based on code page 437 as well.


Display adapters

The original IBM PC contained this font as a 9×14 pixels-per-character font stored in the ROM of the IBM Monochrome Display Adapter (MDA) and an 8×8 pixels-per-character font of the Color Graphics Adapter ( CGA) cards. The IBM Enhanced Graphics Adapter (EGA) contained an 8×14 pixels-per-character version, and the VGA contained a 9×16 version. All these display adapters have text modes in which each character cell contains an
8-bit In computer architecture, 8-bit integers or other data units are those that are 8 bits wide (1 octet). Also, 8-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers or data buses of ...
character
code point In character encoding terminology, a code point, codepoint or code position is a numerical value that maps to a specific character. Code points usually represent a single grapheme—usually a letter, digit, punctuation mark, or whitespace—bu ...
(see details), giving 256 possible values for graphic characters. All 256 codes were assigned a graphical character in ROM, including the codes from 0 to 31 that were reserved in ASCII for non-graphical control characters. Various Eastern European PCs used different character sets, sometimes user-selectable via jumpers or CMOS setup. These sets were designed to match 437 as much as possible, for instance sharing the code points for many of the line-drawing characters, while still allowing text in a local language to be displayed.


Alt codes

A legacy of code page 437 is the number combinations used in Windows Alt keycodes. The user could enter a character by holding down the Alt key and entering the three-digit decimal Alt keycode on the numpad and many users memorized the numbers needed for CP437 (or for the similar code page 850). When Microsoft switched to their proprietary character sets (such as CP1252) and later
Unicode Unicode, formally The Unicode Standard,The formal version reference is is an information technology standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems. The standard, ...
in Windows, the original codes were retained; Microsoft added the ability to type a code in the new character set by typing the numpad 0 before the digits.


Character set

The following tables show code page 437. Each character is shown with its equivalent
Unicode Unicode, formally The Unicode Standard,The formal version reference is is an information technology standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems. The standard, ...
code point (when it is not equal to the character's code). A tooltip, generally available only when one points to the immediate left of the character, shows the Unicode code point name and the decimal Alt code. See also the notes below, as there are multiple equivalent Unicode characters for some code points. Although the ROM provides a graphic for all 256 different possible 8-bit codes, some APIs will not print some code points, in particular the range 0-31 and the code at 127. Instead, they will interpret them as control characters. For instance, many methods of outputting text on the original IBM PC would interpret the codes for
BEL BEL can be an abbreviation for: * The ISO 3166-1 alpha-3 country code for Belgium * ''BEL'' or bell character in the C0 control code set * Belarusian language, in the ISO 639-2 and SIL country code lists * Bharat Electronics Limited, an Indian stat ...
, BS, CR and LF. Many printers were also unable to print these characters. } , , - , , , , , , , , , , , , , , , , , , - , , , , , , , , , , , , , , , , , , - , , , , , , , , , , , , , , , , , , - , , , , , , , , , , , , , , , , , , - , , , , , , , , , , , , , , , , , , - , , , , , , , , , , , , , , , , , , - , , , , , , , , , , , , , , , , , , - , , , , , , , , , , , , , , , , , , - , , , , , , , , , , , , , , , , , , - , , , , , , , , , , , , , , , , , , - , , , , , , , , , , , , , , , , , , - , , , , , , , , , , , , , , , , , , - , , , , , , , , , , , , , , , , , , - , , , , , , , , , , , , , , , , , , - , , , , , , , , , , , , , , , , , When translating to Unicode some codes do not have a unique, single Unicode equivalent; the correct choice may depend upon context.


History

The repertoire of code page 437 was taken from the character set of
Wang Wang may refer to: Names * Wang (surname) (王), a common Chinese surname * Wāng (汪), a less common Chinese surname * Titles in Chinese nobility * A title in Korean nobility * A title in Mongolian nobility Places * Wang River in Thai ...
word-processing machines, according to Bill Gates in an interview with Gates and Paul Allen that appeared in the 2 October 1995 edition of ''Fortune Magazine:'' : "... We were also fascinated by dedicated word processors from Wang, because we believed that general-purpose machines could do that just as well. That's why, when it came time to design the keyboard for the IBM PC, we put the funny Wang character set into the machine—you know, smiley faces and boxes and triangles and stuff. We were thinking we'd like to do a clone of Wang word-processing software someday." According to an interview with
David J. Bradley David John Bradley (February 22, 1915 – January 7, 2008) was an American writer, surgeon, politician and champion skier. His best-selling 1948 book '' No Place to Hide'', a memoir of the Bikini atomic bomb tests, alerted the world to the ...
(developer of the PC's ROM-BIOS) the characters were decided upon during a four-hour meeting on a plane trip from Seattle to Atlanta by Andy Saenz (responsible for the video card), Lew Eggebrecht (chief engineer for the PC) and himself. The selection of graphic characters has some internal logic: * Table rows 0 and 1, codes 0 to 31 (00hex to 1Fhex), are assorted dingbats (complementary and decorative characters). The isolated character 127 (7Fhex) also belongs to this group. * Table rows 2 to 7, codes 32 to 126 (20hex to 7Ehex), are the standard
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because ...
printable characters. * Table rows 8 to 10, codes 128 to 175 (80hex to AFhex), are a selection of international text characters. * Table rows 11 to 13, codes 176 to 223 (B0hex to DFhex), are
box drawing Box Drawing is a Unicode block containing characters for compatibility with legacy graphics standards that contained characters for making bordered charts and tables, i.e. box-drawing characters. Its block name in Unicode 1.0 was Form and Chart C ...
and block characters. This block is arranged so that characters 192 to 223 (C0hex to DFhex) contain all the right arms and right-filled areas. The original IBM PC MDA display adapter stored the code page 437 character
glyph A glyph () is any kind of purposeful mark. In typography, a glyph is "the specific shape, design, or representation of a character". It is a particular graphical representation, in a particular typeface, of an element of written language. A g ...
s as bitmaps eight
pixel In digital imaging, a pixel (abbreviated px), pel, or picture element is the smallest addressable element in a raster image, or the smallest point in an all points addressable display device. In most digital display devices, pixels are the s ...
s wide, but for visual enhancement displayed them every nine pixels on screen. This range of characters had the eighth pixel column duplicated by special hardware circuitry, thus filling in gaps in lines and filled areas. The VGA adapter allows this behaviour to be turned on or off.Joshua D. Neal
Attribute Controller Registers: Attribute Mode Control Register
Hardware Level VGA and SVGA Video Programming Information Page: bit 2 is Line Graphics Enable.
* Table rows 14 and 15, codes 224 to 254 (E0hex to FEhex) are devoted to mathematical symbols, where the first twelve are a selection of Greek letters commonly used in physics. Most fonts for Microsoft Windows include the special graphic characters at the Unicode indexes shown, as they are part of the WGL4 set that Microsoft encourages font designers to support. (The monospaced raster font family Terminal was an early font that replicated all code page 437 characters, at least at some resolutions.) To draw these characters directly from these code points, a Microsoft Windows font called MS Linedraw replicates all of the code page 437 characters, thus providing one way to display DOS text on a modern Windows machine as it was shown in DOS, with limitations.


Internationalization

Code page 437 has a series of international characters, mainly values 128 to 175 (80hex to AFhex). However, it only covers a few major Western European languages in full, including English, German and
Swedish Swedish or ' may refer to: Anything from or related to Sweden, a country in Northern Europe. Or, specifically: * Swedish language, a North Germanic language spoken primarily in Sweden and Finland ** Swedish alphabet, the official alphabet used by ...
, and so lacks several characters (mostly capital letters) important to many major Western European languages: * Spanish: Á, Í, Ó, and Ú *
French French (french: français(e), link=no) may refer to: * Something of, from, or related to France ** French language, which originated in France, and its various dialects and accents ** French people, a nation and ethnic group identified with Franc ...
: À, Â, È, Ê, Ë, Î, Ï, Ô, Œ, œ, Ù, Û, and Ÿ * Portuguese: Á, À, Â, Ã, ã, Ê, Í, Ó, Ô, Õ, õ, and Ú *
Catalan Catalan may refer to: Catalonia From, or related to Catalonia: * Catalan language, a Romance language * Catalans, an ethnic group formed by the people from, or with origins in, Northern or southern Catalonia Places * 13178 Catalan, asteroid ...
: À, È, Í, Ï, Ò, Ó, and Ú * Italian: À, È, Ì, Ò, and Ù * Icelandic: Á, Ð, ð, Í, Ó, Ú, Ý, ý, Þ, and þ * Danish/ Norwegian: Ø and ø. Character number 237 (EDhex), the small phi (closed form), could be used as a surrogate even though it may not render well (furthermore, it tends to map to Unicode, and/or render in Unicode fonts, as the open-form phi or the closed-vertical-form phi, which are even further from the O with stroke). To compensate, the Danish/ Norwegian and Icelandic code pages ( 865 and 861) replaced cent sign (¢) with ø and the yen sign (¥) with Ø. * Most
Greek alphabet The Greek alphabet has been used to write the Greek language since the late 9th or early 8th century BCE. It is derived from the earlier Phoenician alphabet, and was the earliest known alphabetic script to have distinct letters for vowels as ...
symbols were omitted, beyond the basic math symbols. (They were included in the Greek-language code pages 737 and
869 __NOTOC__ Year 869 ( DCCCLXIX) was a common year starting on Saturday (link will display the full calendar) of the Julian calendar. Events By place Byzantine Empire * Summer – Emperor Basil I allies with the Frankish emperor L ...
. Some of the Greek symbols that were already in code page 437 had their glyphs changed from mathematical or scientific forms to match the actual use in Greek.) Along with the cent (¢), pound sterling (£) and yen/ yuan (¥) currency symbols, it has a couple of former European currency symbols: the florin (ƒ, Netherlands) and the peseta (₧, Spain). The presence of the last is unusual, since the Spanish peseta was never an internationally relevant currency, and also never had a symbol of its own; it was simply abbreviated as "Pt", "Pta", "Pts", or "Ptas". Spanish models of the IBM electric typewriter, however, also had a single position devoted to it. Later DOS character sets, such as code page 850 (DOS Latin-1), code page 852 (DOS Central-European) and code page 737 (DOS Greek), filled the gaps for international use with some compatibility with code page 437 by retaining the single and double box-drawing characters, while discarding the mixed ones (''e.g.'' horizontal double/vertical single). All code page 437 characters have similar glyphs in
Unicode Unicode, formally The Unicode Standard,The formal version reference is is an information technology standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems. The standard, ...
and in Microsoft's WGL4 character set, and therefore are available in most fonts in Microsoft Windows, and also in the default VGA font of the
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
kernel, and the ISO 10646 fonts for X11.


See also

* Alt code * ANSI *
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because ...
* Semigraphical characters * Atari ST character set, derived from code page 437


Notes


References


External links


IBM PC memory-mapped video graphics to Unicode
on official Unicode site {{character encoding 437 Computer-related introductions in 1980