Code page 437 (
CCSID
A CCSID (coded character set identifier) is a 16-bit number that represents a particular encoding of a specific code page. For example, Unicode is a code page that has several encoding (so called "transformation") forms, like UTF-8, UTF-16 and UTF ...
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 digital computers. The numerical values that ...
of the original
IBM PC
The IBM Personal Computer (model 5150, commonly known as the IBM PC) is the first microcomputer released in the IBM PC model line and the basis for the IBM PC compatible de facto standard. Released on August 12, 1981, it was created by a team ...
(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 of ...
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 and
VGA
Video Graphics Array (VGA) is a video display controller and accompanying de facto graphics standard, first introduced with the IBM PS/2 line of computers in 1987, which became ubiquitous in the PC industry within three years. The term can no ...
-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
Rom, or ROM may refer to:
Biomechanics and medicine
* Risk of mortality, a medical classification to estimate the likelihood of death for a patient
* Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac
* ...
of the
IBM Monochrome Display Adapter (MDA) and an 8×8 pixels-per-character font of the
Color Graphics Adapter
The Color Graphics Adapter (CGA), originally also called the ''Color/Graphics Adapter'' or ''IBM Color/Graphics Monitor Adapter'', introduced in 1981, was IBM's first color graphics card for the IBM PC and established a de facto computer display ...
(
CGA) cards. The
IBM Enhanced Graphics Adapter (EGA) contained an 8×14 pixels-per-character version, and the
VGA
Video Graphics Array (VGA) is a video display controller and accompanying de facto graphics standard, first introduced with the IBM PS/2 line of computers in 1987, which became ubiquitous in the PC industry within three years. The term can no ...
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 Integer (computer science), integers or other Data (computing), data units are those that are 8 bits wide (1 octet (computing), octet). Also, 8-bit central processing unit (CPU) and arithmetic logic unit (ALU) arc ...
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—but ...
(see
details Detail(s) or The Detail(s) may refer to:
Film and television
* ''Details'' (film), a 2003 Swedish film
* ''The Details'' (film), a 2011 American film
* ''The Detail'', a Canadian television series
* "The Detail" (''The Wire''), a television epis ...
), 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
On personal computers with numeric keypads that use Microsoft operating systems, such as Windows, many characters that do not have a dedicated key combination on the keyboard may nevertheless be entered using the Alt code (the Alt numpad input me ...
.
The user could enter a character by holding down the
Alt key
The Alt key (pronounced or ) on a computer keyboard is used to change (alternate) the function of other pressed keys. Thus, the Alt key is a modifier key, used in a similar fashion to the Shift key. For example, simply pressing ''A'' will ty ...
and entering the three-digit decimal Alt keycode on the
numpad
A numeric keypad, number pad, numpad, or ten key,
is the palm-sized, usually-17-key section of a standard computer keyboard, usually on the far right. It provides calculator-style efficiency for entering numbers. The idea of a 10-key n ...
and many users memorized the numbers needed for CP437 (or for the similar
code page 850
Code page 850 ( CCSID 850) (also known as CP 850, IBM 00850, OEM 850, DOS Latin 1) is a code page used under DOS and Psion's EPOC16 operating systems in Western Europe. Depending on the country setting and system configuration, code page 850 i ...
). When Microsoft switched to their proprietary character sets (such as
CP1252
Windows-1252 or CP-1252 (code page 1252) is a single-byte character encoding of the Latin alphabet, used by default in the legacy components of Microsoft Windows for English and many European languages including Spanish, French, and German.
It i ...
) and later
Unicode
Unicode, formally The Unicode Standard,The formal version reference is is an information technology Technical standard, standard for the consistent character encoding, encoding, representation, and handling of Character (computing), text expre ...
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 Technical standard, standard for the consistent character encoding, encoding, representation, and handling of Character (computing), text expre ...
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 hovering over a screen element or component, a text box displays information about that element, such as a description of a button's f ...
, generally available only when one points to the immediate left of the character, shows the Unicode code point name and the decimal
Alt code
On personal computers with numeric keypads that use Microsoft operating systems, such as Windows, many characters that do not have a dedicated key combination on the keyboard may nevertheless be entered using the Alt code (the Alt numpad input me ...
. 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 way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
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 the codes for
BEL,
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 Thailand ...
word-processing machines, according to
Bill Gates
William Henry Gates III (born October 28, 1955) is an American business magnate and philanthropist. He is a co-founder of Microsoft, along with his late childhood friend Paul Allen. During his career at Microsoft, Gates held the positions ...
in an interview with Gates and
Paul Allen
Paul Gardner Allen (January 21, 1953 – October 15, 2018) was an American business magnate, computer programmer, researcher, investor, and philanthropist. He co-founded Microsoft Corporation with childhood friend Bill Gates in 1975, which h ...
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 ( ), 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 of ...
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
Block or blocked may refer to:
Arts, entertainment and media Broadcasting
* Block programming, the result of a programming strategy in broadcasting
* W242BX, a radio station licensed to Greenville, South Carolina, United States known as ''96.3 ...
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 IBM PC model line and the basis for the IBM PC compatible de facto standard. Released on August 12, 1981, it was created by a team ...
MDA
MDA, mda, or ''variation'', may refer to:
Places
* Moldova, a country in Europe with the ISO 3166-1 country code MDA Politics
* Meghalaya Democratic Alliance (2018), ruling coalition government in the Indian State of Meghalaya led by National Pe ...
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
bitmap
In computing, a bitmap is a mapping from some domain (for example, a range of integers) to bits. It is also called a bit array
A bit array (also known as bitmask, bit map, bit set, bit string, or bit vector) is an array data structure that c ...
s 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 smal ...
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 (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 group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
include the special graphic characters at the Unicode indexes shown, as they are part of the
WGL4
Windows Glyph List 4, or more commonly WGL4 for short, also known as the ''Pan-European character set'', is a character repertoire on Microsoft operating systems comprising 657 Unicode characters, two of them private use. Its purpose is to provide ...
set that Microsoft encourages font designers to support. (The monospaced raster font family
Terminal
Terminal may refer to:
Computing Hardware
* Terminal (electronics), a device for joining electrical circuits together
* Terminal (telecommunication), a device communicating over a line
* Computer terminal, a set of primary input and output dev ...
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 group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
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 (80
hex to AF
hex). However, it only covers a few major Western European languages in full, including
English
English usually refers to:
* English language
* English people
English may also refer to:
Peoples, culture, and language
* ''English'', an adjective for something of, from, or related to England
** English national ide ...
,
German
German(s) may refer to:
* Germany (of or related to)
** Germania (historical use)
* Germans, citizens of Germany, people of German ancestry, or native speakers of the German language
** For citizens of Germany, see also German nationality law
**Ge ...
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
Spanish might refer to:
* Items from or related to Spain:
**Spaniards are a nation and ethnic group indigenous to Spain
**Spanish language, spoken in Spain and many Latin American countries
**Spanish cuisine
Other places
* Spanish, Ontario, Can ...
: Á, Í, Ó, and Ú
*
French: À, Â, È, Ê, Ë, Î, Ï, Ô, Œ, œ, Ù, Û, and Ÿ
*
Portuguese
Portuguese may refer to:
* anything of, from, or related to the country and nation of Portugal
** Portuguese cuisine, traditional foods
** Portuguese language, a Romance language
*** Portuguese dialects, variants of the Portuguese language
** Portu ...
: Á, À, Â, Ã, ã, Ê, Í, Ó, Ô, Õ, õ, 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 #1 ...
: À, È, Í, Ï, Ò, Ó, and Ú
*
Italian
Italian(s) may refer to:
* Anything of, from, or related to the people of Italy over the centuries
** Italians, an ethnic group or simply a citizen of the Italian Republic or Italian Kingdom
** Italian language, a Romance language
*** Regional Ita ...
: À, È, Ì, Ò, and Ù
*
Icelandic: Á, Ð, ð, Í, Ó, Ú, Ý, ý, Þ, and þ
*
Danish
Danish may refer to:
* Something of, from, or related to the country of Denmark
People
* A national or citizen of Denmark, also called a "Dane," see Demographics of Denmark
* Culture of Denmark
* Danish people or Danes, people with a Danish a ...
/
Norwegian
Norwegian, Norwayan, or Norsk may refer to:
*Something of, from, or related to Norway, a country in northwestern Europe
* Norwegians, both a nation and an ethnic group native to Norway
* Demographics of Norway
*The Norwegian language, including ...
: Ø 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
Danish may refer to:
* Something of, from, or related to the country of Denmark
People
* A national or citizen of Denmark, also called a "Dane," see Demographics of Denmark
* Culture of Denmark
* Danish people or Danes, people with a Danish a ...
/
Norwegian
Norwegian, Norwayan, or Norsk may refer to:
*Something of, from, or related to Norway, a country in northwestern Europe
* Norwegians, both a nation and an ethnic group native to Norway
* Demographics of Norway
*The Norwegian language, including ...
and
Icelandic code pages (
865
__NOTOC__
Year 865 ( DCCCLXV) was a common year starting on Monday (link will display the full calendar) of the Julian calendar.
Events
By place Europe
* King Louis the German divides the East Frankish Kingdom among his three sons. C ...
and
861
__NOTOC__
Year 861 ( DCCCLXI) was a common year starting on Wednesday (link will display the full calendar) of the Julian calendar.
Events
By place
Europe
* March – Robert the Strong is appointed margrave of Neustria by King Ch ...
) 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 we ...
symbols were omitted, beyond the basic math symbols. (They were included in the Greek-language code pages
737 737 most commonly refers to:
* Boeing 737, an American narrow-body passenger airplane
** Boeing 737 Classic
** Boeing 737 MAX
** Boeing 737 Next Generation
* AD 737, a year in the common era
* 737 BC, a year
* 737 (number), a number
737 may als ...
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 (abbreviation: stg; Other spelling styles, such as STG and Stg, are also seen. ISO code: GBP) is the currency of the United Kingdom and nine of its associated territories. The pound ( sign: £) is the main unit of sterling, and t ...
(£) and
yen
The is the official currency of Japan. It is the third-most traded currency in the foreign exchange market, after the United States dollar (US$) and the euro. It is also widely used as a third reserve currency after the US dollar and the e ...
/
yuan (¥) currency symbols, it has a couple of former European currency symbols: the
florin
The Florentine florin was a gold coin struck from 1252 to 1533 with no significant change in its design or metal content standard during that time. It had 54 grains (3.499 grams, 0.113 troy ounce) of nominally pure or 'fine' gold with a purcha ...
(ƒ, 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
The IBM Electric typewriters were a series of electric typewriters that IBM manufactured, starting in the mid-1930s. They used the conventional moving carriage and typebar mechanism, as opposed to the fixed carriage and type ball used in the IBM ...
, however, also had a single position devoted to it.
Later DOS character sets, such as
code page 850
Code page 850 ( CCSID 850) (also known as CP 850, IBM 00850, OEM 850, DOS Latin 1) is a code page used under DOS and Psion's EPOC16 operating systems in Western Europe. Depending on the country setting and system configuration, code page 850 i ...
(DOS Latin-1),
code page 852
Code page 852 (CCSID 852) (also known as CP 852, IBM 00852, OEM 852 (Latin II), MS-DOS Latin 2) is a code page used under DOS to write Central European languages that use Latin script (such as Bosnian, Croatian, Czech, Hungarian, Polish, Rom ...
(DOS Central-European) and
code page 737
Code page 737 (CCSID 737) (also known as CP 737, IBM 00737, and OEM 737, MS-DOS Greek) is a code page used under DOS to write the Greek language. It was much more popular than code page 869 although it lacks the letters ΐ and ΰ.
Character set
Th ...
(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 Technical standard, standard for the consistent character encoding, encoding, representation, and handling of Character (computing), text expre ...
and in Microsoft's
WGL4
Windows Glyph List 4, or more commonly WGL4 for short, also known as the ''Pan-European character set'', is a character repertoire on Microsoft operating systems comprising 657 Unicode characters, two of them private use. Its purpose is to provide ...
character set, and therefore are available in most fonts in
Microsoft Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
, 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 ...
kernel, and the
ISO 10646
ISO is the most common abbreviation for the International Organization for Standardization.
ISO or Iso may also refer to: Business and finance
* Iso (supermarket), a chain of Danish supermarkets incorporated into the SuperBest chain in 2007
* Iso ...
fonts for
X11
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wi ...
.
See also
*
Alt code
On personal computers with numeric keypads that use Microsoft operating systems, such as Windows, many characters that do not have a dedicated key combination on the keyboard may nevertheless be entered using the Alt code (the Alt numpad input me ...
*
ANSI
The American National Standards Institute (ANSI ) is a private non-profit organization that oversees the development of voluntary consensus standards for products, services, processes, systems, and personnel in the United States. The organi ...
*
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 of ...
*
Semigraphical character
Text-based semigraphics or pseudographics is a primitive method used in early text mode video hardware to emulate raster graphics without having to implement the logic for such a display mode.
There are two different ways to accomplish the em ...
s
*
Atari ST character set
The Atari ST character set is the character set of the Atari ST personal computer family including the Atari STE, TT and Falcon. It is based on code page 437, the original character set of the IBM PC, and like that set includes ASCII codes 3 ...
, derived from code page 437
Notes
References
External links
IBM PC memory-mapped video graphics to Unicodeon official Unicode site
{{character encoding
437
__NOTOC__
Year 437 ( CDXXXVII) was a common year starting on Friday (link will display the full calendar) of the Julian calendar. At the time, it was known as the Year of the Consulship of Aetius and Sigisvultus (or, less frequently, year 119 ...
Computer-related introductions in 1980