Wikiversity

Add links

In computing HP Roman is a family of character sets consisting of HP Roman Extension, HP Roman-8, HP Roman-9 and several variants. Originally introduced by Hewlett-Packard around 1978, revisions and adaptations were published several times up to 1999. The 1985 revisions were later standardized as IBM codepages 1050 and 1051. Supporting many European languages,[which?] the character sets were used by various HP workstations, terminals, calculators as well as many printers, also from third-parties.

Overview

HP Roman is a family of single byte character encodings supporting several Latin script based languages of Europe. It was originally introduced by Hewlett-Packard around 1978 as 7- and 8-bit HP Roman Extension for some of their computer terminals and printers. Early versions of the 8-bit variant were also used by some HP workstations in 1978/1979. Several revisions led to more characters being added before the 8-bit variant of the character set became officially known as HP Roman-8 in 1983.[1] Soon later, this became the default character set of the HP-UX[2] operating system and the page description language PCL for inkjet[3] and laser printers in 1984. The character set was again expanded in 1985.[4] A modified adaptation of the 1984 definition of Roman-8 was used in the HP Portable series of computers,[5][6] whereas a derivation of the updated 1985 definition of Roman-8 was used in several early RPL calculators and corresponding thermal printers since 1986.[7] The latest off-spring of the family is HP Roman-9, which was introduced in 1999 to include the euro sign.[8] PCL Ventura International is based on HP Roman-8.

Character set

Roman Extension

The character set was originally introduced by Hewlett-Packard as extended ASCII 7-bit codepage named HP Roman Extension,[9][10] which existed at least since 1978.[11][12][13][14][15] This character set was used as a secondary character set in conjunction with the primary character set, which was identical to ASCII, except for character 127, which was a medium shaded box instead of the delete character. The first 32 characters, that normally functioned as C0 control codes, also had graphical non-control alternatives, that could appear during self-test or display functions mode. Switching between character sets was done using the Shift Out and Shift In characters, or alternatively, on systems supporting 8-bit mode, using the high bit of the character. Before the name "Roman-8" was established for the 8-bit variant in 1983, this was sometimes called "8-bit Roman Extension" or "HP Roman-8 Extension". Over the years both variants were revised to include more characters. The final 1985 revision of the secondary character set was also standardized by IBM in 1989 as code page 1050 (CP1050 or ibm-1050).[16]

Although strictly speaking not part of Roman Extension, the following table shows those rows of the primary character set that differed from ASCII. Note that the first two rows are normally the same and only appear as graphical characters in special circumstances, as described above. Although some of the Unicode control pictures conventionally use three characters rather than two, those "diagonal lettering glyphs are only exemplary; alternate representations may be, and often are used in the visible display of control codes".[17]

HP Roman Primary (1982)[9]
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x NU SH SX EX ET EQ AK 🔔︎ BS HT LF VT FF CR SO SI
1x DL D1 D2 D3 D4 NK SY EB CN EM SB EC FS GS RS US
7x p q r s t u v w x y z { | } ~

The following table shows the 1982 version; a current variant is shown in the Roman-8 section below. The table assumes 8-bit mode is used; if not, subtract 128 (8016) from the character code.

HP Roman Extension (1982)[9]
0 1 2 3 4 5 6 7 8 9 A B C D E F
Ax ´ ˋ ¨ ˜ [a]
Bx ˚ ç Ñ ñ ¡ ¿ ¤ £[a] §
Cx â ê ô û á é ó ú à è ò ù ä ë ö ü
Dx Å î Ø Æ å í ø æ Ä ì Ö Ü É ï ß
  1. ^ a b In Unicode, the pound / lira symbol is unified as U+00A3 £ and whether this character has a single or double bar is merely considered a typographical variation of the same character. U+20A4 ₤ exists solely for compatibility with this character set, HP Roman-8, in which the singly barred glyph is coded as BB16 and the doubly barred glyph as AF16.[18]

Roman-8

HP Roman-8 is an 8-bit single byte character encoding that is mainly used on HP-UX[2] and many Hewlett-Packard[7] and PCL compatible printers. The name Roman-8 appeared in 1983,[1] but a precursor of the character set was already used by the HP 250 and HP 300 workstations since 1978/1979 as 8-bit Roman Extension.[12][13][14][15]

The original 1983/1984 version of Roman-8 still had some code points undefined.[5][6][3][19] In a 1985 revision code points 177 (Ý), 178 (ý), 242 (·), 243 (µ), 244 () and 245 (¾) were added and the appearance of code point 228 was changed from a stroked d (đ) to an eth (ð).[4][20][21] This final revision of the character set was also standardized as codepage 1051 by IBM in 1989.[22][23]

In contrast to the newer HP Roman-9, HP Roman-8 does not provide a code point for the euro sign.

The following table shows the latest 1985 definition of the HP Roman-8 character set (with some remarks regarding former definitions and alternative interpretations). Each character is shown with a potential Unicode equivalent and its decimal code, however, sources differ in the recommended translations for some of the codes even among definitions from Hewlett-Packard[2][21] and IBM.[22][23]

HP Roman-8[24][22]
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
1x DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
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 { | } ~ [a]
8x
9x
Ax NBSP À Â È Ê Ë Î Ï ´ ˋ/` ˆ ¨ ˜ Ù Û [b]
Bx ¯/ Ý ý °/˚ Ç ç Ñ ñ ¡ ¿ ¤ £ ¥ § ƒ ¢
Cx â ê ô û á é ó ú à è ò ù ä ë ö ü
Dx Å î Ø Æ å í ø æ Ä ì Ö Ü É ï ß/β Ô
Ex Á Ã ã Ð ð/đ Í Ì Ó Ò Õ õ Š š Ú Ÿ ÿ
Fx Þ þ · µ/μ ¾ SHY/- ¼ ½ ª º « » ±
  1. ^ While this character would display as "▒", it was also the character sent by the delete key of HP terminals, so it could be mapped to U+007F DEL instead.[2][25][26][27][28][29][30][31][32]
  2. ^ See note on Roman Extension above

Names

This character set has over the years acquired a number of different names, such as:

Modified Roman-8

In 1984, Hewlett-Packard introduced the HP 110 / HP Portable personal computer followed by the HP 110 Plus / HP Portable Plus in 1985. In "HP mode" they supported a derivation of the 1984 revision of 8-bit HP Roman-8 (still lacking the six additional characters at code points 177 to 178 and 242 to 245, and with code point 228 still resembling a stroked d (đ)), but with 32 additional graphical symbols at code points 128 to 159, including a rich set of box-drawing characters.[5][6]

Modified HP Roman-8 (1984), variant I (HP 110/110 Plus)[5][6]
0 1 2 3 4 5 6 7 8 9 A B C D E F
7x p q r s t u v w x y z { | } ~
8x
9x
Ax NBSP À Â È Ê Ë Î Ï ´ ˋ/` ˆ ¨ ˜ Ù Û [a]
  1. ^ See note on Roman Extension above

In 1986,[66] Hewlett-Packard introduced the HP-18C calculator and HP 82240A thermo printer,[66] which internally used an extended variant of the 1985 revision of the 8-bit HP Roman-8 character set (now with the six additional characters defined and with code point 228 already changed to an eth (ð)), but with the code points 127 (0x7F) and 160 (0xA0) as well as the control codes in the range 128 to 159 (0x80 to 0x9F) being replaced by additional displayable characters,[7][67] some of which were derived from the HP-41C/CV/CX's FOCAL character set and others incorporated into the revised FOCAL character set used by the HP-42S calculator, although at different code points. On the HP-28 series, characters above 147 (0x93) could not be displayed on the calculator, only be printed.[67][7][68]

There is no official code point definition for the euro sign in this modified character set. The HP 49/50 series of calculators use a different character set[69] based on ECMA-94 / ISO 8859-1 which includes the euro symbol.

Modified HP Roman-8 (1986), variant II (HP 82240A/B & HP-28C/S)[7][66]
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
1x DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
7x p q r s t u v w x y z { | } ~
8x NBSP[69] ÷ × Σ π α µ/μ
9x ° « » [a] ² ³ ʲ
Ax / À Â È Ê Ë Î Ï ´ ˋ/` ˆ ¨ ˜ Ù Û [b]
  1. ^ The glyph at code point 148 () in this variant of HP Roman-8 is called APPEND character in Hewlett-Packard terminology. In the HP-41C/CV/CX and HP-42S series of calculators, it is used to indicate that the following characters will be appended to the alpha register rather than replacing the existing contents of the register. However, these calculators use the FOCAL character set, where the glyph is located at code point 127.
  2. ^ See note on Roman Extension above

Roman-9

HP Roman-9 (also known as HP Roman 9, hp-roman9, roman9 or R9) is a slight modification of the 8-bit HP Roman-8 character set where the general currency sign (¤) at code point 186 (0xBA) was replaced by the euro sign ().[70][71] It was introduced in early 1999.[8] As of 2017, HP Roman-9 still has no known code page number assigned to it.

HP Roman-9
0 1 2 3 4 5 6 7 8 9 A B C D E F
Bx ¯/ Ý ý °/˚ Ç ç Ñ ñ ¡ ¿ £ ¥ § ƒ ¢

See also

References

  1. ^ a b Stone, Artie (1 December 1983). "Two for one printer program" (PDF). Computer News - for HP Field Personnel. 9 (3). Hewlett-Packard: 32. Archived (PDF) from the original on 17 August 2016. Retrieved 17 August 2016.
  2. ^ a b c d e "MPE XL Native Language Programmer's Guide" (PDF). Hewlett-Packard. p. figure A-2 in appendix A. Archived from the original (PDF) on 13 March 2006.
  3. ^ a b "ThinkJet Printer - The Personal Printer from Hewlett-Packard - Reference Section" (PDF). Hewlett-Packard. March 1987. pp. D-2, D-3, 32. Archived (PDF) from the original on 21 August 2016. Retrieved 21 August 2016.
  4. ^ a b Hewlett-Packard LaserJet Printer Family Soft Font Selection Guide (PDF). Hewlett-Packard. November 1986. HP-ID 26026-90924. Archived (PDF) from the original on 17 August 2016. Retrieved 17 August 2016. Roman-8 & Roman Extension: The Roman-8 and Roman Extension characters reflect the 1985 updates: 1. Six additional characters added to former blank positions. Ýý·µ¾ 2. Appearance of the lowercase đ character changed to ð.
  5. ^ a b c d Hewlett-Packard - Technical Reference Manual - Portable PLUS (1 ed.). Corvallis, OR, USA: Hewlett-Packard Company, Portable Computer Division. August 1985. 45559-90001. Retrieved 27 November 2016.
  6. ^ a b c d Hewlett-Packard - Technical Reference Manual - Portable PLUS (PDF) (2 ed.). Portable Computer Division, Corvallis, OR, USA: Hewlett-Packard Company. December 1986 [August 1985]. 45559-90006. Archived (PDF) from the original on 28 November 2016. Retrieved 27 November 2016.
  7. ^ a b c d e 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 (PDF) from the original on 6 August 2016. Retrieved 6 August 2016.
  8. ^ a b HP Deskjet 610C Benutzerhandbuch [HP Deskjet 610 User's Guide] (PDF) (in German) (1 ed.). Hewlett-Packard Company. March 1999. Archived (PDF) from the original on 28 November 2016. Retrieved 27 November 2016.
  9. ^ a b c "Owner's Manual - 2671A printer - 2671G graphics printer" (PDF). Hewlett-Packard. October 1982. pp. 3-7–3-12, 6-4–6-14. HP part number 02670-90015. Archived (PDF) from the original on 20 August 2016. Retrieved 20 August 2016.
  10. ^ a b "Character Sets for HP Emulation". Attachmate. 2 June 2005. Technical Note 1179. Archived from the original on 10 August 2016. Retrieved 10 August 2016.
  11. ^ Terry, F. Duncan (November 1978). "Versatile 400-lpm Line Printer with a Friction-Free Mechanism that Assures Long Life" (PDF). Hewlett-Packard Journal. Hewlett-Packard: 20–22. Archived (PDF) from the original on 15 August 2016. Retrieved 15 August 2016.
  12. ^ a b Peery, Dennis L. (April 1979). "HP 250 BASIC: A Friendly, Interactive, Powerful System Language" (PDF). Hewlett-Packard Journal. 30 (4). Hewlett-Packard: 14–19. Archived (PDF) from the original on 17 August 2016. Retrieved 17 August 2016.
  13. ^ a b Ha, Eric P. L.; Groff, James R. (June 1979). "The Integrated Display System and Terminal Access Method" (PDF). Hewlett-Packard Journal. 30 (6). Hewlett-Packard: 6–9. Archived (PDF) from the original on 17 August 2016. Retrieved 17 August 2016.
  14. ^ a b Knoll, Alfred F.; Marschke, Norman D. (July 1979). "An Innovative Programming and Operating Console" (PDF). Hewlett-Packard Journal. 30 (7). Hewlett-Packard: 13–17. Archived (PDF) from the original on 17 August 2016. Retrieved 17 August 2016.
  15. ^ a b Davis, Steve (1 September 1979). "European 2631A Users Beware!" (PDF). Computer Systems Newsletter - for HP Field Personnel. 4 (20). Hewlett-Packard: 4. Archived (PDF) from the original on 17 August 2016. Retrieved 17 August 2016. 009 - Roman Extension Set ... option 009 gives all the commonly used European characters a unique code. When this "Roman Extension" set is used in conjunction with the standard ASCII character set, the end result is a 256 character set represented by 8-bit code. The use of shift-in and shift-out characters is not required, since decimal codes 0 through 127 automatically access USASCII while codes 128 through 255 access the European characters. It is important to understand the differences between the two techniques and to know which technique is supported on a given system. The HP 250 and HP 300 support the 8-bit code technique, consequently, 2631A option 009 must be ordered to provide local language printing on these two systems. All other HP computer systems and the 264X terminals support the 7-bit code, shift-in/shift-out method.
  16. ^ "Code page 1050" (PDF). IBM. 16 April 2014. Archived from the original (PDF) on 10 August 2016. Retrieved 10 August 2016.
  17. ^ "Control Pictures, Range: 2400-243f" (PDF). The Unicode Consortium.
  18. ^ Allen, Julie D., ed. (August 2015) [1991]. The Unicode Standard - Version 8.0 - Core Specification - Chapter 22.1. Currency Symbols (PDF). Mountain View, CA, USA: Unicode, Inc. pp. 751–752. ISBN 978-1-936213-10-8. Archived (PDF) from the original on 6 December 2016. Retrieved 6 December 2016. Currency Symbols: U+20A0–U+20CF ... Lira Sign. A separate currency sign U+20A4 LIRA SIGN is encoded for compatibility with the HP Roman-8 character set, which is still widely implemented in printers. In general, U+00A3 POUND SIGN may be used for both the various currencies known as pound (or punt) and the currencies known as lira.
  19. ^ JPC ROM - Quick Reference Guide (PDF). D. PPC Paris. 1988. p. 12. Archived (PDF) from the original on 18 October 2016. Retrieved 18 October 2016.
    Note: This is the manual for a custom ROM for the HP 71-B, which according to A Short History of the JPC Rom Project originated with the Revue JPC.
  20. ^ "Hewlett Packard Roman8 Character Set". Kermit. Columbia University. Retrieved 24 June 2020.
  21. ^ a b c PCL 5 Printer Language Technical Reference Manual (1st ed.). Hewlett-Packard Company. September 1990. pp. A-1, A-6, A-11–A-18. HP Part No. 33459-90903.
  22. ^ a b c d "SBCS code page information - CPGID: 01051 / Name: H-P Emulation, Roman 8". IBM Software: Globalization: Coded character sets and related resources: Code pages by CPGID: Code page identifiers. 1. IBM. 1 May 1989. C-H 3-3220-050. Archived from the original on 9 August 2016. Retrieved 9 August 2016.
    While the linked files with character tables haven't been archived yet, they're still live: [permanent dead link] & [permanent dead link]
  23. ^ a b c "Code page 1051" (PDF). IBM. 16 April 2014. Archived (PDF) from the original on 10 August 2016. Retrieved 10 August 2016.
  24. ^ Technical guide hp.com
  25. ^ a b Bettencourt, Rebecca G. (1 August 2016) [1999]. "Character Encodings - Legacy Encodings - HP Roman-8". Kreative Korporation. Archived from the original on 8 November 2018. Retrieved 9 August 2016.
  26. ^ a b Simonsen, K. (1992). "RFC 1345 - Character Mnemonics and Character Sets". doi:10.17487/RFC1345. {{cite journal}}: Cite journal requires |journal= (help)
  27. ^ "JCharset - Java Charset package".
  28. ^ "Complete Character List for hp-roman8". fileformat.info. Archived from the original on 19 May 2015. Retrieved 15 January 2022.
  29. ^ "JMatchParser".
  30. ^ a b c "Find all Unicode Characters from Hieroglyphs to Dingbats – Unicode Compart".
  31. ^ a b "Character Sets for HP Emulation".
  32. ^ a b Flohr, Guido (2016) [2002]. "Locale::RecodeData::HP_ROMAN8 - Conversion routines for HP_ROMAN8". CPAN libintl-perl. 1.0. Archived from the original on 14 January 2017. Retrieved 14 January 2017.
  33. ^ Rossi, Markku (March 2003) [1998]. "HP Roman-8 character set". GNU enscript. 1.58. Archived from the original on 10 August 2016. Retrieved 10 August 2016.
  34. ^ Kostis, Kosta (16 August 2000). "HP Roman-8". 1.20. Archived from the original on 7 March 2016. Retrieved 9 August 2016.
  35. ^ "Codepages / Ascii Table HP Roman-8". ASCII.ca. 2016 [2006]. Archived from the original on 3 April 2016. Retrieved 10 August 2016.
  36. ^ a b c "Character Sets".
  37. ^ "Encode::Byte - Single Byte Encodings - Perldoc Browser".
  38. ^ Gourley, David; Totty, Brian; Sayer, Marjorie; Aggarwal, Anshu; Reddy, Sailu (27 September 2002). HTTP: The Definitive Guide. "O'Reilly Media, Inc.". ISBN 9781565925090.
  39. ^ Anderson, Robin; Johnston, Andy (2002). Unix Unleashed. Sams. ISBN 9780672322518.
  40. ^ "JCharset - Java Charset package".
  41. ^ "MHonArc Resources: CHARSETCONVERTERS".
  42. ^ "MhaEncode.pm". mhonarc.org. Retrieved 30 January 2024.
  43. ^ "Sorry, We didn't find what you were looking for | UNECE".
  44. ^ "Character Sets". Archived from the original on 26 June 2015. Retrieved 26 June 2015.{{cite web}}: CS1 maint: unfit URL (link)
  45. ^ "ExtraCharsetsProvider (jMatchParser-charset 0.1 API)". jmatchparser.sourceforge.io. Retrieved 30 January 2024.
  46. ^ a b c "Available code pages". IBM.
  47. ^ a b "ICU Character Sets". firebirdsql.org. Retrieved 30 January 2024.
  48. ^ "Docs for schema item CharsetWKV in Semantic Model 3".
  49. ^ "SAS Help Center".
  50. ^ Czyborra, Roman (27 June 1998). "Codepage & Co". HP-Roman8. Archived from the original on 7 December 2016. Retrieved 6 December 2016. [1] [2]mirror
  51. ^ "Codepage & Co". flagship.de. Retrieved 30 January 2024.
  52. ^ "Compiling gnupg on HP-UX 11.11". Lists.gnupg.org. 28 January 2005. Retrieved 8 August 2022.
  53. ^ "www.opengroup.org". www.opengroup.org. Retrieved 30 January 2024.
  54. ^ "Performance Advisor Help Center". support.ptc.com. Retrieved 30 January 2024.
  55. ^ "HP-71 Lexfile List".
  56. ^ "An Overview of Using Data Translation in z/OS FTP". IBM. 4 December 2017.
  57. ^ "Table of IANAAppCodePage values".
  58. ^ Alex, Wulf; Bernör, Gerhard (14 March 2013). UNIX, C und Internet: Moderne Datenverarbeitung in Wissenschaft und Technik. Springer. ISBN 9783662107072.
  59. ^ "Character Sets and Multibyte Characters (Common Desktop Environment: Help System Author's and Programmer's Guide)". docs.oracle.com. Retrieved 30 January 2024.
  60. ^ "List of Supported Character Sets". IBM.
  61. ^ "Python 3, locales and encodings — Victor Stinner blog 3". vstinner.github.io. Retrieved 30 January 2024.
  62. ^ a b "IBM Java 2 converters". Borgendale.com. Retrieved 8 August 2022.
  63. ^ Milla Arregui, Miguel (2016). Monitorizar impresión de documentos en Windows. hdl:10835/6885.
  64. ^ "Java Charsets here, there and everywhere". 30 March 2016.
  65. ^ https://github.com/unicode-org/icu/blame/773345e418e012ed31499def440b89cb7ef5c188/icu4c/data/ibm-1051.ucm
    This file has remained essentially unchanged since it was imported from cdctables.zip in 1995; only a few flags have been changed:
    In July 2000 some characters were marked as mapping only from Unicode, but not back:
    ` \xA9 # SD130100 → ` \xA9 # SD130100 |1
    £ \xAF # SC020001 → £ \xAF # SC020001 |1
    ▒ \x7F # SF150000 → ▒ \x7F # SF150000 |1
    Fullwidth ! \x21 # SP020000 → Fullwidth ! \x21 # SP020000 |1
    Fullwidth " \x22 # SP040000 → Fullwidth " \x22 # SP040000 |1
    ...
    Fullwidth } \x7D # SM140000 → Fullwidth } \x7D # SM140000 |1
    Fullwidth ~ \x7E # SD190000 → Fullwidth ~ \x7E # SD190000 |1
    Fullwidth ■ \xFC # SM470000 → Fullwidth ■ \xFC # SM470000 |1
    These are all cases where multiple characters map to the same byte.
    In November 2000 some characters were marked as mapping only to Unicode, but not back:
    - \xF6 |0 → - \xF6 |3
    ` \xA9 |1 → ` \xA9 |3
    £ \xAF |1 → £ \xAF |3
    These are all cases where multiple bytes map to the same character.
  66. ^ a b c Nelson, Richard J. (May 2010). "HP 82240B IR Printer" (PDF). HP Solve (18). Archived from the original (PDF) on 21 September 2016. Retrieved 21 September 2016.
  67. ^ a b HP-28S Advanced Scientific Calculator Reference Manual (PDF) (4 ed.). Hewlett-Packard. November 1988 [October 1987]. pp. 266–267. HP 00028-90068. Archived (PDF) from the original on 8 June 2015. Retrieved 10 October 2015.
  68. ^ Nungester, Rick (18 August 1988). "Infra-Red output converter". Luc Pauwels (published 24 October 2006). Archived from the original on 6 August 2016. Retrieved 6 August 2016.
  69. ^ a b Prange, James M. (2 November 2006). "Re: Those solid block characters in the characters menu". HP Forum Archive 16. The Museum of HP Calculators (MoHPC). Archived from the original on 2 August 2016. Retrieved 2 August 2016.
  70. ^ "HP PCL/PJL Reference PCL 5 Comparison Guide" (PDF) (2 ed.). Hewlett-Packard Company, LP. June 2003. HP part-number 502-0378. Archived from the original (PDF) on 10 August 2016. Retrieved 10 August 2016. [3]
  71. ^ Blackwell, Sally (2002). Lamandassa, Ingrid (ed.). "The Euro Symbol € on the 3000". Hewlett-Packard, Netherlands. Archived from the original on 10 August 2016. Retrieved 10 August 2016.