Atari ST character set

From Wikipedia, the free encyclopedia
The Atari ST character set as rendered in the 8×16 high-resolution system font.
The 8×8 low- and medium resolution system font.

The Atari ST character set[1] 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 32–126, extended codes for accented letters (diacritics), and other symbols. It differs from code page 437 in using other dingbats at code points 0–31, in exchanging the box-drawing characters 176–223 for the Hebrew alphabet and other symbols, and exchanging code points 158, 236 and 254–255 with the symbols for sharp S, line integral, cubed and macron.

The Atari ST family of computers contained this font stored in ROM in three sizes; as an 8×16 pixels-per-character font used in the high-resolution graphics modes, as an 8×8 pixels-per-character font used in the low- and medium-resolution graphics modes, and as a 6×6 pixels-per-character font used for icon labels in any graphics mode.[1]

All 256 codes were assigned a graphical character in ROM, including the codes from 0 to 31 that in ASCII were reserved for non-graphical control characters.

Digital Research's Intel-based original GEM for IBM compatible PCs utilized the similar GEM character set. It has swapped ¢ and ø and has also swapped ¥ and Ø (meaning GEM is more similar to code page 865 by placement of Ø and ø). It also has the currency sign (¤) at codepoint 158, “ at codepoint 169, ” at codepoint 170, ‹ at codepoint 171, › at codepoint 172, section sign (§) at codepoint 184, double dagger (‡) at codepoint 185, „ at codepoint 192, horizontal ellipsis (…) codepoint 193, per mille sign (‰) at codepoint 194, bullet (•) at codepoint 195, en dash (–) at codepoint 196, em dash (—) at codepoint 197, degree sign (°) at code point 198, the S with caron (uppercase and lowercase) and various uppercase Latin accented letters (in codepoint order, they are Á, Â, È, Ê, Ë, Ì, Í, Î, Ï, Ò, Ó, Ô, Š, š, Ù, Ú, Û, and Ÿ) at codepoints 199-216, sharp s (ß) at codepoint 217, various spaces at codepoints 218-223, bullet operator (∙) at codepoint 249, black square (■) at codepoint 254 (as in code page 437), empty set (∅) at code point 255, GEM-specific characters at codepoints 5, 6, and 7, various black triangles (in codepoint order, they are ▴, ▾, ▸, ◂, ►, ◄) at codepoints 12-17 (codepoints 16 and 17 match code page 437), ⧓ at codepoint 18, ▂ at codepoint 19, ¶ (which is not filled in the system font) at codepoint 20, § (duplicate) at codepoint 21, ↕ at codepoint 22, ↨ at code point 23, and codepoints 24-31 match code page 437.

Character set[edit]

The following table shows the Atari ST character set. Each character is shown with a potential Unicode equivalent if available. Differences from code page 437 are shown boxed.

Although the ROM provides a graphic for all 256 different possible 8-bit codes, some APIs will not print some of these code points, in particular the range 0–31 and the code at 127. Instead they will interpret them as control characters.

Atari ST character set[2][3][4][5][6][7][8]
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x NUL[a] ❎︎ Atari ST character 0x06.png Atari ST character 0x07.png 🕒︎ 🔔︎ Atari ST character 0x0E.png[b] Atari ST character 0x0F.png[b]
1x 🯰 🯱 🯲 🯳 🯴 🯵 🯶 🯷 🯸 🯹 ə Atari ST character 0x1C.png[c] Atari ST character 0x1D.png[c] Atari ST character 0x1E.png[c] Atari ST character 0x1F.png[c]
2x  SP  ! " # $ % & ' ( ) * + , - . /
3x 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4x @ A B C D E F G H I J K L M N O
5x P Q R S T U V W X Y Z [ \ ] ^ _
6x ` a b c d e f g h i j k l m n o
7x p q r s t u v w x y z { | } ~
8x Ç ü é â ä à å ç ê ë è ï î ì Ä Å
9x É æ Æ ô ö ò û ù ÿ Ö Ü ¢ £ ¥ ß[d] ƒ
Ax á í ó ú ñ Ñ ª º ¿ ¬ ½ ¼ ¡ « »
Bx ã õ Ø ø œ Œ À Ã Õ ¨ ´ © ®
Cx ij IJ א ב ג ד ה ו ז ח ט י כ ל מ נ
Dx ס ע פ צ ק ר ש ת ן ך ם ף ץ §
Ex α β[d] Γ π[e] Σ[f] σ µ[g] τ Φ Θ Ω[h] δ[i] [j] ϕ[k] [l]
Fx ± ÷ ° · ² ³ ¯[m]
  Differences from code page 437
  1. ^ Actually a blank space but used as C string terminator.
  2. ^ a b 14–15 (0Ehex–0Fhex) are 2 pieces that form an Atari "Fuji" logo, sometimes used together as an alternative to the title "Desk" for the leftmost menu in Atari ST software. They are not proposed for Unicode.[9]
  3. ^ a b c d 28–31 (1Chex–1Fhex) are 4 pieces that form the image of J. R. "Bob" Dobbs from the satirical Church of the SubGenius, a rarely used Easter egg. They are not proposed for Unicode.[9]
  4. ^ a b 158 (9Ehex) is the German sharp S (U+00DF, ß) produced by a German Atari ST keyboard's ß key. 225 (E1hex) is the Greek lowercase beta (U+03B2, β) homoglyph. Note that code page 437 uses 158 for the symbol so 225 serves both functions there, and the Unicode Consortium's suggestion is to map code page 437's code point 225 to sharp S (U+00DF) presumably based on its more frequent use as the sharp S, despite that its surrounding code points are Greek characters.[10]
  5. ^ 227 (E3hex) is the Greek lowercase pi (U+03C0, π), but early code page 437 fonts such as Terminal use a variant of pi that is ambiguous in case, and therefore can be used for the Greek capital pi (U+03A0, Π) or the n-ary product sign (U+220F, ∏).
  6. ^ 228 (E4hex) is both the n-ary summation sign (U+2211, ∑) and the Greek uppercase sigma (U+03A3, Σ).
  7. ^ 230 (E6hex) is both the micro sign (U+00B5, µ) and the Greek lowercase mu (U+03BC, μ).
  8. ^ 234 (EAhex) is both the ohm sign (U+2126, Ω) and the Greek uppercase omega (U+03A9, Ω). (Unicode considers the ohm sign to be equivalent to uppercase omega, and suggests that the latter be used in both contexts.[11])
  9. ^ 235 (EBhex) is the Greek lowercase delta (U+03B4, δ), but it has also been used as a surrogate for the Icelandic lowercase eth (U+00F0, ð) and the partial derivative sign (U+2202, ∂).
  10. ^ 236 (EChex) is used for the symbol on the Atari ST while code page 437 uses it for the symbol, which in turn the Atari ST places at 223.
  11. ^ 237 (EDhex) is both used as the empty set sign (U+2205, ∅), the Greek lowercase phi, the Greek phi symbol in italics (U+03D5, Φ) to name angles, and the diameter sign (U+2300, ⌀).
  12. ^ 238 (EEhex) is both used as the Greek lowercase epsilon (U+03B5, ε) and the element-of sign (U+2208, ∈). Later it was often used for the euro sign (U+20AC, €).
  13. ^ Used as non-breaking space by much MSDOS software.

Alt codes[edit]

Using the Alt Numpad input method, users can enter a character by holding down the Alt key and entering the three-digit decimal code point on the Numpad. This provides a way to enter special characters not provided directly on the keyboard.[2]

Euro variants[edit]

The Atari ST character set long pre-dates the introduction of the euro currency and thus does not provide a code point for the euro sign (U+20AC, €). However, some software (such as Calamus) utilized code point 238 (0xEE) for this purpose.[12][13] This code point is normally assigned to the mathematical element-of sign (U+2208, ∈), and to the Greek lowercase epsilon (U+03B5, ε) in code page 437. Alternatively, the rarely used logical conjunction sign (U+2227, ∧) at code point 222 (0xDE) could be replaced by the euro sign.[14]

See also[edit]


  1. ^ a b Feagans, John (May 1986). "How do Europeans access special characters in the Atari ST character set? What is the 6x6 font used for?" (PDF). Atari ST Developers Question and Answer Bulletin. Sunnyvale, CA, USA: Atari Corp. Archived (PDF) from the original on 2017-02-19. Retrieved 2017-02-19.
  2. ^ a b "Atari Wiki - The Atari character set". Archived from the original on 2017-01-16. Retrieved 2017-01-16.
  3. ^ Bettencourt, Rebecca G. (2016-08-01) [1999]. "Character Encodings - Legacy Encodings - Atari ST". Kreative Korporation. Retrieved 2016-08-09.
  4. ^ Kostis, Kosta; Lehmann, Alexander. "Atari ST/TT Character Encoding". 1.56. Archived from the original on 2017-01-16. Retrieved 2017-01-16.
  5. ^ "Codepages / Ascii Table Atari ST/TT Character Encoding". 2016 [2006]. Archived from the original on 2017-01-16. Retrieved 2017-01-16.
  6. ^ "ATARISTV.TXT" (PDF), L2/19-025: Proposal to add characters from legacy computers and teletext to the UCS, 2019-01-04
  7. ^ Verdy, Philippe; Haible, Bruno; Zibis, Ulf; Rinquin, Yves-Marie K. (2015-10-08) [1998]. "AtariST to Unicode". 1.3. Retrieved 2016-12-09.
  8. ^ Flohr, Guido (2016) [2006]. "Locale::RecodeData::ATARI_ST - Conversion routines for ATARI-ST". CPAN libintl-perl. 1.1. Archived from the original on 2017-01-14. Retrieved 2017-01-14.
  9. ^ a b "7. Characters not proposed", L2/19-025: Proposal to add characters from legacy computers and teletext to the UCS (PDF), 2019-01-04
  10. ^ "cp437_DOSLatinUS to Unicode table" (TXT). The Unicode Consortium. Retrieved 2011-11-14.
  11. ^ The Unicode Consortium, The Unicode Standard 4.0, Chapter 7, "European Alphabetic Scripts", p176. PDF version
  12. ^ Dunkel, Ulf (July 1999). "Calamus (2)". ST Computer (in German). Retrieved 2017-01-16.
  13. ^ Hädrich, Johannes (2002-12-14). "Calamus: RTF 3.0 mit grossem Qualitaetssprung" (in German). Archived from the original on 2017-01-16. Retrieved 2017-01-16.
  14. ^ Flohr, Guido (2016) [2006]. "Locale::RecodeData::ATARI_ST_EURO - Conversion routines for ATARI-ST-EURO". CPAN libintl-perl. 1.1. Archived from the original on 2017-01-14. Retrieved 2017-01-14.