RPL character set
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 HP 82240B thermo printer.[1][2] It is sometimes referred to simply as "ECMA-94" in documentation,[1][3] although it is for the most part a superset of ISO 8859-1 / ECMA-94 in terms of printable characters, and it differs from ISO-8859-1 by using displayable characters rather than control characters in the 0x80 to 0x9F range of code points.
Overview
In 1986,[3] the original series of RPL calculators (HP-28 series) as well as the HP 82240A 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.[4][5][6]
This changed with the introduction of the HP 82240B printer in 1989[3] and the HP 48 series in 1990, which came with a new character set now based on ECMA 94 / ISO 8859-1 instead of HP Roman-8, but with the control codes in the range 128 to 159 (0x80 to 0x9F) being replaced by additional displayable characters. Compared to ISO 8859-1, codepoint 127 (0x7F) showed a medium shaded gray box like in the former HP Roman-8 based character set. Code points 131 (0x83) to 142 (0x8E) were also taken over from the former HP Roman-8 based character set. In addition to this, codepoint 31 (0x1F) was used for ellipsis (…)[7][8] and codepoints 169 (0xA9) and 174 (0xAE) showed ambiguous glyphs which could be viewed as inverse circled numbers ❸ or copyright (©) and as ❷ or registered trademark (®), respectively.[1][7] This first version of the character set also had a non-breaking space at position 160 (0xA0).[1][7]
Translation from HP-48 to HP-28 character set:[9]
In a revision of this character set in 1999, codepoint 160 (0xA0) was redefined to hold the euro sign (€) in the HP 49/50 series (including the HP 48gII),[8][10][11] now deviating from ISO 8859-1. Codepoints 169 (0xA9) and 174 (0xAE) were now clearly defined as holding the copyright (©) and registered trademark (®) symbols in compliance with ISO 8859-1, whereas the corresponding glyphs still resembled the inverse circled numbers more.[8]
In a parallel development, the HP 38G also used the HP 48 series' character set internally. Starting with the HP 39G in 2000, the superscript 3 (³) at codepoint 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).[12] Codepoint 160 (0xA0) was also changed to the euro sign (€)[12] in this third variant of the character set.
Hewlett-Packard never defined an official Unicode translation, hence several variants evolved in the community, differing in codepoints 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).[13][14][15][16][17][18][19]
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.[17][18][19]
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 HP 82240A.[20][8]
Code page layout
The following table shows the HP RPL character set. Each character is shown with a potential Unicode equivalent and its decimal code. Where special HP TIO codes are defined to enter the character, they are given as well.[2][21][7][8] The other characters can be entered using the \nnn
TIO code syntax with nnn being a three-digit decimal number (with leading zeros if necessary) of the corresponding code point.[2][7][8]
Letter Number Punctuation Symbol Other Undefined
See also
References
- ^ a b c d HP 82240B Infrared Printer (1 ed.). Corvallis, OR, USA: Hewlett Packard. August 1989. pp. 17–18. HP reorder number 82240-90014. Retrieved 2016-08-01.
{{cite book}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ a b c "HP RPL TIO Table". holyjoe.org. Archived from the original on 2016-05-23. Retrieved 2015-01-23.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ a b c Nelson, Richard J. (May 2010). "HP 82240B IR Printer" (PDF). HP Solve (18). Archived from the original (PDF) on 2016-09-21. Retrieved 2016-09-21.
- ^ HP-28S Advanced Scientific Calculator Reference Manual (PDF) (4 ed.). Hewlett-Packard. November 1988 [October 1987]. pp. 266–267. HP 00028-90068. Archived from the original (PDF) on 2015-06-08. Retrieved 2015-10-10.
{{cite book}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ HP 82240A Infrared Printer (PDF) (2 ed.). Corvallis, OR, USA: Hewlett Packard, Portable Computer Division. October 1986. HP reorder number 82240-90001 (82240-90008). Archived from the original (PDF) on 2016-08-06. Retrieved 2016-08-06.
{{cite book}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ Nungester, Rick (1988-08-18). "Infra-Red output converter". Luc Pauwels (published 2006-10-24). Archived from the original on 2016-08-06. Retrieved 2016-08-06.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ a b c d e HP 48G Series – User's Guide (UG) (8th ed.). Hewlett-Packard. December 1994 [1993]. pp. 2–5, 27–16. HP 00048-90126, (00048-90104). Archived from the original on 2016-08-06. Retrieved 2015-09-06.
{{cite book}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) [1] - ^ a b c d e f HP 50g / 49g+ / 48gII graphing calculator advanced user’s reference manual (AUR) (2 ed.). Hewlett-Packard. 2009-07-14 [2005]. pp. 3–159, 3–160, J-1, J-2. HP F2228-90010. Retrieved 2015-10-10. Searchable PDF
- ^ Dreher, Chris (2016-09-06). "Re: Questions regarding HP Roman character set". HP Articles Forum. The Museum of HP Calculators (MoHPC). Archived from the original on 2016-09-05. Retrieved 2016-09-06.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ Prange, James M. (2006-11-02). "Re: Those solid block characters in the characters menu". HP Forum Archive 16. The Museum of HP Calculators (MoHPC). Archived from the original on 2016-08-02. Retrieved 2016-08-02.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ Rautenberg, Wolfgang (2004-05-09). "IOMAN - A small but powerful I/O manager for the HP49G/HP49g+". 5.2004. Archived from the original on 2016-08-02. Retrieved 2016-08-02.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) [2] - ^ a b Croft, Colin (December 2006). hp 39gs and hp 40gs graphing calculators. Mastering the hp 39gs & hp 40gs - A guide for teachers, students and other users of the hp 39gs & hp 40gs (PDF). 1.0 (1st ed.). Hewlett-Packard Development Company, L.P. pp. 26, 221, 333. HP part number F2224-90010. Archived from the original (PDF) on 2016-03-03. Retrieved 2016-08-06.
The original hp 38g only had the function INVERSE(…) and the -1 operator was added for convenience sake in the hp 39g, released in 2000. To do this the creators had to borrow one of the existing unused characters, the 3 character, and convert it into the -1 operator. However, they forgot to change it in the CHARS view and this error has never been fixed in any of the successive models!
{{cite book}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ Lehmann, Alexander (2000-08-16). "HP48 Character Encoding Description File". 1.02. Kosta Kostis. Archived from the original on 2016-08-01. Retrieved 2016-08-01.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ "Codepages / Ascii Table HP48 Character Encoding". ASCII.ca. 2016 [2006]. Archived from the original on 2016-08-01. Retrieved 2016-08-01.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) (older version: [3]) - ^ Bettencourt, Rebecca G. (2014) [1999]. "Character Encodings - Legacy Encodings - HP48". Kreative Korporation. Retrieved 2016-08-01.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ Dreher, Chris (2012-12-09) [2012-07-12]. "Mapping HP48 Text to Unicode". comp.sys.hp48. Retrieved 2016-08-01.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ a b Dreher, Chris (2012-07-11). "Mapping HP48 Text to Unicode". HP48 Articles. Archived from the original on 2016-08-01. Retrieved 2016-08-01.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ a b Dreher, Chris (2013-01-16). "Mapping HP48 Text to Unicode". HP Articles Forum. The Museum of HP Calculators (MoHPC). Archived from the original on 2016-08-01. Retrieved 2016-08-01.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ a b Bouget, Jean-Charles; Lapilli, Claudio Daniel (2016-06-15) [2015]. "Font8_StyleA.txt". newRPL (Alpha ed.). Archived from the original on 2016-08-08. Retrieved 2016-08-08.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ Prange, James M. (2002-06-04). "Re: Printers". HP Forum Archive 08. The Museum of HP Calculators (MoHPC). Archived from the original on 2016-08-06. Retrieved 2016-08-02.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ Heinz, Sr., Michael W. (2005). "HP-ASCII and Trigraphs". Archived from the original on 2016-08-02. Retrieved 2016-08-02.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help)
Further reading
- "HP-48 Kermit Hints and Tips". The Kermit Project, Columbia University. 2011-07-22 [1999-05-04]. Archived from the original on 2016-08-01. Retrieved 2016-08-01.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help)