Mapping HP48 Text to Unicode

130 views
Skip to first unread message

Drehersoft

unread,
Jul 12, 2012, 12:43:09 AM7/12/12
to
Here is a table for how to translate HP48 text characters into Unicode character, which is what modern computers use for text. Now HP48 developers create software that transfers, displays, or edits HP48 characters (ex: copying a file from an HP48 calc to a computer) with code that will reliably display a corresponding character. By using this mapping table, we should be able to avoid the garbage data, bugs, and crashes that has been an issue for some PC/Mac/Linux side HP48 software.

Further details and explanations in an easier to read format is available at http://www.drehersoft.com/mapping-hp48-text-to-unicode

Mapping HP48 Text to Unicode
----------------------------
HP48 characters 0x00 to 0x7F as well as characters 0xA0 to 0xFF can be directly mapped to Unicode. For example, an HP48 character of 'A' is 0x41 (65 in decimal) and in Unicode would be 0041 (65 in decimal). However, the 32 special characters from 0x80 to 0x9F should be translated by the below table:

HP48 Unicode
Dec Hex Code Name
--------- ------------
128 80 2220 Measured Angle
129 81 0101 Latin Small Letter a with Macron
130 82 2207 Nabla
131 83 221A Square Root
132 84 222B Integral
133 85 03A3 Greek Capital Letter Sigma
134 86 25B6 Black Right-Pointing Triangle
135 87 03C0 Greek Small Letter Pi
136 88 2202 Partial Differential
137 89 2264 Less-Than or Equal To
138 8A 2265 Greater-Than or Equal To
139 8B 2260 Not Equal To
140 8C 03B1 Greek Small Letter Alpha
141 8D 2192 Rightwards Arrow
142 8E 2190 Leftwards Arrow
143 8F 2193 Downwards Arrow
144 90 2191 Upwards Arrow
145 91 03B3 Greek Small Letter Gamma
146 92 03B4 Greek Small Letter Delta
147 93 03B5 Greek Small Letter Epsilon
148 94 03B7 Greek Small Letter Eta
149 95 03B8 Greek Small Letter Theta
150 96 03BB Greek Small Letter Lamda
151 97 03C1 Greek Small Letter Rho
152 98 03C3 Greek Small Letter Sigma
153 99 03C4 Greek Small Letter Tau
154 9A 03C9 Greek Small Letter Omega
155 9B 0394 Greek Capital Letter Delta
156 9C 03A0 Greek Capital Letter Pi
157 9D 03A9 Greek Capital Letter Omega
158 9E 25A0 Black Square
159 9F 221E Infinity

If you are using UTF-8, then it is necessary to encode each Unicode characters into the appropriate 1, 2, or 3 byte sequences.

Resources
---------
Unicode Standard: http://unicode.org/
Unicode Character Name Index: http://www.unicode.org/charts/charindex.html
UTF-8 summary: http://en.wikipedia.org/wiki/Utf-8

Drehersoft

unread,
Dec 9, 2012, 12:51:17 AM12/9/12
to
Since the prior table was published, 2 characters outside of the 0x80 to 0x9F range were additionally identified. The characters of 0x1F and 0x7F are also control characters that HP re-purposed. Here is the original post with the additional characters added.
----------------

Here is a table for how to translate HP48 text characters into Unicode character, which is what modern computers use for text. Now HP48 developers create software that transfers, displays, or edits HP48 characters (ex: copying a file from an HP48 calc to a computer) with code that will reliably display a corresponding character. By using this mapping table, we should be able to avoid the garbage data, bugs, and crashes that has been an issue for some PC/Mac/Linux side HP48 software.

Further details and explanations in an easier to read format is available at http://www.drehersoft.com/mapping-hp48-text-to-unicode

Mapping HP48 Text to Unicode
----------------------------
Most HP48 characters can be directly mapped to Unicode characters for the ranges of 0x00 to 0x1F, 0x20 to 0x7E, and 0xA0 to 0xFF. For example, an HP48 character of 'A' is 0x41 (65 in decimal) and in Unicode would be 0041 (65 in decimal). However, the 34 special characters of 0x1F and from 0x7F to 0x9F should be translated by the below table:

HP48 Unicode
Dec Hex Code Name
--------- ------------
31 1F 2026 Ellipsis
127 7F 2592 Medium Shade
Reply all
Reply to author
Forward
0 new messages