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.
Like codepage 437, it aligns with ASCII codepoints 32–126, and has additional codepoints including letters with 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.
Character set
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[lower-alpha 1] | ⇧ | ⇩ | ⇨ | ⇦ | 🮽 | 🮾 | 🮿 | ✓ | 🕒︎ | 🔔︎ | ♪ | ␌ | ␍ | [lower-alpha 2] | [lower-alpha 2] |
1x | 🯰 | 🯱 | 🯲 | 🯳 | 🯴 | 🯵 | 🯶 | 🯷 | 🯸 | 🯹 | ə | ␛ | [lower-alpha 3] | [lower-alpha 3] | [lower-alpha 3] | [lower-alpha 3] |
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 | É | æ | Æ | ô | ö | ò | û | ù | ÿ | Ö | Ü | ¢ | £ | ¥ | ß[lower-alpha 4] | ƒ |
Ax | á | í | ó | ú | ñ | Ñ | ª | º | ¿ | ⌐ | ¬ | ½ | ¼ | ¡ | « | » |
Bx | ã | õ | Ø | ø | œ | Œ | À | à | Õ | ¨ | ´ | † | ¶ | © | ® | ™ |
Cx | ij | IJ | א | ב | ג | ד | ה | ו | ז | ח | ט | י | כ | ל | מ | נ |
Dx | ס | ע | פ | צ | ק | ר | ש | ת | ן | ך | ם | ף | ץ | § | ∧ | ∞ |
Ex | α | β[lower-alpha 4] | Γ | π[lower-alpha 5] | Σ[lower-alpha 6] | σ | µ[lower-alpha 7] | τ | Φ | Θ | Ω[lower-alpha 8] | δ[lower-alpha 9] | ∮[lower-alpha 10] | ϕ[lower-alpha 11] | ∈[lower-alpha 12] | ∩ |
Fx | ≡ | ± | ≥ | ≤ | ⌠ | ⌡ | ÷ | ≈ | ° | • | · | √ | ⁿ | ² | ³ | ¯[lower-alpha 13] |
- ↑ Actually a blank space but used as C string terminator.
- 1 2 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]
- 1 2 3 4 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]
- 1 2 Codepoint 158 (9Ehex) is the German sharp S (U+00DF, ß) produced by a German Atari ST keyboard's ß key. Codepoint 225 (E1hex) is the Greek lowercase beta (U+03B2, β) homoglyph. Code page 437 uses codepoint 225 to represent both characters; the Unicode Consortium's code page 437 mapping recommends mapping codepoint 225 to sharp S (U+00DF)—presumably based on its more frequent use as the sharp S, despite its surrounding code points being Greek characters.[10]
- ↑ 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, ∏).
- ↑ 228 (E4hex) is both the n-ary summation sign (U+2211, ∑) and the Greek uppercase sigma (U+03A3, Σ).
- ↑ 230 (E6hex) is both the micro sign (U+00B5, µ) and the Greek lowercase mu (U+03BC, μ).
- ↑ 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])
- ↑ 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, ∂).
- ↑ 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.
- ↑ 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, ⌀).
- ↑ 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, €).
- ↑ Used as non-breaking space by much MSDOS software.
Alt codes
Using Alt codes, 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
The Atari ST character set long predates 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) utilizes 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
References
- 1 2 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 from the original (PDF) on 2017-02-19. Retrieved 2017-02-19.
- 1 2 "The Atari character set". Atari Wiki. Archived from the original on 2017-01-16. Retrieved 2017-01-16.
- ↑ Bettencourt, Rebecca G. (2016-08-01). "Character Encodings - Legacy Encodings - Atari ST". Kreative Korporation. Retrieved 2016-08-09.
- ↑ Kostis, Kosta; Lehmann, Alexander. "Atari ST/TT Character Encoding". 1.56. Kostis Netzwerkberatung. Archived from the original on 2017-01-16. Retrieved 2017-01-16.
- ↑ "Codepages / Ascii Table Atari ST/TT Character Encoding". ASCII.ca. 2016 [2006]. Archived from the original on 2017-01-16. Retrieved 2017-01-16.
- ↑ "ATARISTV.TXT" (PDF), L2/19-025: Proposal to add characters from legacy computers and teletext to the UCS, 2019-01-04
- ↑ Verdy, Philippe; Haible, Bruno (2015-10-08) [1998]. "AtariST to Unicode". 1.3. Retrieved 2023-11-29.
- ↑ 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.
- 1 2 "7. Characters not proposed", L2/19-025: Proposal to add characters from legacy computers and teletext to the UCS (PDF), 2019-01-04
- ↑ "cp437_DOSLatinUS to Unicode table" (TXT). The Unicode Consortium. Retrieved 2011-11-14.
- ↑ The Unicode Consortium, The Unicode Standard 4.0, Chapter 7, "European Alphabetic Scripts", p176. PDF version
- ↑ Dunkel, Ulf (July 1999). "Calamus (2)". ST Computer (in German). Retrieved 2017-01-16.
- ↑ 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.
- ↑ 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.