The RPL character set is an 8-bit character set and encoding used by most RPL calculators manufactured by Hewlett-Packard as well as by the HP82240B thermal printer. It is sometimes referred to simply as "ECMA-94" in documentation, although it is for the most part a superset of ISO/IEC 8859-1 / ECMA-94 in terms of printable characters, and it differs from ISO/IEC 8859-1 by using displayable characters rather than control characters in the 0x80 to 0x9F range of code points.

Overview

In 1986, the original series of RPL calculators (HP-28 series) as well as the HP82240A thermal printer used a modified variant of the HP Roman-8 character set, of which characters above 147 could not be displayed on the calculator, only be printed.

This changed with the introduction of the HP82240B printer in 1989 and the HP 48 series in 1990, which came with a new character set now based on ECMA94/ ISO8859-1 instead of HPRoman-8, but with the control codes in the range 128 to 159 (0x80 to 0x9F) being replaced by additional displayable characters. Compared to ISO8859-1, code point 127 (0x7F) showed a medium shaded gray box like in the former HPRoman-8 based character set. Code points 131 (0x83) to 142 (0x8E) were also taken over from the former HPRoman-8 based character set. In addition to this, code point 31 (0x1F) was used for ellipsis () and code points 169 (0xA9) and 174 (0xAE) showed ambiguous glyphs which could be viewed as inverse circled number or copyright symbol (©) and as or registered trademark symbol (®), respectively. This first version of the character set also had a non-breaking space at position 160 (0xA0).

Translation from HP-48 to HP-28 character set:

HP translation vector
0123456789ABCDEF
8x0xA00x7F0x7F0x830x840x850x860x870x880x890x8A0x8B0x8C0x8D0x8E0x76
9x0x5E0x7F0x7F0x7F0x7F0x7F0x7F0x7F0x7F0x7F0x7F0x7F0x7F0x7F0xFC0x7F
Ax0x200xB80xBF0xAF0xBA0xBC0x7C0xBD0xAB0x630xF90x920x7E0x2D0x520xB0
Bx0xB30xFE0x970x980xA80x8F0xF40xF20x2C0x310xFA0x930xF70xF80xF50xB9
Cx0xA10xE00xA20xE10xD80xD00xD30xB40xA30xDC0xA40xA50xE60xE50xA60xA7
Dx0xE30xB60xE80xE70xDF0xE90xDA0x820xD20xAD0xED0xAE0xDB0xB10xF00xDE
Ex0xC80xC40xC00xE20xCC0xD40xD70xB50xC90xC50xC10xCD0xD90xD50xD10xDD
Fx0xE40xB70xCA0xC60xC20xEA0xCE0x810xD60xCB0xC70xC30xCF0xB20xF10xEF

In a revision of this character set in 1999, code point 160 (0xA0) was redefined to hold the euro sign (€) in the HP 49/50 series (including the HP 48gII), now deviating from ISO8859-1. Code points 169 (0xA9) and 174 (0xAE) were now clearly defined as holding the copyright (©) and registered trademark (®) symbols in compliance with ISO8859-1, whereas the corresponding glyphs still resembled the inverse circled numbers more. The last calculator supporting this variant of the character set was the HP 50g introduced in 2006 and discontinued in 2015.

In a parallel development, the HP 38G also used the HP48 series' character set internally. Starting with the HP 39G in 2000, the superscript 3 (³) at code point 179 (0xB3) was replaced by a superscript -1 (−1) in the HP 39/40 series (except for the HP 39gII, which started to use Unicode). Code point 160 (0xA0) was also changed to the euro sign (€) in this third variant of the character set. The last calculator supporting this variant of the character set was the HP 40gs introduced in 2006 and discontinued around 2011.

Hewlett-Packard never defined an official Unicode translation, hence several variants evolved in the community, differing in code points 31 (0x1F), 127 (0x7F), 128 (0x80), 129 (0x81), 133 (0x85), 134 (0x86), 158 (0x9E), 160 (0xA0), 169 (0xA9), 174 (0xAE), 178 (0xB3), 181 (0xB5) and 223 (0xDF).

The fact that the Unicode equivalent for x-bar at code point 129 (0x81) is a combination of two characters (x̅) could cause problems in translations, therefore it was suggested to use U+0101 (ā) instead.

Characters which cannot be reasonably transcoded should be mapped to code point 127 (0x7F), similar to what the calculators do when communicating with older printers like the HP82240A.

Since the calculators allow fonts to be redefined (using FONT→, →FONT, MINIFONT→, →MINIFONT) other codepages can be emulated for as long as symbols which are available on the keyboard or are otherwise associated with specific functionality by the calculator aren't replaced by unrelated symbols.

Code page layout

The following table shows the HP RPL character set. Each character is shown with a potential Unicode equivalent in the tooltip. Where special HP TIO codes are defined to enter the character, they are given as well. The other characters can be entered using the \nnn TIO code syntax with nnn being a three-digit decimal number.

HP RPL character set
0123456789ABCDEF
0xNULSOHSTXETXEOTENQACKBELBSHT↵/LFVTFFCRSOSI
1xDLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESC
2xSP!"#$%&'()*+,-./
3x0123456789:;<=>?
4x@ABCDEFGHIJKLMNO
5xPQRSTUVWXYZ[\]^_
6x`abcdefghijklmno
7xpqrstuvwxyz{|}~
8x//∟/āΣ/∑/►πα
9xγδεηθλρστωΔΠΩ
Ax/NBSP¡¢£¤¥¦§¨©/ª«¬SHY®/¯
Bx°±²³/⁻¹´µ/μ·¸¹º»¼½¾¿
CxÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ
DxÐÑÒÓÔÕÖרÙÚÛÜÝÞß/β
Exàáâãäåæçèéêëìíîï
Fxðñòóôõö÷øùúûüýþÿ

See also

Notes

Further reading

  • . The Kermit Project, Columbia University. 2011-07-22 [1999-05-04]. from the original on 2016-08-01.