FOCAL character set

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

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[edit]

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
/
203E/2666
?
221D?
/ā
0078 0305/0101

2190
α
03B1
β
03B2
Γ
0393

2193
Δ
0394
σ
03C3

2666
λ
03BB
µ/μ
00B5/03BC
/
2221/2220
τ
03C4
Φ
03A6
1_
16
θ
03B8
Ω
03A9
&?
0026?
Å
00C5
å
00E5
Ä
00C4
ä
00E4
Ö
00D6
ö
00F6
Ü
00DC
ü
00FC
Æ
00C6
æ
00E6

2260
£/
00A3/20A4

2592
2_
32
SP
0020
!
0021
"
0022
#
0023
$
0024
%
0025
&
0026
'
0027
(
0028
)
0029
*
002A
+
002B
,
002C
-
002D
.
002E
/
002F
3_
48
0
0030
1
0031
2
0032
3
0033
4
0034
5
0035
6
0036
7
0037
8
0038
9
0039
:
003A
;
003B
<
003C
=
003D
>
003E
?
003F
4_
64
@
0040
A
0041
B
0042
C
0043
D
0044
E
0045
F
0046
G
0047
H
0048
I
0049
J
004A
K
004B
L
004C
M
004D
N
004E
O
004F
5_
80
P
0050
Q
0051
R
0052
S
0053
T
0054
U
0055
V
0056
W
0057
X
0058
Y
0059
Z
005A
[
005B
\
005C
]
005D
/^
2191/005E
_
005F
6_
96
`/
0060/22A4
a
0061
b
0062
c
0063
d
0064
e
0065
f
0066
g
0067
h
0068
i
0069
j
006A
k
006B
l
006C
m
006D
n
006E
o
006F
7_
112
p
0070
q
0071
r
0072
s
0073
t
0074
u
0075
v
0076
w
0077
x
0078
y
0079
z
007A
π
03C0
|
007C

2192
Σ
03A3
[nb 1]
22A6?
8–F_ ...

  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
÷
00F7
×
00D7

221A

222B

2591
Σ
03A3
[nb 2]
25B6
π
03C0
¿
00BF

2264
LF/EOT
000A/0004

2265

2260

21B5

2193

2192
1_
16

2190
µ/μ
00B5/03BC
£/
00A3/20A4
°
00B0
Å
00C5
Ñ
00D1
Ä
00C4
/
2221/2220
/
1D07/23E8
Æ
00C6
/
2026/2025

241B
Ö
00D6
Ü
00DC

2592
/·
25A0/00B7
2_
32
SP
0020
!
0021
"
0022
#
0023
$
0024
%
0025
&
0026
'
0027
(
0028
)
0029
*
002A
+
002B
,
002C
-
002D
.
002E
/
002F
3_
48
0
0030
1
0031
2
0032
3
0033
4
0034
5
0035
6
0036
7
0037
8
0038
9
0039
:
003A
;
003B
<
003C
=
003D
>
003E
?
003F
4_
64
@
0040
A
0041
B
0042
C
0043
D
0044
E
0045
F
0046
G
0047
H
0048
I
0049
J
004A
K
004B
L
004C
M
004D
N
004E
O
004F
5_
80
P
0050
Q
0051
R
0052
S
0053
T
0054
U
0055
V
0056
W
0057
X
0058
Y
0059
Z
005A
[
005B
\
005C
]
005D
/^
2191/005E
_
005F
6_
96
`
0060
a
0061
b
0062
c
0063
d
0064
e
0065
f
0066
g
0067
h
0068
i
0069
j
006A
k
006B
l
006C
m
006D
n
006E
o
006F
7_
112
p
0070
q
0071
r
0072
s
0073
t
0074
u
0075
v
0076
w
0077
x
0078
y
0079
z
007A
{
007B
|
007C
}
007D
~
007E
[nb 1]
22A6?
8_
128
¦?
00A6?
¥?
00A5?
?
2593?
 
 
 
 
 
 
 
 
 
 
 
 
 
 

240A
 
 
 
 
 
 
 
 
 
 
9–F_ ...

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_ 0x81 0x82 0x83 0x84 0x04 0x85 0x86 0x87 0x08 0x89 0x04 0x8A 0x8B 0x0D 0x0E 0x8D
1_ 0x8E 0x8F 0xAF 0xB3 0xA2 0xB6 0xD8 0xA0 0x18 0xD3 0x9B 0x1B 0xDA 0xDB 0x7F 0xF2
2_ 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2A 0x2B 0x2C 0x2D 0x2E 0x2F
3-6_ ...
7_ 0x70 0x71 0x72 0x73 0x74 0x75 0x76 0x77 0x78 0x79 0x7A 0x7B 0x7C 0x7D 0x7E 0x94
8_ 0x80 0x81 0x82 0x83 0x84 0x85 0x86 0x87 0x88 0x89 0x90 0x8B 0x8C 0x8D 0x8E 0x8F
9-F_ ...

See also[edit]

Notes[edit]

  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[edit]

  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[edit]