FOCAL character set

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by DannyS712 (talk | contribs) at 01:25, 30 June 2020 (Disambiguating links to Pi (disambiguation)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computing FOCAL character set refers to a group of 8-bit single byte character sets introduced by Hewlett-Packard since 1979. It was used in several RPN calculators supporting the FOCAL programming language, like the HP-41C/CV/CX as well as the later HP-42S,[1][2] which was introduced in 1988[1][2] and produced up to 1995. As such, it is also used by SwissMicros' DM41/L, both introduced in 2015, and is implicitly supported by the DM42, introduced in 2017 (although the later calculator utilizes Free42, which is based on Unicode internally).

Character set

The character set is derived from ASCII, but with the control code range and some high bit characters replaced by various special characters.

FOCAL character set (HP-41C/CV/CX / HP 82143A)[3][4]
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_
0
Template:Chset-color-graph|/
203E/2666
Template:Chset-color-graph|?
221D?
Template:Chset-color-letter-box|/ā
0078 0305/0101
Template:Chset-color-graph-box|
2190
Template:Chset-color-letter|α
03B1
Template:Chset-color-letter|β
03B2
Template:Chset-color-letter|Γ
0393
Template:Chset-color-graph-box|
2193
Template:Chset-color-letter-box|Δ
0394
Template:Chset-color-letter-box|σ
03C3
Template:Chset-color-graph-box|
2666
Template:Chset-color-letter-box|λ
03BB
Template:Chset-color-letter|µ/μ
00B5/03BC
Template:Chset-color-graph|/
2221/2220
Template:Chset-color-letter-box|τ
03C4
Template:Chset-color-letter-box|Φ
03A6
1_
16
Template:Chset-color-letter-box|θ
03B8
Template:Chset-color-letter-box|Ω
03A9
Template:Chset-color-punct|&?
0026?
Template:Chset-color-letter-box|Å
00C5
Template:Chset-color-letter-box|å
00E5
Template:Chset-color-letter-box|Ä
00C4
Template:Chset-color-letter-box|ä
00E4
Template:Chset-color-letter-box|Ö
00D6
Template:Chset-color-letter-box|ö
00F6
Template:Chset-color-letter-box|Ü
00DC
Template:Chset-color-letter-box|ü
00FC
Template:Chset-color-letter-box|Æ
00C6
Template:Chset-color-letter-box|æ
00E6
Template:Chset-color-graph|
2260
Template:Chset-color-graph-box|£/
00A3/20A4
Template:Chset-color-graph|
2592
2_
32
Template:Chset-color-misc|SP
0020
Template:Chset-color-punct|!
0021
Template:Chset-color-punct|"
0022
Template:Chset-color-punct|#
0023
Template:Chset-color-graph|$
0024
Template:Chset-color-punct|%
0025
Template:Chset-color-punct|&
0026
Template:Chset-color-punct|'
0027
Template:Chset-color-punct|(
0028
Template:Chset-color-punct|)
0029
Template:Chset-color-punct|*
002A
Template:Chset-color-graph|+
002B
Template:Chset-color-punct|,
002C
Template:Chset-color-punct|-
002D
Template:Chset-color-punct|.
002E
Template:Chset-color-punct|/
002F
3_
48
Template:Chset-color-digit|0
0030
Template:Chset-color-digit|1
0031
Template:Chset-color-digit|2
0032
Template:Chset-color-digit|3
0033
Template:Chset-color-digit|4
0034
Template:Chset-color-digit|5
0035
Template:Chset-color-digit|6
0036
Template:Chset-color-digit|7
0037
Template:Chset-color-digit|8
0038
Template:Chset-color-digit|9
0039
Template:Chset-color-punct|:
003A
Template:Chset-color-punct|;
003B
Template:Chset-color-graph|<
003C
Template:Chset-color-graph|=
003D
Template:Chset-color-graph|>
003E
Template:Chset-color-punct|?
003F
4_
64
Template:Chset-color-punct|@
0040
Template:Chset-color-letter|A
0041
Template:Chset-color-letter|B
0042
Template:Chset-color-letter|C
0043
Template:Chset-color-letter|D
0044
Template:Chset-color-letter|E
0045
Template:Chset-color-letter|F
0046
Template:Chset-color-letter|G
0047
Template:Chset-color-letter|H
0048
Template:Chset-color-letter|I
0049
Template:Chset-color-letter|J
004A
Template:Chset-color-letter|K
004B
Template:Chset-color-letter|L
004C
Template:Chset-color-letter|M
004D
Template:Chset-color-letter|N
004E
Template:Chset-color-letter|O
004F
5_
80
Template:Chset-color-letter|P
0050
Template:Chset-color-letter|Q
0051
Template:Chset-color-letter|R
0052
Template:Chset-color-letter|S
0053
Template:Chset-color-letter|T
0054
Template:Chset-color-letter|U
0055
Template:Chset-color-letter|V
0056
Template:Chset-color-letter|W
0057
Template:Chset-color-letter|X
0058
Template:Chset-color-letter|Y
0059
Template:Chset-color-letter|Z
005A
Template:Chset-color-punct|[
005B
Template:Chset-color-punct|\
005C
Template:Chset-color-punct|]
005D
Template:Chset-color-graph|/^
2191/005E
Template:Chset-color-punct|_
005F
6_
96
Template:Chset-color-graph|`/
0060/22A4
Template:Chset-color-letter|a
0061
Template:Chset-color-letter|b
0062
Template:Chset-color-letter|c
0063
Template:Chset-color-letter|d
0064
Template:Chset-color-letter|e
0065
Template:Chset-color-letter-box|f
0066
Template:Chset-color-letter-box|g
0067
Template:Chset-color-letter-box|h
0068
Template:Chset-color-letter-box|i
0069
Template:Chset-color-letter-box|j
006A
Template:Chset-color-letter-box|k
006B
Template:Chset-color-letter-box|l
006C
Template:Chset-color-letter-box|m
006D
Template:Chset-color-letter-box|n
006E
Template:Chset-color-letter-box|o
006F
7_
112
Template:Chset-color-letter-box|p
0070
Template:Chset-color-letter-box|q
0071
Template:Chset-color-letter-box|r
0072
Template:Chset-color-letter-box|s
0073
Template:Chset-color-letter-box|t
0074
Template:Chset-color-letter-box|u
0075
Template:Chset-color-letter-box|v
0076
Template:Chset-color-letter-box|w
0077
Template:Chset-color-letter-box|x
0078
Template:Chset-color-letter-box|y
0079
Template:Chset-color-letter-box|z
007A
Template:Chset-color-letter-box|π
03C0
Template:Chset-color-graph-box||
007C
Template:Chset-color-graph-box|
2192
Template:Chset-color-letter|Σ
03A3
Template:Chset-color-graph|[nb 1]
22A6?
8–F_ Template:Chset-color-undef colspan="16"|...

  Letter  Number  Punctuation  Symbol  Other  Undefined  Characters not in all versions

When Hewlett-Packard introduced the HP-42S in 1988, the FOCAL character set was revised to include more characters, including a number of characters already provided by the HP 82240A infrared thermo printer, which had been introduced in 1986,[5] as part of its extended variant of the 1985 revision of the HP Roman-8 character set,[6][7] although at completely different code points.

There is no code point definition for the euro sign in this character set.

Revised FOCAL character set (HP-42S)[1]
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_
0
Template:Chset-color-graph|÷
00F7
Template:Chset-color-graph|×
00D7
Template:Chset-color-graph|
221A
Template:Chset-color-graph|
222B
Template:Chset-color-graph|
2591
Template:Chset-color-letter|Σ
03A3
Template:Chset-color-graph|[nb 2]
25B6
Template:Chset-color-letter|π
03C0
Template:Chset-color-punct|¿
00BF
Template:Chset-color-graph|
2264
Template:Chset-color-ctrl|LF/EOT
000A/0004
Template:Chset-color-graph|
2265
Template:Chset-color-graph|
2260
Template:Chset-color-graph|
21B5
Template:Chset-color-graph|
2193
Template:Chset-color-graph|
2192
1_
16
Template:Chset-color-graph|
2190
Template:Chset-color-letter|µ/μ
00B5/03BC
Template:Chset-color-graph|£/
00A3/20A4
Template:Chset-color-graph|°
00B0
Template:Chset-color-letter|Å
00C5
Template:Chset-color-letter|Ñ
00D1
Template:Chset-color-letter|Ä
00C4
Template:Chset-color-graph|/
2221/2220
Template:Chset-color-letter|/
1D07/23E8
Template:Chset-color-letter|Æ
00C6
Template:Chset-color-punct|/
2026/2025
Template:Chset-color-graph|
241B
Template:Chset-color-letter|Ö
00D6
Template:Chset-color-letter|Ü
00DC
Template:Chset-color-graph|
2592
Template:Chset-color-graph|/·
25A0/00B7
2_
32
Template:Chset-color-misc|SP
0020
Template:Chset-color-punct|!
0021
Template:Chset-color-punct|"
0022
Template:Chset-color-punct|#
0023
Template:Chset-color-graph|$
0024
Template:Chset-color-punct|%
0025
Template:Chset-color-punct|&
0026
Template:Chset-color-punct|'
0027
Template:Chset-color-punct|(
0028
Template:Chset-color-punct|)
0029
Template:Chset-color-punct|*
002A
Template:Chset-color-graph|+
002B
Template:Chset-color-punct|,
002C
Template:Chset-color-punct|-
002D
Template:Chset-color-punct|.
002E
Template:Chset-color-punct|/
002F
3_
48
Template:Chset-color-digit|0
0030
Template:Chset-color-digit|1
0031
Template:Chset-color-digit|2
0032
Template:Chset-color-digit|3
0033
Template:Chset-color-digit|4
0034
Template:Chset-color-digit|5
0035
Template:Chset-color-digit|6
0036
Template:Chset-color-digit|7
0037
Template:Chset-color-digit|8
0038
Template:Chset-color-digit|9
0039
Template:Chset-color-punct|:
003A
Template:Chset-color-punct|;
003B
Template:Chset-color-graph|<
003C
Template:Chset-color-graph|=
003D
Template:Chset-color-graph|>
003E
Template:Chset-color-punct|?
003F
4_
64
Template:Chset-color-punct|@
0040
Template:Chset-color-letter|A
0041
Template:Chset-color-letter|B
0042
Template:Chset-color-letter|C
0043
Template:Chset-color-letter|D
0044
Template:Chset-color-letter|E
0045
Template:Chset-color-letter|F
0046
Template:Chset-color-letter|G
0047
Template:Chset-color-letter|H
0048
Template:Chset-color-letter|I
0049
Template:Chset-color-letter|J
004A
Template:Chset-color-letter|K
004B
Template:Chset-color-letter|L
004C
Template:Chset-color-letter|M
004D
Template:Chset-color-letter|N
004E
Template:Chset-color-letter|O
004F
5_
80
Template:Chset-color-letter|P
0050
Template:Chset-color-letter|Q
0051
Template:Chset-color-letter|R
0052
Template:Chset-color-letter|S
0053
Template:Chset-color-letter|T
0054
Template:Chset-color-letter|U
0055
Template:Chset-color-letter|V
0056
Template:Chset-color-letter|W
0057
Template:Chset-color-letter|X
0058
Template:Chset-color-letter|Y
0059
Template:Chset-color-letter|Z
005A
Template:Chset-color-punct|[
005B
Template:Chset-color-punct|\
005C
Template:Chset-color-punct|]
005D
Template:Chset-color-graph|/^
2191/005E
Template:Chset-color-punct|_
005F
6_
96
Template:Chset-color-graph|`
0060
Template:Chset-color-letter|a
0061
Template:Chset-color-letter|b
0062
Template:Chset-color-letter|c
0063
Template:Chset-color-letter|d
0064
Template:Chset-color-letter|e
0065
Template:Chset-color-letter|f
0066
Template:Chset-color-letter|g
0067
Template:Chset-color-letter|h
0068
Template:Chset-color-letter|i
0069
Template:Chset-color-letter|j
006A
Template:Chset-color-letter|k
006B
Template:Chset-color-letter|l
006C
Template:Chset-color-letter|m
006D
Template:Chset-color-letter|n
006E
Template:Chset-color-letter|o
006F
7_
112
Template:Chset-color-letter|p
0070
Template:Chset-color-letter|q
0071
Template:Chset-color-letter|r
0072
Template:Chset-color-letter|s
0073
Template:Chset-color-letter|t
0074
Template:Chset-color-letter|u
0075
Template:Chset-color-letter|v
0076
Template:Chset-color-letter|w
0077
Template:Chset-color-letter|x
0078
Template:Chset-color-letter|y
0079
Template:Chset-color-letter|z
007A
Template:Chset-color-punct|{
007B
Template:Chset-color-graph||
007C
Template:Chset-color-punct|}
007D
Template:Chset-color-graph|~
007E
Template:Chset-color-graph|[nb 1]
22A6?
8_
128
Template:Chset-color-graph|¦?
00A6?
Template:Chset-color-graph|¥?
00A5?
Template:Chset-color-graph|?
2593?
Template:Chset-color-undef| 
 
Template:Chset-color-undef| 
 
Template:Chset-color-undef| 
 
Template:Chset-color-undef| 
 
Template:Chset-color-undef| 
 
Template:Chset-color-undef| 
 
Template:Chset-color-undef| 
 
Template:Chset-color-graph|
240A
Template:Chset-color-undef| 
 
Template:Chset-color-undef| 
 
Template:Chset-color-undef| 
 
Template:Chset-color-undef| 
 
Template:Chset-color-undef| 
 
9–F_ Template:Chset-color-undef colspan="16"|...

Translation from HP-42S character set to the modified HP Roman-8 (supported by HP 82240A etc.) character set:

HP translation vector
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_ Template:Chset-color-ctrl-box|0x81 Template:Chset-color-ctrl-box|0x82 Template:Chset-color-ctrl-box|0x83 Template:Chset-color-ctrl-box|0x84 Template:Chset-color-ctrl|0x04 Template:Chset-color-ctrl-box|0x85 Template:Chset-color-ctrl-box|0x86 Template:Chset-color-ctrl-box|0x87 Template:Chset-color-ctrl|0x08 Template:Chset-color-ctrl-box|0x89 Template:Chset-color-ctrl-box|0x04 Template:Chset-color-ctrl-box|0x8A Template:Chset-color-ctrl-box|0x8B Template:Chset-color-ctrl|0x0D Template:Chset-color-ctrl|0x0E Template:Chset-color-ctrl-box|0x8D
1_ Template:Chset-color-ctrl-box|0x8E Template:Chset-color-ctrl-box|0x8F Template:Chset-color-ctrl-box|0xAF Template:Chset-color-ctrl-box|0xB3 Template:Chset-color-ctrl-box|0xA2 Template:Chset-color-ctrl-box|0xB6 Template:Chset-color-ctrl-box|0xD8 Template:Chset-color-ctrl-box|0xA0 Template:Chset-color-ctrl|0x18 Template:Chset-color-ctrl-box|0xD3 Template:Chset-color-ctrl-box|0x9B Template:Chset-color-ctrl|0x1B Template:Chset-color-ctrl-box|0xDA Template:Chset-color-ctrl-box|0xDB Template:Chset-color-ctrl-box|0x7F Template:Chset-color-ctrl-box|0xF2
2_ Template:Chset-color-punct|0x20 Template:Chset-color-punct|0x21 Template:Chset-color-punct|0x22 Template:Chset-color-punct|0x23 Template:Chset-color-punct|0x24 Template:Chset-color-punct|0x25 Template:Chset-color-punct|0x26 Template:Chset-color-punct|0x27 Template:Chset-color-punct|0x28 Template:Chset-color-punct|0x29 Template:Chset-color-punct|0x2A Template:Chset-color-punct|0x2B Template:Chset-color-punct|0x2C Template:Chset-color-punct|0x2D Template:Chset-color-punct|0x2E Template:Chset-color-punct|0x2F
3-6_ Template:Chset-color-undef colspan="16"|...
7_ Template:Chset-color-letter|0x70 Template:Chset-color-letter|0x71 Template:Chset-color-letter|0x72 Template:Chset-color-letter|0x73 Template:Chset-color-letter|0x74 Template:Chset-color-letter|0x75 Template:Chset-color-letter|0x76 Template:Chset-color-letter|0x77 Template:Chset-color-letter|0x78 Template:Chset-color-letter|0x79 Template:Chset-color-letter|0x7A Template:Chset-color-punct|0x7B Template:Chset-color-punct|0x7C Template:Chset-color-punct|0x7D Template:Chset-color-punct|0x7E Template:Chset-color-punct-box|0x94
8_ Template:Chset-color-ctrl|0x80 Template:Chset-color-ctrl|0x81 Template:Chset-color-undef|0x82 Template:Chset-color-undef|0x83 Template:Chset-color-undef|0x84 Template:Chset-color-undef|0x85 Template:Chset-color-undef|0x86 Template:Chset-color-undef|0x87 Template:Chset-color-undef|0x88 Template:Chset-color-undef|0x89 Template:Chset-color-graph-box|0x90 Template:Chset-color-undef|0x8B Template:Chset-color-undef|0x8C Template:Chset-color-undef|0x8D Template:Chset-color-undef|0x8E Template:Chset-color-undef|0x8F
9-F_ Template:Chset-color-undef colspan="16"|...

See also

Notes

  1. ^ a b The glyph at code point 127 () 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.
  2. ^ The glyph at code point 6 is called GOOSE character in Hewlett-Packard terminology. While U+25B6 () is the preferred Unicode character for maximum cross-compatibility with established RPL character set mappings, Free42 since release 2.0.1 (2017-04-23) maps to U+25B8 () instead. [1]

References

  1. ^ a b c RPN Scientific Calculator - Owner's Manual - HP-42S (PDF) (1 ed.). Hewlett-Packard. June 1988. pp. 288–291. 00042-90001, 00042-90002. Archived (PDF) from the original on 2018-01-04. Retrieved 2018-01-04.
  2. ^ a b HP-42S RPN Scientific - Programming Examples and Techniques (PDF) (1 ed.). Corvallis, OR, USA: Hewlett-Packard Company, Corvallis Division. July 1988. 00042-90020, 00042-90019. Archived (PDF) from the original on 2018-01-04. Retrieved 2018-01-04.
  3. ^ Hicks, David G. (2017) [1998]. "HP-41C Synthetic Programming". The Museum of HP Calculators (MoHPC). Archived from the original on 2018-01-06. Retrieved 2018-01-06.
  4. ^ Hicks, David G. (1997). "Graphic byte code table". The Museum of HP Calculators (MoHPC). Archived from the original on 2018-01-06. Retrieved 2018-01-06.
  5. ^ 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.
  6. ^ 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 2016-08-06. Retrieved 2016-08-06.
  7. ^ HP 82240B Infrared Printer (1 ed.). Corvallis, OR, USA: Hewlett Packard. August 1989. pp. 17–18. HP reorder number 82240-90014. Archived from the original on 2016-08-14. Retrieved 2016-08-01.

Further reading