Code page 437 (
CCSID 437) is the
character set
Character encoding is the process of assigning numbers to graphical characters, especially the written characters of human language, allowing them to be stored, transmitted, and transformed using computers. The numerical values that make up a c ...
of the original
IBM PC
The IBM Personal Computer (model 5150, commonly known as the IBM PC) is the first microcomputer released in the List of IBM Personal Computer models, IBM PC model line and the basis for the IBM PC compatible ''de facto'' standard. Released on ...
(personal computer). It is also known as CP437, OEM-US, OEM 437,
PC-8,
or MS-DOS Latin US.
The set includes all printable
ASCII
ASCII ( ), an acronym for American Standard Code for Information Interchange, is a character encoding standard for representing a particular set of 95 (English language focused) printable character, printable and 33 control character, control c ...
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 ''diacrit ...
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 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 character
code point
A code point, codepoint or code position is a particular position in a Table (database), table, where the position has been assigned a meaning. The table may be one dimensional (a column), two dimensional (like cells in a spreadsheet), three dime ...
(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 codes.
A DOS user could enter a character by holding down the
Alt key and entering the character code on the
numpad
A numeric keypad, number pad, numpad, or ten key,
is the calculator-style group of ten numeric keys accompanied by other keys, usually on the far right side of computer keyboard. This grouping allows quick number entry with right hand, ...
and many users memorized the numbers needed for CP437 (or for the similar
CP850). Although Microsoft Windows used different character sets such as
CP1252, the original numbers were emulated so users could continue to use them; Microsoft added the ability to type a code from the Windows character set by typing 0 before the digits.
Character set
The following tables show code page 437. Each character is shown with its equivalent
Unicode
Unicode or ''The Unicode Standard'' or TUS is a character encoding standard maintained by the Unicode Consortium designed to support the use of text in all of the world's writing systems that can be digitized. Version 16.0 defines 154,998 Char ...
code point (when it is not equal to the character's code). A
tooltip
The tooltip, also known as infotip or hint, is a common graphical user interface (GUI) element in which, when hoverbox, hovering over a screen element or component, a text box displays information about that element, such as a description of a ...
, 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
API
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
s 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
hex codes 07, 08, 0A, and 0D as
BEL,
BS,
LF, and
CR, respectively. Many printers were also unable to print these characters.
}
,
,
,
,
,
,
,
,
,
,
,
,
,
, , style=background:#EFF
,
, -
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, -
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, -
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, -
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, -
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, -
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, -
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, -
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, -
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, -
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, -
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, -
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, -
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, -
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, -
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
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)
Wang () is the pinyin romanization of Chinese, romanization of the common Chinese surname (''Wáng''). It has a mixture of various origin with uncertain lineage of family history, however it is c ...
word-processing machines, according to
Bill Gates
William Henry Gates III (born October 28, 1955) is an American businessman and philanthropist. A pioneer of the microcomputer revolution of the 1970s and 1980s, he co-founded the software company Microsoft in 1975 with his childhood friend ...
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 (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 (00
hex to 1F
hex), are assorted
dingbat
In typography, a dingbat (sometimes more formally known as a printer's ornament or printer's character) is an ornament, specifically, a glyph used in typesetting, often employed to create box frames (similar to box-drawing characters), or a ...
s (complementary and decorative characters). The isolated character 127 (7F
hex) also belongs to this group.
* Table rows 2 to 7, codes 32 to 126 (20
hex to 7E
hex), are the standard
ASCII
ASCII ( ), an acronym for American Standard Code for Information Interchange, is a character encoding standard for representing a particular set of 95 (English language focused) printable character, printable and 33 control character, control c ...
printable characters.
* Table rows 8 to 10, codes 128 to 175 (80
hex to AF
hex), are a selection of international text characters.
* Table rows 11 to 13, codes 176 to 223 (B0
hex to DF
hex), are
box drawing and
block characters. This block is arranged so that characters 192 to 223 (C0
hex to DF
hex) contain all the right arms and right-filled areas. The original
IBM PC
The IBM Personal Computer (model 5150, commonly known as the IBM PC) is the first microcomputer released in the List of IBM Personal Computer models, IBM PC model line and the basis for the IBM PC compatible ''de facto'' standard. Released on ...
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 ...
s as
bitmaps eight
pixel
In digital imaging, a pixel (abbreviated px), pel, or picture element is the smallest addressable element in a Raster graphics, raster image, or the smallest addressable element in a dot matrix display device. In most digital display devices, p ...
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.
* Table rows 14 and 15, codes 224 to 254 (E0
hex to FE
hex) are devoted to mathematical symbols, where the first twelve are a selection of Greek letters commonly used in physics.
Most fonts for
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
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
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
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.
Code page 1055, also known as HP symbol set 0L, is a subset which includes the box-drawing, half-blocks, black circles (the black circle replaces the bullet, which replaces the middle dot in this code page), and black square, and moves them to the upper half; the space is also included.
Internationalization
Code page 437 has a series of international characters, mainly values 128 to 175 (80
hex to AF
hex). However, it only covers a few major Western European languages in full, including
English,
German and
Swedish, and so lacks several characters (mostly capital letters) important to many major Western European languages:
*
Spanish: Á, Í, Ó, and Ú
*
French: À, Â, È, Ê, Ë, Î, Ï, Ô, Œ, œ, Ù, Û, and Ÿ
*
Portuguese: Á, À, Â, Ã, ã, Ê, Í, Ó, Ô, Õ, õ, and Ú
*
Catalan: À, È, Í, Ï, Ò, Ó, and Ú
*
Italian: À, È, Ì, Ò, and Ù
*
Icelandic: Á, Ð, ð, Í, Ó, Ú, Ý, ý, Þ, and þ
*
Danish/
Norwegian: Ø and ø. Character number 237 (ED
hex), 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 BC. It was derived from the earlier Phoenician alphabet, and is the earliest known alphabetic script to systematically write vowels as wel ...
symbols were omitted, beyond the basic math symbols. (They were included in the Greek-language code pages
737 and
869. 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
Sterling (symbol: £; currency code: GBP) is the currency of the United Kingdom and nine of its associated territories. The pound is the main unit of sterling, and the word '' pound'' is also used to refer to the British currency general ...
(£) 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 or ''The Unicode Standard'' or TUS is a character encoding standard maintained by the Unicode Consortium designed to support the use of text in all of the world's writing systems that can be digitized. Version 16.0 defines 154,998 Char ...
and in Microsoft's
WGL4 character set, and therefore are available in most fonts in
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
, and also in the default VGA font of the
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
kernel, and the
ISO 10646 fonts for
X11.
See also
*
Alt code
*
ANSI
The American National Standards Institute (ANSI ) is a private nonprofit organization that oversees the development of voluntary consensus standards for products, services, processes, systems, and personnel in the United States. The organiz ...
*
ASCII
ASCII ( ), an acronym for American Standard Code for Information Interchange, is a character encoding standard for representing a particular set of 95 (English language focused) printable character, printable and 33 control character, control c ...
*
Semigraphical characters
*
Atari ST character set, derived from code page 437
Notes
References
External links
IBM PC memory-mapped video graphics to Unicodeon official Unicode site
{{character encoding
ASCII
437
Computer-related introductions in 1980